BUILDING PROFESSIONAL BRIDGES SPANNING THE FUTURE Happy Anniversary VAGP.
Communication Networks Recitation 3 Bridges & Spanning trees.
-
Upload
gordon-scoggins -
Category
Documents
-
view
222 -
download
0
Transcript of Communication Networks Recitation 3 Bridges & Spanning trees.
Communication Networks
Recitation 3Bridges & Spanning trees
Bridges
Link layer device stores and forwards Ethernet frames examines frame header and selectively
forwards frame based on MAC dest address when frame is to be forwarded on segment,
uses CSMA/CD to access segment transparent
hosts are unaware of presence of bridges plug-and-play, self-learning
bridges do not need to be configured
Some bridge features Isolates collision domains resulting in higher
total max throughput limitless number of nodes and geographical
coverage Can connect different Ethernet types Transparent (“plug-and-play”): no
configuration necessary
Bridges: traffic isolation
Bridge installation breaks LAN into LAN segments
bridges filter packets: same-LAN-segment frames not usually
forwarded onto other LAN segments segments become separate collision
domains
bridge collision domain
collision domain
= hub
= host
LAN (IP network)
LAN segment LAN segment
Forwarding
How do determine to which LAN segment to forward frame?• Looks like a routing problem...
Self learning
A bridge has a bridge table entry in bridge table:
(Node LAN Address, Bridge Interface, Time Stamp)
stale entries in table dropped (TTL can be 60 min)
bridges learn which hosts can be reached through which interfaces when frame received, bridge “learns” location
of sender: incoming LAN segment records sender/location pair in bridge table
Filtering/ForwardingWhen bridge receives a frame:
index bridge table using MAC dest addressif entry found for destination
then{ if dest on segment from which frame arrived
then drop the frame else forward the frame on interface
indicated } else flood
forward on all but the interface on which the frame arrived
Question
Bridge B1 = {1,a};{1,f};{2,b}a b c
1
2
Bridge B2 = {1,f};{1,c};{2,b}d e
1
2
f g
Find all errors in the table and explain why?
Bridge name Error in table Explain
All Errors
Bridge B1 = {1,a};{1,f};{2,b}a b c
1
2
Bridge B2 = {1,f};{1,c};{2,b}d e
1
2
f g
Does a message reaches destination?
From C to GFrom A to FFrom F to A
What will happen to the tables?
From C to G
Bridge B1 = {1,a};{1,f};{2,b}{1,c}a b c
1
2
Bridge B2 = {1,f};{1,c};{2,b}d e
1
2
f g
From A to F
Bridge B1 = {1,a};{1,f};{2,b}a b c
1
2
Bridge B2 = {1,f};{1,c};{2,b}d e
1
2
f g
From F to A
Bridge B1 = {1,a};{ ,f};{2,b}a b c
1
2
Bridge B2 = { ,f};{1,c};{2,b}d e
1
2
f g2
1
12
12
Loop Resolving
The simple learning mechanism described fails in presence of loops in the LAN
Loops may be present by mistake, or deliberately provided for redundency
This problem is resolved by running a distributed spanning tree algorithm
Spanning Tree Algorithm Creates a logical, or “active” topology
that behaves like a spanning tree Makes alternate bridges redundant Is run periodically, so will discover failures
and use alternate bridges if necessary
Spanning tree
Think of the LAN as a graph that possibly has loops (LAN segments as nodes, bridges as edges)
The spanning tree is a sub graph of this graph that covers all vertices (LAN segments), but contains no cycles.
(a) (b)
Spanning tree algorithm
Spanning tree algorithm is a protocol used by a set of bridges to agree upon a spanning tree for a particular extended LAN.
Essentially, this means that each bridge decides the ports over which it is and is not willing to forward packets.
Some ports (or even entire bridges) may not participate in a spanning tree
How does the bridge select the ports to include (/exclude)?
Spanning Tree Algorithm Working: Bridges regularly exchange frames known as
Bridge Protocol Data Units (BPDUs). This exchange does the following:
1. Each bridge has a unique Identifier2. Bridge with highest priority and smallest ID is selected
as root bridge.3. Each bridge determines for each port, the least cost
path from root bridge to this port. This is the Root Path Cost (RPC) for this port.a) Select the port which has the least RPC and
designate it as the Root Port (RP). This is the port which will be used for communicating with the root.
•Algorithm...
1. Once root port is determined, one bridge port is selected for each LAN segment as the designated bridge port (DP) over which frames will be sent for that LAN segment.
a) This is a port (which is NOT a root port) which has the least path cost to the root
b) The ports of the root bridge are always DPs for the LAN segments connected to the root bridge
2. The state of the bridge ports can be set either to forwarding or blocking.
a) All ports that are either RPs or DPs are forwarding, the rest are blocking.
Example:
A
C
E
D
B
K
F
H
J
G
I
B3
B7
B4
B2
B5
B1
B6
A
C
E
D
B
K
F
H
J
G
I
B5
B2
B3
B7
B4
B1
B6
B1 is the root bridge B3 and B5 are both
connected to LAN A, but B5 is the designated port since it's closer to root
B5 and B7 are both connected to LAN B, but B5 is the designated port due to smaller ID (equal distance).
Topology Initialization BPDUs are sent to a broadcast MAC address of all bridges
on the LAN All bridges initially assume they are the root bridge Each BPDU contains (self ID, root ID, transmitting port ID,
RPC of this port) A bridge updates its own info if it receives an update which
identifies a root with smaller id or identifies a root with equal id but with shorter distance the root id and distance are equal, but the sending
bridge has a smaller id The bridge adds 1 to the received RPC in the above update
and saves this info.
Designated port / Root PortA
C
E
D
B
K
F
H
J
G
I
B5
B2
B3
B7
B4
B1
B6
What are these
And theseAnd this one
And
STP Run – Find RootA
C
E
D
B
K
F
H
J
G
I
B3
B7
B4
B2
B5
B1
B6
B8
L
M
B9
3
57
46
1
2
9
8
B3 sends BPDU
3
B2 sends BPDU
2
2B1 sends BPDU
21
11
1
B4, B2 sends BPDU
B8 sends BPDU
1
1
1
1
Proof sketch
if there is a bridge which has a different value THEN There is a segment on which one bridge has the correct minimum and the other a larger value.
When the minimum will broadcast, the other bridge would update, and we have one more correct bridge
STP Run – Block PortsA
C
E
D
B
K
F
H
J
G
I
B3
B7
B4
B2
B5
B1
B6
B8
L
M
B9
B5: 5, 0, 1B2: 2, 1, 1B3: BLOCK
B7: 7, 0, 1B5: 5, 0, 1B7: BLOCK
DataA
C
E
D
B
K
F
H
J
G
I
B3
B7
B4
B2
B5
B1
B6
B8
L
M
B9
Laptop A
Laptop B
Message A to BMessage B to A