Go to these sections for information you
are interested in:
l
MSTP
Overview
l
Configuring
Root Bridge
l
Configuring
Leaf Nodes
l
Performing
mCheck Operation
l
Configuring
Guard Functions
l
Configuring
Digest Snooping
l
Configuring
Rapid Transition
l
Configuring
VLAN-VPN Tunnel
l
STP
Maintenance Configuration
l
Enabling
Trap Messages Conforming to 802.1d Standard
l
Displaying
and Maintaining MSTP
l
MSTP
Configuration Example
l
VLAN-VPN
tunnel Configuration Example
I. Functions of STP
Spanning tree protocol (STP) is a protocol conforming to IEEE 802.1d.
It aims to eliminate loops on data link layer in a local area network (LAN).
Devices running this protocol detect loops in the network by exchanging packets
with one another and eliminate the loops detected by blocking specific ports
until the network is pruned into one with tree topology. As a network with tree
topology is loop-free, it prevents packets in it from being duplicated and forwarded
endlessly and prevents device performance degradation.
Currently, in addition to the protocol conforming
to IEEE 802.1d, STP also refers to the protocols based on IEEE 802.1d, such as
RSTP, and MSTP.
II. Protocol packets of STP
STP uses bridge protocol data units
(BPDUs), also known as configuration messages, as its protocol packets.
STP identifies the network topology by
transmitting BPDUs between STP compliant network devices. BPDUs contain
sufficient information for the network devices to complete the spanning tree calculation.
In STP, BPDUs come in two types:
l
Configuration BPDUs, used to calculate spanning
trees and maintain the spanning tree topology.
l
Topology change notification (TCN) BPDUs, used
to notify concerned devices of network topology changes, if any.
III. Basic concepts in STP
1)
Root bridge
A tree network must have a root; hence the
concept of root bridge has been introduced in STP.
There is one and only one root bridge in
the entire network, and the root bridge can change alone with changes of the
network topology. Therefore, the root bridge is not fixed.
Upon network convergence, the root bridge
generates and sends out configuration BPDUs periodically. Other devices just
forward the configuration BPDUs received. This mechanism ensures the
topological stability.
2)
Root port
On a non-root
bridge device, the root port is the port with the lowest path cost to the root
bridge. The root port is used for communicating with the root bridge. A
non-root-bridge device has one and only one root port. The root bridge has no
root port.
3)
Designated bridge and designated port
Refer to the following table for the
description of designated bridge and designated port.
Table 1-1
Designated bridge and designated port
|
Classification
|
Designated bridge
|
Designated port
|
|
For a device
|
A designated bridge is a device that is
directly connected to a switch and is responsible for forwarding BPDUs to
this switch.
|
The port through which the designated
bridge forwards BPDUs to this device
|
|
For a LAN
|
A designated bridge is a device
responsible for forwarding BPDUs to this LAN segment.
|
The port through which the designated bridge
forwards BPDUs to this LAN segment
|
Figure 1-1 shows designated
bridges and designated ports. In the figure, AP1 and AP2, BP1 and BP2, and CP1
and CP2 are ports on Device A, Device B, and Device C respectively.
l
If Device A forwards BPDUs to Device B through
AP1, the designated bridge for Device B is Device A, and the designated port is
the port AP1 on Device A.
l
Two devices are connected to the LAN: Device B
and Device C. If Device B forwards BPDUs to the LAN, the designated bridge for
the LAN is Device B, and the designated port is the port BP2 on Device B.

Figure 1-1 A
schematic diagram of designated bridges and designated ports
All the ports on
the root bridge are designated ports.
4)
Path cost
Path cost is a value used for measuring
link capacity. By comparing the path costs of different links, STP selects the
most robust links and blocks the other links to prune the network into a tree.
IV. How STP
works
STP identifies the network topology by
transmitting configuration BPDUs between network devices. Configuration BPDUs
contain sufficient information for network devices to complete the spanning
tree calculation. Important fields in a configuration BPDU include:
l
Root bridge ID, consisting of root bridge
priority and MAC address.
l
Root path cost, the cost of the shortest path to
the root bridge.
l
Designated bridge ID, designated bridge priority
plus MAC address.
l
Designated port ID, designated port priority
plus port name.
l
Message age: lifetime for the configuration BPDUs
to be propagated within the network.
l
Max age, lifetime for the configuration BPDUs to
be kept in a switch.
l
Hello time, configuration BPDU interval.
l
Forward delay, forward delay of the port.
For the convenience of description, the
description and examples below involve only four parts of a configuration BPDU:
l
Root bridge ID (in the form of device priority)
l
Root path cost
l
Designated bridge ID (in the form of device
priority)
l
Designated port ID (in the form of port name)
1)
Detailed calculation process of the STP
algorithm
l
Initial state
Upon initialization
of a device, each device generates a BPDU with itself as the root bridge, in
which the root path cost is 0, designated bridge ID is the device ID, and the
designated port is the local port.
l
Selection of the optimum configuration BPDU
Each device sends out its configuration
BPDU and receives configuration BPDUs from other devices.
The process of selecting the optimum
configuration BPDU is as follows:
Table 1-2
Selection of the optimum configuration BPDU
|
Step
|
Description
|
|
1
|
Upon
receiving a configuration BPDU on a port, the device performs the following
processing:
l If the received configuration BPDU has a lower priority than that
of the configuration BPDU generated by the port, the device will discard the
received configuration BPDU without doing any processing on the configuration
BPDU of this port.
l If the received configuration BPDU has a higher priority than that
of the configuration BPDU generated by the port, the device will replace the
content of the configuration BPDU generated by the port with the content of
the received configuration BPDU.
|
|
2
|
The device compares the configuration
BPDUs of all the ports and chooses the optimum configuration BPDU.
|
Principle
for configuration BPDU comparison:
l
The configuration BPDU that has the lowest root
bridge ID has the highest priority.
l
If all configuration BPDUs have the same root
bridge ID, they will be compared for their root path costs. If the root path
cost in a configuration BPDU plus the path cost corresponding to this port is
S, the configuration BPDU with the smallest S value has the highest priority.
l
If all configuration BPDUs have the same root
path cost, the following configuration BPDU priority is compared sequentially: designated
bridge IDs, designated port IDs, and then the IDs of the ports on which the
configuration BPDUs are received. The switch with a higher priority is elected
as the root bridge.
l
Selection of the root bridge
At network initialization, each
STP-compliant device on the network assumes itself to be the root bridge, with
the root bridge ID being its own bridge ID. By exchanging configuration BPDUs,
the devices compare one another’s root bridge ID. The device with the
smallest root bridge ID is elected as the root bridge.
l
Selection of the root port and designated ports
The process of
selecting the root port and designated ports is as follows:
Table 1-3
Selection of the root port and designated ports
|
Step
|
Description
|
|
1
|
A
non-root-bridge device takes the port on which the optimum configuration BPDU
was received as the root port.
|
|
2
|
Based on
the configuration BPDU and the path cost of the root port, the device
calculates a designated port configuration BPDU for each of the rest ports.
l The root bridge ID is replaced with that of the configuration BPDU
of the root port.
l The root path cost is replaced with that of the configuration BPDU
of the root port plus the path cost corresponding to the root port.
l The designated bridge ID is replaced with the ID of this device.
l The designated port ID is replaced with the ID of this port.
|
|
3
|
The device compares the calculated configuration
BPDU with the configuration BPDU on the port whose role is to be determined,
and acts as follows based on the comparison result:
l
If the calculated configuration BPDU is
superior, this port will serve as the designated port, and the configuration
BPDU on the port will be replaced with the calculated configuration BPDU,
which will be sent out periodically.
l
If the configuration BPDU on the port is
superior, the device stops updating the configuration BPDUs of the port and blocks
the port, so that the port only receives configuration BPDUs, but does not forward
data or send configuration BPDUs.
|
When the network
topology is stable, only the root port and designated ports forward traffic,
while other ports are all in the blocked state – they only receive STP
packets but do not forward user traffic.
Once the root bridge, the root port on each
non-root bridge and designated ports have been successfully elected, the entire
tree-shaped topology has been constructed.
The following is an example of how the STP
algorithm works. The specific network diagram is shown in Figure 1-2. The
priority of Device A is 0, the priority of Device B is 1, the priority of
Device C is 2, and the path costs of these links are 5, 10 and 4 respectively.

Figure 1-2 Network diagram for STP algorithm
l
Initial state of each device
The following table
shows the initial state of each device.
Table 1-4
Initial state of each device
|
Device
|
Port name
|
BPDU of port
|
|
Device A
|
AP1
|
{0, 0, 0, AP1}
|
|
AP2
|
{0, 0, 0, AP2}
|
|
Device B
|
BP1
|
{1, 0, 1, BP1}
|
|
BP2
|
{1, 0, 1, BP2}
|
|
Device C
|
CP1
|
{2, 0, 2, CP1}
|
|
CP2
|
{2, 0, 2, CP2}
|
l
Comparison process and result on each device
The following table
shows the comparison process and result on each device.
Table 1-5
Comparison process and result on each device
|
Device
|
Comparison process
|
BPDU of port after comparison
|
|
Device A
|
l
Port AP1 receives the configuration BPDU of
Device B {1, 0, 1, BP1}. Device A finds that the configuration BPDU of the local
port {0, 0, 0, AP1} is superior to the configuration received message, and
discards the received configuration BPDU.
l
Port AP2 receives the configuration BPDU of
Device C {2, 0, 2, CP1}. Device A finds that the BPDU of the local port {0,
0, 0, AP2} is superior to the received configuration BPDU, and discards the
received configuration BPDU.
l
Device A finds that both the root bridge and
designated bridge in the configuration BPDUs of all its ports are Device A
itself, so it assumes itself to be the root bridge. In this case, it does not
make any change to the configuration BPDU of each port, and starts sending
out configuration BPDUs periodically.
|
AP1: {0, 0, 0, AP1}
AP2: {0, 0, 0, AP2}
|
|
Device B
|
l
Port BP1 receives the configuration BPDU of
Device A {0, 0, 0, AP1}. Device B finds that the received configuration BPDU
is superior to the configuration BPDU of the local port {1, 0,1, BP1}, and
updates the configuration BPDU of BP1.
l
Port BP2 receives the configuration BPDU of
Device C {2, 0, 2, CP2}. Device B finds that the configuration BPDU of the
local port {1, 0, 1, BP2} is superior to the received configuration BPDU, and
discards the received configuration BPDU.
|
BP1: {0, 0, 0, AP1}
BP2: {1, 0, 1, BP2}
|
|
l
Device B compares the configuration BPDUs of
all its ports, and determines that the configuration BPDU of BP1 is the
optimum configuration BPDU. Then, it uses BP1 as the root port, the
configuration BPDUs of which will not be changed.
l
Based on the configuration BPDU of BP1 and the
path cost of the root port (5), Device B calculates a designated port
configuration BPDU for BP2 {0, 5, 1, BP2}.
l
Device B compares the calculated configuration
BPDU {0, 5, 1, BP2} with the configuration BPDU of BP2. If the calculated BPDU
is superior, BP2 will act as the designated port, and the configuration BPDU
on this port will be replaced with the calculated configuration BPDU, which
will be sent out periodically.
|
Root port BP1:
{0, 0, 0, AP1}
Designated port BP2:
{0, 5, 1, BP2}
|
|
Device C
|
l
Port CP1 receives the configuration BPDU of
Device A {0, 0, 0, AP2}. Device C finds that the received configuration BPDU
is superior to the configuration BPDU of the local port {2, 0, 2, CP1}, and
updates the configuration BPDU of CP1.
l
Port CP2 receives the configuration BPDU of
port BP2 of Device B {1, 0, 1, BP2} before the message was updated. Device C
finds that the received configuration BPDU is superior to the configuration
BPDU of the local port {2, 0, 2, CP2}, and updates the configuration BPDU of
CP2.
|
CP1: {0, 0, 0, AP2}
CP2: {1, 0, 1, BP2}
|
|
By comparison:
l
The configuration BPDUs of CP1 is elected as
the optimum configuration BPDU, so CP1 is identified as the root port, the
configuration BPDUs of which will not be changed.
l
Device C compares the calculated designated
port configuration BPDU {0, 10, 2, CP2} with the configuration BPDU of CP2,
and CP2 becomes the designated port, and the configuration BPDU of this port
will be replaced with the calculated configuration BPDU.
|
Root port CP1:
{0, 0, 0, AP2}
Designated port CP2:
{0, 10, 2, CP2}
|
|
l
Next, port CP2 receives the updated
configuration BPDU of Device B {0, 5, 1, BP2}. Because the received
configuration BPDU is superior to its old one, Device C launches a BPDU
update process.
l
At the same time, port CP1 receives
configuration BPDUs periodically from Device A. Device C does not launch an
update process after comparison.
|
CP1: {0, 0, 0, AP2}
CP2: {0, 5, 1, BP2}
|
|
By comparison:
l
Because the root path cost of CP2 (9) (root
path cost of the BPDU (5) + path cost corresponding to CP2 (4)) is smaller
than the root path cost of CP1 (10) (root path cost of the BPDU (0) + path
cost corresponding to CP2 (10)), the BPDU of CP2 is elected as the optimum
BPDU, and CP2 is elected as the root port, the messages of which will not be
changed.
l
After comparison between the configuration
BPDU of CP1 and the calculated designated port configuration BPDU, port CP1
is blocked, with the configuration BPDU of the port remaining unchanged, and
the port will not receive data from Device A until a spanning tree calculation
process is triggered by a new condition, for example, the link from Device B
to Device C becomes down.
|
Blocked port CP2:
{0, 0, 0, AP2}
Root port CP2:
{0, 5, 1, BP2}
|
After the comparison processes described in
the table above, a spanning tree with Device A as the root bridge is
stabilized, as shown in Figure
1-3.

Figure 1-3 The
final calculated spanning tree
To facilitate
description, the spanning tree calculation process in this example is
simplified, while the actual process is more complicated.
2)
The BPDU forwarding mechanism in STP
l
Upon network initiation, every switch regards
itself as the root bridge, generates configuration BPDUs with itself as the
root, and sends the configuration BPDUs at a regular interval of hello time.
l
If it is the root port that received the
configuration BPDU and the received configuration BPDU is superior to the
configuration BPDU of the port, the device will increase message age carried in
the configuration BPDU by a certain rule and start a timer to time the
configuration BPDU while it sends out this configuration BPDU through the
designated port.
l
If the configuration BPDU received on the
designated port has a lower priority than the configuration BPDU of the local
port, the port will immediately sends out its better configuration BPDU in
response.
l
If a path becomes faulty, the root port on this
path will no longer receive new configuration BPDUs and the old configuration
BPDUs will be discarded due to timeout. In this case, the device generates configuration
BPDUs with itself as the root bridge and sends configuration BPDUs and TCN
BPDUs. This triggers a new spanning tree calculation so that a new path is
established to restore the network connectivity.
However, the newly calculated configuration
BPDU will not be propagated throughout the network immediately, so the old root
ports and designated ports that have not detected the topology change continue
forwarding data through the old path. If the new root port and designated port
begin to forward data as soon as they are elected, a temporary loop may occur.
3)
STP timers
The following three time parameters are important
for STP calculation:
l
Forward delay, the period a device waits before state
transition.
A link failure triggers a new round of spanning
tree calculation and results in changes of the spanning tree. However, as new
configuration BPDUs cannot be propagated throughout the network immediately, if
the new root port and designated port begin to forward data as soon as they are
elected, loops may temporarily occur.
For this reason, the protocol uses a state
transition mechanism. Namely, a newly elected root port and the designated ports
must go through a period, which is twice the forward delay time, before they transit
to the forwarding state. The period allows the new configuration BPDUs to be
propagated thr