summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc1029.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc1029.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc1029.txt')
-rw-r--r--doc/rfc/rfc1029.txt949
1 files changed, 949 insertions, 0 deletions
diff --git a/doc/rfc/rfc1029.txt b/doc/rfc/rfc1029.txt
new file mode 100644
index 0000000..2b8e25b
--- /dev/null
+++ b/doc/rfc/rfc1029.txt
@@ -0,0 +1,949 @@
+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
+ must exist on this LAN, otherwise it must be remote.
+
+ With the Transparent scheme, the first time a newly booted host
+ 'speaks' it will be looking for addressing information (probably
+ using BOOTSTRAP [1], RARP [2] or ARP [5]). Accordingly, the Bridge
+ will detect these respective requests and be in a position to perform
+ operations on the address parameters. The current approach in
+ Transparent Subnetting is that before any such requests can be
+ cascaded by the Bridge to an adjacent LAN, that Bridge will place its
+ interface address parameters into the source address fields, thus
+ acting as the AGENT. Therefore, this Bridge will 'see' either
+
+
+
+Parr [Page 6]
+
+RFC 1029 Fault Tolerant ARP for Multi-LANs May 1988
+
+
+ packets arriving from the remote Bridge address, or local packets.
+ By virtue of the RARP/ARP operation, which hosts perform when they
+ first come up, any hi-level packets received on to the network not
+ having the bridge address, and not having a mapping in the cache for
+ that LAN, can be considered as being remote.
+
+ Currently, there is a move toward the Transparent subnet proposal
+ originally described by Postel [7]. This has been due mainly to
+ practical problems of incompatible implementations from different
+ vendors, and the restrictions that the Explicit address space place
+ on the adaptability of the system to change (class C addresses are
+ not flexible enough for the Explicit scheme). It is also the opinion
+ of the Author of this paper that the Agent technique adopted by the
+ Bridges could have shortcomings in a dynamic environment which would
+ be detrimental to its operation; for example, where the bridges
+ themselves relocate or crash, or in the management of the "Agent For
+ Who" cache at the bridge. Insofar as Loop Resolution and
+ SelfStabilization after failure are Bridge problems that need to be
+ addressed, it is strongly felt their satisfactory solution will be
+ supported by elimination of the Agent technique [13].
+
+BRIDGE OPERATIONS
+
+ Referring to figure 1, assume that at some stage during its
+ processing [E1H3] wishes to communicate with [E2H19]. [E1H3] obtains
+ knowledge of the Internet address of [E2H19] from its translation
+ cache, but will not require the knowledge that [E2H19] exists on a
+ completely different subnet. [E1H3] calls its Internet Module to
+ transmit the packet. As detailed, the usual procedure of passing
+ control to its ARM is performed in an attempt to obtain a
+ translation. If we assume that [E1H3], and [E2H19] have not talked
+ before, the ARM in [E1H3] will not be able to resolve the addresses
+ on the first attempt.
+
+ In such a case, an ARREQ packet is assembled and broadcast to all
+ hosts on the network [E1]. The packet traverses the cable and is
+ eventually picked up by the (B1) Bridge Address Resolution Module
+ (BARM), whereupon it determines whether or not it should intervene in
+ the request. If the target is determined as remote (i.e., having no
+ match in the local cache), the BARM examines its Global Translation
+ Cache (GTC) to determine if it has an entry for <protocol,[E2H19]>.
+ Should a mapping be obtained at the Bridge, there is no need for the
+ broadcast REQUEST packet to be cascaded on to the remote network
+ [E2]. It is therefore assumed that the entries in the GTC reflect
+ the most current addressing information. A match thus obtained, the
+ original ARREQ packet buffer is adapted as required and returned
+ directly to [E1H3] via the Bridges hardware interface IFE1.
+
+
+
+
+Parr [Page 7]
+
+RFC 1029 Fault Tolerant ARP for Multi-LANs May 1988
+
+
+ On the other hand, should the Bridges' GTC have no information on
+ [E2H19], the BARM would have to perform the following steps:
+
+ 1. drop the current ARREQ from [E1H3],
+
+ 2. create its own ARREQ using the Bridge source addresses
+ and copy the target_internet_addr from the original
+ [E1H3] ARREQ packet,
+
+ 3. broadcast the ARREQ on network E2 via network interface
+ IFE2, and go into a timeout awaiting a REPLY.
+
+ Should this timeout period expire, a number of retries will be
+ permitted under control of the BARM. Alternatively, if a REPLY is
+ received within the timeout interval, then the BARM will update its
+ GTC. The ARM of [E1H3] next will attempt to transmit another ARREQ,
+ but this time a mapping will be obtained at the BARM'S GTC, and the
+ appropriate REPLY will be returned.
+
+ Part 1 has described the state of the art of the behaviour of Address
+ Resolution. Part 2 now extends the study to the more serious problem
+ of rebooting hosts in a multi-LAN system of Ethernets, and the
+ effects such changes have on the integrity of state information held
+ in ARP caches and routing tables.
+
+ PART 2
+
+THE CAPTURE OF REBOOTS
+
+ Because Address Resolution packets are broadcast, all hosts on the
+ connecting cable including the Transparent Bridge will pick them up
+ and determine what they are. Referring to figure 1, it may well be
+ the case that a host on E1 wishes to communicate with a fellow host
+ on the same physical ether. Hence, if Hx wishes to talk to Hw on the
+ same ether, but has not done so previously, it will broadcast an
+ Address Resolution packet in the normal fashion. The Bridge will
+ also 'see' the packet as it passes by, and will act as described
+ above, unless that is, there is some method of preventing it doing
+ so; there is no point in the Bridge invoking its ARM, and wasting
+ processing time if the problem is going to be resolved locally.
+
+ It may occur however, that H1 wants to communicate with H5. If
+ however, H5 has not talked with anyone before (i.e., it has been
+ "dormant"), H1 will issue an ARREQ. The Bridge will not know that H5
+ is local because it won't have been entered in the local address
+ cache from previous conversations. To avoid broadcasting an ARREQ to
+ all networks/subnets, one way around this problem is to set up the
+ contents of the local cache at Bridge startup time. Therefore, the
+
+
+
+Parr [Page 8]
+
+RFC 1029 Fault Tolerant ARP for Multi-LANs May 1988
+
+
+ Bridge will already know not to intervene. Thus, if the Bridge (with
+ 2 nets) finds that a particular IP destination address is not in the
+ local cache of interface 1, it would have to examine its GTC and scan
+ it for a mapping. Should no mapping be obtained at interface 2, one
+ of two possibilities exist:
+
+ 1. the target host doesn't exist locally
+
+ 2. the caches are corrupt (the eventuality of this should
+ be negligible!)
+
+ If it is assumed that each of the translation caches contains have
+ the most recent addressing information regarding its own domain of
+ the network then, in this example, if the Bridge does not get a
+ mapping at the GTC it would appear that the host must exist remotely
+ from E1, and E2.
+
+ Such a conclusion would ignore cases in which a host unplugs from a
+ particular hardware interface and plugs into another hardware
+ interface, or where logical names are reassigned to different
+ interfaces due to host user change. Either of these events could
+ happen had the host being accessed on E2, which would mean that a
+ REBOOT has taken place.
+
+ Anticipating these possiblities local caches are essential. In
+ normal operation, the Bridge will process and forward IP packets
+ received from one network, and destined for another. If the Bridge
+ picks up an ARREQ, it will first look for a mapping in its GTC before
+ discarding the original ARREQ, and transmitting its own to the remote
+ network. In any case, the Bridge will always examine the local cache
+ entries at the receiving interface, so that it may determine if the
+ target address is local or remote. When the Bridge first scans the
+ local cache, it does so with the source IP address as the key. If no
+ mapping is retrieved, it then scans the GTC with the same key.
+ Should a mapping now be obtained, it remains for the Bridge to insert
+ the source IP into the local cache, where it has either been
+ previously deleted or corrupted.
+
+ However, if the source IP exists in the respective local cache, the
+ validity of the source Ethernet address should also be verified by
+ examining the respective entry in the GTC. A scan of the GTC is then
+ performed with <protocol,source_prot_addr> as the key. If a mapping
+ is retrieved, the respective <et_addr> should be checked against the
+ source Ethernet address in the packet header. If the addresses do
+ not match, then we have uncovered a Hardware Reboot condition (i.e.,
+ a change in Ethernet ID). On the other hand, should the scan of the
+ GTC with <protocol,source_prot_addr> fail to obtain a mapping, then
+ the Bridge would scan the GTC with the current Ethernet address in
+
+
+
+Parr [Page 9]
+
+RFC 1029 Fault Tolerant ARP for Multi-LANs May 1988
+
+
+ the packet header. If this obtains a mapping, then a Protocol Reboot
+ condition (i.e., change in logical ID) has been detected.
+
+ In the next section, the implications of these forms of 'Reboot' are
+ discussed.
+
+REBOOT SCENARIO
+
+ In normal operation, packets will uneventfully traverse each subnet
+ either as complete Internet packets, broadcast ARREQ's, or direct
+ ARREP's. The Bridge attached to each subnet will 'hear', and 'see'
+ all packets as they travel past its connected interfaces. Because of
+ the existence of the local caches at each interface, the Bridge can
+ decide whether or not to intervene. In general circumstances, each
+ host on the Catenet will have a translation cache containing
+ <protocol,source_prot_addr,source_et_addr> entries for all packets it
+ has observed. Most of these entries will have been due to processing
+ ARREQ packets, which were broadcast, and by receiving REPLY packets.
+ In accordance with the foregoing , the Bridge will have a cache
+ attached to each subnet interface containing entries for protocol
+ addresses.
+
+ Within the Bridge's Global Translation Cache (GTC) will be entries of
+ all <protocol,source_prot_addr,source_hrd_addr> triplets relating to
+ valid hosts which have been recognised. If we assume that we have
+ just connected up a Catenet such as that illustrated in figure 1,
+ then at power-up no stations will have knowledge about their
+ neighbours. If the Bridges are to remain transparent, the
+ translation caches at each host will be totally empty. The only
+ addressing details that will be in existence will be the protocol
+ addresses stored in the local caches of the Bridges.
+
+ The hosts subsequently begin to run applications and will want to
+ communicate with one another. The first ARREQ is broadcast on the
+ respective subnet and all hosts, including the Bridge's interface to
+ the subnet, will pick it up and store the details. If, for example,
+ Hx issues an ARREQ for Hq, the Bridge will not intervene since there
+ is no need (providing no reboot has occurred at Hq). However, if Hx
+ wishes to talk with Hz, B1 will determine that the target IP in the
+ respective ARREQ does not exist in the local cache of IFE1, so it
+ will examine the GTC, with the <protocol,target_prot_addr> of Hw as
+ the key.
+
+ It is assumed that there will be a timeout mechanism in operation at
+ the source of any packet. In addition, the Bridge may also place the
+ target address in a 'search list' of currently sought hosts, so as to
+ prevent ARREQs from different sources being cascaded for the same
+ target. Under these conditions, Hx may re-issue its original ARREQ,
+
+
+
+Parr [Page 10]
+
+RFC 1029 Fault Tolerant ARP for Multi-LANs May 1988
+
+
+ but will be ignored until the host Hw has replied to the ARREQ
+ transmitted by the Bridge.
+
+NORMAL RUNNING STATE
+
+ Assuming that a few ARP's have been issued, IP packets will start
+ traversing the Catenet with full addressing information. Again, the
+ Bridges will 'see' all the packets. If we extend the situation one
+ step further, and assume that several conversations have taken place
+ across the Catenet, there will be entries in the translation caches
+ of the hosts concerned, regarding the
+ <protocol,target_prot_addr,target_hrd_addr> triplets of those hosts
+ with which the conversations took place. The Bridges also, will have
+ details in their GTC's for packets which they cascaded.
+
+ If a host is relocated, any connections initiated by that host will
+ still work, provided that its own translation cache is cleared when
+ it does physically move. However, any connections subsequently
+ initiated to it by other hosts on the Catenet will have no particular
+ reason to know to discard their old translation for that host.
+ Ideally, 48 bit Ethernet addresses will be unique and fixed for all
+ time.
+
+RECOGNITION OF THESE REBOOT CONDITIONS
+
+ With reference to figure 1, assume that for some reason a fault
+ occurs on the hardware interface of <E1He>. The result of this is
+ that a new interface is installed with a newly acquired hardware
+ address. When <E1He> is powered up, the previous contents of its
+ translation cache are cleared and it has no recollection of local, or
+ remote host addresses. Accordingly, <E1He> begins to issue ARREQ's
+ to hosts it requires. Whenever <E1He> transmits its first ARREQ, it
+ could be termed a 'HELLO PACKET', since everyone on the subnet can
+ pick up the packet, and store the relevant information in their
+ translation caches. Within hosts, a mapping will be found on the old
+ <protocol,source_prot_addr> pair, and the current <et_addr> of the
+ packet header will replace whatever is entered in the translation
+ cache.
+
+ At this point it would be easy for each host with an entry to
+ recognise the Hardware Reboot situation and inform the subnet with a
+ respective broadcast reboot packet. But allowing such a procedure
+ would be extremly inefficient on the broadcast medium, and would
+ drastically outweigh any improvements in performance which might be
+ obtained in the long term. In any case, given the fact that the
+ ARREQ is broadcast, all stations on the subnet will recognise the
+ reboot. The important point to consider is the effect such a reboot
+ will have on subsequent conversations which are initiated remotely.
+
+
+
+Parr [Page 11]
+
+RFC 1029 Fault Tolerant ARP for Multi-LANs May 1988
+
+
+ Can redundant transmissions be thwarted before they tie up processing
+ time on hosts en-route to the rebooted target? How these
+ difficulties are resolved is critical to the level of performance
+ obtained in a Catenet configuration. Since it is not optimal for
+ hosts to inform the system of a reboot, it is left to the Bridge.
+ Whenever the Bridge receives a packet, be it IP, or ARP, it examines
+ the source address parameters in the packet header, in the hope of
+ detecting any incompatibilities between them and the entries in its
+ caches. There are three distinct possibilities, namely, a difference
+ in the 48 bit hardware address only, a difference in the protocol
+ address, and two completely new addresses. If an incompatibility is
+ discovered, a "REBOOT" packet is constructed and issued on all remote
+ interfaces containing the appropiate information, allowing Bridges to
+ update their GTC's and generic hosts their ARP caches.
+
+ The structure of the Reboot packet is as depicted in figure 2.
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | P A C K E T O P C O D E |REB OPC| S O U R C E |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | H A R D W A R E A D D R E S S |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | S O U R C E P R O T O C O L A D D R E S S |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | M U L T I C A S T T A R G E T H A R D W A R E |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | A D D R E S S | M U L T I C A S T T A R G E T |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | P R O T O C O L |
+ +-+-+-+-+-+-+-+-+-+-+-+-+
+
+ ---------> NEXT FOLLOWS A VARIANT FIELD ON REBOOT OPCODE
+
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | O L D S O U R C E H A R D W A R E |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | A D D R E S S |
+ +-+-+-+-+-+-+-+-+-+-+-+-+
+
+ OR
+
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | O L D S O U R C E P R O T O C O L A D D R E S S |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ FIGURE 2. REBOOT PACKET
+
+
+
+Parr [Page 12]
+
+RFC 1029 Fault Tolerant ARP for Multi-LANs May 1988
+
+
+ The following definitions apply:
+
+ PACKET FIELD VALUE
+
+ OPCODE REBOOT
+
+ REBOOT OPCODE HARDWARE
+
+ REBOOT OPCODE PROTOCOL
+
+ The format is then as follows:
+
+ 48 bit broadcast Ethernet address for the destination,
+
+ 48 bit Ethernet address of source Bridge,
+
+ 16 bit Protocol type = PACKET OPCODE - REBOOT.
+
+
+ For completeness and error checking it may be an advantage to have a
+ field which specifies the length of addresses in the Ethernet and
+ protocol address spaces. Thus, the Reboot packet structure contains
+ the following:
+
+ FIELD FIELD SIZE DESCRIPTION
+
+ HRDLEN 4 bit byte length of Ethernet address
+
+ PROTLEN 4 bit byte length of Protocol address
+
+
+ SOURCE
+ PROTOCOL
+ ADDRESS 32 bit current protocol address of host
+
+ TARGET
+ PROTOCOL
+ ADDRESS 32 bit broadcast target protocol address
+
+ REBOOT
+ OPCODE 4 bit will be either PROTOCOL or HARDWARE
+
+
+ if PROTOCOL 32 bit old protocol address
+
+ else HARDWARE 48 bit old hardware address
+
+
+
+
+
+Parr [Page 13]
+
+RFC 1029 Fault Tolerant ARP for Multi-LANs May 1988
+
+
+ As shown, depending on the REBOOT-OPCODE, the structure will continue
+ with either the 48 bit old hardware address or the 32 bit old
+ protocol address. The choice of a variant packet structure is for
+ reasons of curtailing the size of the packet to the fields that are
+ truely necessary in each situation. From this Reboot packet
+ structure, the process of generating such a packet can be considered.
+ When the Bridge algorithm detects a reboot, it should create a reboot
+ packet structure containing the relevant addressing information and
+ subsequently multicast it on the interface(s) which access(es) the
+ remote subnet(s). The decision as to which interface(s) is/are
+ local, and which is/are remote, can be resolved automatically
+ whenever a packet is received. With respect to this packet transfer
+ the receive interface at the Bridge becomes local, and all others are
+ tagged as remote.
+
+ Thus, hosts on the subnet remote from the reboot are informed of the
+ situation immediately as it is detected by the Bridge. In the
+ Catenet configuration illustrated in fig 1, this will have the effect
+ of updating the Translation Cache within each host, whenever it
+ receives the packet. If for example, <E4Hw> reboots under hardware,
+ B3 will detect this occurance. There is no reason for the subnets
+ E1, E2, E3 to be aware of this episode. In normal operation, B3 will
+ recognise the reboot from the first ARREQ issued from <E4Hw>. With
+ this reboot detection facility, B3 will be in a position to inform
+ the hosts on E1, E2, and E3. B3 can then create and issue the Reboot
+ packet via its interface with E3. When B3 picks it up, it will
+ update its own caches and subsequently cascade the packet onto E2,
+ where it will be passed on to E1 via B1.
+
+ARGUMENTS FOR REBOOT PACKETS
+
+ It is envisaged that introducing Reboot packets, will serve to
+ enhance the bandwidth achievable within a Catenet system. Problems
+ of addressing 'dead' hosts will no longer exist in a correctly
+ functioning configuration. Translation Caches will have on hand the
+ most recent addressing information available, which should also serve
+ to enhance the performance of the routing strategy in operation.
+ Multiple, redundant processing of packets destined for 'dead' hosts
+ will be avoided. Weighing this against the processing involved with
+ a single multicast of Reboot packets, it is expected that the latter
+ will be is the most economically viable in relation to the long-term
+ traffic presented to the system.
+
+CONCLUSION
+
+ It appears that reboots are becoming increasingly common on internet
+ networks. Many sites use Personal Computers (PC) as terminals and
+ the typical way to finish a session is to switch them off! With the
+
+
+
+Parr [Page 14]
+
+RFC 1029 Fault Tolerant ARP for Multi-LANs May 1988
+
+
+ increasing popularity of multitasking Operating Systems on these
+ types of machines, problems are more likely to occur, particularly
+ when the PCs are diskless, or participating in a distributed file
+ system of some kind. Given the importance of correct addressing in
+ communications networks running Ethernet, it is anticipated the
+ reboot mechanism described will serve to improve the correctness and
+ validity of the protocol/network address mappings which may be stored
+ in the translation caches. To this degree, simulation is expected to
+ show that the volume of invalid traffic will decrease, to the benefit
+ of hosts, Bridges and servers alike. Likewise, ratification of the
+ routing policy is anticipated and since redundant/obsolete packets
+ will be thwarted, the efficient utilization of available channel
+ bandwidth across the catenet is also expected to improve. Thus,
+ effectively increasing Catenet throughput for 'valid' packets, and
+ therefore enhancing the level of service provided to the end users.
+
+ It is obvious that the proposed scheme implies the alteration of the
+ packet processing code in Bridges/Gateways. The point to remember is
+ the increased favour with which larger, more complex Multi-LAN
+ systems of Ethernets are being received. The recent adaption of
+ extra telephone cables to serve as the transmission media for the
+ Ethernet can only result in installation costs being reduced, therein
+ making the Ethernet more attractive within large corporate buildings,
+ etc. It is sensible to suggest that the probability of host address
+ re-assignment shall increase in proportion to the number of physical
+ systems attached, component failure rate (for whatever reason),
+ relocation of resources, and the size and turnover of the workforce
+ (i.e., people moving from one room to another). Simulation
+ experiments are currently being developed to analyse the resultant
+ traffic patterns under this scheme, and it is hoped to highlight
+ thresholds where adoption of the scheme becomes a necessity.
+
+ In addition, the Author is currently extending the boundaries of this
+ problem to encompass the reboot, or relocation of Bridges themselves.
+ Involved with this are the phenomena of loop resolution, load sharing
+ and duplicate packet suppression. It is envisaged that a Self-
+ Stabilizationg Bridge Protocol will result that will be more "light-
+ weight" than those adhering to the Spanning Tree Algorithm.
+
+ The Author would appreciate feedback/comments on this RFC. My
+ network address is: CBAD13%UCVAX.ULSTER.AC.UK@CUNYVM.CUNY.EDU.
+
+ACKNOWLEDGEMENTS
+
+ The Author acknowledges with gratitute the help and comments
+ contributed by Mr. Piotr Bielkowitz (Supervisor) of the Computing
+ Science Department, and the time devoted my Mr. Raymond Robinson for
+ painstakingly preparing the first draft of this paper on 'Pagemaker'.
+
+
+
+Parr [Page 15]
+
+RFC 1029 Fault Tolerant ARP for Multi-LANs May 1988
+
+
+ Thanks are due also to Dr. M. W. A. Smith of Information Systems for
+ his assistance. Finally, this work was supported under a grant from
+ the Department of Education for Northern Ireland of which the Author
+ is extremely grateful.
+
+REFERENCES
+
+ [1] Croft, Bill, and John Gilmore, "Bootstrap Protocol", RFC-951,
+ Stanford University, September 1985.
+
+ [2] Finlayson, Mann, Mogul, and Theimer, "A Reverse Address
+ Resolution Protocol", RFC-903, Computer Science Dept, Stanford
+ University, June 1984.
+
+ [3] Lorimer, Alan, and Jim Reid, "ARP Information Communique",
+ Computer Science Dept, Strathclyde University, 1987.
+
+ [4] Mogul, Jeffrey, "Internet Subnets", RFC-917, Computer Science
+ Dept, Stanford University, October 1984.
+
+ [5] Plummer, David, "An Ethernet Address Resolution Protocol", RFC-
+ 826, MIT, November 1982.
+
+ [6] Postel, Jon, "DARPA Internet Program Protocol Specification",
+ RFC-791, USC/Information Sciences Institute, September 1981.
+
+ [7] Postel, Jon, "Multi-LAN Address Resolution", RFC-925,
+ USC/Information Sciences Institute, October 1984.
+
+ [8] Postel, Jon, Carl Sunshine, and Danny Cohen, "The ARPA Internet
+ Protocol", Computer Networks, no. 5, pp. 261-271, 1981.
+
+ [9] Postel, Jon, and Jeff Mogul, "Internet Standard Subnetting
+ Procedure", RFC-950, USC/Information Sciences Institute and
+ Stanford University, August 1985.
+
+ [10] Reynolds, Joyce, and Jon Postel, "Assigned Numbers", RFC-1010,
+ USC/Information Sciences Institute, May 1987.
+
+ [11] "The Ethernet: a local area network, data link layer and
+ physical layer specification", Version 1.0 DEC, Intel and Xerox
+ Corporations, USA 30 September 1980).
+
+ [12] Hughes, H.D., and L. Li, "Simulation model of an Ethernet",
+ Computer Performance, Vol 3, no. 4, December 1982.
+
+ [13] Parr, Gerald P., "Address Resolution For An Intelligent
+ Filtering Bridge Running On A Subnetted Ethernet System", ACM
+
+
+
+Parr [Page 16]
+
+RFC 1029 Fault Tolerant ARP for Multi-LANs May 1988
+
+
+ SIGCOMM Computer Communication Review, (July/August 1987), vol.
+ 17, no. 3.
+
+ [14] Smoot, Carl-Mitchell, and John S. Quarterman, "Using ARP to
+ Implement Transparent Subnet Gateways", RFC-1027, Texas Internet
+ Consulting, October 1987.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Parr [Page 17]
+