You are on page 1of 27

Need for Routing in Ethernet switched networks

• What do bridges do if
some LANs are LAN 2
reachable only in d

multiple hops ?
Bridge 3 Bridge 4

• What do bridges do if the


path between two LANs
Bridge 1 LAN 5
is not unique ?
Bridge 5

LAN 1

Bridge 2

LAN 3 LAN 4
M. Veeraraghavan (originals by J. Liebeherr)
1
Danger of Loops

• Consider the two LANs that are connected


by two bridges.
• Assume host n is transmitting a LAN 2
frame F with unknown destination.
What is happening?
• Bridges A and B flood the frame
Bridge A Bridge B
to LAN 2.
• Bridge B sees F on LAN 2 (with
unknown destination), and copies LAN 1
the frame back to LAN 1
• Bridge A does the same.
F
host n
• The copying continues
Where’s the problem? What’s the solution ?

M. Veeraraghavan (originals by J. Liebeherr)


2
Spanning Trees

• IEEE 802.1 has an algorithm that builds and maintains a


spanning tree in a dynamic environment.

• Bridges exchange messages to configure the bridge


(Configuration Bridge Protocol Data Unit, Configuration
BPDUs) to build the tree.

M. Veeraraghavan (originals by J. Liebeherr)


3
Concept - Bridge ID

• Each bridge has a unique identifier (8 bytes):


Bridge ID = <priority level + MAC address>
Priority level = 2 bytes; Note that a bridge has several MAC addresses
(one for each port), but only one ID using the MAC address of the lowest
numbered bridge port (port 1)
• Each port within a bridge has a unique identifier (port ID).

51:24:68:1f:3:4
Bridge 0:0:1:2:3:5
3 1 2

Priority: 0x12:41
fe:64:96:12:1:3

Example above: Bridge ID = 12:41:fe:64:96:12:1:3

M. Veeraraghavan (originals by J. Liebeherr)


4
Concept - Root bridge of a network

• Root Bridge: The bridge with the lowest identifier is the root
of the spanning tree.

Bridge 3 with ID
0:1:34:1:21:56:19:87
1
LAN A
Bridge 2 with ID=
1 6:4:55:4:21:56:19:87
LAN B

2 1
Root bridge is bridge 3
Bridge 1 with ID=
4:1:21:1:21:56:19:87 since it has the smallest ID

M. Veeraraghavan (originals by J. Liebeherr)


5
Concept - For each bridge

• Root Port: Each bridge has a root port which identifies the
next hop from a bridge to the root.
• Root Path Cost: For each bridge, the cost of the min-cost
path to the root
• Example on previous slide: What is the root port and root path
cost of bridge 1:
– The root port is port 2 since it leads to the root bridge
(bridge 3)
– The root path cost is 1 since bridge 1 is one hop away from
the root bridge (I.e., bridge 3).
• Note: We assume that “cost” of a path is the number of “hops”.

M. Veeraraghavan (originals by J. Liebeherr)


6
Concept - For each LAN

• Designated Bridge, Designated Port: Single bridge on a


LAN that provides the minimal cost path to the root for this
LAN, and the port on this minimal cost path
– if two bridges have the same cost, select the
one with highest priority (lower bridge ID)
– if the min-cost bridge has two or more ports
on the LAN, select the port with the lowest
identifier
• Example on slide 25: for LAN A, the designated bridge is
bridge 3 since it is the root bridge itself; port 1 is the
designated port; for LAN B, the designated bridge is bridge 1
since this is closer to the root bridge than bridge 2. The
designated port is port 1.
M. Veeraraghavan (originals by J. Liebeherr)
7
Concept - Designated bridge/port

• Even though each LAN is the entity that has a designated


bridge/designated port, it is each bridge that determines
whether or not it is the designated bridge for the LAN on each
of its ports.
• Example: Bridge 1 in the example on slide 25 determines
whether it is the designated bridge for LAN A (to which its port
2 is connected) and for LAN B (to which its port 1 is
connected).
– Answer in this case is that bridge 1 is the designated
bridge for LAN B, but it is not the designated bridge for
LAN A

M. Veeraraghavan (originals by J. Liebeherr)


8
Steps of Spanning Tree Algorithm

1. Determine the root bridge of the whole network


2. For all other bridges determine root ports
3. For all bridges, determine which of the bridge ports
are designated ports for their corresponding LANs

• The spanning tree consists of all the root ports and the
designated ports.
• These ports are all set to the “forwarding state,” while all
other ports are in a “blocked state.”

M. Veeraraghavan (originals by J. Liebeherr)


9
What we just did

• We just determined the spanning tree for a network of LANs


and bridges in a “centralized manner.”
– We knew the bridge IDs of all the bridges and the port IDs of all the
ports in all the bridges.
– We determined the root bridge (the bridge with the smallest ID.)
– For each bridge, we determined the shortest path to the root by
counting hops and thus identified the root port.
– For each bridge, we determined which of its ports are designated ports
for each of its LANs
• However, the network of bridges determines the spanning
tree in a “distributed manner” - each with limited knowledge.
– This is done using messages called BPDUs.

M. Veeraraghavan (originals by J. Liebeherr)


10
How do the bridges determine the spanning
tree?
With the help of the BPDUs, bridges can:
• Elect a single bridge as the root bridge.
• Each bridge can determine:
– a root port, the port that gives the best path to the root.
– And the corresponding root path cost
• Each bridge determines whether it is a designated bridge,
for the LANs connected to each of its ports. The designated
bridge will forward packets towards the root bridge.
• Select ports to be included in the spanning tree.
– Root ports and designated ports

M. Veeraraghavan (originals by J. Liebeherr)


11
Short form notation for BPDUs

• Each bridge sends out BPDUs that contain the following


information:

root ID cost bridge ID/port ID

root bridge (what the sender thinks it is)


root path cost for sending bridge
Identifies sending bridge
Identifies port on which this BPDU is
sent

M. Veeraraghavan (originals by J. Liebeherr)


12
Ordering of Messages

• We can order BPDU messages with the following ordering


relation ““:
M1 ID R1 C1 ID B1  ID R2 C2 ID B2 M2

If (R1 < R2)


M1  M2
elseif ((R1 == R2) and (C1 < C2))
M1  M2
elseif ((R1 == R2) and (C1 == C2) and (B1 < B2))
M1  M2

M. Veeraraghavan (originals by J. Liebeherr)


13
Determine the Root Bridge

• Initially, all bridges assume they are the root bridge.


• Each bridge B sends BPDUs of this form on its LANs:

B 0 B

• Each bridge looks at the BPDUs received on all its ports and
its own transmitted BPDUs.
• Root bridge is the smallest received root ID that has been
received so far (Whenever a smaller ID arrives, the root is
updated)

M. Veeraraghavan (originals by J. Liebeherr)


14
Calculate the Root Path Cost
Determine the Root Port
• At this time: A bridge B has a belief of who the root is, say R.
• Bridge B determines the Root Path Cost (Cost) as follows:
• If B = R : Cost = 0.
• If B R: Cost = {Smallest Cost in any of BPDUs that were
received from R} + 1

• B’s root port is the port from which B received the lowest
cost path to R (in terms of relation ““).
• Knowing R and Cost, B can generate its BPDU (but will not
necessarily send it out):
R Cost B

M. Veeraraghavan (originals by J. Liebeherr)


15
Determine if the bridge is the designated bridge for
any of the LANs connected to its ports

• At this time: B has generated its BPDU

R Cost B

• B will send this BPDU on one of its ports, say port x, only if
its BPDU is lower (via relation ““) than any BPDU that B
received from port x.
• In this case, B also assumes that it Port x
is the designated bridge for the
LAN to which the port connects. Bridge B
Port A Port C
Port B

M. Veeraraghavan (originals by J. Liebeherr)


16
Selecting the Ports for the Spanning Tree

• At this time: Bridge B has calculated the root bridge for the
network, its root port, root path cost, and whether it is the
designated bridge for each of its LANs.
• Now B can decide which ports are in the spanning tree:
• B’s root port is part of the spanning tree
• All ports for which B is the designated bridge are part of
the spanning tree.
• B’s ports that are in the spanning tree will forward packets
(=forwarding state)
• B’s ports that are not in the spanning tree will block packets
(=blocking state)

M. Veeraraghavan (originals by J. Liebeherr)


17
Building the Spanning Tree

• Consider the network on the


right. LAN 2
• Assume that the bridges R

have calculated the Bridge Bridge


designated ports (D) and the R
D R
root ports (R) as indicated.
Bridge LAN 5
R

Bridge
• What is the spanning tree? D
LAN 1
R

D
Bridge
D

LAN 3 LAN 4
M. Veeraraghavan (originals by J. Liebeherr)
18
Adapting to Changes

• Bridges continually exchange BPDU’s according to the rules


we just discussed.
• This allows the bridges to adapt to changes to the topology.
• Whenever a BPDU arrives on a port, say port x, B bridge
determines:
• Can B become the designated bridge for the LAN that
port x is attached to?
• Can port x become the root port?

M. Veeraraghavan (originals by J. Liebeherr)


19
Example 1

• Assume a Bridge with ID 18 has received the following as


the lowest messages on its 4 ports:
12.93.51 15.31.27
Port 1 Port 4
Bridge 18

Port 2 Port 3
81.0.81
12.85.47

• What is the root? Root is 12

• What is the Root Path Cost? 85 +1 = 86

•What is the root port? Port 2


• What is 18’s configuration BPDU? 12.86.18
•For which LAN (port), if any, is B the
designated bridge? For Ports 1,3, 4

M. Veeraraghavan (originals by J. Liebeherr)


20
Example 2 (Practice - Solution in Exercises)

• Assume a Bridge with ID 3 is receiving the following as the


lowest messages on its five ports:
Bridge 3
Port 5
Port 1
41.13.90
81.0.81 Port 2 Port 3 Port 4

41.19.125 41.12.111
41.12.315

• What is the root?


• What is the Root Path Cost?
• What is the root port ?
• What is 3’s configuration BPDU?
• For which LAN (port), if any, is B the designated bridge ?
M. Veeraraghavan (originals by J. Liebeherr)
21
Network Example (Practice - Solution in
Exercises)
• The attached network shows 5
LANs that are interconnected LAN 2
by 5 bridges. Port 3a
d
Port 4a

• The ID’s of the bridges are Bridge 3 Bridge 4


1,2,3,4,5 and the port ID’s are Port Port Port 4b
1a 3b
as indicated in the figure.
Bridge 1 LAN 5
• The bridges run the spanning Port
Port 5a
tree algorithm. 1b
Bridge 5
• Assume that the root cost path Port 5b
is the number of hops. LAN 1
• Assume an initial state. Port 2a

• Show which messages are Bridge 2


Port 2b Port 2c
exchanged until the tree is
built. LAN 3 LAN 4
M. Veeraraghavan (originals by J. Liebeherr)
22
Interesting cases

• If two min-cost BPDUs received at a bridge on two different


ports are equal in the root ID, root path cost and sending
bridge ID, and the root ID is the smallest of the root Ids on all
previously received BPDUs, then the designated ports for the
LANs corresponding to the two ports on which the two BPDUs
are received are compared. The smaller one of these (which
will have the higher priority) will be chosen. The port on the
bridge receiving these BPDUs which is on the LAN of this
selected designated port is the root port of the bridge.
• Ref: Section 4.5.3.3 (page 53) of the IEEE 802.1D
specification.

M. Veeraraghavan (originals by J. Liebeherr)


23
Example

• Bridge 2 receives two BPDUs [1,0,1] on both its ports 3 and 4


• The designated port for LAN A is port 1 on bridge 1
• The designated port for LAN B is port 2 on bridge 1
• Since port 1 is lower than port 2, it has higher priority.
• Hence port 4 is the root port.

LAN A

Port 4 Port 1

Bridge 2 Bridge 1

Port 3 Port 2

LAN B

M. Veeraraghavan (originals by J. Liebeherr)


24
Another case

• Furthermore, section 4.5.3.3 of IEEE 802.1D states that if


even the designated ports of the LANs corresponding to the
ports on which a bridge receives the same BPDUs are the
same, then look at the port numbers on the bridge itself at
which these BPDUs are received and select the lower one to
be the root port.

M. Veeraraghavan (originals by J. Liebeherr)


25
Example

• Ports 4 and 2 of bridge 2 are on LAN A. They will both receive


BPDU [1,0,1] from bridge 1. The designated port for LAN A is
port 1 on bridge 1. So even the designated ports are the
same. Hence choose between ports 2 and 4 by selecting the
lower one, which is port 2 as the root port.

LAN A
Port 2 Port 4 Port 1
Bridge 2 Bridge 1
Port 3 Port 2
LAN B

M. Veeraraghavan (originals by J. Liebeherr)


26
Priority

• Finally, see pg 102 of the spec, section 5.2.5. It states that the
”Two bridge identifiers when compared numerically, the lesser
number shall denote the bridge of the higher priority."

M. Veeraraghavan (originals by J. Liebeherr)


27

You might also like