STP - Spanning Tree Protocol
The 802.1D Spanning Tree Protocol (STP) standard
was designed at a time when the recovery of connectivity after an outage within
a minute or so was considered adequate performance. With the advent of Layer 3
switching in LAN environments, bridging now competes with routed solutions
where protocols, such as Open Shortest Path First (OSPF) and Enhanced Interior
Gateway Routing Protocol (EIGRP), are able to provide an alternate path in less
time.
Cisco enhanced the original 802.1D specification
with features such as Uplink Fast, Backbone Fast, and Port Fast to speed up the
convergence time of a bridged network. The drawback is that these mechanisms
are proprietary and need additional configuration.
Rapid Spanning Tree Protocol (RSTP; IEEE 802.1w)
can be seen as an evolution of the 802.1D standard more than a revolution. The
802.1D terminology remains primarily the same. Most parameters have been left
unchanged so users familiar with 802.1D can rapidly configure the new protocol
comfortably. In most cases, RSTP performs better than proprietary extensions of
Cisco without any additional configuration. 802.1w can also revert back to
802.1D in order to interoperate with legacy bridges on a per-port basis. This
drops the benefits it introduces.
The new edition of the 802.1D standard, IEEE
802.1D-2004, incorporates IEEE 802.1t-2001 and IEEE 802.1w standards.
This document provides information about the
enhancements added by RSTP to the previous 802.1D standard.
The 802.1D is defined in these five different port states:
1. disabled
2. listening
3. learning
4. blocking
5. forwarding
Port States
There are only three port states left in RSTP that
correspond to the three possible operational states. The 802.1D disabled,
blocking, and listening states are merged into a unique 802.1w discarding
state.
STP (802.1D) Port State
|
RSTP (802.1w) Port State
|
Is Port Included in Active Topology?
|
Is Port Learning MAC Addresses?
|
Disabled
|
Discarding
|
No
|
No
|
Blocking
|
Discarding
|
No
|
No
|
Listening
|
Discarding
|
Yes
|
No
|
Learning
|
Learning
|
Yes
|
Yes
|
Forwarding
|
Forwarding
|
Yes
|
Yes
|
Root
Port Roles
The port that receives the best BPDU on a bridge is
the root port. This is the port that is the closest to the root bridge in terms
of path cost. The STA elects a single root bridge in the whole bridged network
(per-VLAN). The root bridge sends BPDUs that are more useful than the ones any
other bridge sends. The root bridge is the only bridge in the network that does
not have a root port. All other bridges receive BPDUs on at least one port.
Designated
Port Role
A port is designated if it can send the best BPDU
on the segment to which it is connected. 802.1D bridges link together different
segments, such as Ethernet segments, to create a bridged domain. On a given
segment, there can only be one path toward the root bridge. If there are two, there
is a bridging loop in the network. All bridges connected to a given segment
listen to the BPDUs of each and agree on the bridge that sends the best BPDU as
the designated bridge for the segment. The port on that bridge that corresponds
is the designated port for that segment.
Alternate
and Backup Port Roles
These two port roles correspond to the blocking
state of 802.1D. A blocked port is defined as not being the designated or root
port. A blocked port receives a more useful BPDU than the one it sends out on
its segment. Remember that a port absolutely needs to receive BPDUs in order to
stay blocked. RSTP introduces these two roles for this purpose.
An alternate port receives more useful BPDUs from
another bridge and is a port blocked. This is shown in this diagram:
A backup port receives more useful BPDUs from the
same bridge it is on and is a port blocked. This is shown in this diagram:
This distinction is already made internally within 802.1D.
This is essentially how Cisco UplinkFast functions. The rationale is that an
alternate port provides an alternate path to the root bridge and therefore can
replace the root port if it fails. Of course, a backup port provides redundant
connectivity to the same segment and cannot guarantee an alternate connectivity
to the root bridge. Therefore, it is excluded from the uplink group.
As a result, RSTP calculates the final topology for
the spanning tree that uses the same criteria as 802.1D. There is absolutely no
change in the way the different bridge and port priorities are used. The name
blocking is used for the discarding state in Cisco implementation. CatOS
releases 7.1 and later still display the listening and learning states. This
gives even more information about a port than the IEEE standard requires.
However, the new feature is now there is a difference between the role the
protocol determines for a port and its current state. For example, it is now
perfectly valid for a port to be designated and blocking at the same time.
While this typically occurs for very short periods of time, it simply means
that this port is in a transitory state towards the designated forwarding
state.
New BPDU
Format
Few changes have been introduced by RSTP to the
BPDU format. Only two flags, Topology Change (TC) and TC Acknowledgment (TCA),
are defined in 802.1D. However, RSTP now uses all six bits of the flag byte
that remain in order to perform:
Encode the role and state of the port that
originates the BPDU
Handle the proposal/agreement mechanism
Another important change is that the RSTP BPDU is
now of type 2, version 2. The implication is that legacy bridges must drop this
new BPDU. This property makes it easy for a 802.1w bridge to detect legacy
bridges connected to it.