rfc1009.txt
来自「RFC 的详细文档!」· 文本 代码 · 共 1,513 行 · 第 1/5 页
TXT
1,513 行
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).
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?