The history of using STP with VLANs is interesting, because it acts as a macro for how many standards have been developed. In the past, Cisco and the IEEE have differed in their approaches to the use of these two protocols together.
As we discovered in Chapter 4, “Layer 2 Switching and the Spanning Tree Protocol (STP),” STP has some well-defined problems. First, convergence can be slow because of the forwarding delays. This is unacceptable in modern networks where users and applications expect immediate recovery from equipment failures. Additionally, it is likely that a general Spanning Tree topology applied to all VLANs will result in suboptimal paths for some users. The result has been a spate of developments, some proprietary and some standards-based, to overcome these problems.
Per-VLAN Spanning Tree (PVST) is a Cisco proprietary implementation of STP. PVST uses Inter-Switch Link (ISL) routing and runs a separate instance of STP for each and every VLAN.
The IEEE uses Common Spanning Tree (CST), which is defined with IEEE 802.1Q. The IEEE 802.1Q defines one spanning tree instance for all VLANs. A new mechanism, recently standardized as 802.1s, allows multiple spanning tree instances but in a more complex fashion; it runs multiple instances of STP on a one-to-one basis with VLANs. There is one more implementation of STP, and that is called PVST+. Because it ends with a plus sign, it must be better, right? Well, maybe. What it does is allow CST information to be passed into PVST. Cisco thinks it would be easier if you simply had all Cisco switches; then you wouldn’t even have to think about this issue.
This chapter covers the current protocols supported by Cisco, and compares the options. The following list includes a brief explanation of each STP implementation:
Per-VLAN Spanning Tree (PVST) Default for Cisco switches; runs a separate instance of spanning tree for each VLAN. Makes smaller STP implementations for easier convergence.
Common Spanning Tree (CST) The 802.1Q standard; runs one large STP on the entire network regardless of the number of VLANs. Problems with convergence can occur in large networks.
Per-VLAN Spanning Tree+ (PVST+) Allows Cisco switches to communicate with CST switches.
Multiple Spanning Tree (MSP) The 802.1s standard, supported by Cisco on IOS-based switches since versions of 12.1. Allows multiple instances of STP and group VLAN mapping.
In the rest of this section, we’ll go into more detail about each type of STP implementation and its use with VLANs.
The STP protocol does not scale well with large switched networks. In large switched networks, delays can occur in receiving BPDUs. These delays can cause instability in the STP database. Delays in larger switched networks can also cause convergence time problems, which means that the network will not be forwarding frames.
To solve late BPDUs and convergence problems, Cisco created a separate instance of Per- VLAN Spanning Tree (PVST). It makes smaller STP implementations, which are easier for the switches to manage. Also, with PVST, each VLAN has a unique Spanning Tree Protocol topology for its root, port cost, path cost, and priority.
By running PVST, you still provide a loop-free network, but it is based within each VLAN. Each switch has a spanning tree process running for each VLAN. If a switch has five VLANs that it knows about, then it will have five instances of spanning tree running. The benefits of having a PVST are as follows:
It reduces the STP recalculation time when the switched network is converging.
The spanning tree topology is smaller because all links will not support all VLANs.
It makes the switched network easier to scale.
Recovery is faster than with a large network that has one STP instance.
It allows administrative control of forwarding paths on a subnet basis.
It allows for load balancing over redundant links when VLAN priorities are established for those links.
However, there are some disadvantages of using a spanning-tree-per-instance implementation:
The utilization on the switch is a factor because it needs to manage all the STP instances.
You must take into consideration that the trunk links have to support all the VLAN STP information as well.
It requires ISL.
PVST is a Cisco proprietary protocol.
The IEEE 802.1Q is referred to as the Common Spanning Tree (CST). It is also called the Mono- Spanning Tree because it uses only one spanning tree instance regardless of the size of the switched layer 2 network.
The CST runs on all VLANs by default, and all switches are involved in the election process to find the root bridge. The switches then form an association with that root bridge. Typically, using CST does not allow for optimization of the root bridge placement.
There are some advantages to CST. With one STP instance, there are fewer BPDUs consuming bandwidth. Because there is only one instance of STP in the network, there is less STP processing performed by the switches.
However, the disadvantages typically outweigh the advantages in a larger network. With a single root bridge, the path that has been calculated as the best cost to the root bridge might not be the most efficient for some users to send their data. Another disadvantage of CST is that the STP topology increases in size to make sure all ports in the network are found. This can cause delays in the update and convergence times if the network topology is too large.
Per-VLAN Spanning Tree+ (PVST+) is an extension of the PVST standard. Starting with the Catalyst software 4.1 or later, PVST+ is supported on Cisco Catalyst switches. This enables Cisco switches to support the IEEE 802.1Q standard. Basically, the PVST+ extension of the PVST protocol provides support for links across an IEEE 802.1Q CST region.
PVST+ also supports the Cisco default PVST and adds checking mechanisms to make sure there are no configuration problems on trunked ports and VLAN IDs across switches. PVST+ is plug-and-play compatible with PVST with no configuration necessary. To provide support for the IEEE 802.1Q standard, Cisco’s existing PVST has been modified with additional features, enabling it to support a link across the IEEE 802.1Q Common Spanning Tree region.
PVST+ includes the following features:
Provides notification of inconsistencies related to port trunking or VLAN identification across the switches.
Adds mechanisms to ensure that there is no unknown configuration.
Tunnels PVST BPDUs through the 802.1Q VLAN region as multicast data.
Provides compatibility with IEEE 802.1Q’s CST and Cisco’s PVST protocols.
Interoperates with 802.1Q-compliant switches using CST through 802.1Q trunking. A CST BPDU is transmitted or received with an IEEE standard bridge group MAC address.
Blocks ports that receive inconsistent BPDUs in order to prevent forwarding loops.
Notifies users via Syslog messages about all inconsistencies.
Multiple Spanning Tree (MST) builds upon the proprietary PVST+ standard. With MST a number of spanning tree instances can be created, but they are not mapped one-to-one to VLANs. The reason for this is that in most networks, even those supporting hundreds of VLANs, there are a small number of optimal topologies. As each instance of STP demands its own root and all the associated BPDU activity, the processing overhead can be unnecessarily high if we allow each VLAN to have its own spanning tree. Better to create the STP instances and then map VLANs to those instances.
MST features include switches that are grouped together in MST “regions”—interconnected bridges that have the same MST configuration. Each switch in an MST region maintains three attributes: a configuration name, a revision number, and a table associating each of the VLANs supported per MST instance (up to the 4096 maximum). These attributes are common across a domain and must be shared by all switches. Different attributes signify a different domain, which changes the switch-to-switch relationship. Finally, different instances of STP have several VLANs mapped to them, creating the opportunity for VLANs to operate with optimal topology, but reducing the overhead associated with PVST.
MST was approved by the IEEE as 802.11g in June 2003, so a standards-based implementation of this protocol is likely to figure extensively in the future.
Readers wishing to know more about 802.1s than is covered in the CCNP program should visit www.cisco.com/warp/public/473/147.html.