STP, RSTP, PVST, RPVST, and MSTP

A long ago, Digital Equipment Corporation (DEC) created the original version of STP as a proprietary protocol for its switches. Later, IEEE created an open standard version of STP. Although it runs on all vendors' switches, it has several limitations. It runs only one instance per switch. It also has slow convergence. To overcome these issues, Cisco developed its own STP. Cisco's STP is based on IEEE's STP. It uses the same terminology and concepts but provides some additional features. It runs one instance per VLAN. Cisco's STP is called PVST (Per VLAN Spanning-Tree). 

Later, IEEE updated the STP with the RSTP to fulfill the requirements of the modern network. RSTP is the updated version of STP. It speeds up the convergence process. It uses the same framework STP uses. You can use both in the same network. RSTP features will work in switches that support it, and traditional STP features will work in the switches that support only STP.

Cisco also updated its variation with RPVST. RPVST is based on RSTP. Similar to PVST, it also uses the same terminology and concepts RSTP uses but supports one instance per VLAN and some additional features such as PortFast and EtherChannel.

The main problem with IEEE's STP and RSTP is that they both run only one instance per switch, which does not scale a large network running several VLANs. To support VLANs, IEEE created a special version of STP. It is called MSTP. MSTP runs one instance per VLAN.

Similarities between STP, RSTP, PVST, RPVST, and MSTP

The following are the similarities between STP, RSTP, PVST, RPVST, and MSTP. 

  • All create and use a virtual topology to find switching loops in every VLAN.
  • All elect a root bridge and use it as the focal point of the virtual topology.
  • All use the same rules and tiebreakers for the root bridge election.
  • Besides the root bridge, all remaining switches become non-root bridge switches.
  • All select only one root port to reach the root bridge.
  • All use the same rules and tiebreakers to select the root port.
  • All select only one designated port for every local segment or end device.
  • All use the same rules and tiebreakers to select the designated port.
  • After selecting root and designated ports, they block all remaining ports to remove loops.
  • All variations run all ports through a few states. During these states, they learn the network topology, flush CAM table entries, select root and designated ports, and block the ports causing the loops.

Differences between STP, RSTP, PVST, RPVST, and MSTP

The main reason for creating RSTP/RPVST was the convergence. Convergence is the time STP takes to react to a network change. STP/PVST takes a relatively long time for convergency. With default settings, it takes 50 seconds to reach convergence. RSTP/RPVST/MSTP improves it. It reaches convergence within a few seconds (or in slow conditions, in about 10 seconds).

It adds two new port types for rapid convergence. These port types are alternative and backup ports. It uses the alternative port to reach the root bridge if the link connected to the root port fails. It uses the backup port to reach the local segment when the link connected to the designated port fails.

Since it has an alternative or backup port, it does not have to reselect the root or designated ports when a network change occurs. If the root path fails, it enables the alternative port within a few seconds. If the designated path fails, it enables the backup port. It means if the network is running RSTP/RPVST/MSTP, it has to wait a maximum of 10 seconds whenever a change occurs.

STP/PVST does not have a concept of alternative and designated ports. If the root or designated path fails, it reruns the entire process to select the new root or designated ports. Running the entire process again takes 50 seconds. It means if the network is running STP, it has to wait for 50 seconds whenever a change occurs.

RSTP/RPVST/MSTP does not use the learning state. It also renames the blocking state to the discarding state and redefines its use slightly. It combines disabled and blocking states into the discarding state. In the disabled state, the port can work physically, but it can not forward user frames. It simply meant that the interface was administratively disabled.

The following table compares STP/PVST and RSTP/RPVST/MSTP port states.

Function STP/PVST State RSTP/RPVST/MSTP State
The port is administratively disabled Disabled Discarding
The port is not accepting and forwarding user frames Blocking Discarding
The port is not accepting and forwarding user frames but listing BPDUs. Listening Not used
The port is accepting and using user frames to build CAM table entries but not forwarding them. Learning Learning
The port is accepting and forwarding user frames. Forwarding Forwarding

STP/PVST and RSTP/RPVST/MSTP flush CAM table entries differently. Each CAM table entry has a default age-old time. Once this time has expired, the switch removes the entry from the CAM table. STP waits for this time to expire. RSTP/RPVST/MSTP does not wait for this time to expire. It flashes all CAM table entries whenever a change occurs.

Comparing STP, RSTP, PVST, RPVST, and MSTP

The following table compares STP, RSTP, PVST, RPVST, and MSTP and lists their differences.

Base/Critrea STP PVST RSTP RPVST MSTP
Developer/creator IEEE   Cisco IEEE Cisco IEEE
Standard Open-Standard ProprietaryOpen-Standard ProprietaryOpen-Standard
Support VLAN No Yes No Yes Yes
Instance One per switch One Per VLAN One per switch One Per VLAN One Per VLAN
Support PortFast No Yes No Yes No
Support EtherChannel No Yes No Yes No
Runs on All switches Only on Cisco switches All switches Only on Cisco switches All switches
Convergence Slow moderate fast Fast Fast Fast

Conclusion

There are many variations of STP. Each variation has some specific features. In this tutorial, we discussed these variations and learned their specific features.

ComputerNetworkingNotes CCNA Study Guide STP, RSTP, PVST, RPVST, and MSTP