host
Click on the red underlined text to get to the source
... This document is one of a pair that defines and discusses the
requirements for host system implementations of the Internet protocol
suite. This RFC covers the applications layer and support protocols.
...
... Its companion RFC, "Requirements for Internet Hosts -- Communications
Layers" [INTRO:1] covers the lower layer protocols ...
...
This RFC enumerates standard protocols that a host connected to the
Internet must use, and it incorporates by reference the RFCs and
...
... set of requirements for an
Internet host is primarily defined in the standard protocol
specification documents, with the corrections, amendments, and
supplements contained in this RFC.
...
...
However, the specifications of this document must be followed to meet
the general goal of arbitrary host interoperation across the
diversity and complexity of the Internet system. Although most
...
...
This introductory section begins with general advice to host software
vendors, and then gives some guidance on reading the rest of the
...
...
For a brief introduction to the Internet architecture from a host
viewpoint, see Section 1.1 of [INTRO:1]. That section also
...
... There are two important lessons that vendors of Internet host
software have learned and which a new vendor should consider
...
... Adaptability to change must be designed into all levels of
Internet host software. As a simple example, consider a
protocol specification that contains an enumeration of values
...
...
The second part of the principle is almost as important:
software on other hosts may contain deficiencies that make it
unwise to exploit legal but obscure protocol features. It is
unwise to stray far from the obvious and simple, lest untoward
...
... unwise to stray far from the obvious and simple, lest untoward
effects result elsewhere. A corollary of this is "watch out
for misbehaving hosts"; host software should be prepared, not
just to survive other misbehaving hosts ...
... effects result elsewhere. A corollary of this is "watch out
for misbehaving hosts"; host software should be prepared, not
just to survive other misbehaving hosts, but also to cooperate
...
... hosts"; host software should be prepared, not
just to survive other misbehaving hosts, but also to cooperate
to limit the amount of disruption such hosts can cause to the
...
... just to survive other misbehaving hosts, but also to cooperate
to limit the amount of disruption such hosts can cause to the
shared communication facility.
...
...
The Internet includes a great variety of host and gateway
systems, each implementing many protocols and protocol layers,
...
...
Problem diagnosis will be aided if host implementations include
a carefully designed facility for logging erroneous or
"strange" protocol events. It is important to include as much
...
... ensure that error logging does not consume prohibitive amounts
of resources or otherwise interfere with the operation of the
host.
...
... allow the logging of a great variety of events to be
selectively enabled. For example, it might useful to be able
to "log everything" or to "log everything for host X".
...
... managements may have differing policies
about the amount of error logging that they want normally
enabled in a host. Some will say, "if it doesn't hurt me, I
don't want to know about it", while others will want to take a
more watchful and aggressive attitude about detecting and
...
...
It would be ideal if a host implementation of the Internet
protocol suite could be entirely self-configuring. This would
allow the whole suite to be implemented in ROM or cast into
...
... update the recommended value
in the future. In other cases, the value really depends on
external factors -- e.g., the size of the host and the
distribution of its communication load, or the speeds and
topology ...
... university and research labs, vendors, and government agencies.
It was assembled primarily by the Host Requirements Working Group
...
... Host Names and Numbers ...
... 952
[DNS:4]. One aspect of host name syntax is hereby changed: the
restriction on the first character is relaxed to allow either a
letter or a digit. Host ...
... host name syntax is hereby changed: the
restriction on the first character is relaxed to allow either a
letter or a digit. Host software MUST support this more liberal
syntax.
...
...
Host software MUST handle host names of up to 63 characters and
SHOULD handle host names of up to 255 characters.
...
... Host software MUST handle host names of up to 63 characters and
SHOULD handle host names of up to 255 characters.
...
... Whenever a user inputs the identity of an Internet host, it SHOULD
be possible to enter either (1) a host domain name ...
... Internet host, it SHOULD
be possible to enter either (1) a host domain name or (2) an IP
address in dotted-decimal ("#.#.#.#") form. The host ...
... host domain name or (2) an IP
address in dotted-decimal ("#.#.#.#") form. The host SHOULD check
the string syntactically for a dotted-decimal number before
looking it up in the Domain Name System ...
... This last requirement is not intended to specify the complete
syntactic form for entering a dotted-decimal host number;
that is considered to be a user-interface issue. For
...
... "[ ]" brackets for SMTP mail (see Section 5.2.17). This
notation could be made universal within a host system,
simplifying the syntactic checking for a dotted-decimal
number.
...
... identifying delimiters, then a full syntactic check must be
made, because a segment of a host domain name is now allowed
to begin with a digit and could legally be entirely numeric
...
... to begin with a digit and could legally be entirely numeric
(see Section 6.1.2.4). However, a valid host name can never
have the dotted-decimal form #.#.#.#, since at least the
highest-level component label will be alphabetic.
...
... record containing an accurate listing of all services at a
particular host address, since the WKS RR type is not often used
...
... Applications on Multihomed hosts ...
...
When the remote host is multihomed, the name-to-address
translation will return a list of alternative IP addresses ...
...
When the local host is multihomed, a UDP-based request/response
application SHOULD send the response with an IP source address ...
... User interfaces: | | | | | | |
Allow host name to begin with digit |2.1 |x| | | | |
Host names of up to 635 characters |2.1 |x| | | | |
...
... Allow host name to begin with digit |2.1 |x| | | | |
Host names of up to 635 characters |2.1 |x| | | | |
Host names of up to 255 characters |2.1 | |x| | | |
...
... Host names of up to 635 characters |2.1 |x| | | | |
Host names of up to 255 characters |2.1 | |x| | | |
Support dotted-decimal host numbers |2.1 | |x| | | |
...
... Host names of up to 255 characters |2.1 | |x| | | |
Support dotted-decimal host numbers |2.1 | |x| | | |
Check syntactically for dotted-dec first |2.1 | |x| | | |
| | | | | | |
...
... Expect WKS records to be available |2.2 | | | |x| |
| | | | | | |
Try multiple addr's for remote multihomed host |2.3 | |x| | | |
UDP reply src addr is specific dest of request |2.3 | |x| | | |
Use same ...
... 854std8 to avoid
option-negotiation loops. A host MUST refuse (i.e, reply
WONT/DONT to a DO/WILL) an unsupported option. Option
...
...
A host MUST be able to receive and ignore any Telnet control
functions that it does not support.
...
... Telnet IP (Interrupt Process) function, even if the server
host has an equivalent in-stream function (e.g., Control-C
in many systems). The Telnet ...
... support (see Section 3.3.2). There was concern that since
EOR had not been defined in RFC-854std8, a host that was not
prepared to correctly ignore unknown Telnet commands might
...
... prepared to correctly ignore unknown Telnet commands might
crash if it received an EOR. To protect such hosts, the
End-of-Record option [TELNET:9] was introduced; however, a
...
...
This will cause the server host to send a "flush-
buffered-output" signal to its operating system.
...
... The best method is not entirely clear, since it must
accommodate a number of existing server hosts that do not
follow the Telnet standards in various ways. The safest
...
... 930(-> 1091prop). The earlier
version allowed a server host capable of supporting
multiple terminal types to learn the type of a particular
...
... same as if the user had pressed the "end-of-line" key on a
local terminal. On server hosts that use ASCII, in particular,
receipt of the Telnet ...
... CR NUL MUST have the same effect on an ASCII server
host when received as input over a Telnet connection.
...
... LF. A User Telnet on an ASCII host SHOULD have a
user-controllable mode to send either CR LF ...
... terminal differs from the role of the server
host. For example, RFC-854std8 defines the meaning of CR, LF ...
... 854std8). These will be equivalent for a
correctly-implemented ASCII server host, as discussed
above. For other servers, a mode in the User Telnet is
...
... CR is pressed creates a dilemma for non-ASCII hosts: they
can either treat CR NUL as equivalent to CR ...
... host A uses Telnet to log into a server
host B, and then execute B's User Telnet program to log
into server host ...
... host B, and then execute B's User Telnet program to log
into server host C. It is desirable for the Server/User
Telnet combination on B to be as transparent as possible,
...
...
We expect that when this RFC is released, hosts should
implement the client side of this option, and may
...
... ASCII character. Where possible, any special
character interpretations by the user host's operating system
SHOULD be bypassed ...
... escape mechanism for entering arbitrary 8-bit values, if the
host operating system doesn't allow them to be entered directly
from the keyboard.
...
...
A host that makes no distinction between TYPE N and TYPE T
SHOULD implement TYPE T to be identical to TYPE N.
...
...
This provision should ease interoperation with hosts
that do make this distinction.
...
...
Many hosts represent text files internally as strings
of ASCII characters, using the embedded ASCII ...
... LF, BS, FF, ...) to control the
format when a file is printed. For such hosts, there
is no distinction between "print" files and other
files. However, systems that use record structured
...
... files (e.g., ASA carriage control). For the latter
hosts, FTP allows a choice of TYPE N or TYPE T.
...
...
Implementation of page structure is NOT RECOMMENDED in
general. However, if a host system does need to implement
FTP for "random access ...
... FTP transformation between record-structure and file-
structure SHOULD be invertible, to the extent possible while
making the result useful on the target host.
...
... requirement is being relaxed. There are
two different objectives for transferring a file:
processing it on the target host, or just storage. For
storage, strict invertibility is important. For
processing, the file created ...
... storage, strict invertibility is important. For
processing, the file created on the target host needs
to be in the format expected by application programs on
that host ...
... target host needs
to be in the format expected by application programs on
that host.
...
... operating system that requires some data files
to have exactly 80 bytes in each record. While STORing
a file on such a host, an FTP Server must be able to
pad each line or record to 80 bytes; a later retrieval
...
... User-FTP program that interprets
the PASV reply must scan the reply for the first digit
of the host and port numbers.
...
... Note that the host number h1,h2,h3,h4 is the IP address
of the server host that is sending the reply, and that
p1,p2 is a non-default data transfer port ...
... HELP, NOOP, QUIT.
*Record structure is REQUIRED only for hosts whose file
systems support record structure.
...
... successfully. It is suggested that this file have a
name derived in an easily-identifiable manner from the
name of the file being transferred and the remote host
name; this is analogous to the means used by many text
editors for naming "backup" files.
...
... FTP. For
example, "QUOTE" may be used to specify "TYPE A T" to
send a print file to hosts that require the
distinction, even if the User-FTP does not recognize
...
... bits in a memory word.
(3) Required for host with record-structured file system, optional
otherwise.
...
...
TFTP's most important application is bootstrapping a host over
a local network, since it is simple and small enough to be
...
... The text of RFC-821std10(-> 2821prop) suggests that mail is to be delivered
to an individual user at a host. With the advent of the
domain system and of mail routing ...
... delivering mail to a user at a domain, which may or may
not be a particular host. This DOES NOT change the fact
that SMTP is a host-to-host ...
... nicknames or domain abbreviations. A canonicalized name either
identifies a host directly or is an MX name; it cannot be a
CNAME.
...
...
An Internet host that is forwarding a message but is not a
gateway to a different mail environment ...
... (1) or (2)) SHOULD NOT alter any existing header fields,
although the host will add an appropriate Received: line as
required in Section 5.2.8.
...
...
For example, suppose a host that does not implement the
relay function receives a message with the SMTP command:
...
... refusing the message with a 550 error reply as suggested
on page 20 of RFC-821std10(-> 2821prop), the host should try to forward the
message to GAMMA directly, using: "RCPT TO:<joe@GAMMA>".
Since this host ...
... host should try to forward the
message to GAMMA directly, using: "RCPT TO:<joe@GAMMA>".
Since this host does not support relaying, it is not
required to update the reverse path.
...
... SMTP mail relaying for
this purpose is discouraged, and in fact it may not be
successful, as many host systems do not support it. Some
have used the "%-hack" (see Section 5.2.16) for this
...
... The FROM field SHOULD contain both (1) the name of the
source host as presented in the HELO command and (2) a
domain literal ...
...
Including both the source host and the IP source address
in the Received: line may provide enough information for
...
...
A host that is forwarding the message but is not the
destination host implied by the right-hand side "domain ...
... A host that is forwarding the message but is not the
destination host implied by the right-hand side "domain" MUST
NOT interpret or modify the "local-part" of the address ...
...
Only the target host (in this case, "relay1") is permitted
to analyze the local-part "user%domain%relay3%relay2".
...
... literal whose content ("dtext"; see RFC-822std11(-> 2822prop)) is a dotted-
decimal host address. This satisfies the requirement of
...
... Internet mail does not allow this. The
intent is that an Internet host must not send an SMTP
message header ...
... 822std11(-> 2822prop) says "The use of explicit
source routing is discouraged". Many hosts implemented
RFC-822std11(-> 2822prop) source routes ...
... receiving mail. The exact structure will vary depending on the
needs of the users on the host and the number and size of
mailing lists supported by the host ...
... host and the number and size of
mailing lists supported by the host. We describe several
optimizations that have proved helpful, particularly for
mailers supporting high traffic ...
...
A sender SHOULD keep a list of hosts it cannot reach and
corresponding timeouts, rather than just retrying queued
mail items.
...
... mail is received from a particular address, it is good
evidence that any mail queued for that host can now be
sent.
...
... The strategy may be further modified as a result of
multiple addresses per host (see Section 5.3.4), to
optimize delivery time vs. resource usage.
...
... queue of messages for
each unavailable destination host, and if it retried
all these messages in every retry cycle, there would be
excessive Internet ...
...
When the same message is to be delivered to several users on
the same host, only one copy of the message SHOULD be
transmitted. That is, the sender-SMTP ...
... transactions to achieve timely delivery.
However, some limit SHOULD be imposed to protect the host
from devoting all its resources to mail.
...
...
Based on extensive experience with busy mail-relay hosts, the
minimum per-command timeout values SHOULD be as follows:
...
... responsibility for delivering or relaying the message. It must
take this responsibility seriously, i.e., it MUST NOT lose the
message for frivolous reasons, e.g., because the host later
crashes or because of a predictable resource shortage.
...
... SMTP determines the IP address
of the target host from the destination address in the
envelope. Specifically, it maps the string to the right of the
...
... also be a configurable limit on the number of alternate
addresses that can be tried. In any case, a host SHOULD try at
least two addresses.
...
...
Multihomed host -- The destination host (perhaps taken
from the preferred MX record) may be multihomed, in which
...
...
Multihomed host -- The destination host (perhaps taken
from the preferred MX record) may be multihomed, in which
case the domain name ...
... should attempt retries using the different addresses of a
multihomed host has been controversial. The main argument
for using the multiple addresses is that it maximizes the
...
... Send valid principal host name in HELO |5.2.5 |x| | | | |
Send explicit source route in RCPT TO: |5.2.6 | | | |x| |
...
... (DNS), and it MUST implement a mechanism using this DNS
resolver to convert host names to IP addresses and vice-versa
[DNS:1 ...
...
In addition to the DNS, a host MAY also implement a host name
translation mechanism that searches a local Internet ...
... In addition to the DNS, a host MAY also implement a host name
translation mechanism that searches a local Internet host ...
... host name
translation mechanism that searches a local Internet host
table. See Section 6.1.3.8 for more information on this
option.
...
...
Internet host name translation was originally performed by
searching local copies of a table of all hosts. This
...
... Internet host name translation was originally performed by
searching local copies of a table of all hosts. This
table became too large to update and distribute in a
...
... table became too large to update and distribute in a
timely manner and too large to fit into many hosts, so the
DNS was invented.
...
... creates a distributed database used primarily for
the translation between host names and host addresses.
...
... database used primarily for
the translation between host names and host addresses.
Implementation of DNS ...
... query domain name servers for data
on behalf of user processes. Every host therefore needs a
DNS resolver; some host machines ...
... host therefore needs a
DNS resolver; some host machines will also need to run
domain name servers. Since no name server ...
...
A name resolver SHOULD be able to multiplex concurrent
requests if the host supports concurrent processes.
...
... network or a "nearby"
network. This scheme allows the host to pass on the
burden of the resolver function to a name server on
...
... burden of the resolver function to a name server on
another host. This model is often essential for less
capable hosts, such as PCs ...
... another host. This model is often essential for less
capable hosts, such as PCs, and is also recommended
when the host ...
... hosts, such as PCs, and is also recommended
when the host is one of several workstations on a local
network, because it allows all of the workstations to
...
... servers. Note that recursive name servers are allowed
to restrict the sources of requests that they will
honor, so the host administrator must verify that the
service ...
... Multihomed Hosts ...
... When the host name-to-address function encounters a host
with multiple addresses, it SHOULD rank or sort the
...
...
The different addresses of a multihomed host generally
imply different Internet paths, and some paths may be
...
...
(a) Incorporate into the host configuration data a
Network-Preference List, that is simply a list of
...
...
(b) When a host name is mapped into a list of IP
addresses, these addresses should be sorted by
...
... particular, Section 2.1 of this document liberalizes
slightly the syntax of a legal Internet host name that
was defined in RFC-952 [DNS:4 ...
... Local Host Table ...
...
A host may use a local host table as a backup or
supplement to the DNS. This raises the question of
...
... DNS. This raises the question of
which takes precedence, the DNS or the host table; the
most flexible approach would make this a configuration
option.
...
...
Typically, the contents of such a supplementary host
table will be determined locally by the site. However,
a publically-available table of Internet ...
... table will be determined locally by the site. However,
a publically-available table of Internet hosts is
maintained by the DDN Network Information Center (DDN
...
... DNS:5]. It must be noted that this table
contains only a small fraction of all Internet hosts.
Hosts using this protocol to retrieve the DDN NIC ...
... Hosts using this protocol to retrieve the DDN NIC host
table should use the VERSION command to check if the
...
...
The DDN NIC host table includes administrative
information that is not needed for host operation and
...
... NIC host table includes administrative
information that is not needed for host operation and
is therefore not currently included in the DNS
...
...
This document is concerned with design and implementation
issues in host software, not with administrative or
operational issues. However, administrative issues are of
particular importance ...
... interface to the DNS for all
application programs running on the host. This interface
will typically direct requests to a system process to
...
... domain data into
formats more suited to these functions. In particular, a
host MUST provide a DNS interface to facilitate translation
...
... alias/domain name pairs. The list can be
per-user or per-host, and separate lists can be
associated with different functions, e.g. one list for
host name ...
... per-host, and separate lists can be
associated with different functions, e.g. one list for
host name-to-address translation, and a different list
for mail domains ...
... search list is exhausted. Search lists often contain
the name of the local host's parent domain or other
ancestor domains ...
... DNS address-to-name conversion |6.1.1 |x| | | | |
Support conversions using host table |6.1.1 | | |x| | |
Properly handle RR with zero TTL ...
... Information in local cache times out |6.1.3.1 |x| | | | |
Support for remote multi-homed hosts: | | | | | | |
Sort multiple addresses by preference list |6.1.3.4 | |x| | | |
...
... HOST INITIALIZATION ...
...
This section discusses the initialization of host software
across a connected network, or more generally across an
...
... network, or more generally across an
Internet path. This is necessary for a diskless host, and may
optionally be used for a host with disk drives. For a diskless
...
... Internet path. This is necessary for a diskless host, and may
optionally be used for a host with disk drives. For a diskless
host, the initialization ...
... optionally be used for a host with disk drives. For a diskless
host, the initialization process is called "network booting"
...
... This information must include at least the IP addresses of
the host and of the boot server. To support booting
across a gateway, the address ...
...
Load the host system code.
...
...
A host with a disk may perform the first step, dynamic
configuration. This is important for microcomputers, whose
floppy disks allow network ...
... network configuration information to be
mistakenly duplicated on more than one host. Also,
installation of new hosts is much simpler if they automatically
...
... mistakenly duplicated on more than one host. Also,
installation of new hosts is much simpler if they automatically
obtain their configuration information from a central server,
...
...
This obsolete message pair was designed to allow a host
to find the number of the network it is on.
...
... to find the number of the network it is on.
Unfortunately, it was useful only if the host already
knew the host number part of its IP address ...
... Unfortunately, it was useful only if the host already
knew the host number part of its IP address,
information that hosts ...
... host number part of its IP address,
information that hosts requiring dynamic configuration
seldom had.
...
... link-layer protocol for a broadcast medium
that allows a host to find its IP address given its
link layer address ...
...
These ICMP messages allow a host to learn the address
mask for a particular network interface ...
...
This protocol allows a host to determine the IP
addresses of the local host and the boot server, the
...
... This protocol allows a host to determine the IP
addresses of the local host and the boot server, the
name of an appropriate boot file, and optionally the
address ...
... Address Mask messages)
was designed to supply the address mask to a host.
However, the IP address mask and the corresponding IP ...
... the configurations of all interfaces of a multihomed
host. A multihomed host must either use BOOTP
...
... interfaces of a multihomed
host. A multihomed host must either use BOOTP
separately for each interface ...
...
In order to be managed using SNMP or CMOT, a host will need to
implement an appropriate management agent ...
... host SHOULD implement the relevant
MIB variables. A host SHOULD implement the MIB variables as
defined in the most recent standard MIB ...
...
The MIB is intended to cover both hosts and gateways, although
there may be detailed differences in MIB ...
... cases. This section contains the appropriate interpretation of
the MIB for hosts. It is likely that later versions of the MIB
...
...
A managed host must implement the following groups of MIB
object definitions: System, Interfaces ...
...
The following specific interpretations apply to hosts:
...
... Note that the error "time-to-live exceeded" can occur in a
host only when it is forwarding a source-routed datagram.
...
... datagrams discarded because no route
can be found. This may happen in a host if all the
default gateways in the host ...
...
For a host, this object MUST always be zero, unless the
host is an authoritative source of address ...
... For a host, this object MUST always be zero, unless the
host is an authoritative source of address mask
information.
...
... host, the "IP Routing Table" object is effectively a
combination of the host's Routing Cache and the static
...
...
Within each ipRouteEntry, ipRouteMetric1...4 normally will
have no meaning for a host and SHOULD always be -1, while
ipRouteType will normally have the value "remote".
...
... Internet Hosts -- Communication Layers," IETF Host Requirements Working Group, R. Braden, Ed., RFC-1122std3 ...
... "DoD Internet Host Table Specification," K. Harrenstein, RFC-952, M. Stahl, E. Feinler, October 1985. SECONDARY DNS REFERENCES: ...
... There are many security issues in the application and support
programs of host software, but a full discussion is beyond the scope
of this RFC. Security ...
