26
1 Spanning Tree Algorithm Advanced Computer Networks

1 Spanning Tree Algorithm Advanced Computer Networks

Embed Size (px)

Citation preview

Page 1: 1 Spanning Tree Algorithm Advanced Computer Networks

1

Spanning Tree Algorithm

Advanced Computer Networks

Page 2: 1 Spanning Tree Algorithm Advanced Computer Networks

2

Topologies with Loops Problems

Frames proliferate Learning process unstable Multicast traffic loops forever

B1 B2 B3

LAN 1

LAN 2

A

Page 3: 1 Spanning Tree Algorithm Advanced Computer Networks

3

Topologies with Loops Solutions

Require that the topologies be loop-free through careful deployment of segments and bridges

Design Bridges to detect loops and complain and, perhaps, stop working

Not a good idea because loops provide redundancy Design into the bridges an algorithm that

prunes the topology into a loop-free subset (a spanning tree)

Blocking of some ports may be required Automatically adapt to the changes in topology

Page 4: 1 Spanning Tree Algorithm Advanced Computer Networks

4

Reconfiguration Algorithm Configures an arbitrary topology into a

spanning tree Automatic reconfiguration in case of

topology changes The algorithm should converge for any size

LAN; the stability should be achieved within a short, bounded time

Active topology should be reproducible and manageable

Transparency to end-stations is required Must not use a lot of bandwidth

Page 5: 1 Spanning Tree Algorithm Advanced Computer Networks

5

Spanning Tree Algorithm A distributed Algorithm

Elects a single bridge to be the root bridge Calculates the distance of the shortest path

from each bridge to the root bridge (cost) For each LAN segment , elects a

“designated” bridge from among the bridges residing on that segment

The designated bridge for a LAN segment is the one closest to the root bridge

And…

Page 6: 1 Spanning Tree Algorithm Advanced Computer Networks

6

Spanning Tree Algorithm For each bridge

Selects ports to be included in spanning tree The ports selected are:

The root port --- the port that gives the best path from this bridge to the root

The designated ports --- ports connected to a segment on which this bridge is designated

Ports included in the spanning tree are placed in the forwarding state

All other ports are placed in the blocked state

Page 7: 1 Spanning Tree Algorithm Advanced Computer Networks

7

Forwarding frames along the spanning tree

Forward and Blocked States of Ports

Data traffic (from various stations) is forwarded to and from the ports selected in the spanning tree

Incoming data traffic is always discarded (this is different from filtering frames. Why?) and is never forwarded on the blocked ports

Page 8: 1 Spanning Tree Algorithm Advanced Computer Networks

8

Root Selection: Bridge ID Each port on the Bridge has a unique LAN

address just like any other LAN interface card. Bridge ID is a single bridge-wide identifier that could be: A unique 48-bit address Perhaps the LAN address of one of its ports

Root Bridge is the one with lowest Bridge ID

BPort Address

Page 9: 1 Spanning Tree Algorithm Advanced Computer Networks

9

Path Length (Cost) Path length is the number of hops from a

bridge to the root While forming a spanning tree, we are

interested in the least cost path to the root

Cost can also be specified based on the speed of the link Not fair to treat a 10Mb/s link the same as a

1Gb/s link A guideline for cost selection is in Table 8.5 of

the latest IEEE 802.1D standard

Page 10: 1 Spanning Tree Algorithm Advanced Computer Networks

10

Path cost guidelines

Source: IEEE 802.1D standard

Page 11: 1 Spanning Tree Algorithm Advanced Computer Networks

11

Example Topology

1

4 5 7

1068

11 2

0

Page 12: 1 Spanning Tree Algorithm Advanced Computer Networks

12

After algorithm execution

1

4 5 7

1068

11 2

0

DP

RP

BP BP

RPRP

DP

RP

DP

RP

DP

DP

RP

BP

RP

DP

DP

RP

RP

DP

RP: Root PortDP: Designated PortBP: Blocked Port

Page 13: 1 Spanning Tree Algorithm Advanced Computer Networks

13

Configuration Message (BPDU) Configuration Bridge Protocol Data Unit

Transmitted by Bridges to implement the spanning tree algorithm

Just like any other data link layer frame

Destination Adderss: Special Multicast Address 01-8-c2-00-00-00

Source Address: MAC address of the port DSAP = SSAP = 01000010

destination source Configuration Message

6 octets 6 octets 2 octets

DSAP SSAPlength

2 octets Data Field

Page 14: 1 Spanning Tree Algorithm Advanced Computer Networks

14

Configuration BPDU Contents

The Data Field of Config BPDU contains: Root ID

ID of the Bridge known to be root Cost to Root

Cost of the known least cost path to the root Transmitting Bridge ID

ID of the bridge transmitting this message

Representation <RootID>.<CostToRoot>.<TransmittingBridg

eID>

Page 15: 1 Spanning Tree Algorithm Advanced Computer Networks

15

BPDU: Transmission and Processing

When a bridge is first booted up: It assumes it is the root Transmits on each port:

<ownID>.<0>.<ownID>

BPDUs are received on each port For each port, every bridge saves the best BPDU received Best among the ones received or

transmitted on that port

Page 16: 1 Spanning Tree Algorithm Advanced Computer Networks

16

Comparing two BPDUs Given two BPDUs containing

configuration messages C1 and C2: C1 is better than C2 if rootID in C1 is lower

than the rootID in C2 In case of a tie above, C1 is better than C2 if

cost in C1 is lower than the cost in C2 In case of a tie above, C1 is better than C2 if

transmitting bridge ID in C1 is lower than the transmitting bridge ID in C2

Can we still get a tie? Consider a bridge with two ports on same

segment!!!

Page 17: 1 Spanning Tree Algorithm Advanced Computer Networks

17

Port Identifier

Each bridge has an internal numbering of its portsThese numbers are unique only for a bridge

Bridge0

1

2

3

Page 18: 1 Spanning Tree Algorithm Advanced Computer Networks

18

Port Identifier Port IDs are useful when rootID,

cost, and transmittingBridgeID are the same in two configuration messages

In such situations, Port IDs are used as tie-breakers and the BPDU with lower portID is better

Page 19: 1 Spanning Tree Algorithm Advanced Computer Networks

19

Comparing BPDUs Message C1

<Root>.<Cost>.<Tx>

<29>.<15>.<35> <35>.<80>.<39> <35>.<15>.<80>

Message C2

<Root>.<Cost>.<Tx>

<31>.<12>.<32><35>.<80>.<40><35>.<18>.<38>

(a)(b)(c)

In all cases above, C1 is “better” than C2

Page 20: 1 Spanning Tree Algorithm Advanced Computer Networks

20

Designated Bridge If a bridge receives better BPDU on

a port than the one it would transmit, it will no longer transmit BPDUs on that port

As a result, only one bridge called the “designated bridge” transmits configuration BPDUs on each LAN

Page 21: 1 Spanning Tree Algorithm Advanced Computer Networks

21

Root ID and Cost: determining Consider B with bridge ID 18 Best BPDUs on each of its ports are:

<RootID>.<Cost>.<TransmitterID> Port 1 <12>.<93>.<51> Port 2 <12>.<85>.<47> Port 3 <81>.<0>.<81> Port 4 <15>.<31>.<27>

Root bridge ID is determined as 12 Least cost is determined as 85+1 = 86 Port 2 is regarded as the Root port …cont…

Page 22: 1 Spanning Tree Algorithm Advanced Computer Networks

22

Root ID and Cost: determining At next opportunity, B will transmit

<12>.<86>.<18> Better than the best BPDUs on all ports

Ports 1, 3, and 4 are designated B considers itself designated for the

segments connected to ports 1, 3, and 4 B continues transmitting BPDUs on those

segments (through respective ports)

Page 23: 1 Spanning Tree Algorithm Advanced Computer Networks

23

Spanning Tree Ports For each bridge, what ports are

“included” in the spanning tree? Root Port

On which best of the best BPDUs is received Designated Port

Connected to segments on which B is designated Ports selected in the spanning tree are

placed in the forwarding state B will forward data packets to and from

those ports

Page 24: 1 Spanning Tree Algorithm Advanced Computer Networks

24

Ports Blocked Bridge B will block a port if it

receives a better BPDU on that port than the one it would transmit (except for the root port)

Bridge B will no longer transmit BPDUs on either root port or blocked ports

Data packets are not forwarded to and received from the blocked ports

Page 25: 1 Spanning Tree Algorithm Advanced Computer Networks

25

Example

Bridge ID 92Port 1

Port 2 Port 3 Port 4

Port 5

81.0.8141.19.125 41.12.315 41.12.111

41.13.90

Root Bridge is selected as 41Least cost to root is 12+1 = 13 Port 4 is selected as root

Now B92 will transmit a BPDU 41.13.92What does it do with the ports?

Page 26: 1 Spanning Tree Algorithm Advanced Computer Networks

26

How the Ports are treated?

Port 1: 41.13.92 < 81.0.81 DP Port 2: 41.13.92 < 41.19.125 DP Port 3: 41.13.92 > 41.12.315 BP Port 4: 41.13.92 Root Port Port 5: 41.13.92 > 41.13.90 BP

Remember: B92 will transmit a BPDU 41.13.92