
An Algorithm for Distributed Computation of a Spanning Tree in an Extended LAN Radia Perlman Digital Equipment Corporation 1925 Andover St., Tewksbury MA 018.76 Introduction Abstract A protocol and alqorithm are qiven in Local area networks are limited in which bridges in -an extended Local Area geography, traffic, and number of Network of arbitrary topology compute, in stations. A single local area network a distributed fashion, an acyclic spanning will often not meet the needs of an subset of the network. organization for these reasons. Conventional LAN interconnection The algorithm converges in time mechanisms, for proportional to the diameter of the Sytekt21, IBM1[31, II%~~;CeDNA?~ reqL:i; extended LAN, and requires a very small cooperation from the ' stations with amount of memory per bridge, and compatible protocols layered above the communications bandwidth per LAN, protocol necessary to connect to a single independent of the total number of bridges LAN. or the total number of links in the network. An approach that is transparent to stations, and thus allows a station to participate in an extended LAN with no modification, is presented in [6],[7], and 181. In this approach, a bridge connected Algorhyme to two or more links will listen "promiscuously" to all packets transmitted on each of its links, and forward packets received on one of the links onto the I think that 1 shall never see others. A bridge also learns of the A graph more lowly than a tree location of stations relative to itself, so that it will not forward traffic for a A tree whose crucial property station onto a link unnecessarily. Is loop-free connectiuity. This approach assumes that the topology is A tree which must be sure to span a tree (loop-free). However, requiring a So packets can reach every LAN. topology to be loop-free means there are no backup paths in the case of bridge or First the Root must be selected LAN failures. Also, because the By ID it is elected. technology allows network growth so easily, it might be difficult to prevent Least cost paths from Root are traced. someone from adding a bridge and creating In the tree thesepaths are placed a loop. A loop in the topology might cause severe performance degradation in A mesh is made by folks LikP me the entire extended network due to Then bridges finda spanntnc: trw congestion caused by infinitely circulating packets. It is undesirable to have a network that can be brought down so easily, merely by plugging a cable into the wrong place. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. 44 8 1985A(:MO-89791-164-4/85/0009/0044$00.75 Thus we have designed an algorithm that Memory requirements of a bridge allows the extended network to consist of should not grow with the number of an arbitrary topology. The algorithm is LANs or bridges, so that a network run by the bridges, and computes a subset cannot be misconfigured. of the topology that connects all LANs yet is loop-free (a spanning tree). The . The communications bandwidth consumed algorithm is self-configuring. The only a by the algorithm on any particular priori information necessary in a bridge LAN should be a constant (and small) is its own unique ID (MAC address), which amount, regardless of the total we are assuming can be attained in some number of bridges or LANs in the net. manner, for instance with a hardware ROM containing the value. [91 . The algorithm should stabilize as quickly possible to deterministi? spanning tree (nZ loops, complete connectivity) in any size* network. Assuming no lost Terminology messages, it should stabilize in some 1. station -- a node in the extended LAN small multiple of the round trip that does not forward packets. It is delay across the network. connected to the *extended LAN solely for the purpose of communicating with . The algorithm should allow bridges to other stations. It does not keep caches of station membership (a participate in the spanning tree forwarding data base), to cut down on algorithm. traffic. 2. bridge -- a node connected to two or No permanent loops should ever form. more LANS, for the purpose of If no messages are lost, no transient forwarding packets between the LANs. loops should form (in any legal sized network). The algorithm should 3. link -- a connection from a bridge to minimize the probability of transient a single LAN. loops, given the possibility of lost messages and the possibility of a 4. extended LAN -- the collection of network larger than designed for. LANs connected by bridges. Similarly, transient behavior should not cycle a link (turn it off, then 5. Root--the bridge chosen to be the back on again) in a legal sized root of the tree to be formed. Note network if no messages are lost. that there is exactly one Root in the network, chosen dynamically. The algorithm should be self-stabilizing, once any 6. Designated Bridge--the bridge on a malfunctioning equipment is repaired LAN closest to the Root, with a or disconnected. tie-breaker to enforce uniqueness. Thus there is exactly one Designated The algorithm should break loops even Bridge per LAN in the network, chosen if some of the bridges in the loop do dynamically. not implement the algorithm. (Of course it cannot break a loop in which none of the bridges implement the algorithm.) ---Goals of the Spanninq Tree Algorithm The algorithm should require only a . Allow interconnection of LANS connectionless service (LLC type 1) compatibly with LAN standards, ,so for any LANs on which it is run. that stations need not know whether they are attached to a single LAN br The algorithm should allow tuning of to a network of LANs. the configuration by adjus;;ent of parameters. This tuning the may help performance, . Allow redundant bridges and LANs in configuration an extended LAN, for instance so that but the algorithm should still work connectivity can be preserved after acceptably with default values. bridge or LAN failures. Be self-configuring, so that each bridge need only know its own ID and a well-known generic group address. 45 Link States The AGE field is included in HELLO Each bridge has two or more links. For messages so that a bridge other than the each LAN to which a bridge is attached, Root can initiate sending a HELLO message, the bridge computes a state for that link. without making the Root's last HELLO seem In all states, the algorithm continues to more recent than it should be. When a run. The only difference between these HELLO is initiated by the Root, the age states ' whether data packets are will be 0. As the information about the forwarded':o and from the LAN. HELLO is held in memory, the age is increased. If a Designated Bridge (other . FORWARDING -- Forward Data than the Root) initiates transmission of a Packets HELLO, the age field in the transmitted HELLO is filled in to be the age of the . BACKUP -- Do not forward data stored HELLO. When a HELLO is received, packets the age is set to the received value initially, and then increased as the . PRE FORWARDING-- Do not forward information is held. data packets yet; however, unless event reverts the link' to %KUP the state will shortly become'FORWARDING. The Algorithm As the alqorithmis initially presented, . PRE-BACKUP -- Continue forwarding primary/s&ondary status is-ignored. In data packets: however, unless an the section "Extensions" the modifications event reverts the link to necessary to provide such designation is FORWARDING, the state will described. shortly become BACKUP. Electing the Root and Designated Bridges The Root Ttheridae in the network with the smallest ID. When a bridge receives a HELLO Message, it compares the ID of the HELLO Messages Root in the HELLO Message with the The Designated Bridqe on each LAN currently best known Root. If the Root in periodically transmits a HELLO Message, the HELLO message has a lower ID than the with period HELLO TIME, broadcast to the currently known Root, then information well-known group sddress "all bridges". about the current Root is discarded and The contents of the HELLO Message are: overwritten by information about the newly discovered Root. 1. Transmitting bridge ID The Designated Bridge on a LAN is the 2. ID of bridge assumed to be Root bridge with the shortest path to the Root, on that LAN. In case of ties, the bridge 3. Length of best known path to Root with the smallest ID is the Designated Bridge on that LAN. The Root is distance 4. Age of the HELLO (time since 0 from itself, and claims 0 as the length information from the Root has of its path to the Root in its transmitted propagated on this path) HELLO Messages. Other bridges compute their distance from the Root as 1 greater 5. Link identifier (of local than the minimum distance received from a significance to the transmitting HELLO Message from the Designated Bridge bridge) on any attached LAN. 6. MAX-AGE (a parameter, passed in A bridge B initially attempts to become HELLOS so that the network will Root (and therefore Designated Bridge on agree on timer values) eactiof its LANs).
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages10 Page
-
File Size-