PVSTP+ (Per-VLAN STP)
The development of PVSTP was a major improvement of the conventional 802.1D STP, PVST is a CISCO proprietary variant of STP that allows STP to be run per VLAN in the network. With this implementation of STP, we can have different root bridges, and port roles on the switches in the network depending on the VLAN. This also allows for load sharing.
In PVST+, you can configure different switches to be the root bridge as shown in the diagram below. Switch AS1 is the root bridge for VLAN 10 and 100 and 99. Switch AS2 is the root bridge for VLAN 20 and switch AS3 is the root bridge for VLAN 30.
Per-VLAN Spanning Tree (PVST) maintains a spanning tree instance for each VLAN configured in the network. It uses ISL Trunking and allows a VLAN trunk to be forwarding for some VLANs while blocking for other VLANs. Since PVST treats each VLAN as a separate network, it has the ability to load balance traffic (at layer-2) by forwarding some VLANs on one trunk and other Vlans on another trunk without causing a Spanning Tree loop.
PVST
The type of a single instance Spanning Tree Protocol (STP) is known as Common Spanning Tree (CST).
Delay in receiving BPDUs is common in large switched Common Spanning Tree (CST) networks. The delay in receiving BPDUs can cause problems like convergence time problems. Per-VLAN Spanning Tree (PVST) is a solution for these problems. Per-VLAN Spanning Tree is a Cisco proprietary Spanning Tree Protocol (STP) which operates a separate instance of Spanning Tree Protocol (STP) for each individual VLAN. A separate instance of Spanning Tree Protocol (STP) for each VLAN helps VLAN to be configured independently and also can perform better. Per-VLAN Spanning Tree requires Inter-Switch Link (ISL).
Per-VLAN Spanning Tree+ (PVST+) is an extension of the Per-VLAN Spanning Tree standard. Per-VLAN Spanning Tree+ (PVST+) allows interoperability between CST and Per-VLAN Spanning in Cisco switches and support the IEEE 802.1Q standard.