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 communication protocol layers: link
layer, IP layer ...
... "Requirements for Internet Hosts -- Application and Support"
[INTRO:1], covers the application layer ...
...
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 a brief overview of the
Internet architecture as it relates to hosts, and then gives some
general advice to host software vendors ...
... Internet architecture as it relates to hosts, and then gives some
general advice to host software vendors. Finally, there is some
guidance on reading the rest of the document and some terminology.
...
...
A host computer, or simply "host," is the ultimate consumer of
communication services. A host ...
... host," is the ultimate consumer of
communication services. A host generally executes application
programs on behalf of user(s), employing network and/or
...
... services in support of this function.
An Internet host corresponds to the concept of an "End-System"
used in the OSI protocol suite [INTRO:13 ...
... Internet communication system consists of interconnected
packet networks supporting communication among host computers
using the Internet protocols. The networks ...
... supercomputers. In function,
they range from single-purpose hosts (such as terminal servers)
to full-service ...
... terminal servers)
to full-service hosts that support a variety of online network
services, typically including remote login, file transfer ...
...
A host is generally said to be multihomed if it has more than
one interface to the same or to different networks ...
... Internet architecture is based on a set of
assumptions about the communication system. The assumptions
most relevant to hosts are as follows:
...
... connection to the Internet is only
conceptual. Two hosts on the same network communicate
with each other using the same set of protocols that they
...
... network communicate
with each other using the same set of protocols that they
would use to communicate with hosts on distant networks.
...
... flow control
and reliability is implemented in the hosts, in the
transport layer or in application programs. All
...
... Routing is a complex and difficult problem, and ought to
be performed by the gateways, not the hosts. An important
objective is to insulate host ...
... hosts. An important
objective is to insulate host software from changes caused
by the inevitable evolution of the Internet routing ...
... individual networks, gateways, and hosts, using whatever
bandwidth is still available. Finally, the goal is full
...
... bandwidth is still available. Finally, the goal is full
"open system interconnection": an Internet host must be
able to interoperate robustly and effectively with any
other Internet ...
... able to interoperate robustly and effectively with any
other Internet host, across diverse Internet paths.
...
... Internet paths.
Sometimes host implementors have designed for less
ambitious goals. For example, the LAN ...
... packet loss and delay and do not reorder
packets. Some vendors have fielded host implementations
that are adequate for a simple LAN environment, but work
...
... requirements spelled out in this document are designed
for a full-function Internet host, capable of full
interoperation over an arbitrary Internet path.
...
...
To communicate using the Internet system, a host must implement
the layered set of protocols comprising the Internet protocol
suite. A host ...
... host must implement
the layered set of protocols comprising the Internet protocol
suite. A host typically must implement at least one protocol
from each layer.
...
... end-to-end delivery guarantees. Thus, IP
datagrams may arrive at the destination host damaged,
duplicated, out of order, or not at all. The layers above
...
...
To communicate on its directly-connected network, a host
must implement the communication protocol used to
interface ...
... host software includes embedded gateway
functionality, so that these hosts can forward packets as a
gateway would, while still performing the application layer ...
... INTRO:2] with respect to their gateway functions, and
must follow the present document with respect to their host
functions. In all overlapping cases, the two specifications
should be in agreement ...
... network environment where networking is
informal, or in isolated internets, it may be convenient
and economical to use existing host systems as gateways.
...
... than originally foreseen, and multihoming forces a host to
make routing decisions as if it were a gateway ...
... routing decisions as if it were a gateway. If the
multihomed host contains an embedded gateway, it will
have full routing ...
... grows larger. Attempting to include a general gateway
function within the host IP layer will force host system
...
... function within the host IP layer will force host system
maintainers to track these (more frequent) changes. Also,
a larger pool of gateway ...
... gateway IP layer is somewhat greater than
that of a host, making the implementation and operation
tasks more complex.
...
...
In addition, the style of operation of some hosts is not
appropriate for providing stable and robust gateway
...
...
There is considerable merit in both of these viewpoints. One
conclusion can be drawn: an host administrator must have
conscious control over whether or not a given host ...
... host administrator must have
conscious control over whether or not a given host acts as a
gateway. See Section 3.1 for the detailed requirements ...
... 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.
...
... 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 ...
... like that used in the TCP specification [TCP:1]. A host
implementation must support the logical information flow
...
... A network to which a host is interfaced is often known as
the "local network" or the "subnetwork ...
... network" or the "subnetwork" relative to that
host. However, these terms can cause confusion, and
therefore we use the term "connected network" in this
...
... A host is said to be multihomed if it has multiple IP
addresses. For a discussion of multihoming ...
... At a given moment, all the IP datagrams from a particular
source host to a particular destination host will
typically traverse the same sequence of gateways ...
... IP datagrams from a particular
source host to a particular destination host will
typically traverse the same sequence of gateways. We use
...
... the term "path" for this sequence. Note that a path is
uni-directional; it is not unusual to have different paths
in the two directions between a given host pair.
...
... university and research labs, vendors, and government agencies.
It was assembled primarily by the Host Requirements Working Group
...
... encapsulation MAY
be used, but only when it has been verified that both systems
(host or gateway) involved in the link-layer communication
...
... layer protocols are unaware of trailer
use, but both the sending and receiving host MUST
understand the protocol if it is used.
...
... ARP exchange is completed in the usual
manner using the normal IP protocol type, but a host that
wants to speak trailers will send an additional "trailer
ARP ...
... trailer encapsulation protocol type but otherwise has the
format of a normal ARP reply. If a host configured to use
trailers receives a trailer ARP reply message ...
... was designed to avoid a continuous exchange of ARP packets
with a misbehaving host that, contrary to any
specification or common sense, responded to an ARP reply
...
... ARP reply answers an
outstanding request; this is true when the hardware
address for the host is still unknown when the IP ARP
...
... require a timeout mechanism to invalidate cache entries
when hosts change their Ethernet addresses. The
...
... has significantly increased the likelihood that cache
entries in hosts will become invalid, and therefore
some ARP-cache ...
... ARP-cache invalidation mechanism is now required
for hosts. Even in the absence of proxy ARP, a long-
...
... traffic on a very large Ethernet. Therefore,
it may be necessary to configure a host to lengthen the
ARP cache timeout.
...
... broadcasts. A broadcast sent with one framing will not be
seen by hosts that can receive only the other framing.
...
... gateway.
Furthermore, it is not useful or even possible for a
dual-format host to discover automatically which format to
send, because of the problem of link-layer broadcasts ...
... IEEE 802 Encapsulation |2.3.3 | | | | | |
Host able to: |2.3.3 | | | | | |
Send & receive RFC-894std41 encapsulation ...
... IP:4] defines the Internet Group Management
Protocol IGMP, as part of a recommended extension to hosts
and to the host-gateway ...
... IGMP, as part of a recommended extension to hosts
and to the host-gateway interface to support Internet-wide ...
... group of
Internet hosts. IP multicasting is designed as a natural
extension of the link-layer ...
... IP layer has two basic functions: (1) choose the "next
hop" gateway or host for outgoing IP datagrams and (2) reassemble
incoming IP datagrams ...
... verifies that it is destined to the local host; ...
... Local multihoming -- the host itself is multihomed; or ...
... multihoming MUST be handled at the application
layer, as discussed in the companion RFC [INTRO:1]. A host MAY
support local multihoming, which is discussed in this document,
...
... Any host that forwards datagrams generated by another host is
acting as a gateway and MUST also meet the specifications laid out
...
... requirements RFC [INTRO:2]. An Internet host that
includes embedded gateway code MUST have a configuration switch ...
... datagram arriving through one
interface will not be forwarded to another host or gateway (unless
it is source-routed), regardless of whether the host ...
... host or gateway (unless
it is source-routed), regardless of whether the host is single-
homed or multihomed. The host software MUST NOT automatically
...
... it is source-routed), regardless of whether the host is single-
homed or multihomed. The host software MUST NOT automatically
move into gateway mode if the host ...
... host software MUST NOT automatically
move into gateway mode if the host has more than one interface, as
the operator of the machine may neither want to provide that
...
... datagram will be discarded without further processing and that the
host will not send any ICMP error message (see Section 3.2.2) as a
result. However, for diagnosis of problems a host ...
... host will not send any ICMP error message (see Section 3.2.2) as a
result. However, for diagnosis of problems a host SHOULD provide
the capability of logging the error (see Section 1.2.3), including
the contents of the silently-discarded datagram ...
... address
that stands for a group of hosts, and may be either
permanent or transient. Permanent multicast addresses are
...
... source address as part of an initialization procedure
by which the host learns its own IP address.
...
... See also Section 3.3.6 for a non-standard use of {0,0}.
(b) { 0, <Host-number> }
Specified host ...
... Host-number> }
Specified host on this network. It MUST NOT be sent,
except as a source address ...
... source address as part of an initialization
procedure by which the host learns its full IP address.
...
... datagram with this destination address will be
received by every host on the connected physical
network ...
... IP addresses are not permitted to have the value 0 or -1 for
any of the <Host-number>, <Network-number>, or <Subnet-
...
... a result, there will be an address mask of the form:
{-1, -1, 0} associated with each of the host's local IP
addresses; see Sections 3.2.2.9 and 3.3.1.1.
...
... silently discard an incoming datagram that is
not destined for the host. An incoming datagram is destined
for the host ...
... host. An incoming datagram is destined
for the host if the datagram's destination address field is:
...
... (one of) the host's IP address(es); or ...
... the address for a multicast group of which the host is
a member on the incoming physical interface. ...
... multicast destination is processed as if it had been
addressed to one of the host's IP addresses; we use the term
"specific-destination address ...
... "specific-destination address" for the equivalent local IP
address of the host. The specific-destination address is
defined to be the destination address ...
...
An architectural goal for Internet hosts was to allow
IP addresses to be featureless 32-bit numbers ...
... format. Otherwise, any future change in the format or
interpretation of IP addresses will require host
software changes. However, validation of broadcast ...
...
The Internet model requires that every host support
reassembly. See Sections 3.3.2 and 3.3.3 for the
requirements ...
... When sending an identical copy of an earlier datagram, a
host MAY optionally retain the same Identification field in
the copy.
...
... Some Internet protocol experts have maintained that
when a host sends an identical copy of an earlier
datagram, the new copy should contain the same
...
... datagram
to be discarded by a gateway but not by the destination
host; however, hosts that act as gateways by forwarding
...
... to be discarded by a gateway but not by the destination
host; however, hosts that act as gateways by forwarding
datagrams ...
... receiver must process multiple options in the same IP
header. Hosts sending multiple options must be aware
that this introduces an ambiguity in the meaning of
certain options when combined with a source-route ...
... Source Route Options
A host MUST support originating a source route and MUST
be able to act as the final destination ...
... formed even if the recorded route included the source
host (see case (B) in the discussion below).
...
... specific.
Section 3.3.5 presents the rules for a host acting as
an intermediate hop in a source route, i.e., forwarding
...
... Suppose a source routed datagram is to be routed
from host S to host D via gateways G1, G2, ... Gn.
...
... datagram is to be routed
from host S to host D via gateways G1, G2, ... Gn.
There was an ambiguity in the specification over
...
... destination addresses, but the option would be:
{S, G1, ...Gn >>}; i.e., the originating host
would be the first hop in the route.
...
... address.
o The destination host MUST (if possible) add the
current timestamp to a Timestamp option ...
... datagram whose source address does not define a single
host -- e.g., a zero address, a loopback address ...
... These rules will prevent the "broadcast storms" that have
resulted from hosts returning ICMP error messages in
response to broadcast ...
... IP
destination (see Section 3.3.6). However, some hosts
violate this rule. To be certain to detect broadcast
...
... administratively prohibited
10 = communication with destination host
administratively prohibited
...
...
A host SHOULD generate Destination Unreachable messages with
code:
...
... A Destination Unreachable message that is received with code
0 (Net), 1 (Host), or 5 (Bad Source Route) may result from a
routing ...
... Redirect message MUST update its routing
information accordingly. Every host MUST be prepared to
accept both Host and Network ...
... routing
information accordingly. Every host MUST be prepared to
accept both Host and Network Redirects and to process them
as described in Section 3.3.1.2 below.
...
...
A host MAY send a Source Quench message if it is
approaching, or has reached, the point at which it is forced
to discard incoming datagrams ...
...
A Source Quench may be generated by the target host or
by some gateway in the path of a datagram ...
... by some gateway in the path of a datagram. The host
receiving a Source Quench should throttle itself back
...
...
A host may receive a Time Exceeded Code 1 (Reassembly
Timeout) message from a destination host that has timed
...
... A host may receive a Time Exceeded Code 1 (Reassembly
Timeout) message from a destination host that has timed
out and discarded an incomplete datagram; see Section
...
...
A host SHOULD generate Parameter Problem messages. An
incoming Parameter Problem message MUST be passed to the
...
... ICMP Parameter Problem message is sent to the
source host for any problem not specifically covered by
another ICMP message. Receipt of a Parameter Problem
message ...
... Echo Requests and sends corresponding Echo Replies.
A host SHOULD also implement an application-layer interface
...
... ICMP Echo Request, this option (these options) SHOULD be
updated to include the current host and included in the IP
header of the Echo Reply message, without "truncation".
...
...
A host SHOULD NOT implement these messages.
...
... RARP and
BOOTP protocols provide better mechanisms for a host to
discover its own IP address.
...
... in a Timestamp Request, this (these) option(s) SHOULD
be updated to include the current host and included in
the IP header of the Timestamp ...
...
A host MUST support the first, and MAY implement all three,
of the following methods for determining the address ...
...
(b) Until it has received an Address Mask Reply, the host
SHOULD assume a mask appropriate for the address class ...
... which case it will have been broadcast and may arrive
after the host has ceased to retransmit Address Mask
Requests. Once the mask has been set by an Address ...
...
A host SHOULD make some reasonableness check on any address
mask it installs; see IMPLEMENTATION section below.
...
... address masks. An authoritative
agent may be a host or a gateway, but it MUST be explicitly
configured as a address ...
... address mask, there SHOULD be
an additional configuration flag that determines whether the
host is to act as an authoritative agent for this mask,
i.e., whether it will answer Address ...
... Address Mask Request messages,
a host will assume there is no agent and use an
unsubnetted mask, but the agent ...
... Address Mask Reply whenever it initializes, in order to
update the masks of all hosts that have initialized in
the meantime.
...
... gateways on a
single network to establish hosts' membership in particular
multicast groups. The gateways ...
... IGMP is OPTIONAL; see Section
3.3.7 for more information. Without IGMP, a host can still
participate in multicasting local to its connected networks ...
... network, the
datagram is sent directly to the destination host; otherwise,
it has to be routed to a gateway on a connected network ...
... address mask (particular to a local IP address for
a multihomed host) is a 32-bit mask that selects the
network ...
... network, and the datagram is to
be transmitted directly to the destination host.
(c) If not, then the destination ...
... gateways. For example, if the IP layer of a host insists on
finding at least one gateway to initialize, the host ...
... host insists on
finding at least one gateway to initialize, the host will be
unable to operate on a single isolated broadcast net.
...
... datagrams to the same
destination, the source host MUST keep a "route cache" of
mappings to next-hop ...
... route cache contains no information for a
particular destination, the host chooses a "default"
gateway and sends the datagram ...
... gateway and return an ICMP Redirect
message to the source host.
(c) When it receives a Redirect, the host ...
... Network Redirect message SHOULD be
treated identically to a Host Redirect message; i.e., the
cache ...
... Redirect message; i.e., the
cache entry for the destination host (only) would be updated
(or created, if an entry for that host ...
... destination host (only) would be updated
(or created, if an entry for that host did not exist) for
the new gateway.
...
...
As an extra feature, a host IP layer MAY implement a table
of "static routes". Each such static route ...
...
A host generally needs to know at least one default
gateway to get started. This information can be
obtained from a configuration file ...
... obtained from a configuration file or else from the
host startup sequence, e.g., the BOOTP protocol (see
[INTRO:1 ...
...
It has been suggested that a host can augment its list
of default gateways by recording any new gateways ...
... A static route is typically a particular preset mapping
from destination host or network into a particular
next-hop ...
... Local IP address (for a multihomed host)
...
...
Field (2) MAY be the full IP address of the destination
host, or only the destination network number. Field (3),
...
... Type-of-Service field in the route cache
and considering it in the host route algorithm will
...
... There is no consensus on whether the route cache should
be keyed on destination host addresses alone, or allow
both host ...
... destination host addresses alone, or allow
both host and network addresses. Those who favor the
...
... Redirect messages
will generally result in entries keyed on
destination host addresses; the simplest and most
general scheme would be to use host ...
... destination host addresses; the simplest and most
general scheme would be to use host addresses
always.
...
... Internet architecture
to be more easily extended in the future without
any change to the hosts.
...
...
The opposing view is that allowing a mixture of
destination hosts and networks in the route cache:
...
... The cache needs to be large enough to include entries
for the maximum number of destination hosts that may be
in use at one time.
...
... Echo Request/Reply exchange) are expensive and scale
poorly. In particular, hosts MUST NOT actively check
the status of a first-hop gateway by simply pinging the
...
... The dead-gateway detection mechanism must not cause
unacceptable load on the host, on connected networks,
or on first-hop gateway ...
... gateway detection and on
acceptable load may vary somewhat depending on the
nature of the host's mission, but a host generally
needs to detect a failed first-hop gateway ...
... acceptable load may vary somewhat depending on the
nature of the host's mission, but a host generally
needs to detect a failed first-hop gateway quickly
...
... Link-layer information that reliably detects and
reports host failures (e.g., ARPANET Destination
...
... gateways are broadcasting to
each other. This approach has the drawback that a host
needs to recognize all the interior gateway protocols
...
... but it does not guarantee that the machine is a gateway
as opposed to a host. The normal inference is that if
a Redirect or other evidence indicates that a machine
was a gateway ...
... machine is still up and hence still a gateway.
However, since a host silently discards packets that a
gateway ...
... Any pinging will be at a low level (e.g., <10%) of
all packets sent to a gateway from the host, AND
...
... gateway routing
protocols typically have a settling time of 30-60
seconds. If the host switches to an alternative
gateway ...
... datagram to the failed gateway and send a Redirect back
to the host pointing to the failed gateway (!). The
result is likely to be a rapid oscillation in the
...
... gateway (!). The
result is likely to be a rapid oscillation in the
contents of the host's route cache during the gateway
...
... not shown any harm from such oscillations, since
service cannot be restored to the host until the
gateways' routing information ...
... default
gateway is to simply round-robin among the default
gateways in the host's list. Another is to rank the
gateways in priority ...
... methods can be used to
determine this information dynamically; see the section on
"Host Initialization" in [INTRO:1].
...
... buffer
resources in the receiving host will be tied up too long,
and the MSL (Maximum Segment Lifetime ...
... address mask, to be used to choose an EMTU_S. For a multihomed
host, an "All-Subnets-MTU" flag is needed for each network
interface ...
...
(a) In general, no host is required to accept an IP
datagram larger than 576 bytes (including header and
...
... IP
datagram larger than 576 bytes (including header and
data), so a host must not send a larger datagram
without explicit knowledge or prior arrangement with
...
... datagram
without explicit knowledge or prior arrangement with
the destination host. Thus, MMS_S is only an upper
bound on the datagram ...
... MMS_S exceeds 556, the transport
layer must limit its messages to 556 bytes in the
absence of other knowledge about the destination
host.
(b) Some transport protocols ...
... than 576 (see Section 3.3.2), can send a datagram of
this larger size to another host that implements the
same protocol.
...
... same protocol.
(c) Hosts should ideally limit their EMTU_S for a given
destination to the minimum MTU ...
...
It has been suggested that a host could determine the MTU
over a given path by sending a zero-offset datagram ...
... traffic for each of N different
logical networks, then the host will have N logical
interfaces. These could share a single physical
interface ...
... number> part, if any), the logical interfaces are known
as "logical hosts". These logical interfaces might
share a single physical interface ...
... but it is now applied more generally.
A host with embedded gateway functionality will
typically fall into the simple multihoming ...
... typically fall into the simple multihoming case. Note,
however, that a host may be simply multihomed without
containing an embedded gateway, i.e., without
...
... interfaces between them. In particular, the
application software may have to be aware of the multiple IP
addresses of a multihomed host; in other cases, the choice
can be made within the network software.
...
... physical
interface through which it is received.
(B) A host MAY restrict itself to sending (non-source-
routed) IP datagrams only through the physical
interface ...
