PROBLEMS WITH REDUNDANT TOPOLOGIES
As discussed previously redundant topologies suffer from several drawbacks:
Broadcast storms
Multiple frame copies
MAC database instability
SOLUTION: SPANNING-TREE
PROTOCOL
x Block
• Provides a loop-free redundant network topology by
placing certain ports in the blocking state.
SPANNING-TREE OPERATIONS
Ethernet bridges and switches can implement the IEEE 802.1d
Spanning-Tree Protocol
Spanning-tree algorithm to construct a loop free shortest path network
Shortest path is based on cumulative link costs.
Link costs are based on the speed of the link.
Establishes a root node called the root bridge.
Constructs a topology that has one path for every node on the network.
This tree originates from the root bridge.
Redundant links that are not part of the shortest path tree are blocked
Data frames received on blocked links are dropped
Spanning-Tree Operations
• One root bridge per network
• One root port per nonroot bridge
• One designated port per segment
100BaseT
Designated Port (F) Root Port (F)
Root Bridge Nonroot Bridge
SW X SW Y
Designated Port (F)
xNondesignated Port (B)
10BaseT
THREE CRITERIA TO PUT A PORT INTO
FORWARDING STATE
STP elect a root bridge. STP puts all interfaces on the root bridge in
forwarding state
Each non-root bridge considers one of its ports to have the least
administrative cost between itself and the root bridge. STP places
this least-root-cost interface, called that bridges’ root port, in
forwarding
Many bridges can attach to the same Ethernet segment. The bridge with
the lowest administrative cost from itself to the root bridge, as
compared with the other bridges attached to the same segment, is
placed in forwarding state. The lowest-cost bridge on each segment
is called the designated bridge, and that bridge’s interface, attached
to that segment, is called the designated port
STP: REASONS FOR FORWARDING
STATE
Characterizatio Explanation STP state
n of port
All root bridge’s The root bridge is always the Forwarding
ports designated bridge on tall connected
segments
Each non-root The root port is the port that receives Forwarding
bridge root port the lowest-cost BPDU from the root
Each LAN’s The bridge that forwards the lowest- Forwarding
designated port cost BPDU onto the segment is the
designated bridge for that segment
All other ports All ports that do not meet the other Blocking
criteria are placed into a blocking state
BPDUS
STP defines messages used to exchange information with other bridges, which are
called bridge protocol data units (BPDUs)
BPDUs contain following information:
The root bridge’s bridge ID
The cost to reach the root from this bridge
The bridge ID of the sender of this BPDU
Spanning-Tree Protocol
Root Bridge Selection
Switch X Switch Y
Default Priority 32768 Default Priority 32768
(8000 hex) BPDU (8000 hex)
MAC 0c0011111111 MAC 0c0022222222
• BPDU = Bridge Protocol Data Unit
(default = sent every 2 seconds).
• Root bridge = Bridge with the lowest bridge ID.
• Bridge ID = Bridge priority + bridge MAC address.
• In the example, which switch has the lowest bridge ID?
Spanning-Tree Protocol
Port States
100BaseT
Designated Port (F) Root Port (F)
Port 0 Port 0
Switch X Switch Y
Default Priority 32768 Root bridge Default Priority 32768
MAC 0c0011111111 MAC 0c0022222222
Port 1 Port 1
Designated Port (F)
x Nondesignated Port (B)
10BaseT
Spanning-Tree Protocol
Path Cost
Link Speed Cost (Reratify IEEE Spec) Cost (Previous IEEE Spec)
----------------------------------------------------------------------------------------------------
10 Gbps 2 1
1 Gbps 4 1
100 Mbps 19 10
10 Mbps 100 100
Spanning Tree
Switch Z
MAC 0c0011110000
Default Priority 32768
Port 0
100BaseT
Port 0 Port 0
Switch X Switch Y
MAC 0c0011111111 MAC 0c0022222222
Default Priority 32768 Default Priority 32768
Port 1 Port 1
100BaseT
• Can you figure out:
– What is the root bridge?
– What are the designated, nondesignated, and root ports?
– Which are the forwarding and blocking ports?
Spanning Tree
Switch Z
MAC 0c0011110000
Default Priority 32768
Port 0
Designated port (F)
100BaseT
Port 0 Root port (F) Port 0 Root port (F)
Switch X Switch Y
MAC 0c0011111111 MAC 0c0022222222
Default Priority 32768 Default Priority 32768
Port 1 Port 1
Designated port (F) Nondesignated port (BLK)
100BaseT
• Can you figure out:
– What is the root bridge?
– What are the designated, nondesignated, and root ports?
– Which are the forwarding and blocking ports?
Spanning-Tree Port States
• Spanning-tree transits each port through
several different states:
Blocking
(20 Seconds)
Listening
(15 Seconds)
Learning
(15 Seconds)
Forwarding
STP PORT STATES
Listening- listening to in coming HELLO messages to ensure that
there are no loops, but does not forward traffic or learn MAC
addresses on the interface. This is an interim state between
blocking and forwarding
Learning- still listen to BPDU, plus learn MAC addresses from
incoming frames. It does not forward traffic. The is an interim
state between blocking and forwarding
Disabled- administratively down
SPANNING TREE INTERMEDIATE
STATES
State Forward Learn MACs Transitory
data based on or stable
frames? received state?
frames?
Blocking No No Stable
Listening No No Transitory
Learning No Yes Transitory
Forwarding Yes Yes Stable
STP TIMERS
HELLO time – how long the root waits before sending the periodic
hello BPDUs. Default is 2 second
MAXAGE- how long any bridge should wait, after beginning to not
hear hellos, therefore trying to change the STP topology.
Default is 20 second
Forwarding delay - delay that affect the time involved when
interface changes from blocking state to forwarding state. A
port stays in listening state and then in learning state for the
number of seconds defined by the forwarding delay.
STP RECALCULATION
Root sends a HELLO BPDU, with the cost of 0, out all
its interfaces
Neighboring bridges forward HELLO BPDUs out their
nonroot designated ports, identifying the root, but
their cost added
Each bridge repeat previous step
Root repeat first step every HELLO time
If a bridge does not get a HELLO BPDU in hello time,
it continues as normal
if a bridge fails to receive a HELLO BPDU for an
entire MAXAGE time, the bridge reacts
Spanning-Tree Recalculation
100BaseT
Designated Port Root Port (F)
Port 0 Port 0
Switch X Switch Y
MAC 0c0011111111 MAC 0c0022222222
Default Priority 32768 Root Bridge Default Priority 32768
Port 1 Port 1
Designated Port
x Nondesignated Port (BLK)
10BaseT
Spanning-Tree Recalculation
100BaseT
Designated Port Root Port (F)
Port 0 MAXAGE Port 0
Switch X Switch Y
MAC 0c0011111111
x
Default Priority 32768 Root Bridge
Port 1
x
BPDU Port 1
MAC 0c0022222222
Default Priority 32768
Designated Port
x Nondesignated Port (BLK)
10BaseT
KEY ISSUE: TIME TO CONVERGE
• Convergence occurs when all the switch
and bridge ports have transited to either
the forwarding or the blocking state.
• When network topology changes,
switches and bridges must recompute
the Spanning-Tree Protocol, which
disrupts user traffic.
• Switches must also flush their MAC-
Address tables when recalculating the
spanning tree
RAPID SPANNING-TREE PROTOCOL
The Rapid Spanning-Tree Protocol is defined in the IEEE 802.1w LAN standard. The
standard and protocol introduce new features:
Clarification of port states and roles
Definition of a set of link types that can go to forwarding state rapidly
Concept of allowing switches in a converged network to generate BPDUs rather
than relaying root bridge BPDUs
PORT FAST
PortFast allows a switch to place a port in forwarding state immediately when the port
becomes physically active.
However, the only ports on which you can safely enable PortFast are ports on which you know
that no bridges, switches, or other STP-speaking devices are connected.
PortFast is most appropriate for connections to end-user devices