Spanning-Tree Protocol (STP)
A Layer 2 switch, which functions as a transparent bridge, offers no additional links for redundancy
purposes. To add redundancy, a second switch must be added. Now two switches offer the transparent
bridging function in parallel. LAN designs with redundant links introduce the possibility that frames might
loop around the network forever. These looping frames would cause network performance problems. For
example, when the switches receive an unknown unicast, both will flood the frame out all their available
ports, including the ports that link to the other switch, resulting in what is known as a bridging loop, as the
frame is forwarded around and around between two switches. This occurs because parallel switches are
unaware of each other. The Spanning Tree Protocol (STP), which allows the redundant LAN links to be
used while preventing frames from looping around the LAN indefinitely through those redundant links, was
developed to overcome the possibility of bridging loops. It enables switches to become aware of each other
so that they can negotiate a loop-free path through the network. Loops are discovered before they are opened
for use, and redundant links are shut down to prevent the loops from forming. STP is communicated
between all connected switches on a network. Each switch executes the Spanning-Tree Algorithm (STA)
based on information received from other neighboring switches. The algorithm chooses a reference point in
the network and calculates all the redundant paths to that reference point. When redundant paths are found,
STA picks one path to forward frames with and disables or blocks forwarding on the other redundant paths.
STP computes a tree structure that spans all switches in a subnet or network. Redundant paths are placed in a
blocking or standby state to prevent frame forwarding. The switched network is then in a loop-free condition.
However, if a forwarding port fails or becomes disconnected, the STA will run again to recompute the
Spanning-Tree topology so that blocked links can be reactivated.
By default, STP is enabled on all ports of a switch. STP should remain enabled in a network to prevent
bridging loops from forming. However, if STP has been disabled on a CLI-based switch, it can be reenabled
with the following command:
Switch (enable) set spantree enable [ all | module_number/port_number ]
If STP has been disabled on an IOS-based switch, it can be re-enabled with the following command:
Switch (config)# spantree vlan_list
You can use the show spantree [ vlan ] command to view the status of STP on either a CLI- or IOSbased
switch.
The STA places each bridge/switch port in either a forwarding state or a blocking state. All the ports in
forwarding state are considered to be in the current spanning tree. The collective set of forwarding ports
creates a single path over which frames are sent between Ethernet segments. Switches can forward frames
out ports and receive frames in ports that are in forwarding state; switches do not forward frames out ports
and receive frames in ports that are in blocking state.
STP uses three criteria to choose whether to put an interface in forwarding state or a blocking state:
• STP elects a root bridge and puts all interfaces on the root bridge in forwarding state.
• Each nonroot bridge considers one of its ports to have the lowest administrative cost between itself and
the root bridge. STP places this lowest-root-cost interface, called that bridge's root port, in forwarding
state.
• 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.
All other interfaces are placed in blocking state.