home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-06-09 | 123.2 KB | 3,135 lines |
-
-
- Network Working Group R. Braden
- Request for Comments: 1009 J. Postel
- Obsoletes: 985 ISI
- June 1987
-
- Requirements for Internet Gateways
-
-
- Status of this Memo
-
- This document is a formal statement of the requirements to be met by
- gateways used in the Internet system. As such, it is an official
- specification for the Internet community. Distribution of this memo
- is unlimited.
-
- This RFC summarizes the requirements for gateways to be used between
- networks supporting the Internet protocols. While it was written
- specifically to support National Science Foundation research
- programs, the requirements are stated in a general context and are
- applicable throughout the Internet community.
-
- The purpose of this document is to present guidance for vendors
- offering gateway products that might be used or adapted for use in an
- Internet application. It enumerates the protocols required and gives
- references to RFCs and other documents describing the current
- specifications. In a number of cases the specifications are evolving
- and may contain ambiguous or incomplete information. In these cases
- further discussion giving specific guidance is included in this
- document. Specific policy issues relevant to the NSF scientific
- networking community are summarized in an Appendix. As other
- specifications are updated this document will be revised. Vendors
- are encouraged to maintain contact with the Internet research
- community.
-
- 1. Introduction
-
- The following material is intended as an introduction and background
- for those unfamiliar with the Internet architecture and the Internet
- gateway model. General background and discussion on the Internet
- architecture and supporting protocol suite can be found in the DDN
- Protocol Handbook [25] and ARPANET Information Brochure [26], see
- also [19, 28, 30, 31].
-
- The Internet protocol architecture was originally developed under
- DARPA sponsorship to meet both military and civilian communication
- requirements [32]. The Internet system presently supports a variety
- of government and government-sponsored operational and research
- activities. In particular, the National Science Foundation (NSF) is
- building a major extension to the Internet to provide user access to
-
-
-
-
- Braden & Postel [Page 1]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- national supercomputer centers and other national scientific
- resources, and to provide a computer networking capability to a large
- number of universities and colleges.
-
- In this document there are many terms that may be obscure to one
- unfamiliar with the Internet protocols. There is not much to be done
- about that but to learn, so dive in. There are a few terms that are
- much abused in general discussion but are carefully and intentionally
- used in this document. These few terms are defined here.
-
- Packet A packet is the unit of transmission on a physical
- network.
-
- Datagram A datagram is the unit of transmission in the IP
- protocol. To cross a particular network a datagram is
- encapsulated inside a packet.
-
- Router A router is a switch that receives data transmission
- units from input interfaces and, depending on the
- addresses in those units, routes them to the
- appropriate output interfaces. There can be routers
- at different levels of protocol. For example,
- Interface Message Processors (IMPs) are packet-level
- routers.
-
- Gateway In the Internet documentation generally, and in this
- document specifically, a gateway is an IP-level
- router. In the Internet community the term has a long
- history of this usage [32].
-
- 1.1. The DARPA Internet Architecture
-
- 1.1.1. Internet Protocols
-
- The Internet system consists of a number of interconnected
- packet networks supporting communication among host computers
- using the Internet protocols. These protocols include the
- Internet Protocol (IP), the Internet Control Message Protocol
- (ICMP), the Transmission Control Protocol (TCP), and
- application protocols depending upon them [22].
-
- All Internet protocols use IP as the basic data transport
- mechanism. IP [1,31] is a datagram, or connectionless,
- internetwork service and includes provision for addressing,
- type-of-service specification, fragmentation and reassembly,
- and security information. ICMP [2] is considered an integral
-
-
-
-
- Braden & Postel [Page 2]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- part of IP, although it is architecturally layered upon IP.
- ICMP provides error reporting, flow control and first-hop
- gateway redirection.
-
- Reliable data delivery is provided in the Internet protocol
- suite by transport-level protocols such as the Transmission
- Control Protocol (TCP), which provides end-end retransmission,
- resequencing and connection control. Transport-level
- connectionless service is provided by the User Datagram
- Protocol (UDP).
-
- 1.1.2. Networks and Gateways
-
- The constituent networks of the Internet system are required
- only to provide packet (connectionless) transport. This
- requires only delivery of individual packets. According to the
- IP service specification, datagrams can be delivered out of
- order, be lost or duplicated and/or contain errors. Reasonable
- performance of the protocols that use IP (e.g., TCP) requires
- an IP datagram loss rate of less than 5%. In those networks
- providing connection-oriented service, the extra reliability
- provided by virtual circuits enhances the end-end robustness of
- the system, but is not necessary for Internet operation.
-
- Constituent networks may generally be divided into two classes:
-
- * Local-Area Networks (LANs)
-
- LANs may have a variety of designs, typically based upon
- buss, ring, or star topologies. In general, a LAN will
- cover a small geographical area (e.g., a single building or
- plant site) and provide high bandwidth with low delays.
-
- * Wide-Area Networks (WANs)
-
- Geographically-dispersed hosts and LANs are interconnected
- by wide-area networks, also called long-haul networks.
- These networks may have a complex internal structure of
- lines and packet-routers (typified by ARPANET), or they may
- be as simple as point-to-point lines.
-
- In the Internet model, constituent networks are connected
- together by IP datagram forwarders which are called "gateways"
- or "IP routers". In this document, every use of the term
- "gateway" is equivalent to "IP router". In current practice,
- gateways are normally realized with packet-switching software
-
-
-
-
- Braden & Postel [Page 3]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- executing on a general-purpose CPU, but special-purpose
- hardware may also be used (and may be required for future
- higher-throughput gateways).
-
- A gateway is connected to two or more networks, appearing to
- each of these networks as a connected host. Thus, it has a
- physical interface and an IP address on each of the connected
- networks. Forwarding an IP datagram generally requires the
- gateway to choose the address of the next-hop gateway or (for
- the final hop) the destination host. This choice, called
- "routing", depends upon a routing data-base within the gateway.
- This routing data-base should be maintained dynamically to
- reflect the current topology of the Internet system; a gateway
- normally accomplishes this by participating in distributed
- routing and reachability algorithms with other gateways.
- Gateways provide datagram transport only, and they seek to
- minimize the state information necessary to sustain this
- service in the interest of routing flexibility and robustness.
-
- Routing devices may also operate at the network level; in this
- memo we will call such devices MAC routers (informally called
- "level-2 routers", and also called "bridges"). The name
- derives from the fact that MAC routers base their routing
- decision on the addresses in the MAC headers; e.g., in IEEE
- 802.3 networks, a MAC router bases its decision on the 48-bit
- addresses in the MAC header. Network segments which are
- connected by MAC routers share the same IP network number,
- i.e., they logically form a single IP network.
-
- Another variation on the simple model of networks connected
- with gateways sometimes occurs: a set of gateways may be
- interconnected with only serial lines, to effectively form a
- network in which the routing is performed at the internetwork
- (IP) level rather than the network level.
-
- 1.1.3. Autonomous Systems
-
- For technical, managerial, and sometimes political reasons, the
- gateways of the Internet system are grouped into collections
- called "autonomous systems" [35]. The gateways included in a
- single autonomous system (AS) are expected to:
-
- * Be under the control of a single operations and
- maintenance (O&M) organization;
-
- * Employ common routing protocols among themselves, to
- maintain their routing data-bases dynamically.
-
-
-
- Braden & Postel [Page 4]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- A number of different dynamic routing protocols have been
- developed (see Section 4.1); the particular choice of routing
- protocol within a single AS is generically called an interior
- gateway protocol or IGP.
-
- An IP datagram may have to traverse the gateways of two or more
- ASs to reach its destination, and the ASs must provide each
- other with topology information to allow such forwarding. The
- Exterior Gateway Protocol (EGP) is used for this purpose,
- between gateways of different autonomous systems.
-
- 1.1.4. Addresses and Subnets
-
- An IP datagram carries 32-bit source and destination addresses,
- each of which is partitioned into two parts -- a constituent
- network number and a host number on that network.
- Symbolically:
-
- IP-address ::= { <Network-number>, <Host-number> }
-
- To finally deliver the datagram, the last gateway in its path
- must map the host-number (or "rest") part of an IP address into
- the physical address of a host connection to the constituent
- network.
-
- This simple notion has been extended by the concept of
- "subnets", which were introduced in order to allow arbitrary
- complexity of interconnected LAN structures within an
- organization, while insulating the Internet system against
- explosive growth in network numbers and routing complexity.
- Subnets essentially provide a two-level hierarchical routing
- structure for the Internet system. The subnet extension,
- described in RFC-950 [21], is now a required part of the
- Internet architecture. The basic idea is to partition the
- <host number> field into two parts: a subnet number, and a true
- host number on that subnet.
-
- IP-address ::=
- { <Network-number>, <Subnet-number>, <Host-number> }
-
- The interconnected LANs of an organization will be given the
- same network number but different subnet numbers. The
- distinction between the subnets of such a subnetted network
- must not be visible outside that network. Thus, wide-area
- routing in the rest of the Internet will be based only upon the
- <Network-number> part of the IP destination address; gateways
- outside the network will lump <Subnet-number> and <Host-number>
-
-
-
- Braden & Postel [Page 5]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- together to form an uninterpreted "rest" part of the 32-bit IP
- address. Within the subnetted network, the local gateways must
- route on the basis of an extended network number:
-
- { <Network-number>, <Subnet-number> }.
-
- The bit positions containing this extended network number are
- indicated by a 32-bit mask called the "subnet mask" [21]; it is
- recommended but not required that the <Subnet-number> bits be
- contiguous and fall between the <Network-number> and the
- <Host-number> fields. No subnet should be assigned the value
- zero or -1 (all one bits).
-
- Flexible use of the available address space will be
- increasingly important in coping with the anticipated growth of
- the Internet. Thus, we allow a particular subnetted network to
- use more than one subnet mask. Several campuses with very
- large LAN configurations are also creating nested hierarchies
- of subnets, sub-subnets, etc.
-
- There are special considerations for the gateway when a
- connected network provides a broadcast or multicast capability;
- these will be discussed later.
-
- 1.2. The Internet Gateway Model
-
- There are two basic models for interconnecting local-area networks
- and wide-area (or long-haul) networks in the Internet. In the
- first, the local-area network is assigned a network number and all
- gateways in the Internet must know how to route to that network.
- In the second, the local-area network shares (a small part of) the
- address space of the wide-area network. Gateways that support
- this second model are called "address sharing gateways" or
- "transparent gateways". The focus of this memo is on gateways
- that support the first model, but this is not intended to exclude
- the use of transparent gateways.
-
- 1.2.1. Internet Gateways
-
- An Internet gateway is an IP-level router that performs the
- following functions:
-
- 1. Conforms to specific Internet protocols specified in
- this document, including the Internet Protocol (IP),
- Internet Control Message Protocol (ICMP), and others as
- necessary. See Section 2 (Protocols Required).
-
- 2. Interfaces to two or more packet networks. For each
-
-
- Braden & Postel [Page 6]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- connected network the gateway must implement the
- functions required by that network. These functions
- typically include:
-
- a. encapsulating and decapsulating the IP datagrams with
- the connected network framing (e.g., an Ethernet
- header and checksum);
-
- b. sending and receiving IP datagrams up to the maximum
- size supported by that network, this size is the
- network's "Maximum Transmission Unit" or "MTU";
-
- c. translating the IP destination address into an
- appropriate network-level address for the connected
- network (e.g., an Ethernet hardware address);
-
- d. responding to the network flow control and error
- indication, if any.
-
- See Section 3 (Constituent Network Interface), for
- details on particular constituent network interfaces.
-
- 3. Receives and forwards Internet datagrams. Important
- issues are buffer management, congestion control, and
- fairness. See Section 4 (Gateway Algorithms).
-
- a. Recognizes various error conditions and generates
- ICMP error and information messages as required.
-
- b. Drops datagrams whose time-to-live fields have
- reached zero.
-
- c. Fragments datagrams when necessary to fit into the
- MTU of the next network.
-
- 4. Chooses a next-hop destination for each IP datagram,
- based on the information in its routing data-base. See
- Section 4 (Gateway Algorithms).
-
- 5. Supports an interior gateway protocol (IGP) to carry out
- distributed routing and reachability algorithms with the
- other gateways in the same autonomous system. In
- addition, some gateways will need to support the
- Exterior Gateway Protocol (EGP) to exchange topological
- information with other autonomous systems. See
- Section 4 (Gateway Algorithms).
-
-
-
-
- Braden & Postel [Page 7]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- 6. Provides system support facilities, including loading,
- debugging, status reporting, exception reporting and
- control. See Section 5 (Operation and Maintenance).
-
- 1.2.2. Embedded Gateways
-
- A gateway may be a stand-alone computer system, dedicated to
- its IP router functions. Alternatively, it is possible to
- embed gateway functionality within a host operating system
- which supports connections to two or more networks. The
- best-known example of an operating system with embedded gateway
- code is the Berkeley BSD system. The embedded gateway feature
- seems to make internetting easy, but it has a number of hidden
- pitfalls:
-
- 1. If a host has only a single constituent-network
- interface, it should not act as a gateway.
-
- For example, hosts with embedded gateway code that
- gratuitously forward broadcast packets or datagrams on
- the same net often cause packet avalanches.
-
- 2. If a (multihomed) host acts as a gateway, it must
- implement ALL the relevant gateway requirements
- contained in this document.
-
- For example, the routing protocol issues (see Sections
- 2.6 and 4.1) and the control and monitoring problems are
- as hard and important for embedded gateways as for
- stand-alone gateways.
-
- Since Internet gateway requirements and
- specifications may change independently of operating
- system changes, an administration that operates an
- embedded gateway in the Internet is strongly advised
- to have an ability to maintain and update the gateway
- code (e.g., this might require gateway code source).
-
- 3. Once a host runs embedded gateway code, it becomes part
- of the Internet system. Thus, errors in software or
- configuration of such a host can hinder communication
- between other hosts. As a consequence, the host
- administrator must lose some autonomy.
-
- In many circumstances, a host administrator will need to
- disable gateway coded embedded in the operating system,
- and any embedded gateway code must be organized so it
- can be easily disabled.
-
-
- Braden & Postel [Page 8]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- 4. If a host running embedded gateway code is concurrently
- used for other services, the O&M (operation and
- maintenance) requirements for the two modes of use may
- be in serious conflict.
-
- For example, gateway O&M will in many cases be performed
- remotely by an operations center; this may require
- privileged system access which the host administrator
- would not normally want to distribute.
-
- 1.2.3. Transparent Gateways
-
- The basic idea of a transparent gateway is that the hosts on
- the local-area network behind such a gateway share the address
- space of the wide-area network in front of the gateway. In
- certain situations this is a very useful approach and the
- limitations do not present significant drawbacks.
-
- The words "in front" and "behind" indicate one of the
- limitations of this approach: this model of interconnection is
- suitable only for a geographically (and topologically) limited
- stub environment. It requires that there be some form of
- logical addressing in the network level addressing of the
- wide-area network (that is, all the IP addresses in the local
- environment map to a few (usually one) physical address in the
- wide-area network, in a way consistent with the { IP address
- <-> network address } mapping used throughout the wide-area
- network).
-
- Multihoming is possible on one wide-area network, but may
- present routing problems if the interfaces are geographically
- or topologically separated. Multihoming on two (or more)
- wide-area networks is a problem due to the confusion of
- addresses.
-
- The behavior that hosts see from other hosts in what is
- apparently the same network may differ if the transparent
- gateway cannot fully emulate the normal wide-area network
- service. For example, if there were a transparent gateway
- between the ARPANET and an Ethernet, a remote host would not
- receive a Destination Dead message [3] if it sent a datagram to
- an Ethernet host that was powered off.
-
-
-
-
-
-
-
-
- Braden & Postel [Page 9]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- 1.3. Gateway Characteristics
-
- Every Internet gateway must perform the functions listed above.
- However, a vendor will have many choices on power, complexity, and
- features for a particular gateway product. It may be helpful to
- observe that the Internet system is neither homogeneous nor
- fully-connected. For reasons of technology and geography, it is
- growing into a global-interconnect system plus a "fringe" of LANs
- around the "edge".
-
- * The global-interconnect system is comprised of a number of
- wide-area networks to which are attached gateways of several
- ASs; there are relatively few hosts connected directly to
- it. The global-interconnect system includes the ARPANET,
- the NSFNET "backbone", the various NSF regional and
- consortium networks, other ARPA sponsored networks such as
- the SATNET and the WBNET, and the DCA sponsored MILNET. It
- is anticipated that additional networks sponsored by these
- and other agencies (such as NASA and DOE) will join the
- global-interconnect system.
-
- * Most hosts are connected to LANs, and many organizations
- have clusters of LANs interconnected by local gateways.
- Each such cluster is connected by gateways at one or more
- points into the global-interconnect system. If it is
- connected at only one point, a LAN is known as a "stub"
- network.
-
- Gateways in the global-interconnect system generally require:
-
- * Advanced routing and forwarding algorithms
-
- These gateways need routing algorithms which are highly
- dynamic and also offer type-of-service routing. Congestion
- is still not a completely resolved issue [24]. Improvements
- to the current situation will be implemented soon, as the
- research community is actively working on these issues.
-
- * High availability
-
- These gateways need to be highly reliable, providing 24 hour
- a day, 7 days a week service. In case of failure, they must
- recover quickly.
-
- * Advanced O&M features
-
- These gateways will typically be operated remotely from a
- regional or national monitoring center. In their
-
-
- Braden & Postel [Page 10]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- interconnect role, they will need to provide sophisticated
- means for monitoring and measuring traffic and other events
- and for diagnosing faults.
-
- * High performance
-
- Although long-haul lines in the Internet today are most
- frequently 56 Kbps, DS1 lines (1.5 Mbps) are of increasing
- importance, and even higher speeds are likely in the future.
- Full-duplex operation is provided at any of these speeds.
-
- The average size of Internet datagrams is rather small, of
- the order of 100 bytes. At DS1 line speeds, the
- per-datagram processing capability of the gateways, rather
- than the line speed, is likely to be the bottleneck. To
- fill a DS1 line with average-sized Internet datagrams, a
- gateway would need to pass -- receive, route, and send --
- 2,000 datagrams per second per interface. That is, a
- gateway which supported 3 DS1 lines and and Ethernet
- interface would need to be able to pass a dazzling 2,000
- datagrams per second in each direction on each of the
- interfaces, or a aggregate throughput of 8,000 datagrams per
- second, in order to fully utilize DS1 lines. This is beyond
- the capability of current gateways.
-
- Note: some vendors count input and output operations
- separately in datagrams per second figures; for these
- vendors, the above example would imply 16,000 datagrams
- per second !
-
- Gateways used in the "LAN fringe" (e.g., campus networks) will
- generally have to meet less stringent requirements for
- performance, availability, and maintenance. These may be high or
- medium-performance devices, probably competitively procured from
- several different vendors and operated by an internal organization
- (e.g., a campus computing center). The design of these gateways
- should emphasize low average delay and good burst performance,
- together with delay and type-of-service sensitive resource
- management. In this environment, there will be less formal O&M,
- more hand-crafted static configurations for special cases, and
- more need for inter-operation with gateways of other vendors. The
- routing mechanism will need to be very flexible, but need not be
- so highly dynamic as in the global-interconnect system.
-
- It is important to realize that Internet gateways normally operate
- in an unattended mode, but that equipment and software faults can
- have a wide-spread (sometimes global) effect. In any environment,
-
-
-
- Braden & Postel [Page 11]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- a gateway must be highly robust and able to operate, possibly in a
- degraded state, under conditions of extreme congestion or failure
- of network resources.
-
- Even though the Internet system is not fully-interconnected, many
- parts of the system do need to have redundant connectivity. A
- rich connectivity allows reliable service despite failures of
- communication lines and gateways, and it can also improve service
- by shortening Internet paths and by providing additional capacity.
- The engineering tradeoff between cost and reliability must be made
- for each component of the Internet system.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Braden & Postel [Page 12]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- 2. Protocols Required in Gateways
-
- The Internet architecture uses datagram gateways to interconnect
- constituent networks. This section describes the various protocols
- which a gateway needs to implement.
-
- 2.1. Internet Protocol (IP)
-
- IP is the basic datagram protocol used in the Internet system [19,
- 31]. It is described in RFC-791 [1] and also in MIL-STD-1777 [5]
- as clarified by RFC-963 [36] ([1] and [5] are intended to describe
- the same standard, but in quite different words). The subnet
- extension is described in RFC-950 [21].
-
- With respect to current gateway requirements the following IP
- features can be ignored, although they may be required in the
- future: Type of Service field, Security option, and Stream ID
- option. However, if recognized, the interpretation of these
- quantities must conform to the standard specification.
-
- It is important for gateways to implement both the Loose and
- Strict Source Route options. The Record Route and Timestamp
- options are useful diagnostic tools and must be supported in all
- gateways.
-
- The Internet model requires that a gateway be able to fragment
- datagrams as necessary to match the MTU of the network to which
- they are being forwarded, but reassembly of fragmented datagrams
- is generally left to the destination hosts. Therefore, a gateway
- will not perform reassembly on datagrams it forwards.
-
- However, a gateway will generally receive some IP datagrams
- addressed to itself; for example, these may be ICMP Request/Reply
- messages, routing update messages (see Sections 2.3 and 2.6), or
- for monitoring and control (see Section 5). For these datagrams,
- the gateway will be functioning as a destination host, so it must
- implement IP reassembly in case the datagrams have been fragmented
- by some transit gateway. The destination gateway must have a
- reassembly buffer which is at least as large as the maximum of the
- MTU values for its network interfaces and 576. Note also that it
- is possible for a particular protocol implemented by a host or
- gateway to require a lower bound on reassembly buffer size which
- is larger than 576. Finally, a datagram which is addressed to a
- gateway may use any of that gateway's IP addresses as destination
- address, regardless of which interface the datagram enters.
-
- There are five classes of IP addresses: Class A through
- Class E [23]. Of these, Class D and Class E addresses are
-
-
- Braden & Postel [Page 13]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- reserved for experimental use. A gateway which is not
- participating in these experiments must ignore all datagrams with
- a Class D or Class E destination IP address. ICMP Destination
- Unreachable or ICMP Redirect messages must not result from
- receiving such datagrams.
-
- There are certain special cases for IP addresses, defined in the
- latest Assigned Numbers document [23]. These special cases can be
- concisely summarized using the earlier notation for an IP address:
-
- IP-address ::= { <Network-number>, <Host-number> }
-
- or
-
- IP-address ::= { <Network-number>, <Subnet-number>,
- <Host-number> }
-
- if we also use the notation "-1" to mean the field contains all 1
- bits. Some common special cases are as follows:
-
- (a) {0, 0}
-
- This host on this network. Can only be used as a source
- address (see note later).
-
- (b) {0, <Host-number>}
-
- Specified host on this network. Can only be used as a
- source address.
-
- (c) { -1, -1}
-
- Limited broadcast. Can only be used as a destination
- address, and a datagram with this address must never be
- forwarded outside the (sub-)net of the source.
-
- (d) {<Network-number>, -1}
-
- Directed broadcast to specified network. Can only be used
- as a destination address.
-
- (e) {<Network-number>, <Subnet-number>, -1}
-
- Directed broadcast to specified subnet. Can only be used as
- a destination address.
-
- (f) {<Network-number>, -1, -1}
-
-
-
- Braden & Postel [Page 14]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- Directed broadcast to all subnets of specified subnetted
- network. Can only be used as a destination address.
-
- (g) {127, <any>}
-
- Internal host loopback address. Should never appear outside
- a host.
-
- The following two are conventional notation for network numbers,
- and do not really represent IP addresses. They can never be used
- in an IP datagram header as an IP source or destination address.
-
- (h) {<Network-number>, 0}
-
- Specified network (no host).
-
- (i) {<Network-number>, <Subnet-number>, 0}
-
- Specified subnet (no host).
-
- Note also that the IP broadcast address, which has primary
- application to Ethernets and similar technologies that support an
- inherent broadcast function, has an all-ones value in the host
- field of the IP address. Some early implementations chose the
- all-zeros value for this purpose, which is not in conformance with
- the specification [23, 49, 50].
-
- 2.2. Internet Control Message Protocol (ICMP)
-
- ICMP is an auxiliary protocol used to convey advice and error
- messages and is described in RFC-792 [2].
-
- We will discuss issues arising from gateway handling of particular
- ICMP messages. The ICMP messages are grouped into two classes:
- error messages and information messages. ICMP error messages are
- never sent about ICMP error messages, nor about broadcast or
- multicast datagrams.
-
- The ICMP error messages are: Destination Unreachable, Redirect,
- Source Quench, Time Exceeded, and Parameter Problem.
-
- The ICMP information messages are: Echo, Information,
- Timestamp, and Address Mask.
-
-
-
-
-
-
-
- Braden & Postel [Page 15]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- 2.2.1. Destination Unreachable
-
- The distinction between subnets of a subnetted network, which
- depends on the address mask described in RFC-950 [21], must not
- be visible outside that network. This distinction is important
- in the case of the ICMP Destination Unreachable message.
-
- The ICMP Destination Unreachable message is sent by a gateway
- in response to a datagram which it cannot forward because the
- destination is unreachable or down. The gateway chooses one of
- the following two types of Destination Unreachable messages to
- send:
-
- * Net Unreachable
-
- * Host Unreachable
-
- Net unreachable implies that an intermediate gateway was unable
- to forward a datagram, as its routing data-base gave no next
- hop for the datagram, or all paths were down. Host Unreachable
- implies that the destination network was reachable, but that a
- gateway on that network was unable to reach the destination
- host. This might occur if the particular destination network
- was able to determine that the desired host was unreachable or
- down. It might also occur when the destination host was on a
- subnetted network and no path was available through the subnets
- of this network to the destination. Gateways should send Host
- Unreachable messages whenever other hosts on the same
- destination network might be reachable; otherwise, the source
- host may erroneously conclude that ALL hosts on the network are
- unreachable, and that may not be the case.
-
- 2.2.2. Redirect
-
- The ICMP Redirect message is sent by a gateway to a host on the
- same network, in order to change the gateway used by the host
- for routing certain datagrams. A choice of four types of
- Redirect messages is available to specify datagrams destined
- for a particular host or network, and possibly with a
- particular type-of-service.
-
- If the directly-connected network is not subnetted, a gateway
- can normally send a network Redirect which applies to all hosts
- on a specified remote network. Using a network rather than a
- host Redirect may economize slightly on network traffic and on
- host routing table storage. However, the saving is not
- significant, and subnets create an ambiguity about the subnet
-
-
-
- Braden & Postel [Page 16]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- mask to be used to interpret a network Redirect. In a general
- subnet environment, it is difficult to specify precisely the
- cases in which network Redirects can be used.
-
- Therefore, it is recommended that a gateway send only host (or
- host and type-of-service) Redirects.
-
- 2.2.3. Source Quench
-
- All gateways must contain code for sending ICMP Source Quench
- messages when they are forced to drop IP datagrams due to
- congestion. Although the Source Quench mechanism is known to
- be an imperfect means for Internet congestion control, and
- research towards more effective means is in progress, Source
- Quench is considered to be too valuable to omit from production
- gateways.
-
- There is some argument that the Source Quench should be sent
- before the gateway is forced to drop datagrams [62]. For
- example, a parameter X could be established and set to have
- Source Quench sent when only X buffers remain. Or, a parameter
- Y could be established and set to have Source Quench sent when
- only Y per cent of the buffers remain.
-
- Two problems for a gateway sending Source Quench are: (1) the
- consumption of bandwidth on the reverse path, and (2) the use
- of gateway CPU time. To ameliorate these problems, a gateway
- must be prepared to limit the frequency with which it sends
- Source Quench messages. This may be on the basis of a count
- (e.g., only send a Source Quench for every N dropped datagrams
- overall or per given source host), or on the basis of a time
- (e.g., send a Source Quench to a given source host or overall
- at most once per T millseconds). The parameters (e.g., N or T)
- must be settable as part of the configuration of the gateway;
- furthermore, there should be some configuration setting which
- disables sending Source Quenches. These configuration
- parameters, including disabling, should ideally be specifiable
- separately for each network interface.
-
- Note that a gateway itself may receive a Source Quench as the
- result of sending a datagram targeted to another gateway. Such
- datagrams might be an EGP update, for example.
-
- 2.2.4. Time Exceeded
-
- The ICMP Time Exceeded message may be sent when a gateway
- discards a datagram due to the TTL being reduced to zero. It
-
-
-
- Braden & Postel [Page 17]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- may also be sent by a gateway if the fragments of a datagram
- addressed to the gateway itself cannot be reassembled before
- the time limit.
-
- 2.2.5. Parameter Problem
-
- The ICMP Parameter Problem message may be sent to the source
- host for any problem not specifically covered by another ICMP
- message.
-
- 2.2.6. Address Mask
-
- Host and gateway implementations are expected to support the
- ICMP Address Mask messages described in RFC-950 [21].
-
- 2.2.7. Timestamp
-
- The ICMP Timestamp message has proven to be useful for
- diagnosing Internet problems. The preferred form for a
- timestamp value, the "standard value", is in milliseconds since
- midnight GMT. However, it may be difficult to provide this
- value with millisecond resolution. For example, many systems
- use clocks which update only at line frequency, 50 or 60 times
- per second. Therefore, some latitude is allowed in a
- "standard" value:
-
- * The value must be updated at a frequency of at least 30
- times per second (i.e., at most five low-order bits of
- the value may be undefined).
-
- * The origin of the value must be within a few minutes of
- midnight, i.e., the accuracy with which operators
- customarily set CPU clocks.
-
- To meet the second condition for a stand-alone gateway, it will
- be necessary to query some time server host when the gateway is
- booted or restarted. It is recommended that the UDP Time
- Server Protocol [44] be used for this purpose. A more advanced
- implementation would use NTP (Network Time Protocol) [45] to
- achieve nearly millisecond clock synchronization; however, this
- is not required.
-
- Even if a gateway is unable to establish its time origin, it
- ought to provide a "non-standard" timestamp value (i.e., with
- the non-standard bit set), as a time in milliseconds from
- system startup.
-
-
-
-
- Braden & Postel [Page 18]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- New gateways, especially those expecting to operate at T1 or
- higher speeds, are expected to have at least millisecond
- clocks.
-
- 2.2.8. Information Request/Reply
-
- The Information Request/Reply pair was intended to support
- self-configuring systems such as diskless workstations, to
- allow them to discover their IP network numbers at boot time.
- However, the Reverse ARP (RARP) protocol [15] provides a better
- mechanism for a host to use to discover its own IP address, and
- RARP is recommended for this purpose. Information
- Request/Reply need not be implemented in a gateway.
-
- 2.2.9. Echo Request/Reply
-
- A gateway must implement ICMP Echo, since it has proven to be
- an extremely useful diagnostic tool. A gateway must be
- prepared to receive, reassemble, and echo an ICMP Echo Request
- datagram at least as large as the maximum of 576 and the MTU's
- of all of the connected networks. See the discussion of IP
- reassembly in gateways, Section 2.1.
-
- The following rules resolve the question of the use of IP
- source routes in Echo Request and Reply datagrams. Suppose a
- gateway D receives an ICMP Echo Request addressed to itself
- from host S.
-
- 1. If the Echo Request contained no source route, D should
- send an Echo Reply back to S using its normal routing
- rules. As a result, the Echo Reply may take a different
- path than the Request; however, in any case, the pair
- will sample the complete round-trip path which any other
- higher-level protocol (e.g., TCP) would use for its data
- and ACK segments between S and D.
-
- 2. If the Echo Request did contain a source route, D should
- send an Echo Reply back to S using as a source route the
- return route built up in the source-routing option of
- the Echo Request.
-
-
-
-
-
-
-
-
-
-
- Braden & Postel [Page 19]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- 2.3. Exterior Gateway Protocol (EGP)
-
- EGP is the protocol used to exchange reachability information
- between Autonomous Systems of gateways, and is defined in
- RFC-904 [11]. See also RFC-827 [51], RFC-888 [46], and
- RFC-975 [27] for background information. The most widely used EGP
- implementation is described in RFC-911 [13].
-
- When a dynamic routing algorithm is operated in the gateways of an
- Autonomous System (AS), the routing data-base must be coupled to
- the EGP implementation. This coupling should ensure that, when a
- net is determined to be unreachable by the routing algorithm, the
- net will not be declared reachable to other ASs via EGP. This
- requirement is designed to minimize spurious traffic to "black
- holes" and to ensure fair utilization of the resources on other
- systems.
-
- The present EGP specification defines a model with serious
- limitations, most importantly a restriction against propagating
- "third party" EGP information in order to prevent long-lived
- routing loops [27]. This effectively limits EGP to a two-level
- hierarchy; the top level is formed by the "core" AS, while the
- lower level is composed of those ASs which are direct neighbor
- gateways to the core AS. In practice, in the current Internet,
- nearly all of the "core gateways" are connected to the ARPANET,
- while the lower level is composed of those ASs which are directly
- gatewayed to the ARPANET or MILNET.
-
- RFC-975 [27] suggested one way to generalize EGP to lessen these
- topology restrictions; it has not been adopted as an official
- specification, although its ideas are finding their way into the
- new EGP developments. There are efforts underway in the research
- community to develop an EGP generalization which will remove these
- restrictions.
-
- In EGP, there is no standard interpretation (i.e., metric) for the
- distance fields in the update messages, so distances are
- comparable only among gateways of the same AS. In using EGP data,
- a gateway should compare the distances among gateways of the same
- AS and prefer a route to that gateway which has the smallest
- distance value.
-
- The values to be announced in the distance fields for particular
- networks within the local AS should be a gateway configuration
- parameter; by suitable choice of these values, it will be possible
- to arrange primary and backup paths from other AS's. There are
- other EGP parameters, such as polling intervals, which also need
- to be set in the gateway configuration.
-
-
- Braden & Postel [Page 20]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- When routing updates become large they must be transmitted in
- parts. One strategy is to use IP fragmentation, another is to
- explicitly send the routing information in sections. The Internet
- Engineering Task Force is currently preparing a recommendation on
- this and other EGP engineering issues.
-
- 2.4. Address Resolution Protocol (ARP)
-
- ARP is an auxiliary protocol used to perform dynamic address
- translation between LAN hardware addresses and Internet addresses,
- and is described in RFC-826 [4].
-
- ARP depends upon local network broadcast. In normal ARP usage,
- the initiating host broadcasts an ARP Request carrying a target IP
- address; the corresponding target host, recognizing its own IP
- address, sends back an ARP Reply containing its own hardware
- interface address.
-
- A variation on this procedure, called "proxy ARP", has been used
- by gateways attached to broadcast LANs [14]. The gateway sends an
- ARP Reply specifying its interface address in response to an ARP
- Request for a target IP address which is not on the
- directly-connected network but for which the gateway offers an
- appropriate route. By observing ARP and proxy ARP traffic, a
- gateway may accumulate a routing data-base [14].
-
- Proxy ARP (also known in some quarters as "promiscuous ARP" or
- "the ARP hack") is useful for routing datagrams from hosts which
- do not implement the standard Internet routing rules fully -- for
- example, host implementations which predate the introduction of
- subnetting. Proxy ARP for subnetting is discussed in detail in
- RFC-925 [14].
-
- Reverse ARP (RARP) allows a host to map an Ethernet interface
- address into an IP address [15]. RARP is intended to allow a
- self-configuring host to learn its own IP address from a server at
- boot time.
-
- 2.5. Constituent Network Access Protocols
-
- See Section 3.
-
-
-
-
-
-
-
-
-
- Braden & Postel [Page 21]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- 2.6. Interior Gateway Protocols
-
- Distributed routing algorithms continue to be the subject of
- research and engineering, and it is likely that advances will be
- made over the next several years. A good algorithm needs to
- respond rapidly to real changes in Internet connectivity, yet be
- stable and insensitive to transients. It needs to synchronize the
- distributed data-base across gateways of its Autonomous System
- rapidly (to avoid routing loops), while consuming only a small
- fraction of the available bandwidth.
-
- Distributed routing algorithms are commonly broken down into the
- following three components:
-
- A. An algorithm to assign a "length" to each Internet path.
-
- The "length" may be a simple count of hops (1, or infinity
- if the path is broken), or an administratively-assigned
- cost, or some dynamically-measured cost (usually an average
- delay).
-
- In order to determine a path length, each gateway must at
- least test whether each of its neighbors is reachable; for
- this purpose, there must be a "reachability" or "neighbor
- up/down" protocol.
-
- B. An algorithm to compute the shortest path(s) to a given
- destination.
-
- C. A gateway-gateway protocol used to exchange path length and
- routing information among gateways.
-
- The most commonly-used IGPs in Internet gateways are as follows.
-
- 2.6.1. Gateway-to-Gateway Protocol (GGP)
-
- GGP was designed and implemented by BBN for the first
- experimental Internet gateways [41]. It is still in use in the
- BBN LSI/11 gateways, but is regarded as having serious
- drawbacks [58]. GGP is based upon an algorithm used in the
- early ARPANET IMPs and later replaced by SPF (see below).
-
- GGP is a "min-hop" algorithm, i.e., its length measure is
- simply the number of network hops between gateway pairs. It
- implements a distributed shortest-path algorithm, which
- requires global convergence of the routing tables after a
- change in topology or connectivity. Each gateway sends a GGP
-
-
-
- Braden & Postel [Page 22]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- routing update only to its neighbors, but each update includes
- an entry for every known network, where each entry contains the
- hop count from the gateway sending the update.
-
- 2.6.2. Shortest-Path-First (SPF) Protocols
-
- SPF [40] is the name for a class of routing algorithms based on
- a shortest-path algorithm of Dijkstra. The current ARPANET
- routing algorithm is SPF, and the BBN Butterfly gateways also
- use SPF. Its characteristics are considered superior to
- GGP [58].
-
- Under SPF, the routing data-base is replicated rather than
- distributed. Each gateway will have its own copy of the same
- data-base, containing the entire Internet topology and the
- lengths of every path. Since each gateway has all the routing
- data and runs a shortest-path algorithm locally, there is no
- problem of global convergence of a distributed algorithm, as in
- GGP. To build this replicated data-base, a gateway sends SPF
- routing updates to ALL other gateways; these updates only list
- the distances to each of the gateway's neighbors, making them
- much smaller than GGP updates. The algorithm used to
- distribute SPF routing updates involves reliable flooding.
-
- 2.6.3. Routing Information (RIP)
-
- RIP is the name often used for a class of routing protocols
- based upon the Xerox PUP and XNS routing protocols. These are
- relatively simple, and are widely available because they are
- incorporated in the embedded gateway code of Berkeley BSD
- systems. Because of this simplicity, RIP protocols have come
- the closest of any to being an "Open IGP", i.e., a protocol
- which can be used between different vendors' gateways.
- Unfortunately, there is no standard, and in fact not even a
- good document, for RIP.
-
- As in GGP, gateways using RIP periodically broadcast their
- routing data-base to their neighbor gateways, and use a
- hop-count as the metric.
-
- A fixed value of the hop-count (normally 16) is defined to be
- "infinity", i.e., network unreachable. A RIP implementation
- must include measures to avoid both the slow-convergence
- phenomen called "counting to infinity" and the formation of
- routing loops. One such measure is a "hold-down" rule. This
- rule establishes a period of time (typically 60 seconds) during
- which a gateway will ignore new routing information about a
- given network, once the gateway has learned that network is
-
-
- Braden & Postel [Page 23]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- unreachable (has hop-count "infinity"). The hold-down period
- must be settable in the gateway configuration; if gateways with
- different hold-down periods are using RIP in the same
- Autonomous System, routing loops are a distinct possibility.
- In general, the hold-down period is chosen large enough to
- allow time for unreachable status to propagate to all gateways
- in the AS.
-
- 2.6.4. Hello
-
- The "Fuzzball" software for an LSI/11 developed by Dave Mills
- incorporated an IGP called the "Hello" protocol [39]. This IGP
- is mentioned here because the Fuzzballs have been widely used
- in Internet experimentation, and because they have served as a
- testbed for many new routing ideas.
-
- 2.7. Monitoring Protocols
-
- See Section 5 of this document.
-
- 2.8. Internet Group Management Protocol (IGMP)
-
- An extension to the IP protocol has been defined to provide
- Internet-wide multicasting, i.e., delivery of copies of the same
- IP datagram to a set of Internet hosts [47, 48]. This delivery is
- to be performed by processes known as "multicasting agents", which
- reside either in a host on each net or (preferably) in the
- gateways.
-
- The set of hosts to which a datagram is delivered is called a
- "host group", and there is a host-agent protocol called IGMP,
- which a host uses to join, leave, or create a group. Each host
- group is distinguished by a Class D IP address.
-
- This multicasting mechanism and its IGMP protocol are currently
- experimental; implementation in vendor gateways would be premature
- at this time. A datagram containing a Class D IP address must be
- dropped, with no ICMP error message.
-
-
-
-
-
-
-
-
-
-
-
-
- Braden & Postel [Page 24]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- 3. Constituent Network Interface
-
- This section discusses the rules used for transmission of IP
- datagrams on the most common types of constituent networks. A
- gateway must be able to send and receive IP datagrams of any size up
- to the MTU of any constituent network to which it is connected.
-
- 3.1. Public data networks via X.25
-
- The formats specified for public data networks accessed via X.25
- are described in RFC-877 [8]. Datagrams are transmitted over
- standard level-3 virtual circuits as complete packet sequences.
- Virtual circuits are usually established dynamically as required
- and time-out after a period of no traffic. Link-level
- retransmission, resequencing and flow control are performed by the
- network for each virtual circuit and by the LAPB link-level
- protocol. Note that a single X.25 virtual circuit may be used to
- multiplex all IP traffic between a pair of hosts. However,
- multiple parallel virtual circuits may be used in order to improve
- the utilization of the subscriber access line, in spite of small
- X.25 window sizes; this can result in random resequencing.
-
- The correspondence between Internet and X.121 addresses is usually
- established by table-lookup. It is expected that this will be
- replaced by some sort of directory procedure in the future. The
- table of the hosts on the Public Data Network is in the Assigned
- Numbers [23].
-
- The normal MTU is 576; however, the two DTE's (hosts or gateways)
- can use X.25 packet size negotiation to increase this value [8].
-
- 3.2. ARPANET via 1822 LH, DH, or HDH
-
- The formats specified for ARPANET networks using 1822 access are
- described in BBN Report 1822 [3], which includes the procedures
- for several subscriber access methods. The Distant Host (DH)
- method is used when the host and IMP (the Defense Communication
- Agency calls it a Packet Switch Node or PSN) are separated by not
- more than about 2000 feet of cable, while the HDLC Distant Host
- (HDH) is used for greater distances where a modem is required.
- Under HDH, retransmission, resequencing and flow control are
- performed by the network and by the HDLC link-level protocol.
-
- The IP encapsulation format is simply to include the IP datagram
- as the data portion of an 1822 message. In addition, the
- high-order 8 bits of the Message Id field (also known as the
- "link" field") should be set to 155 [23]. The MTU is 1007 octets.
-
-
-
- Braden & Postel [Page 25]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- While the ARPANET 1822 protocols are widely used at present, they
- are expected to be eventually overtaken by the DDN Standard X.25
- protocol (see Section 3.3). The original IP address mapping
- (RFC-796 [38]) is in the process of being replaced by a new
- interface specification called AHIP-E; see RFC-1005 [61] for the
- proposal.
-
- Gateways connected to ARPANET or MILNET IMPs using 1822 access
- must incorporate features to avoid host-port blocking (i.e., RFNM
- counting) and to detect and report as ICMP Unreachable messages
- the failure of destination hosts or gateways (i.e., convert the
- 1822 error messages to the appropriate ICMP messages).
-
- In the development of a network interface it will be useful to
- review the IMP end-to-end protocol described in RFC-979 [29].
-
- 3.3. ARPANET via DDN Standard X.25
-
- The formats specified for ARPANET networks via X.25 are described
- in the Defense Data Network X.25 Host Interface Specification [6],
- which describes two sets of procedures: the DDN Basic X.25, and
- the DDN Standard X.25. Only DDN Standard X.25 provides the
- functionality required for interoperability assumptions of the
- Internet protocol.
-
- The DDN Standard X.25 procedures are similar to the public data
- network X.25 procedures, except in the address mappings.
- Retransmission, resequencing and flow control are performed by the
- network and by the LAPB link-level protocol. Multiple parallel
- virtual circuits may be used in order to improve the utilization
- of the subscriber access line; this can result in random
- resequencing.
-
- Gateways connected to ARPANET or MILNET using Standard X.25 access
- must detect and report as ICMP Unreachable messages the failure of
- destination hosts or gateways (i.e., convert the X.25 diagnostic
- codes to the appropriate ICMP messages).
-
- To achieve compatibility with 1822 interfaces, the effective MTU
- for a Standard X.25 interface is 1007 octets.
-
-
-
-
-
-
-
-
-
-
- Braden & Postel [Page 26]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- 3.4. Ethernet and IEEE 802
-
- The formats specified for Ethernet networks are described in
- RFC-894 [10]. Datagrams are encapsulated as Ethernet packets with
- 48-bit source and destination address fields and a 16-bit type
- field (the type field values are listed in the Assigned
- Numbers [23]). Address translation between Ethernet addresses and
- Internet addresses is managed by the Address Resolution Protocol,
- which is required in all Ethernet implementations. There is no
- explicit link-level retransmission, resequencing or flow control,
- although most hardware interfaces will retransmit automatically in
- case of collisions on the cable.
-
- The IEEE 802 networks use a Link Service Access Point (LSAP) field
- in much the same way the ARPANET uses the "link" field. Further,
- there is an extension of the LSAP header called the Sub-Network
- Access Protocol (SNAP).
-
- The 802.2 encapsulation is used on 802.3, 802.4, and 802.5 network
- by using the SNAP with an organization code indicating that the
- following 16 bits specify the Ether-Type code [23].
-
- Headers:
-
- ...--------+--------+--------+
- MAC Header| Length | 802.{3/4/5} MAC
- ...--------+--------+--------+
-
- +--------+--------+--------+
- | DSAP=K1| SSAP=K1| control| 802.2 SAP
- +--------+--------+--------+
-
- +--------+--------+--------+--------+--------+
- |protocol id or org code=K2| Ether-Type | 802.2 SNAP
- +--------+--------+--------+--------+--------+
-
- The total length of the SAP Header and the SNAP header is
- 8-octets, making the 802.2 protocol overhead come out on a 64-bit
- boundary.
-
- K1 is 170. The IEEE likes to talk about things in bit
- transmission order and specifies this value as 01010101. In
- big-endian order, as used in the Internet specifications, this
- becomes 10101010 binary, or AA hex, or 170 decimal. K2 is 0
- (zero).
-
- The use of the IP LSAP (K1 = 6) is reserved for future
- development.
-
-
- Braden & Postel [Page 27]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- The assigned values for the Ether-Type field are the same for
- either this IEEE 802 encapsulation or the basic Ethernet
- encapsulation [10].
-
- In either Ethernets or IEEE 802 nets, the IP datagram is the data
- portion of the packet immediately following the Ether-Type.
-
- The MTU for an Ethernet or its IEEE-standard equivalent (802.3) is
- 1500 octets.
-
- 3.5. Serial-Line Protocols
-
- In some configurations, gateways may be interconnected with each
- other by means of serial asynchronous or synchronous lines, with
- or without modems. When justified by the expected error rate and
- other factors, a link-level protocol may be required on the serial
- line. While there is no single Internet standard for this
- protocol, it is suggested that one of the following protocols be
- used.
-
- * X.25 LAPB (Synchronous Lines)
-
- This is the link-level protocol used for X.25 network
- access. It includes HDLC "bit-stuffing" as well as
- rotating-window flow control and reliable delivery.
-
- A gateway must be configurable to play the role of either
- the DCE or the DTE.
-
- * HDLC Framing (Synchronous Lines)
-
- This is just the bit-stuffing and framing rules of LAPB. It
- is the simplest choice, although it provides no flow control
- or reliable delivery; however, it does provide error
- detection.
-
- * Xerox Synchronous Point-to-Point (Synchronous Lines)
-
- This Xerox protocol is an elaboration upon HDLC framing that
- includes negotiation of maximum packet sizes, dial-up or
- dedicated circuits, and half- or full-duplex operation [12].
-
- * Serial Line Framing Protocol (Asynchronous Lines)
-
- This protocol is included in the MIT PC/IP package for an
- IBM PC and is defined in Appendix I to the manual for that
- system [20].
-
-
-
- Braden & Postel [Page 28]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- It will be important to make efficient use of the bandwidth
- available on a serial line between gateways. For example, it is
- desirable to provide some form of data compression. One possible
- standard compression algorithm, "Thinwire II", is described in
- RFC-914 [42]. This and similar algorithms are tuned to the
- particular types of redundancy which occur in IP and TCP headers;
- however, more work is necessary to define a standard serial-line
- compression protocol for Internet gateways. Until a standard has
- been adopted, each vendor is free to choose a compression
- algorithm; of course, the result will only be useful on a serial
- line between two gateways using the same compression algorithm.
-
- Another way to ensure maximum use of the bandwidth is to avoid
- unnecessary retransmissions at the link level. For some kinds of
- IP traffic, low delay is more important than reliable delivery.
- The serial line driver could distinguish such datagrams by their
- IP TOS field, and place them on a special high-priority,
- no-retransmission queue.
-
- A serial point-to-point line between two gateways may be
- considered to be a (particularly simple) network, a "null net".
- Considered in this way, a serial line requires no special
- considerations in the routing algorithms of the connected
- gateways, but does need an IP network number. To avoid the
- wholesale consumption of Internet routing data-base space by null
- nets, we strongly recommend that subnetting be used for null net
- numbering, whenever possible.
-
- For example, assume that network 128.203 is to be constructed
- of gateways joined by null nets; these nets are given (sub-)net
- numbers 128.203.1, 128.203.2, etc., and the two interfaces on
- each end of null net 128.203.s might have IP addresses
- 128.203.s.1 and 128.203.s.2.
-
- An alternative model of a serial line is that it is not a network,
- but rather an internal communication path joining two "half
- gateways". It is possible to design an IGP and routing algorithm
- that treats a serial line in this manner [39, 52].
-
-
-
-
-
-
-
-
-
-
-
-
- Braden & Postel [Page 29]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- 4. Gateway Algorithms
-
- Gateways are general packet-switches that forward packets according
- to the IP address, i.e., they are IP routers. While it is beyond
- the scope of this document to specify the details of the mechanisms
- used in any particular, perhaps proprietary, gateway architecture,
- there are a number of basic algorithms which must be provided by any
- acceptable design.
-
- 4.1. Routing Algorithm
-
- The routing mechanism is fundamental to Internet operation. In
- all but trivial network topologies, robust Internet service
- requires some degree of routing dynamics, whether it be effected
- by manual or automatic means or by some combination of both. In
- particular, if routing changes are made manually, it must be
- possible to make these routing changes from a remote Network
- Operation Center (NOC) without taking down the gateway for
- reconfiguration. If static routes are used, there must be
- automatic fallback or rerouting features.
-
- Handling unpredictable changes in Internet connectivity must be
- considered the normal case, so that systems of gateways will
- normally be expected to have a routing algorithm with the
- capability of reacting to link and other gateway failures and
- changing the routing automatically.
-
- This document places no restriction on the type of routing
- algorithm, e.g., node-based, link-based or any other algorithm, or
- on the routing distance metric, e.g., delay or hop-count.
- However, the following features are considered necessary for a
- successful gateway routing algorithm:
-
- 1. The algorithm must sense the failure or restoration of a
- link or other gateway and switch to appropriate paths. A
- design objective is to switch paths within an interval less
- than the typical TCP user time-out (one minute is a safe
- assumption).
-
- 2. The algorithm must suppress routing loops between neighbor
- gateways and must contain provisions to avoid or suppress
- routing loops that may form between non-neighbor gateways.
- A design objective is for no loop to persist for longer
- than an interval greater than the typical TCP user
- time-out.
-
- 3. The control traffic necessary to operate the routing
- algorithm must not significantly degrade or disrupt normal
-
-
- Braden & Postel [Page 30]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- network operation. Changes in state which might
- momentarily disrupt normal operation in a local-area must
- not cause disruption in remote areas of the network.
-
- 4. As the size of the network increases, the demand on
- resources must be controlled in an efficient way. Table
- lookups should be hashed, for example, and data-base
- updates handled piecemeal, with only incremental changes
- broadcast over a wide-area.
-
- 5. The size of the routing data-base must not be allowed to
- exceed a constant, independent of network topology, times
- the number of nodes times the mean connectivity (average
- number of incident links). An advanced design might not
- require that the entire routing data-base be kept in any
- particular gateway, so that discovery and caching
- techniques would be necessary.
-
- 6. Reachability and delay metrics, if used, must not depend on
- direct connectivity to all other gateways or on the use of
- network-specific broadcast mechanisms. Polling procedures
- (e.g., for consistency checking) must be used only
- sparingly and in no case introduce an overhead exceeding a
- constant, independent of network topology, times the
- longest non-looping path.
-
- 7. Default routes (generally intended as a means to reduce the
- size of the routing data-base) must be used with care,
- because of the many problems with multiple paths, loops,
- and mis-configurations which routing defaults have caused.
-
- The most common application of defaults is for routing
- within an Internet region which is connected in a strictly
- hierarchical fashion and is a stub from the rest of the
- Internet system. In this case, the default is used for
- routing "up" the tree. Unfortunately, such restricted
- topology seldom lasts very long, and defaults cease to
- work.
-
- More generally, defaults could be used for initial routing
- guesses, with final routes to be discovered and cached from
- external or internal data-bases via the routing algorithm
- or EGP.
-
-
-
-
-
-
-
- Braden & Postel [Page 31]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- 4.2. Subnets and Routing
-
- We will call a gateway "subnetted" if at least one of its
- interfaces is connected to a subnet; the set of gateways directly
- connected to subnets of the same network will be referred to as a
- "subnet cluster". For example, in the following diagram, network
- 2 is subnetted, with subnets 2.1 and 2.2, but network 1 is not;
- gateways 1, 2, and 3 are subnetted and are members of the same
- subnet cluster.
-
- (Net 1) === [Gwy 1] === (Net 2.1) === [Gwy 2] === (Net 2.2)
- | |
- | |
- =================== [Gwy 3] =======================
-
- Subnets have the following effects on gateway routing:
-
- A. Non-subnetted gateways are not affected at all.
-
- B. The routing data-base in a subnetted gateway must consider
- the address mask for subnet entries.
-
- C. Routing updates among the gateways in the same subnet
- cluster must include entries for the various subnets. The
- corresponding address mask(s) may be implicit, but for full
- generality the mask needs to be given explicitly for each
- entry. Note that if the routing data-base included a full
- 32-bit mask for every IP network, the gateway could deal
- with networks and subnets in a natural way. This would
- also handle the case of multiple subnet masks for the same
- subnetted network.
-
- D. Routing updates from a subnetted gateway to a gateway
- outside the cluster can contain nets, never subnets.
-
- E. If a subnetted gateway (e.g., gateway 2 above) is unable to
- forward a datagram from one subnet to another subnet of the
- same network, then it must return a Host Unreachable, not a
- Net Unreachable, as discussed in Section 2.2.1.
-
- When considering the choice of routing protocol, a gateway builder
- must consider how that protocol generalizes for subnets. For some
- routing protocols it will be possible to use the same procedures
- in a regular gateway and a subnetted gateway, with only a change
- of parameters (e.g., address masks).
-
- A different subnet address mask must be configurable for each
-
-
-
- Braden & Postel [Page 32]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- interface of a given gateway. This will allow a subnetted gateway
- to connect to two different subnetted networks, or to connect two
- subnets of the same network with different masks.
-
- 4.3 Resource Allocation
-
- In order to perform its basic datagram-forwarding functions, a
- gateway must allocate resources; its packet buffers and CPU time
- must be allocated to packets it receives from connected networks,
- while the bandwidth to each of the networks must also be allocated
- for sending packets. The choice of allocation strategies will be
- critical when a particular resource is scarce. The most obvious
- allocation strategy, first-come-first-served (FCFS), may not be
- appropriate under overload conditions, for reasons which we will
- now explore.
-
- A first example is buffer allocation. It is important for a
- gateway to allocate buffers fairly among all of its connected
- networks, even if these networks have widely varying bandwidths.
- A high-speed interface must not be allowed to starve slower
- interfaces of buffers. For example, consider a gateway with a
- 10 Mbps Ethernet connection and two 56 Kbps serial lines. A buggy
- host on the Ethernet may spray that gateway interface with packets
- at high speed. Without careful algorithm design in the gateway,
- this could tie up all the gateway buffers in such a way that
- transit traffic between the serial lines would be completely
- stopped.
-
- Allocation of output bandwidth may also require non-FCFS
- strategies. In an advanced gateway design, allocation of output
- bandwidth may depend upon Type-of-Service bits in the IP headers.
- A gateway may also want to give priority to datagrams for its own
- up/down and routing protocols.
-
- Finally, Nagle [24] has suggested that gateways implement "fair
- queueing", i.e., sharing output bandwidth equitably among the
- current traffic sources. In his scheme, for each network
- interface there would be a dynamically-built set of output queues,
- one per IP source address; these queues would be serviced in a
- round-robin fashion to share the bandwidth. If subsequent
- research shows fair queueing to be desirable, it will be added to
- a future version of this document as a universal requirement.
-
-
-
-
-
-
-
-
- Braden & Postel [Page 33]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- 4.4. Special Addresses and Filters
-
- Section 2.1 contained a list of the 32-bit IP addresses which have
- special meanings. They do not in general represent unique IP
- addresses of Internet hosts, and there are restrictions on their
- use in IP headers.
-
- We can distinguish two classes of these special cases. The first
- class (specifically, cases (a), (b), (c), (g), (h), and (i) in
- section 2.1) contains addresses which should never appear in the
- destination address field of any IP datagram, so a gateway should
- never be asked to route to one of these addresses. However, in
- the real world of imperfect implementations and configuration
- errors, such bad destination addresses do occur. It is the
- responsibility of a gateway to avoid propagating such erroneous
- addresses; this is especially important for gateways included in
- the global interconnect system. In particular, a gateway which
- receives a datagram with one of these forbidden addresses should:
-
- 1. Avoid inserting that address into its routing database, and
- avoid including it in routing updates to any other gateway.
-
- 2. Avoid forwarding a datagram containing that address as a
- destination.
-
- To enforce these restrictions, it is suggested that a gateway
- include a configurable filter for datagrams and routing updates.
- A typical filter entry might consist of a 32-bit mask and value
- pair. If the logical AND of the given address with the mask
- equals the value, a match has been found. Since filtering will
- consume gateway resources, it is vital that the gateway
- configuration be able to control the degree of filtering in use.
-
- There is a second class of special case addresses (cases (d), (e),
- and (f) in section 2.1), the so-called "directed broadcasts". A
- directed broadcast is a datagram to be forwarded normally to the
- specified destination (sub-)net and then broadcast on the final
- hop. An Internet gateway is permitted, but not required, to
- filter out directed broadcasts destined for any of its
- locally-connected networks. Hence, it should be possible to
- configure the filter to block the delivery of directed broadcasts.
-
- Finally, it will also be useful for Internet O&M to have a
- configurable filter on the IP source address. This will allow a
- network manager to temporarily block traffic from a particular
- misbehaving host, for example.
-
-
-
-
- Braden & Postel [Page 34]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- 4.5. Redirects
-
- The ICMP Redirect message is specified only for use by a gateway
- to update the routing table of a host on the same connected net.
- However, the Redirect message is sometimes used between gateways,
- due to the following considerations:
-
- The routing function in a host is very much like that in a
- "dumb gateway" (i.e., a gateway having only static routes). It
- is desirable to allow the routing tables of a dumb gateway to
- be changed under the control of a dynamic gateway (i.e., a
- gateway with full dynamic routing) on the same network. By
- analogy, it is natural to let the dynamic gateway send ICMP
- Redirect messages to dumb gateway.
-
- The use of ICMP Redirect between gateways in this fashion may be
- considered to be part of the IGP (in fact, the totality of the
- IGP, as far as the dumb gateway is concerned!) in the particular
- Autonomous System. Specification of an IGP is outside the scope
- of this document, so we only note the possibility of using
- Redirect in this fashion. Gateways are not required to receive
- and act upon redirects, and in fact dynamic gateways must ignore
- them. We also note that considerable experience shows that dumb
- gateways often create problems resulting in "black holes"; a full
- routing gateway is always preferable.
-
- Routing table entries established by redirect messages must be
- removed automatically, either by a time-out or when a use count
- goes to zero.
-
- 4.6. Broadcast and Multicast
-
- A host which is connected to a network (generally a LAN) with an
- intrinsic broadcast capability may want to use this capability to
- effect multidestination delivery of IP datagrams. The basic
- Internet model assumes point-to-point messages, and we must take
- some care when we incorporate broadcasting. It is important to
- note that broadcast addresses may occur at two protocol levels:
- the local network header and the IP header.
-
- Incorrect handling of broadcasting has often been the cause of
- packet avalanches (sometimes dubbed "meltdown") in LANs. These
- avalanches are generally caused by gratuitous datagram-forwarding
- by hosts, or by hosts sending ICMP error messages when they
- discard broadcast datagrams.
-
- Gateways have a responsibility to prevent avalanches, or datagrams
- which can trigger avalanches, from escaping into another network.
-
-
- Braden & Postel [Page 35]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- In general, a gateway must not forward a datagram which arrives
- via local network broadcast, and must not send an ICMP error
- message when dropping the datagram. A discussion of the rules
- will be found in Appendix A; see also [50].
-
- As noted in Section 4.4, a gateway is permitted to filter out
- directed broadcasts. Hence, directed broadcasts will only be
- useful in limited Internet regions (e.g., the within the subnets
- of a particular campus) in which delivery is supported by the
- gateway administrators. Host group multicasting (see Sections 2.8
- and 4.6) will soon provide a much more efficient mechanism than
- directed broadcasting. Gateway algorithms for host group
- multicasting will be specified in future RFC's.
-
- 4.7. Reachability Procedures
-
- The architecture must provide a robust mechanism to establish the
- operational status of each link and node in the network, including
- the gateways, the links connecting them and, where appropriate,
- the hosts as well. Ordinarily, this requires at least a
- link-level reachability protocol involving a periodic exchange of
- messages across each link. This function might be intrinsic to
- the link-level protocols used (e.g., LAPB). However, it is in
- general ill-advised to assume a host or gateway is operating
- correctly even if its link-level reachability protocol is
- operating correctly. Additional confirmation is required in the
- form of an operating routing algorithm or peer-level reachability
- protocol (such as used in EGP).
-
- Failure and restoration of a link and/or gateway are considered
- network events and must be reported to the control center. It is
- desirable, although not required, that reporting paths not require
- correct functioning of the routing algorithm itself.
-
- 4.8. Time-To-Live
-
- The Time-to-Live (TTL) field of the IP header is defined to be a
- timer limiting the lifetime of a datagram in the Internet. It is
- an 8-bit field and the units are seconds. This would imply that
- for a maximum TTL of 255 a datagram would time-out after about 4
- and a quarter minutes. Another aspect of the definition requires
- each gateway (or other module) that handles a datagram to
- decrement the TTL by at least one, even if the elapsed time was
- much less than a second. Since this is very often the case, the
- TTL effectively becomes a hop count limit on how far a datagram
- can propagate through the Internet.
-
-
-
-
- Braden & Postel [Page 36]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- As the Internet grows, the number of hops needed to get from one
- edge to the opposite edge increases, i.e., the Internet diameter
- grows.
-
- If a gateway holds a datagram for more than one second, it must
- decrement the TTL by one for each second.
-
- If the TTL is reduced to zero, the datagram must be discarded, and
- the gateway may send an ICMP Time Exceeded message to the source.
- A datagram should never be received with a TTL of zero.
-
- When it originates a datagram, a gateway is acting in the role of
- a host and must supply a realistic initial value for the TTL.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Braden & Postel [Page 37]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- 5. Operation and Maintenance
-
- 5.1. Introduction
-
- Facilities to support operation and maintenance (O&M) activities
- form an essential part of any gateway implementation. The
- following kinds of activity are included under gateway O&M:
-
- * Diagnosing hardware problems in the gateway processor, in
- its network interfaces, or in the connected networks,
- modems, or communication lines.
-
- * Installing a new version of the gateway software.
-
- * Restarting or rebooting a gateway after a crash.
-
- * Configuring (or reconfiguring) the gateway.
-
- * Detecting and diagnosing Internet problems such as
- congestion, routing loops, bad IP addresses, black holes,
- packet avalanches, and misbehaved hosts.
-
- * Changing network topology, either temporarily (e.g., to
- diagnose a communication line problem) or permanently.
-
- * Monitoring the status and performance of the gateways and
- the connected networks.
-
- * Collecting traffic statistics for use in (Inter-)network
- planning.
-
- Gateways, packet-switches, and their connected communication lines
- are often operated as a system by a centralized O&M organization.
- This organization will maintain a (Inter-)network operation
- center, or NOC, to carry out its O&M functions. It is essential
- that gateways support remote control and monitoring from such a
- NOC, through an Internet path (since gateways might not be
- connected to the same network as their NOC). Furthermore, an IP
- datagram traversing the Internet will often use gateways under the
- control of more than one NOC; therefore, Internet problem
- diagnosis will often involve cooperation of personnel of more than
- one NOC. In some cases, the same gateway may need to be monitored
- by more than one NOC.
-
- The tools available for monitoring at a NOC may cover a wide range
- of sophistication. Proposals have included multi-window, dynamic
- displays of the entire gateway system, and the use of AI
- techniques for automatic problem diagnosis.
-
-
- Braden & Postel [Page 38]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- Gateway O&M facilities discussed here are only a part of the large
- and difficult problem of Internet management. These problems
- encompass not only multiple management organizations, but also
- multiple protocol layers. For example, at the current stage of
- evolution of the Internet architecture, there is a strong coupling
- between host TCP implementations and eventual IP-level congestion
- in the gateway system [9]. Therefore, diagnosis of congestion
- problems will sometimes require the monitoring of TCP statistics
- in hosts. Gateway algorithms also interact with local network
- performance, especially through handling of broadcast packets and
- ARP, and again diagnosis will require access to hosts (e.g.,
- examining ARP caches). However, consideration of host monitoring
- is beyond the scope of this RFC.
-
- There are currently a number of R&D efforts in progress in the
- area of Internet management and more specifically gateway O&M. It
- is hoped that these will lead quickly to Internet standards for
- the gateway protocols and facilities required in this area. This
- is also an area in which vendor creativity can make a significant
- contribution.
-
- 5.2. Gateway O&M Models
-
- There is a range of possible models for performing O&M functions
- on a gateway. At one extreme is the local-only model, under which
- the O&M functions can only be executed locally, e.g., from a
- terminal plugged into the gateway machine. At the other extreme,
- the fully-remote model allows only an absolute minimum of
- functions to be performed locally (e.g., forcing a boot), with
- most O&M being done remotely from the NOC. There intermediate
- models, e.g., one in which NOC personnel can log into the gateway
- as a host, using the Telnet protocol, to perform functions which
- can also be invoked locally. The local-only model may be adequate
- in a few gateway installations, but in general remote operation
- from a NOC will be required, and therefore remote O&M provisions
- are required for most gateways.
-
- Remote O&M functions may be exercised through a control agent
- (program). In the direct approach, the gateway would support
- remote O&M functions directly from the NOC using standard Internet
- protocols (e.g., UDP or TCP); in the indirect approach, the
- control agent would support these protocols and control the
- gateway itself using proprietary protocols. The direct approach
- is preferred, although either approach is acceptable. The use of
- specialized host hardware and/or software requiring significant
- additional investment is discouraged; nevertheless, some vendors
- may elect to provide the control agent as an integrated part of
- the network in which the gateways are a part. If this is the
-
-
- Braden & Postel [Page 39]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- case, it is required that a means be available to operate the
- control agent from a remote site using Internet protocols and
- paths and with equivalent functionality with respect to a local
- agent terminal.
-
- It is desirable that a control agent and any other NOC software
- tools which a vendor provides operate as user programs in a
- standard operating system. The use of the standard Internet
- protocols UDP and TCP for communicating with the gateways should
- facilitate this.
-
- Remote gateway monitoring and (especially) remote gateway control
- present important access control problems which must be addressed.
- Care must also be taken to ensure control of the use of gateway
- resources for these functions. It is not desirable to let gateway
- monitoring take more than some limited fraction of the gateway CPU
- time, for example. On the other hand, O&M functions must receive
- priority so they can be exercised when the gateway is congested,
- i.e., when O&M is most needed.
-
- There are no current Internet standards for the control and
- monitoring protocols, although work is in progress in this area.
- The Host Monitoring Protocol (HMP) [7] could be used as a model
- until a standard is developed; however, it is strongly recommended
- that gateway O&M protocol be built on top of one of the standard
- Internet end-to-end protocols UDP or TCP. An example of a very
- simple but effective approach to gateway monitoring is contained
- in RFC-996 [43].
-
- 5.3. Gateway O&M Functions
-
- The following O&M functions need to be performed in a gateway:
-
- A. Maintenance -- Hardware Diagnosis
-
- Each gateway must operate as a stand-alone device for the
- purposes of local hardware maintenance. Means must be
- available to run diagnostic programs at the gateway site
- using only on-site tools, which might be only a diskette or
- tape and local terminal. It is desirable, although not
- required, to be able to run diagnostics or dump the gateway
- via the network in case of fault. Means should be provided
- to allow remote control from the NOC of of modems attached
- to the gateway. The most important modem control capability
- is entering and leaving loopback mode, to diagnose line
- problems.
-
-
-
-
- Braden & Postel [Page 40]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- B. Control -- Dumping and Rebooting
-
- It must be possible to dump and reboot a stand-alone gateway
- upon command from the NOC. In addition, a stand-alone
- gateway must include a watchdog timer that either initiates
- a reboot automatically or signals a remote control site if
- not reset periodically by the software. It is desirable
- that the boot data involved reside at an Internet host
- (e.g., the NOC host) and be transmitted via the net;
- however, the use of local devices at the gateway site is
- acceptable.
-
- C. Control -- Configuring the Gateway
-
- Every gateway will have a number of configuration parameters
- which must be set (see the next section for examples). It
- must be possible to update the parameters without rebooting
- the gateway; at worst, a restart may be required.
-
- D. Monitoring -- Status and Performance
-
- A mechanism must be provided for retrieving status and
- statistical information from a gateway. A gateway must
- supply such information in response to a polling message
- from the NOC. In addition, it may be desirable to configure
- a gateway to transmit status spontaneously and periodically
- to a NOC (or set of NOCs), for recording and display.
-
- Examples of interesting status information include: link
- status, queue lengths, buffer availability, CPU and memory
- utilization, the routing data-base, error counts, and packet
- counts. Counts should be kept for dropped datagrams,
- separated by reason. Counts of ICMP datagrams should be
- kept by type and categorized into those originating at the
- gateway, and those destined for the gateway. It would be
- useful to maintain many of these statistics by network
- interface, by source/destination network pair, and/or by
- source/destination host pair.
-
- Note that a great deal of useful monitoring data is often to
- be found in the routing data-base. It is therefore useful
- to be able to tap into this data-base from the NOC.
-
- E. Monitoring -- Error Logging
-
- A gateway should be capable of asynchronously sending
- exception ("trap") reports to one or more specified Internet
- addresses, one of which will presumably be the NOC host.
-
-
- Braden & Postel [Page 41]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- There must also be a mechanism to limit the frequency of
- such trap reports, and the parameters controlling this
- frequency must be settable in the gateway configuration.
-
- Examples of conditions which should result in traps include:
- datagrams discarded because of TTL expiration (an indicator
- of possible routing loops); resource shortages; or an
- interface changing its up/down status.
-
- 5.4. Gateway Configuration Parameters
-
- Every gateway will have a set of configuration parameters
- controlling its operation. It must be possible to set these
- parameters remotely from the NOC or locally at any time, without
- taking the gateway down.
-
- The following is a partial but representative list of possible
- configuration parameters for a full-function gateway. The items
- marked with "(i)" should be settable independently for each
- network interface.
-
- * (i) IP (sub-) network address
-
- * (i) Subnet address mask
-
- * (i) MTU of local network
-
- * (i) Hardware interface address
-
- * (i) Broadcast compatibility option (0s or 1s)
-
- * EGP parameters -- neighbors, Autonomous System number,
- and polling parameters
-
- * Static and/or default routes, if any
-
- * Enable/Disable Proxy ARP
-
- * Source Quench parameters
-
- * Address filter configuration
-
- * Boot-host address
-
- * IP address of time server host
-
- * IP address(es) of logging host(s)
-
-
-
- Braden & Postel [Page 42]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- * IP address(es) of hosts to receive traps
-
- * IP address(es) of hosts authorized to issue control
- commands
-
- * Error level for logging
-
- * Maximum trap frequency
-
- * Hold-down period (if any)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Braden & Postel [Page 43]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- Appendix A. Technical Details
-
- This Appendix collects a number of technical details and rules
- concerning datagram forwarding by gateways and datagram handling by
- hosts, especially in the presence of broadcasting and subnets.
-
- A.1. Rules for Broadcasting
-
- The following rules define how to handle broadcasts of packets and
- datagrams [50]:
-
- a. Hosts (which do not contain embedded gateways) must NEVER
- forward any datagrams received from a connected network,
- broadcast or not.
-
- When a host receives an IP datagram, if the destination
- address identifies the host or is an IP broadcast address,
- the host passes the datagram to its appropriate
- higher-level protocol module (possibly sending ICMP
- protocol unreachable, but not if the IP address was a
- broadcast address). Any other IP datagram must simply be
- discarded, without an ICMP error message. Hosts never send
- redirects.
-
- b. All packets containing IP datagrams which are sent to the
- local-network packet broadcast address must contain an IP
- broadcast address as the destination address in their IP
- header. Expressed in another way, a gateway (or host) must
- not send in a local-network broadcast packet an IP datagram
- that has a specific IP host address as its destination
- field.
-
- c. A gateway must never forward an IP datagram that arrives
- addressed to the IP limited broadcast address {-1,-1}.
- Furthermore, it must must not send an ICMP error message
- about discarding such a datagram.
-
- d. A gateway must not forward an IP datagram addressed to
- network zero, i.e., {0, *}.
-
- e. A gateway may forward a directed broadcast datagram, i.e.,
- a datagram with the IP destination address:
-
- { <Network-number>, -1}.
-
- However, it must not send such a directed broadcast out the
- same interface it came in, if this interface has
- <Network-number> as its network number. If the code in the
-
-
- Braden & Postel [Page 44]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- gateway making this decision does not know what interface
- the directed-broadcast datagram arrived on, the gateway
- cannot support directed broadcast to this connected network
- at all.
-
- f. A gateway is permitted to protect its connected networks by
- discarding directed broadcast datagrams.
-
- A gateway will broadcast an IP datagram on a connected network if
- it is a directed broadcast destined for that network. Some
- gateway-gateway routing protocols (e.g., RIP) also require
- broadcasting routing updates on the connected networks. In either
- case, the datagram must have an IP broadcast address as its
- destination.
-
- Note: as observed earlier, some host implementations (those
- based on Berkeley 4.2BSD) use zero rather than -1 in the host
- field. To provide compatibility during the period until these
- systems are fixed or retired, it may be useful for a gateway to
- be configurable to send either choice of IP broadcast address
- and accept both if received.
-
- A.2. ICMP Redirects
-
- A gateway will generate an ICMP Redirect if and only if the
- destination IP address is reachable from the gateway (as
- determined by the routing algorithm) and the next-hop gateway is
- on the same (sub-)network as the source host. Redirects must not
- be sent in response to an IP network or subnet broadcast address
- or in response to a Class D or Class E IP address.
-
- A host must discard an ICMP Redirect if the destination IP address
- is not its own IP address, or the new target address is not on the
- same (sub-)network. An accepted Redirect updates the routing
- data-base for the old target address. If there is no route
- associated with the old target address, the Redirect is ignored.
- If the old route is associated with a default gateway, a new route
- associated with the new target address is inserted in the
- data-base.
-
-
-
-
-
-
-
-
-
-
-
- Braden & Postel [Page 45]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- Appendix B. NSFNET Specific Requirements
-
- The following sections discuss certain issues of special concern to
- the NSF scientific networking community. These issues have primary
- relevance in the policy area, but also have ramifications in the
- technical area.
-
- B.1. Proprietary and Extensibility Issues
-
- Although hosts, gateways and networks supporting Internet
- technology have been in continuous operation for several years,
- vendors users and operators must understand that not all
- networking issues are fully resolved. As a result, when new needs
- or better solutions are developed for use in the NSF networking
- community, it may be necessary to field new protocols or augment
- existing ones. Normally, these new protocols will be designed to
- interoperate in all practical respects with existing protocols;
- however, occasionally it may happen that existing systems must be
- upgraded to support these new or augmented protocols.
-
- NSF systems procurements may favor those vendors who undertake a
- commitment to remain aware of current Internet technology and be
- prepared to upgrade their products from time to time as
- appropriate. As a result, vendors are strongly urged to consider
- extensibility and periodic upgrades as fundamental characteristics
- of their products. One of the most productive and rewarding ways
- to do this on a long-term basis is to participate in ongoing
- Internet research and development programs in partnership with the
- academic community.
-
- B.2. Interconnection Technology
-
- In order to ensure network-level interoperability of different
- vendor's gateways within the NSFNET context, we specify that a
- gateway must at a minimum support Ethernet connections and serial
- line protocol connections.
-
- Currently the most important common interconnection technology
- between Internet systems of different vendors is Ethernet. Among
- the reasons for this are the following:
-
- 1. Ethernet specifications are well-understood and mature.
-
- 2. Ethernet technology is in almost all aspects vendor
- independent.
-
- 3. Ethernet-compatible systems are common and becoming more
- so.
-
-
- Braden & Postel [Page 46]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- These advantages combined favor the use of Ethernet technology as
- the common point of demarcation between NSF network systems
- supplied by different vendors, regardless of technology. It is a
- requirement of NSF gateways that, regardless of the possibly
- proprietary switching technology used to implement a given
- vendor-supplied network, its gateways must support an Ethernet
- attachment to gateways of other vendors.
-
- It is expected that future NSF gateway requirements will specify
- other interconnection technologies. The most likely candidates
- are those based on X.25 or IEEE 802, but other technologies
- including broadband cable, optical fiber, or other media may also
- be considered.
-
- B.3. Routing Interoperability
-
- The Internet does not currently have an "open IGP" standard, i.e.,
- a common IGP which would allow gateways from different vendors to
- form a single Autonomous System. Several approaches to routing
- interoperability are currently in use among vendors and the NSF
- networking community.
-
- * Proprietary IGP
-
- At least one gateway vendor has implemented a proprietary IGP
- and uses EGP to interface to the rest of the Internet.
-
- * RIP
-
- Although RIP is undocumented and various implementations of it
- differ in subtle ways, it has been used successfully for
- interoperation among multiple vendors as an IGP.
-
- * Gateway Daemon
-
- The NSF networking community has built a "gateway daemon"
- program which can mediate among multiple routing protocols to
- create a mixed-IGP Autonomous System. In particular, the
- prototype gateway daemon executes on a 4.3BSD machine acting as
- a gateway and exchanges routing information with other
- gateways, speaking both RIP and Hello protocols; in addition,
- it supports EGP to other Autonomous Systems.
-
-
-
-
-
-
-
-
- Braden & Postel [Page 47]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- B.4. Multi-Protocol Gateways
-
- The present NSF gateway requirements specify only the Internet
- protocol IP. However, in a few years the Internet will begin a
- gradual transition to the functionally-equivalent subset of the
- ISO protocols [17]. In particular, an increasing percentage of
- the traffic will use the ISO Connectionless Mode Network Service
- (CLNS, but commonly called "ISO IP") [33] in place of IP. It is
- expected that the ISO suite will eventually become the dominant
- one; however, it is also expected that requirements to support
- Internet IP will continue, perhaps indefinitely.
-
- To support the transition to ISO protocols and the coexistence
- stage, it is highly desirable that a gateway design provide for
- future extensions to support more than one protocol simultaneous,
- and in particular both IP and CLNS [18].
-
- Present NSF gateway requirements do not include protocols above
- the network layer, such as TCP, unless necessary for network
- monitoring or control. Vendors should recognize that future
- requirements to interwork between Internet and ISO applications,
- for example, may result in an opportunity to market gateways
- supporting multiple protocols at all levels up through the
- application level [16]. It is expected that the network-level NSF
- gateway requirements summarized in this document will be
- incorporated in the requirements document for these
- application-level gateways.
-
- Internet gateways function as intermediate systems (IS) with
- respect to the ISO connectionless network model and incorporate
- defined packet formats, routing algorithms and related procedures
- [33, 34]. The ISO ES-IS [37] provides the functions of ARP and
- ICMP Redirect.
-
- B.5. Access Control and Accounting
-
- There are no requirements for NSF gateways at this time to
- incorporate specific access-control and accounting mechanisms in
- the design; however, these important issues are currently under
- study and will be incorporated into a subsequent edition of this
- document. Vendors are encouraged to plan for the introduction of
- these mechanisms into their products. While at this time no
- definitive common model for access control and accounting has
- emerged, it is possible to outline some general features such a
- model is likely to have, among them the following:
-
-
-
-
-
- Braden & Postel [Page 48]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- 1. The primary access control and accounting mechanisms will
- be in the service hosts themselves, not the gateways,
- packet-switches or workstations.
-
- 2. Agents acting on behalf of access control and accounting
- mechanisms may be necessary in the gateways, to collect
- data, enforce password protection, or mitigate resource
- priority and fairness. However, the architecture and
- protocols used by these agents may be a local matter and
- cannot be specified in advance.
-
- 3. NSF gateways may be required to incorporate access control
- and accounting mechanisms based on datagram
- source/destination address, as well as other fields in the
- IP header.
-
- 4. NSF gateways may be required to enforce policies on access
- to gateway and communication resources. These policies may
- be based upon equity ("fairness") or upon inequity
- ("priority").
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Braden & Postel [Page 49]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- Acknowledgments
-
- An earlier version of this document (RFC-985) [60] was prepared by
- Dave Mills in behalf of the Gateway Requirements Subcommittee of the
- NSF Network Technical Advisory Group, in cooperation with the
- Internet Activities Board, Internet Architecture Task Force, and
- Internet Engineering Task Force. This effort was chaired by Dave
- Mills, and contributed to by many people.
-
- The authors of current document have also received assistance from
- many people in the NSF and ARPA networking community. We thank you,
- one and all.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Braden & Postel [Page 50]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- References and Bibliography
-
- Many of these references are available from the DDN Network
- Information Center, SRI International, 333 Ravenswood Avenue, Menlo
- Park, California 94025 (telephone: 800-235-3155).
-
- [1] Postel, J., "Internet Protocol", RFC-791, USC Information
- Sciences Institute, September 1981.
-
- [2] Postel, J., "Internet Control Message Protocol", RFC-792, USC
- Information Sciences Institute, September 1981.
-
- [3] BBN, "Interface Message Processor - Specifications for the
- Interconnection of a Host and an IMP", Report 1822, Bolt
- Beranek and Newman, December 1981.
-
- [4] Plummer, D., "An Ethernet Address Resolution Protocol",
- RFC-826, Symbolics, September 1982.
-
- [5] DOD, "Military Standard Internet Protocol", Military Standard
- MIL-STD-1777, United States Department of Defense, August 1983.
-
- [6] BBN, "Defense Data Network X.25 Host Interface Specification",
- Report 5476, Bolt Beranek and Newman, December 1983.
-
- [7] Hinden, R., "A Host Monitoring Protocol", RFC-869, BBN
- Communications, December 1983.
-
- [8] Korb, J.T., "A Standard for the Transmission of IP Datagrams
- over Public Data Networks", RFC-877, Purdue University,
- September 1983.
-
- [9] Nagle, J., "Congestion Control in IP/TCP Internetworks",
- RFC-896, Ford Aerospace, January 1984.
-
- [10] Hornig, C., "A Standard for the Transmission of IP Datagrams
- over Ethernet Networks", RFC-894, Symbolics, April 1984.
-
- [11] Mills, D.L., "Exterior Gateway Formal Specification", RFC-904,
- M/A-COM Linkabit, April 1984.
-
- [12] Xerox, "Xerox Synchronous Point-to-Point Protocol", Xerox
- System Integration Standard 158412, December 1984.
-
- [13] Kirton, P., "EGP Gateway under Berkeley UNIX 4.2", RFC-911, USC
- Information Sciences Institute, August 1984.
-
-
-
-
- Braden & Postel [Page 51]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- [14] Postel, J., "Multi-LAN Address Resolution", RFC-925, USC
- Information Sciences Institute, October 1984.
-
- [15] Finlayson, R., T. Mann, J. Mogul, and M. Theimer, "A Reverse
- Address Resolution Protocol", RFC-904, Stanford University,
- June 1984.
-
- [16] NRC, "Transport Protocols for Department of Defense Data
- Networks", RFC-942, National Research Council, March 1985.
-
- [17] Postel, J., "DOD Statement on NRC Report", RFC-945, USC
- Information Sciences Institute, April 1985.
-
- [18] ISO, "Addendum to the Network Service Definition Covering
- Network Layer Addressing", RFC-941, International Standards
- Organization, April 1985.
-
- [19] Leiner, B., J. Postel, R. Cole and D. Mills, "The DARPA
- Internet Protocol Suite", Proceedings INFOCOM 85, IEEE,
- Washington DC, March 1985. Also in: IEEE Communications
- Magazine, March 1985. Also available as ISI-RS-85-153.
-
- [20] Romkey, J., "PC/IP Programmer's Manual", MIT Laboratory for
- Computer Science, pp. 57-59, April 1986.
-
- [21] Mogul, J., and J. Postel, "Internet Standard Subnetting
- Procedure", RFC-950, Stanford University, August 1985.
-
- [22] Reynolds, J., and J. Postel, "Official Internet Protocols",
- RFC-1011, USC Information Sciences Institute, May 1987.
-
- [23] Reynolds, J., and J. Postel, "Assigned Numbers", RFC-1010, USC
- Information Sciences Institute, May 1987.
-
- [24] Nagle, J., "On Packet Switches with Infinite Storage", RFC-970,
- Ford Aerospace, December 1985.
-
- [25] SRI, "DDN Protocol Handbook", NIC-50004, NIC-50005, NIC-50006,
- (three volumes), SRI International, December 1985.
-
- [26] SRI, "ARPANET Information Brochure", NIC-50003, SRI
- International, December 1985.
-
- [27] Mills, D.L., "Autonomous Confederations", RFC-975, M/A-COM
- Linkabit, February 1986.
-
- [28] Jacobsen, O., and J. Postel, "Protocol Document Order
- Information", RFC-980, SRI International, March 1986.
-
-
- Braden & Postel [Page 52]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- [29] Malis, A.G., "PSN End-to-End Functional Specification",
- RFC-979, BBN Communications, March 1986.
-
- [30] Postel, J, "Internetwork Applications using the DARPA Protocol
- Suite", Proceedings INFOCOM 85, IEEE, Washington DC,
- March 1985. Also available as ISI-RS-85-151.
-
- [31] Postel, J, C. Sunshine, and D. Cohen, "The ARPA Internet
- Protocol", Computer Networks, Vol. 5, No. 4, July 1981.
-
- [32] Cerf, V., and R. Kahn, "A Protocol for Packet Network
- Intercommunication", IEEE Transactions on Communication,
- May 1974.
-
- [33] ISO, "Protocol for Providing the Connectionless-mode Network
- Service", RFC-994, DIS-8473, International Standards
- Organization, March 1986.
-
- [34] ANSI, "Draft Network Layer Routing Architecture", ANSI X3S3.3,
- 86-215R, April 1987.
-
- [35] Rosen, E., "Exterior Gateway Protocol (EGP)", RFC-827, Bolt
- Beranek and Newman, October 1982.
-
- [36] Sidhu, D., "Some Problems with the Specification of the
- Military Standard Internet Protocol", RFC-963, Iowa State
- University, November 1985.
-
- [37] ISO, "End System to Intermediate System Routing Exchange
- Protocol for use in conjunction with ISO 8473", RFC-995,
- April 1986.
-
- [38] Postel, J., "Address Mappings", RFC-796, USC/Information
- Sciences Institute, September 1981.
-
- [39] Mills, D., "DCN Local Network Protocols", RFC-891, M/A-COM
- Linkabit, December 1983.
-
- [40] McQuillan, J. M., I. Richer, and E. C. Rosen, "The New Routing
- Algorithm for the ARPANET", IEEE Transactions on
- Communications, May 1980.
-
- [41] Hinden, R., and A. Sheltzer, "The DARPA Internet Gateway",
- RFC-823, Bolt Beranek and Newman, September 1982.
-
- [42] Farber, D., G. Delp, and T. Conte, "A Thinwire Protocol for
- Connecting Personal Computers to the Internet", RFC-914,
- University of Delaware, September 1984.
-
-
- Braden & Postel [Page 53]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- [43] Mills, D., "Statistics Server", RFC-996, University Of
- Delaware, February 1987.
-
- [44] Postel, J. and K. Harrenstien, "Time Protocol", RFC-868,
- May 1983.
-
- [45] Mills, D., "Network Time Protocol (NTP)", RFC-958, M/A-Com
- Linkabit, September 1985.
-
- [46] Seamonson, L., and E. Rosen, "Stub Exterior Gateway Protocol",
- RFC-888, Bolt Beranek And Newman, January 1984.
-
- [47] Deering, S., and D. Cheriton, "Host Groups: A Multicast
- Extension to the Internet Protocol", RFC-966, Stanford
- University, December 1985.
-
- [48] Deering, S., "Host Extensions for IP Multicasting", RFC-988,
- Stanford University, July 1986.
-
- [49] Mogul, J., "Broadcasting Internet Datagrams", RFC-919, Stanford
- University, October 1984.
-
- [50] Mogul, J., "Broadcasting Internet Datagrams in the Presence of
- Subnets", RFC-922, Stanford University, October 1984.
-
- [51] Rosen, E., "Exterior Gateway Protocol", RFC-827, Bolt Beranek
- and Newman, October 1982.
-
- [52] Rose, M., "Low Tech Connection into the ARPA Internet: The Raw
- Packet Split Gateway", Technical Report 216, Department of
- Information and Computer Science, University of California,
- Irvine, February 1984.
-
- [53] Rosen, E., "Issues in Buffer Management", IEN-182, Bolt Beranek
- and Newman, May 1981.
-
- [54] Rosen, E., "Logical Addressing", IEN-183, Bolt Beranek and
- Newman, May 1981.
-
- [55] Rosen, E., "Issues in Internetting - Part 1: Modelling the
- Internet", IEN-184, Bolt Beranek and Newman, May 1981.
-
- [56] Rosen, E., "Issues in Internetting - Part 2: Accessing the
- Internet", IEN-187, Bolt Beranek and Newman, June 1981.
-
- [57] Rosen, E., "Issues in Internetting - Part 3: Addressing",
- IEN-188, Bolt Beranek and Newman, June 1981.
-
-
-
- Braden & Postel [Page 54]
-
-
-
- RFC 1009 - Requirements for Internet Gateways June 1987
-
-
- [58] Rosen, E., "Issues in Internetting - Part 4: Routing", IEN-189,
- Bolt Beranek and Newman, June 1981.
-
- [59] Sunshine, C., "Comments on Rosen's Memos", IEN-191, USC
- Information Sciences Institute, July 1981.
-
- [60] NTAG, "Requirements for Internet Gateways -- Draft", RFC-985,
- Network Technical Advisory Group, National Science Foundation,
- May 1986.
-
- [61] Khanna, A., and Malis, A., "The ARPANET AHIP-E Host Access
- Protocol (Enhanced AHIP)", RFC-1005, BBN Communications,
- May 1987
-
- [62] Nagle, J., "Congestion Control in IP/TCP Internetworks", ACM
- Computer Communications Review, Vol.14, no.4, October 1984.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Braden & Postel [Page 55]
-