Hot-spot spanning tree algorithm for a bridged LAN/MAN Nen-Fu Huang*,
Gin-Kou
Mat and Yi-Jang
A bridged local area network (BLAN) is an internetwork where a lot of LANs and MANS are interconnected via bridges. The active spanning tree topology of a BLAN is to ensure that one and only one active routing path exists between each pair of end stations to resolve the frame duplication problem. A LAN is a hot-spot LAN if it has a large amount of communicating traffic load compared to other LANs. In this paper, we propose a distributed spanning tree algorithm for a BLAN with hot-spot traffic. The spanning tree constructed by our algorithm is logically rooted at the hot-spot LAN instead of the bridge with the smallest identifier. Such a spanning tree will be more practical and suitable for delivering the inter-LAN frames, and hence will obtain a better performance on end-to-end transmission delay. The effectiveness of the algorithm is evaluated by simulations. From the simulation results, we found that, compared to the standard spanning tree algorithm, the spanning tree constructed by our algorithm obtains a greater improvement in terms of end-to-end transmission delay as the traffic concentration becomes more pronounced. Keywords: BLAN, bridges, hot-spot, spanning tree algorithm
A local area network (LAN) links a lot of stations and provides a communication channel among them to share expensive hardware and software resources. However, conventional LANs are limited in geography, traffic load and the maximum number of stations that can be attached, and they often cannot satisfy the needs of an organization today’. A bridged local area network (BLAN) is an internetwork where a lot of LANs are interconnected via bridges. Each LAN uses its own independent medium access control (MAC) protocol to control the stations for use of the transmission medium efliciently2m5. The bridge protocol is based on the MAC *Department of Computer Science, National Tsing Hua University, Republic of China (email: Taiwan 300, Hsinchu,
[email protected]) ‘Advanced Technology Center, Computer and Communication Research Labs, ITRI, Hsinchu, Taiwan 310, Republic of China (email:
[email protected]) Paper received: 9 December 1992; revised paper received: 12 January 1994
Wu*
layer for the purpose of transparency. The IEEE 802 series LANs, FDDI high speed LANs, as well as metropolitan area networks (MAN) may be interconnected together via MAC bridges to form a BLAN. For example, Figure 1 shows a typical campus network where several routers are interconnected via a backbone network (FDDI) and each router connects one or more BLANs. The BLAN provides transparent services so that the stations will treat the entire BLAN as a LAN, even though they are actually attached to different LANs. A bridge may have several ports, and each port is attached to an individual LAN. The frames transmitted between stations attached to different LANs are delivered through a sequence of bridges and LANs. For the consideration of network reliability, the configuration of a BLAN may contain several loops such that there are multiple routing paths between stations. For illustration, the BLAN shown in Figure 2 contains three loops. In such a case, a frame may be routed through several different paths to the destination station, and the destination station may receive several copies of the frame. This is undesirable since it wastes the channel bandwidth and requires a complex procedure to handle the copies in the destination. One of the methods to solve the looping problem is to find an active spanning tree topology of the BLAN to ensure that there is only one routing path between each pair of stations”*. Based on such a spanning tree, the stations do not have to care about the problems of routing and frame duplication. To provide the transparent service to the stations, each bridge should perform the following functions2: (1) participate in the construction of the spanning tree; (2) learning of station addresses; and (3) filtering and forwarding user frames. To find a spanning tree is to select a certain number of ports to be active. An active port has the capability of forwarding received frames if necessary. A distributed algorithm for constructing a spanning tree topology of a BLAN has been proposed in IEEE 802.1D draft documentation6. The spanning tree constructed has the following important property: the transmission cost of
0140-3664/95/$09.50 computer
0
1995-Elsevier communications
Science volume
B.V. All rights 18 number
reserved
5 may 1995
357
Hot-spot spanning tree algorithm:
N-F Huang et al.
end-to-end transmission delay as the phenomenon traffic concentration becomes more pronounced. ..
..
IEEE 802.1D SPANNING
Figure 1
Typical
campus
network
with interconnected
BLANs
the path between each LAN (or bridge) to a specific bridge (called the root bridge) is minimum. When a bridge fails, the algorithm will detect this event automatically, and select some backup ports to be active to reconfigure the spanning tree. Each bridge maintains a database (called a filtering database) to record the learned station addresses. To achieve this, the source address of each received frame is checked to see whether it is already in the filtering database. If it is not, a new entry containing the source address, the port identifier where the frame came from, and an age value will be added into the filtering database. Otherwise, only the port identifier and the age field are reset. When a bridge receives a frame, it checks whether the destination address and the source address of the frame have been learned from the same port. If it does, the frame will be discarded without further retransmission (filtering function). Otherwise, based on the constructed spanning tree, the bridge will query its filtering database to select a suitable port (or a set of ports if necessary) to retransmit the frame (forwarding function). We note that if the destination address is not yet learned by the bridge, then the frame will be forwarded onto each of the ports which belong to the spanning tree except that from which the frame emanated. A LAN is a hot-spot LAN if it has a large amount of communicating traffic load compared to other LANs (for example, LANs containing a multimedia server or a router have a greater chance of becoming hot-spot LANs). In this paper, we propose a new distributed spanning tree algorithm for a BLAN to deal with hotspot traffic. The basic idea is to make the hot-spot LAN the root of the constructed spanning tree; it will thus have a lower average end-to-end transmission delay than that produced by the IEEE 802.1D spanning tree algorithm. The effectiveness of our algorithm is evaluated by simulations, the results of which show that our algorithm obtains a greater improvement on
358
of
computer
communications
volume
18 number
TREE ALGORITHM
In this section, we will describe the concept of the IEEE 802.1D spanning tree algorithm6. Before doing this, some definitions used in the algorithm are given as follows. In a BLAN, each bridge has a unique bridge identifier and each port of a bridge has a unique port number. A spanning tree can have one and only one root bridge. The bridge with the lowest bridge identifier among all the active bridges will be the root of the spanning tree. A route is called a spanning tree route if it is a subset of the spanning tree. For each bridge, one of its ports is the root port. Through this port, this bridge has a spanning tree route to the root bridge. For each LAN, one of the attached ports is its designated port and the bridge owning this port is called the designated bridge. Through this port, the LAN has a spanning tree route to the root bridge. Each port has a path cost whose value is inversely proportional to the bandwidth of the transmission medium. Each bridge has a root path cost whose value is the summation of the path costs of the ports in the spanning tree route from its root port to the root bridge. Similarly, each LAN has a designated path cost whose value is the summation of the path costs of the ports in the spanning tree route from its designated port to the root bridge. The IEEE 802.1D spanning tree algorithm consists of three phases in the construction of a spanning tree: 1. Find the root bridge of the spanning tree. 2. For each bridge (except the root bridge), select one of its ports as a root port. 3. For each LAN, select one of its attached ports as a designated port. The root bridge of the spanning tree is found by comparing the bridge identifiers. Initially, each bridge will assume that it is a root bridge and then broadcast a BPDU (Bridge Protocol Data Unit) across the whole BLAN periodically. This BPDU frame contains the root bridge identifier, the bridge identifier and the root path cost of the bridge transmitting this frame. When a bridge receives a BPDU frame from porti, it will forward the BPDU frame onto all of its ports (except porti) if its own identifier is larger than the received root bridge identifier. Otherwise, the received BPDU frame will be discarded. Eventually, through a time interval t, the maximum time required to transmit a frame across a BLAN, the bridge with the smallest identifier will be the root bridge, since it does not receive any smaller root bridge identifiers. For each of the other bridges, it will receive at least one smaller root bridge identifier, and thus cease trying to be a root bridge. The time t is proportional to the diameter of a BLAN. When a bridge knows that it is not a root bridge, it begins the process of selecting its root port. If a supervisor BPDU frame is received from porti, then
5 may 1995
Hot-spot spanning tree algorithm:
porti will be selected as its root port, and the root path cost is set to be the one in the received BPDU plus the path cost of porti. If there exists an alternative path to the root bridge, a bridge will receive another BPDU frame with the same root identifier from a different porti within a time interval t. In this time, the port which can get a lower root path cost is selected to be a root port, and the root path cost is updated if necessary. For each LAN, the designated port is selected by the bridges attached to it. Initially, each bridge assumes that the designated path cost of each of the attached LANs is infinite. When a bridge receives a BPDU frame from porti which is attached to LANj, it will judge whether porti is a new root port or not as described before. Ifporti is a new root port, then it recomputes the designated path cost of the attached LANk, k #j, as the new root path cost. It then transmits the designated path cost of LANk with its own bridge identifier into portk to tell the bridges attached to LANk that it would like to be a designated bridge of LANk. If the root port is not changed it will check whether porti can be the designated port of LANj by comparing the two possible designated path costs of LANj, i.e. its root path cost and the designated path cost Of LANj in the received BPDU frame. If its root path cost is larger than the received one, the bridge will block POrti; otherwise it transmits its root path cost into porti to tell the bridges attached to LANj that it has a higher priority to be the designated bridge of LANj. This will force the transmitting bridge to cease trying to be the designated bridge of LANj If the two designated path costs are equivalent, then the bridge identifier and port identifier will be used as the tie-breakers. Each bridge port will be in one of the following four states: forwarding state, learning state, listening state and blocking state. In a spanning tree, each of the root ports and designated ports is set in the forwarding state. The other bridge ports are said to be in the blocking state. To avoid the forming of temporary loops while the topology is stabilizing, the state of a bridge port is never changed from a blocking state into a forwarding state directly. Thus, the listening and learning states are designed as intermediate states. When a port is in the listening state, a timer is set to a value (forward delay) and the port only handles BPDU frames. User frames will not be sent or received through the port. When the timer expires, the port enters the learning state and the timer is set again. A port in the learning state is the same as in the listening state, except that user frames are submitted to the learning process. When the forward delay time has expired again, the port enters into the forwarding state.
HOT-SPOT-LAN
ALGORITHM
In a BLAN, the traffic load of a LAN is defined as the communication traffic between the LAN and other LANs. As we have defined before, a hot-spot LAN has a much heavier traffic load than that of other LANs. In such an environment, it is better to have a spanning tree
computer
N-F Huang et a/.
algorithm that elects the hot-spot LAN as the root of the constructed spanning tree to reduce the average transmission delay between stations. In this section, we will propose a new spanning tree algorithm, called the hot-spot-LAN algorithm, to achieve this goal. In the hot-spot-LAN algorithm, three levels of bridge priorities, 0, 1 and 2, are used. A bridge with priority 0 (2) has the highest (lowest) priority. Initially, each bridge has a priority of 0. We note that a bridge identifier (BID) is composed of two parts: a two-octet priority part (denoted BID.BP) and a six-octet bridge MAC address part. The former part can be changed by the network manager, and the latter part is fixed when the bridge is shipped.
Learning and counting process The learning and counting process of our algorithm is a revised version of the learning process in the standard spanning tree algorithm. In addition to constructing the filtering database, the algorithm in each bridge also counts the number of transmitted/received frames of the attached LANs. Let port, denote the port identifier in the filtering database from where the address of station x is learned. Let LAN, denote the LAN to whichport, is attached. An additional Directly-Connected flag (l-bit), denoted DC(x), is added into the filtering database to indicate whether station x is directly connected to LAN,. DC(x) = 1 means that station x is directly connected to LAN,. To learn whether a station x is connected directly to LAN,, the most significant bit of the source MAC address (denoted MSB) in a MAC frame is used. We note that this bit is also used in the source routing algorithm (denoted as the Routing Information Indicator, RII) to indicate whether the source routing information is carried in the frame’* lo. Initially, this bit has a value of zero when a frame is transmitted from station X. When a bridge forwards a user frame, the MSB on that frame will be set to one and will not be reset again. So, when a bridge receives a user frame with the MSB = 0 from port.y, it knows that station x is directly connected to LAN,. In such a case, the DC(x) bit in the filtering database is set to one. The procedure to set the corresponding DC bit of a received frame is given as follows: Procedure Set-DC; /* This procedure is invoked when a user frame F is received from port x */ Begin If MSB(F.SRC) = 0 then Begin Learn the address F.SRC with port x; DC(SRC) := 1; MSB(F.SRC) := 1; End El.92 Begin Learn the address F.SRC with port x; DC(SRC) := 0; End; End.
communications
volume
18 number
5 may 1995
359
Hot-spot spanning tree algorithm:
N-F Huang et al.
The traffic load of a LAN will only be computed by its designated bridge. Each designated port uses a traffic counter (TC) to count the traffic load of the attached LAN. Since the spanning tree is used for delivering the inter-LAN traffic, the intra-LAN traffic will not be counted in the traffic load of a LAN. Actually, intra-LAN frames will be filtered by the attached designated bridge. Without loss of generality, assume that portk is the designated port of LANk. The traffic COUnter Of portk (denoted Tck) k used t0 COUnt the number of frames transmitted into/from LANk. Thus, the value of TCk will be increased by one for each of the following cases: (1) a user frame is delivered from another LAN into LANk and the destination station (DST) is located in LANk, i.e. DC(SRC)=0 and DC(DST) = 1; (2) a user frame is transmitted from LANk and the destination station is not located in LANk, i.e. DC(SRC)= 1 and DC(DST) =O. We note that in the proposed scheme, those frames which are delivered through LANk will not be counted in the TCk. They will be counted in the traffic counter of the designated port of the source LAN and the destination LAN. Thus, an inter-LAN frame will be counted twice during the delivery: when it is leaving the source LAN and when it is entering the destination LAN. The procedure for counting the traffic load is given as follows: Procedure Count Trajfic_Load; /*This procedureis invoked when a user frame F is received
from port k */
T&:= TC, + 1; = 1 and DC(F.DST) T&:= TCk + 1;
-
SpanningTree Designated Port Checking Counting oqsrcc) DC@ST) TC, TCj TCk TC,
Events Q 1 (SRCin LAN, and DST not in LANk )
0
DST in LANk )
1
02 (SRC not in LANyaad 03 SRC and DST in LANk
SRC and DST not in LAN,
Begin If port k is the designated port of LANk then Begin If DC(F.SRC) = 0 and DC(F.DST) = 1 then If DC(F.SRC)
Legend:
Figure 2
or
1
+1 +1
0
1
1
0
0
+1
+1
+1
+1
Traffic monitoring and counting rules
= 0 then
Octet
End;
1
End.
2
For illustration, let us look at the example shown in
3
Figure 2. There are four different events to be investi-
4
gated. For event 1, since the frame is transmitted between LAN, and L&/k through portk, both the TCi and TC, will be increased by 1. For event 2, although the frame is transmitted between LANi and LANk and not through portk, both the TCi and TCk will also be increased by 1. For event 3, since the transmitted frame is an intra-LAN frame, it will not be counted in any traffic load. For event 4, since the frame is delivered through LANk, it will be counted both in the TC; and TCi, instead of Tck.
5
BridgeIdentifier
Number of Frames
Hot-Spot BPDU Figure 3
Packet format of the hot-spot
BPDU
Recognition of a hot-spot LAN In addition to the original two types of BPDU, the Configuration BPDU and Topology Change Notification BPDU, a new type of BPDU called the hot-spot BPDU is used to exchange information on the traffic loads of LANs to find a hot-spot LAN. The format of the hot-spot BPDU is depicted in Figure 3.
360
computer
communications
volume
18 number
Let hot-fraction be the ratio of the largest and second largest values of all the traffic counters in the bridges. We say that a hot-spot LAN is recognized when the hotfraction is larger than a predetermined threshold. When this happens, the LAN with the largest traffic counter value is recognized as being the hot-spot LAN, and this
5 may 1995
Hot-spot spanning tree algorithm:
this is done by its designating bridge. Let such a designated bridge be called a hot-bridge. Now we describe how a hot-bridge collects these two crucial values via a distributed mechanism. We note that a bridge may have several designated ports as well as traffic counters. Let hot-port denote the identifier of the designated port whose traffic counter has the largest value. Let hot-timer denote the time period taken to collect the traffic load information. When the hot-timer has expired, the largest and the second largest values (if any) of the traffic counters are copied to counters Hi and H2, respectively. Then all the traffic counters are reset and start the counting job for the next time period. In the meantime, a hot-spot BPDU with Number of Frames (NF) = HI is generated and sent to each of the attached LANs to tell other designated bridges what is the largest traffic load of the attached LANs. The procedure to generate a hot-spot BPDU is given as follows: Procedure Generate_HBPDU,
/*This procedure is invoked each time the Hot-Timer expired *i
is
Begin HI := the largest value of the Traffic Counters; H2 := the second largest value of the Traffic Counters;
Xi := 0 for all port i; /* Reset all Traffic Counters */ Restart Hot-Timer; Form a new Hot-Spot BPDU hbpdu; hbpdu.BID := BID; /* Put Bridge Identifier */ hbpdu.NF := H,; /* Put Number of Frames */ Send hbpdu to all ports; End.
The returned hot-spot BPDUs (via a loop) will be discarded to prevent unnecessary flooding. When a bridge receives a hot-spot BPDU, say from portrr it invokes the following procedure: Procedure Handle HBPD U: /*This procedures invoked when a Hot-Spot BPDU hbpdu
is received from port x */ Begin If hbpdu.NF
< Hz then Discard hbpdu; If (Hz < hbpdu.NF) and (hbpdu.NF < HI) then Begin /*Found the second largest traffic value from other bridge */ Hz := hbpdu.NF; Forward hbpdu to port i for all i # x; End; If HI d hbpdu.NF Begin /*Found
then
the largest traffic value from other bridge*/ BP:= 2; /*Give up trying to be a Hot-Bridge */
Hz:= H,; H, := hbpdu.NF;
Forward hbpdu to port i for all i # x; End; End.
Finally, after a ,forvcard delay time, only the designated bridge with BP = 0 will keep the largest and second largest values of NF in its counters HI and Hz, respectively. If the hot-fraction, HI/Hz, is greater than a certain threshold, then a hot-spot LAN is recognized by its designated bridge. We note that the value of the hot-timer can be
computer
N-F Huang et al.
determined by the network manager. Generally, it is several minutes in length. The synchronization of the hot-timers between different bridges can be performed by the following method. In the initialization phase, when a root bridge is found, the hot-timer of the root bridge is set to t. When a bridge receives a Configuration BPDU generated by the root bridge to build the spanning tree, the hot-timer of this bridge is set to t - At, where At is computed according to this bridge’s root path cost, which is proportional to the transmission delay of the path from it to the root bridge.
Spanning tree reconfiguration When a hot-spot LAN is recognized by its designated bridge, this designated bridge (the hot-bridge) will be the root bridge of the new spanning tree. We note that the root path cost of the hot-bridge is equal to the path cost of its hot-port instead of zero, since the hot-spot LAN is logically recognized as the root. Therefore. the root path cost field of the Configuration BPDU sent into the hot-spot LAN has a value of zero, while that of the other BPDUs forwarded to other ports has a value equal to the root path cost of the hot-bridge. Moreover, the bridge priority (BP) of the hot-bridge will be zero, and that of the other bridges is two. To reduce the overhead of changing the communication link states that might be caused in the reconfiguration of a spanning tree, the other bridges attached to the hotspot LAN will be assigned to have a priority of one”. This is done by the hot-bridge via sending a BPDU with hot-spot bit = 1 into the hot-spot LAN through the hotport. Furthermore, to enforce those bridges which are not attached to the hot-spot LAN to download their bridge priority (BP = 2) to the two-octet priority part of their identifier, another BPDU is sent by the hot-bridge with set-priority bit = 1. These operations are summarized in the following procedure: Procedure Generate RBPDU;
/*This procedure isinvoked by the new root bridge when a Hot-Spot LAN is recognized */ Begin
Form two Reconfiguration BPDUs rbpdul and rbpdu2; rbpdul.Flags.Hot-Spot := 1; rbpdul.Flags.Set-Priority := 1; Forward rbpdul to Hot-Spot LAN; Forward rbpdu2 to all ports except the port connects the Hot-Spot LAN; End.
When a bridge receives a Configuration BPDU, it checks the hot-spot bit and set-priority bit. If the hotspot bit is set, then the bridge priority is set to one and copied to the priority part of its identifier. When this BPDU is forwarded by the bridge, the hot-spot bit is reset. Otherwise, if the set-priority bit is set, the bridge will download the bridge priority to the priority part of its identifier. Moreover. a bridge receiving such a Configuration BPDU will treat the hot-bridge as the root bridge and reset all its traffic counters. The hottimer is also reset according to the method mentioned
communications
volume
18 number
5 may 1995
361
Hot-spot spanning tree algorithm:
N-F Huang et al.
before. All entries in the filtering database will be timed out within two forward delay times. In the meantime, the procedures for selecting the root port and the designated ports are started like those in the standard spanning tree algorithm. The procedure to handle a received reconfiguration BPDU is given as follows:
to the hot-spot LAN will become the new root bridge because each of them has a priority of one. These bridges will compete with each other to be a new root bridge. As the new root bridge is elected, it forwards a Configuration BPDU to all of its ports to rebuild the spanning tree, as described before.
Procedure Handle RBPDU,
/*This procedure% invoked when a reconfiguration rbpdu is received from port x */
Begin If rbpdu.Flags.Hot-Spot Begin
BPDU
= 1 then
BP := 1; BID.BP := BP;
rbpdu.Flags.Hot-Spot := 0; End; If
rbpdu.Flags.Set-Priority = 1 then
BID.BP := BP; Hot-timer := Hot-Timer - delta; /*delta is calculated from forward delay */ Start Hot-Timer; TCi = 0 for all i; Forward rbpdu to port i for all i # x; Start the Root Port Selection Process and Designated Port Selection Process; End.
After three forward delay times, a new spanning tree rooted at the hot-bridge will be constructed. The first forward delay time is spent in defeating the original root. The original root bridge stops generating Configuration BPDUs when it receives a Configuration BPDU with the set-priority bit = 1. The next two forward delay times are spent in constructing the new spanning tree. The algorithm to construct a new spanning tree is similar to the 802. ID spanning tree algorithm. During the reconfiguration procedure, it is still allowed to transmit user frames based on the original spanning tree, because the port state is never changed from the blocking state to the forwarding state directly.
DELAY ANALYSIS In this section, we analyse the end-to-end transmission delay of the spanning tree constructed by the proposed hot-spot spanning tree algorithm. Assume that a BLAN consists of a set of n LANs {LAN,, LAN2,. . . , LAN,,} and a set of m bridges Let h and r be the identifiers of the {BI,&, . . . , B,}. hot-spot LAN and root bridge, respectively; where 1 G h < n, 1 d r < n + m. When 1 < r < m, the root is a bridge B,, otherwise (r = m + i), the root is a LAN, (1 6 i < n). Let f = HI/HZ denote the hot-fraction. Let db represent the delay time (root path cost) from LAN, to LANj on the spanning tree rooted at r (1 < i,j < n). For simplicity, we assume that for LANiy the traffic generated between LANi and the hot-spot LAN is f times of that between LANi and LANj, i # j. That is, for LANi, f/(f+ n - 2) percentage of the traffic is generated between LANi and the hot-spot LAN. If LANi is the hot-spot LAN, then the traffic generated to/from LANj is equally partitioned into the other n - 1 LANs. Thus, for the spanning tree rooted at r with a hot-spot LAN h, we can define the average delay of LAN, (denoted as 0:) as: (1
(1
(1) Bridge failure To maintain the spanning tree topology, the root bridge will send a Configuration BPDU to all of its ports periodically. Moreover, the bridges have the ability to detect and respond to the events of the topology changing. Whenever the state of a port is changed to the forwarding state, a Topology Change Notification BPDU (TCN BPDU) will be sent to the root bridge. When the root bridge receives such a BPDU, it will reset its hot-timer, traffic counters and send a Configuration BPDU containing a shorter age time message to notify all the bridges that the topology of the network has been changed. This will speed up the time-out of the entries in the filtering database. Upon receiving such a BPDU, a bridge also resets its hot-timer and traffic counters. If the failed bridge is the root bridge, then the bridge with the smallest bridge identifier will be selected as the root bridge, as the standard algorithm does. So, if there exists a hot-spot LAN, then one of the bridges attached
362
computer
communications
volume
18 number
Since there are n LANs in the BLAN, the overall average delay of the spanning tree rooted at r with hotspot LAN h can then be stated as: A’
=
h
‘iDj -, n
1
(2)
For the BLAN, let TAA and OAA denote the average delay obtained by the standard spanning tree algorithm and our hot-spot-LAN algorithm, respectively. We note that there are m bridges and n LANs in the BLAN. For the standard spanning algorithm, the m spanning trees (each rooted at a distinct bridge) are investigated, and for each of them, the hot-spot-LAN can be any one of the n LANs. Therefore, we have: %/,A; TAA =L mxn’
ldrfm,l
For the proposed hot-spot-LAN algorithm, since the constructed spanning tree is rooted at the hot-spot LAN, only n spanning trees (each rooted at a distinct LAN) have to be considered. Thus, we have:
5 may 1995
Hot-spot spanning tree algorithm:
oAA
Et,Ai+m,l
=
n
N-F Huang et a/.
(4)
These measurements indicate the ‘average’ end-to-end transmission delay obtained by the standard spanning tree algorithm and the proposed hot-spot-LAN spanning tree algorithm. For the BLAN, let TM, and OMM denote the largest average delay obtained by the standard spanning tree algorithm and our hot-spot-LAN algorithm, respectively. Then we have: TM,+,= MAX(A;),
OMM
=
l
MAX(Aitm),
1 d r < m, 1 < h < n
(5) (6)
These measurements indicate the ‘longest’ end-to-end transmission delay obtained by the standard spanning tree algorithm and the proposed hot-spot-LAN spanning tree algorithm. Let Z,, and ZMMdenote the improved percentage of the average delay and longest delay achieved by the proposed hot-spot-LAN algorithm, respectively. Then: IAA
I MM
=
TAA
-
OAA
and
(7)
TMM - OMM = TMM
SIMULATIONS Simulation model To evaluate the effectiveness of the proposed hot-spot spanning tree algorithm, an experimental test was implemented. The simulation model consists of LANs and bridges which are arranged as a two-dimensional array and represented as Grid(a,b), where a and b are the number of bridges in each column and row, respectively, as shown in Figure 4. There are two bridges attached to each LAN, and a bridge has four ports at most. To evaluate the proposed hot-spot-LAN algorithm in a more general environment, three kinds of assignments for the path costs are considered: Homogeneous. All the ports are of the same path cost. This is for the case where all the LANs are of the same type, e.g. Ethernet or token ring. Semi-homogeneous. All the ports attached to a LAN are of the same path cost, but the ports of a bridge may have different path costs. This is for the case where LANs with different types (e.g. Ethernet and FDDI) coexist in the BLAN. Heterogeneous. All the ports may have different path costs. This is for the general case where the path cost of a port not only depends upon the transmission speed of the medium, but also on the frame processing time and other factors.
computer
cl : Bridge Figure 4
:
LAN
BLAN configuration model Grid(a,h)
Simulation results We first use a typical BLAN configuration to show the effectiveness of the proposed hot-spot spanning tree algorithm. Consider the Grid(3,3) semi-homogeneous BLAN configuration shown in Figure 5. We note that in the semi-homogeneous case d; = $. Initially, assume that bridge B1 has the lowest bridge identifier, and therefore it is the root bridge of the spanning tree constructed by the standard spanning tree algorithm. Assume that LAN9 is recognized as a hot-spot LAN by its designated bridge Bg; then LAN9 will be the logical root of the new constructed spanning tree (bridge BS will be the actual new root). Here we compare the average end-to-end transmission delay achieved by the newly constructed spanning tree to that produced by the spanning trees rooted at bridge B;, i = 1,2,. . ,9, when the hot-fraction is in the range [2..50]. The curve labelled ‘i’ in Figure 6 represents the value of Ai, which is the average end-to-end transmission delay of the spanning tree rooted at bridge Bi. The curve labelled ‘AVERAGE’ is the value of Ci A$/q (i = 1,2,. . . ,9), and it denotes the average delay time of the spanning trees without applying the hot-spot-LAN algorithm. The curve labelled ‘H’ represents the value of Ais, which is the average end-to-end transmission delay of the spanning tree rooted at LAN9. We note that the average delay of the new spanning tree is slightly different than that of the spanning tree constructed by the standard spanning tree algorithm rooted at bridge Bg. This is because in the new spanning tree constructed by the hot-spot-LAN algorithm, bridge BS has a root path cost of four, instead of zero as in the spanning tree constructed by the standard algorithm. For more general cases, four different BLAN contigurations are investigated in the simulations: Grid(3,2), Grid(3,3), Grid(3,4) and Grid(4,4). The diameters of
communications
volume
18 number
5 may 1995
363
Hot-spot spanning tree algorithm: N-F Huang et a/.
standard spanning tree forwarding = blocking old
new spanning tree - - - - forwarding ---blocking
root
Figure 5
Typical
Grid(3,3)
semi-homogeneous
BLAN configuration Figure 6
these BLAN configurations are 3,4,5 and 6, respectively. The 802.1D standard recommended that the diameter of a BLAN configuration should not be greater than seven. The path cost of each port (or a set
Comparison
of A; in a Grid(3,3)
semi-homogeneous
model
of related ports in the homogeneous and semi-homogeneous cases) is generated randomly, and two different kinds of ranges for the generated path costs are ----(>-
‘;; 30 $ 25
Grid (32)
-----I)-
Grid (3.2)
5 20 --A--
Grid
5 15
(3A
5 10 -
Grid
-
Grid
-
Grid
(3!4)
(3.4)
10
50
-
100 200
Grid
10
(4,4)
100 200
(484)
I
(b)
(a)
35
35 7 30 eE 25
0 -
Gnd (3,2)
T e E
30
i 20 z 15
Grid
z
20
(3,3)
;
15
g 10
-
Grid
& 10
(3.4)
E
5 -
10
50
100
200
e
Grid
--A--
Grid
-
Grid
(32)
25
--A--
E
50
Hot Fraction
Hot Fraction
(383)
Grid
5 OL------
(4.4)
10
(3.4) -
50
100
200
Grid (404)
Hot Fraction
Hot Fraction Cd)
(C)
30
s? 25
-Om--
364
computer communications
Gnd
(3,3)
h 10 0’ &
r---l A- -
g 15
Figure 7 Obtained IA4 under different topologies and parameters. (a) Semi-homogeneous cost range l-10; (b) semi-homogeneous cost range I100; (c) heterogeneous cost range lIO; (d) heterogeneous cost range l100; (e) homogeneous
Grid
(3.2)
g) 20
-
Grid
-
Grtd
(3.4)
5 10
50
100
Hot Fraction
200
L-------J volume 18 number 5 may 1995
(4,4)
I
Hot-spot spanning tree algorithm: N-F Huang et al.
@ ‘;i 50 --a
-
Grid
A-
Grid
E 40
W
g 30 ;
--A--
Grid
-
Gnd
--A--
Gnd
-
Grid
(3,3)
20 ___
h 10 ,E 0
Grid (3,4)
10
50
100 200
-
Grid (4.4)
Hot Fraction
Hot Fraction
i
(b)
60
-----
Gnd
--A--
Grid
(32)
(3.3) -
Grid (3,4)
0; 10
-
50
Grid
100 200
(4,4)
10
Hot Fraction
50
100 200
Hot Fraction
(Cl
Cd)
----O--
Grid
--fi--
Grid
w
(3,3) -
Grid
Obtained I,, under different topologies and parameters. (a) Semi-homogeneous cost range l-10; (b) semi-homogeneous cost range l100; (c) heterogeneous cost range I10; (d) heterogeneous cost range lP 100; (e) homogeneous Figure 8
(3,4)
10
50
100 200
Hot Fraction \_I
considered: [ 1.. lo] and [ 1.. 1001. Four different thresholds of the hot-fraction are examined: 10, 50, 100 and 200. The simulation results on ZAAand ZMMobtained by the proposed hot-spot spanning tree algorithm are shown in Figures 7 and 8, respectively. Each of the values in the figures is the averaged value of 100 distinct instances. From these simulation results, we found that the proposed hot-spot spanning tree algorithm makes a greater improvement on the transmission delay as the hot-fraction becomes more pronounced. We have also found that: I.
The improved percentage of the average delay time in a heterogeneous case is larger than that in a semihomogeneous case. When the hot-fraction increases, the improved degree becomes larger. The value of IAA for model Grid(4,4) and cost range [l.. 1001 is shown in Figure 9, in which the curves with labels ‘H’ and ‘S’ denote the heterogeneous case and semihomogeneous case, respectively.
2. The larger the diameter of a BLAN is, the more the degree of improvement in average delay time when the hot-fraction increases. The values of T,, for heterogeneous Grid(3,2), Grid(3,3), Grid(3,4) and Grid(4,4) models with cost range in [l..lOO] are shown in Figure 10.
CONCLUSIONS In this paper, a new spanning tree algorithm for a BLAN with hot-spot traffic has been proposed. The spanning tree constructed by the proposed algorithm will be logically rooted at the hot-spot LAN instead of the bridge with the smallest identifier. Such a spanning tree will be more practical and suitable for delivering the inter-LAN frames, and hence obtain a better performance on end-to-end transmission delay. The hot-spot LAN will be recognized periodically, and once a new hot-spot LAN is found, the spanning tree will be reconstructed to be rooted at the new hot-spot LAN.
computer communications
volume 18 number 5 may 1995
365
Hot-spot spanning
tree algorithm:
N-F Huang et al.
The proposed algorithm is also robust, since it detects the events of bl;idge failure automatically and reconfigures the spanning tree if necessary. The effectiveness of the proposed algorithm was evaluated by simulations. From the simulation results we found that, compared to the IEEE 802.1D spanning tree algorithm, the average transmission delay time obtained can have an improvement of about 30%. The proposed spanning tree algorithm makes a greater improvement on the end-toend transmission delay as the traffic hot-fraction becomes more pronounced. The complexity of implementing the proposed algorithm is as simple as that of the standard spanning tree algorithm, since the additional memory space required is only a few bytes, and the bandwidth consumed is only a small fraction of the total bandwidth. The hot-fraction defined in this paper is the ratio of the first two largest traffic loads of the LANs, and a hot-spot LAN is recognized when the hot-fraction value is larger than a certain threshold. This is only a general idea, and anyone can extend this idea to define his/her own hot-fraction and the corresponding threshold according to some specific requirements. This paper deals with the case where only one hot-spot LAN exists in the BLAN at a time. It will be interesting to consider cases where several hot-spot LANs exist in the BLAN simultaneously. The problem of designing an algorithm to construct an efficient spanning tree for such cases is still open.
Figure 9 Comparison grid(4,4) models
of
semi-homogeneous
and
heterogeneous
ACKNOWLEDGEMENTS This work was supported by National Science Council, Republic of China, under Contract NSC-8 1-0408-E007-04 and the project No. 37H3100 conducted by the ITRI under Sponsorship of the Minister of Economic Affairs, Republic of China.
Figure 10
REFERENCES Perlman, R, Harvey, A and Varghese, G ‘Choosing the appropriate IS0 layer for LAN interconnection’, IEEE Network, Vol 2 No I (January 1988) pp 81-85 Backes, F ‘Transparent bridges for interconnection of IEEE 802 LANs’, lEEE Network, Vol 2 No I (January 1988) pp 5-9 Ball, E, Linge, N, Kummer, P and Tasker, R ‘A bridge protocol for creating a spanning tree topology within an IEEE 802 extended LAN environment’, Compu~. Nerworks ISDN Syst., Vol 13 (1987) pp 323-332 Bail, E, Linge, N, Kummer, P and Tasker, R ‘Local area network bridges’, Compuf. Commun., Vol I I No 3 (June 1988) pp 1 l5117. Bern&en, J, Davin, J R, Pitt, D A and Sullivan, N ‘MAC layer interconnection of IEEE 802 local area network’, Comput.
366
computer
communications
volume
18 number
6 7
8
9 IO
II
Comparison
of different
size models
Networlcs ISDN Syst., Vol IO No 5 (December 1985) pp 259273 IEEE 802.10 MAC Bridge Standard Documentation (July 1989) Tai, T Y and Gerla, M ‘LAN interconnection: A transparent shortest-path approach’, IEEE ICC, Denver, CO (1991) pp 51.5.1-51.5.5 Varghese, G and Perlman, R ‘Transparent interconnection of incompatible local area networks using bridges’, IEEE J. Selected Areas in Commun., Vol8 No I (January 1990) pp 4248 Dixon, R C and Pitt, D A ‘Addressing, bridging, and source routing’, IEEE Nefwork, Vol 2 No 1 (January 1988) pp 25-32 Hammer, M C and Samsen, G R ‘Source routing bridge implementation’, IEEE Network, Vol 2 No I (January 1988) pp 33-36 Hart, J ‘Extending the IEEE 802.1 MAC bridge standard to a remote bridge’, IEEE Network, Vol 2 No I (January 1988) pp lo-15
5 may 1995