rfc1029.txt
来自「RFC 的详细文档!」· 文本 代码 · 共 950 行 · 第 1/3 页
TXT
950 行
Network Working Group G. Parr
Request For Comments: 1029 University of Ulster
May 1988
A MORE FAULT TOLERANT APPROACH TO ADDRESS RESOLUTION FOR
A MULTI-LAN SYSTEM OF ETHERNETS
STATUS OF THIS MEMO
This memo discusses an extension to a Bridge Protocol to detect and
disclose changes in neighbouring host address parameters in a Multi-
LAN system of Ethernets. The problem is one which is appearing more
and more regularly as the interconnected systems grow larger on
Campuses and in Commercial Institutions. This RFC suggests a
protocol enhancement for the Internet community, and requests
discussion and suggestions for improvements. Distribution of this
memo is unlimited.
ABSTRACT
Executing a protocol P, a sending host S decides, through P's routing
mechanism, that it wants to transmit to a target host T located
somewhere on a connected piece of 10Mbit Ethernet cable which
conforms to IEEE 802.3. To actually transmit the Ethernet packet, a
48 bit Ethernet/hardware address must be generated. The addresses
assigned to hosts within protocol P are not always compatible with
the corresponding Ethernet address (being different address space
byte orderings or values). A protocol is presented which allows
dynamic distribution of the information required to build tables that
translate a host's address in protocol P's address space into a 48
bit Ethernet address. An extension is incorporated to allow such a
protocol to be flexible enough to exist in a Transparent Bridge, or
generic Host. The capability of the Bridge to detect host reboot
conditions in a multi-LAN environment is also discussed, emphasising
particularly the effect on channel bandwidth. To illustrate the
operation of the protocol mechanisms, the Internet Protocol (IP) is
used as a benchmark [6], [8]. Part 1 presents an introduction to
Address Resolution, whilst Part 2 discusses a reboot detection
process.
DEFINITIONS:
CATENET: a group of IP networks linked together
IP : Internet Protocol
Parr [Page 1]
RFC 1029 Fault Tolerant ARP for Multi-LANs May 1988
PART 1
INTRODUCTION
In the Ethernet, while all packets are broadcast, the hardware
interface selects only those with either the explicit hardware
broadcast address or the individual hardware address of this
interface. Packets which do not have one of these two addresses are
rejected by the interface and do not get passed to the host software.
This saves a great deal of otherwise wasted effort by the host
software having to examine packets and reject them. If the interface
hardware selected packets to pass to the host software by means of
the protocol address, there would be no need for any translation from
protocol to Ethernet address. Although it is very important to
minimize the number of packets which each host must examine, so
reducing especially needless inspections, use of the hardware
broadcast address should be confined to those situations where it is
uniquely beneficial. Perhaps if one were designing a new local
network one could eliminate the need for an address translation, but
in the real world of existing networks it fills a very important
purpose. A rare use of the broadcast hardware address, which avoids
putting any processing load on the other hosts of the Ethernet, is
where hosts obtain the information they need to use the specific and
individual hardware addresses to exchange most of their packets.
REASONING BEHIND ADDRESS RESOLUTION
The process of converting from the logical host address to the
physical Ethernet address has been termed ADDRESS RESOLUTION, and has
prompted research into a method which can be easily interfaced,
whilst at the same time remaining portable.
The Ethernet requires 48 bit addresses on the physical cable [11] due
to the fact that the manufacturers of the LAN interface controllers
assign a unique 48 bit address during production. Of course, Network
Managers do not want to be bothered using this address to identify
the destination at the higher-level. Rather, they would prefer to
assign their logical names to the hosts within their supervision, and
allow some lower level protocol to perform a resolving operation.
Most of these logical protocol addresses are not 48 bits long, nor do
they necessarily have any relationship to the 48 bit address space.
For example, IP addresses have a 32 bit address space [6], thus
giving rise to the need to distribute dynamically the correspondences
between a <PROTOCOLTYPE,PROTOCOL-ADDRESS> pair, and a 48 bit Ethernet
address.
Parr [Page 2]
RFC 1029 Fault Tolerant ARP for Multi-LANs May 1988
EXAMPLE ARP OPERATION
Here is a review of the operation of ARP as defined in RFC-826 [5].
Let hosts X and Y exist on the same Ethernet cable. They have
physical Ethernet addresses EA(X), and EA(Y), and DoD Internet
addresses IPA(X), and IPA(Y). Let the Ethernet type of Internet be
ET(IP). Host X begins an application, and sooner or later wishes to
communicate an Internet packet to host Y. Host X has knowledge of
the Internet address of Y, i.e., (IPA(Y)), and informs the lower
level that it wishes to talk to IPA(Y). The lower-level subsequently
consults the ARP Module (ARM) to convert <ET(IP),IPA(Y)> into a 48
bit Ethernet address but because X has not talked to Y previously, it
does not have this information in its Translation Cache (TC). It
discards (or queues) the Internet packet, and creates a new Address
Resolution packet with:
PACKET FIELD VALUE ASSIGNED
HRDTYP ETHERNET
PROTYP ET(IP)
HRDLEN length (EA(X))
PROTLEN length (IPA(X))
ARPOPC REQUEST
SOURCE HWR EA(X)
SOURCE PROT IPA(X)
TARGET HWR don't know
TARGET PROT IPA(Y)
It then broadcasts this packet to all hosts on the connecting cable.
Host Y picks up this packet and determines that it understands the
hardware type (Ethernet), that it speaks the indicated protocol
(Internet), and that the packet is for it, that is, TARGET PROTOCOL
ADDRESS = IPA(Y). Replacing any previous entry, it enters the
information that <ET(IP),IPA(X) translates to EA(X). It then learns
that this is an ARREQ packet, so it swaps fields, placing EA(Y) in
the new sender Ethernet address field SOURCE HARDWARE ADDRESS, EA(X)
as TARGET HARDWARE ADDRESS, IPA(X) as TARGET PROTOCOL ADDRESS, IPA(Y)
as SOURCE PROTOCOL ADDRESS, and sets the opcode to REPLY. The packet
is then sent with direct routing address information to EA(X). Thus,
Y now knows how to send to X, but X still doesn't know EA(Y).
Parr [Page 3]
RFC 1029 Fault Tolerant ARP for Multi-LANs May 1988
When X receives the ARREP packet from Y, it gets the address
information into its translation cache ET(IP),IPA(Y)>-->EA(Y),
notices that it is a REPLY, and discards the packet (i.e., disposes
of the dynamic packet buffer). However, if the original Internet
Module packet had been queued, it could have been accessed and given
the full addressing information from the translation cache.
Alternatively, had it been discarded, the higher level would have
succeeded on a subsequent attempt, and the Internet packet would be
transmitted immediately.
OBTAINING GREATER NETWORKING RANGE
There are many benefits to be gained in dividing a large multiuser
network into smaller, more manageable networks. These include : Data
Security; Overall Network Reliability; Performance Enhancement; not
to mention the most obvious: Greater Networking Range. In some
network technologies, cable length may be stipulated not to exceed a
certain range due to electrical limitations. By installing a Bridge,
this restriction is effectively eliminated. An important
consideration is the effect the induced Bridge delays will have on
the protocol timeouts in operation on each LAN/Subnet. Careful
analysis of upper bounds on timeouts would have to be made in order
to gain full benefit from the increased range. In the case of
Ethernet the following system parameters exist [11], [12]:
- the bus bandwidth is 10Mbit/s
- the maximum node-to-node cable length is 1500 m
- the maximum point-to-point link cable length is 1000 m
- the maximum number of repeaters between two nodes is two
- the worst case end-to-end bus propagation delay is 22.5 us
- the jam time after collision is 32bit
- the minimum interframe time is 9.6 us
- the slot size is 512 bit = 51.2 us
Once a decision has being taken to subnet, the resulting subLANs may
be connected by including a Bridge to link them together and
providing a protocol which makes the collection of subnets appear as
a single network. The basic idea of the Bridge providing 'repeater'
facilities would not suffice in this application. Moreover, the
Bridge would have to have further 'intelligence' to enable it to
select those packets which are destined for remote networks based on
Parr [Page 4]
RFC 1029 Fault Tolerant ARP for Multi-LANs May 1988
the protocol address of the target host. Thereby preventing it from
forwarding packets needlessly that will not be accepted. If this
procedure was not adhered to, the channel bandwidth on the remote
networks would be inundated with packets, causing local valid traffic
to backoff and the efficiency of the respective networks to rapidly
decrease.
One problem fundamental to the operation of the Bridge is how it
discovers on which LAN a particular host is interfaced. If there are
only two LANs in the system, each will have a dedicated cache at the
Bridge, and when a packet is received at the particular interface,
the source host's address parameters are entered in the respective
LAN cache. However, when we consider a Multi-LAN environment, the
procedure becomes more complicated.
___
|
|-----h3
| E4
|-----hq |-----------------------|
| _ | |
|-----hx | | B1 | |
|---------------| | | |
|-----h1 |_| | |
| | h19 | | ______
| | | | | -----|______| B4
| | | | | B3 |
|-----he |-------------------| E2 |_| |
| | | |
|-----h5 | | |
| | | |
| --- --- | |
--- | | |------- |
E1 | | B2 | |
| |-----------------| |
--- | |
| |---------------------
--- |
E3 |
|
FIGURE 1. A MULTI-LAN TOPOLOGY
In the normal set-up, whenever B3 or B4 would receive a packet on E4,
they would both update the caches on their E4 interface. In
addition, a method must be provided to permit B4 to distinguish
between packets arriving on E4 from E1, E2, E3, and those which
actually originated on E4.
Parr [Page 5]
RFC 1029 Fault Tolerant ARP for Multi-LANs May 1988
This is so that packets can be categorized as being of remote or
local source and processed accordingly. The most obvious solution is
for each Bridge to act as an AGENT and plug in its address as the
source of any packets it cascades to a remote network, instead of the
packet being cascaded with its original source address. At Bridge
boot, it may issue a broadcast request for all locally connected
hosts/devices to return their local network protocol addresses. On
subsequent receipt of this information, the Bridge could then update
the cache for each of its interfaces so that it would now have a base
from which to perform future operations.
The alternative to this automatic procedure is to permit manual
intervention in the Bridge software which could be activated by the
network manager in order to key in the addresses of the hosts
connected to each LAN interface.
Thus, having provided a means for the Bridge to obtain the original
state of the LAN addresses when it boots, how then does the Bridge
distinguish the arrival of a new host on the locally connected system
from transmissions which were sent from a remote source and cascaded
by an adjacent Bridge? Two approaches are currently under
consideration to solve this problem, namely Explicit Subnets, and
Transparent Subnets [4], [7], [9], [14].
In the Explicit Subnet approach, the location of the host in the
system is important. The address of the host in the protocol suite
will reflect which subnet the host is interfaced to. Consequently
the protocol address space is divided into a three level hierarchy of
<network,subnet,host>. Within the Internet there are five addressing
divisions in operation [10], classes A, B, C, D, and E. Classes D
and E relate to an addressing technique that will be used for
management of multi-casting groups and will not be discussed here.
With such a structure, it is possible to provide an address mask at
each interface so that received packets may have their source address
fields examined and compared with the address mask of this LAN. In
so doing, the component which is being verified is actually the
subnet address. If the masking operation is successful the source
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?