Understanding how RPVST+ operates
The topology has four switches running RSTP. Switch “A” is the root switch. In order to prevent a loop, RSTP blocks the link between switch “B” and switch “D”. There are two VLANs in this network (VLAN 10 and VLAN 20). Since RSTP does not have VLAN intelligence, it forces all VLANs in a layer 2 domain to follow the same spanning tree. There will not be any traffic through the link between switch “B” and switch “D” and hence the link bandwidth gets wasted. On the other hand, RPVST+ runs different spanning trees for different VLANs. Consider the following diagrams.
The two topologies above are the same as the first topology, but now the switches run RPVST+ and can span different trees for different VLANs. Switch “A” is the root switch for the VLAN 10 spanning tree and switch “D” is the root switch for the VLAN 20 spanning tree. The link between switch “B” and switch “D” is only blocked for VLAN 10 traffic but VLAN 20 traffic goes through that link. Similarly the link between switch “A” and switch “C” is blocked only for VLAN 20 traffic but VLAN 10 traffic goes through that link. Here, traffic passes through all the available links, and network availability and bandwidth utilization increase.
Another major advantage of RPVST+ is that it localizes topology change propagation. Since there is a separate spanning tree for each VLAN, topology changes affecting a particular VLAN are propagated only inside that VLAN. The switch flushes the MAC addresses learned only on the affected VLAN, the traffic on other VLANs is not disturbed. This minimizes the network flooding due to spanning tree topology changes. This is a significant improvement in the case of a large, flat, layer 2 network.
The following figure shows a further example of shared links and redundant path-blocking in a network running RPVST+.