The original IEEE 802.1D standard defines a Common Spanning Tree (CST) that assumes only one spanning tree instance for the entire switched network, regardless of the number of VLAN. A network running CST has these characteristics:
- No load sharing is possible. One uplink must block for all VLANs.
- The CPU is spared. Only one instance of spanning tree must be computed.
Cisco developed PVST+ so that a network can run an independent instance of the Cisco implementation of IEEE 802.1D for each VLAN in the network. With PVST+, it is possible for one trunk port on a switch to be blocking for a VLAN while not blocking for other VLANs. PVST+ can be used to implement Layer 2 load balancing. Because each VLAN runs a separate instance of STP, the switches in a PVST+ environment require greater CPU process and BPDU bandwidth consumption than a traditional CST implementation of STP.
In a PVST+ environment, spanning tree parameters can be tuned so that half of the VLANs forward on each uplink trunk. In the figure, port F0/3 on S2 is the forwarding port for VLAN 20, and F0/2 on S2 is the forwarding port for VLAN 10. This is accomplished by configuring one switch to be elected the root bridge for half of the VLANs in the network, and a second switch to be elected the root bridge for the other half of the VLANs. In the figure, S3 is the root bridge for VLAN 20, and S1 is the root bridge for VLAN 10. Multiple STP root bridges per VLAN increases redundancy in the network.
Networks running PVST+ have these characteristics:
- Optimum load balancing can result.
- One spanning tree instance for each VLAN maintained can mean a considerable waste of CPU cycles for all the switches in the network (in addition to the bandwidth that is used for each instance to send its own BPDU). This would only be problematic if a large number of VLANs are configured.