Per VLAN Spanning Tree (PVST)

Since you are reading this I assume you understand how “classic” spanning tree works. If you don’t, it’s best to read my Introduction to spanning tree first before you continue.





Having said that, let’s start with a nice picture:

three switches two vlans

  • VLAN 10 is configured on SW1 and SW2.
  • VLAN 20 is configured on SW1, SW2 and SW3.

Question for you: do we have a loop in VLAN 10? What about VLAN 20?

There’s a big difference between our physical and logical topology. We don’t have a loop in VLAN 10 because it only runs on the link between SW1 and SW2. We DO have a loop within VLAN 20, however.

How does spanning tree deal with this? Simple…we’ll calculate a different spanning tree for each VLAN! The oldest version of spanning tree is called CST (Common Spanning Tree) and is defined in the 802.1D standard. It only calculates a single spanning tree for all VLANs.

Another version of spanning tree is able to calculate a topology for each VLAN. This version is called PVST (Per VLAN Spanning Tree), and it’s the default on Cisco switches.

Beginning from Cisco IOS 15.2(4)E release, the STP default mode is Rapid PVST+

Let’s look at an example of three switches and two VLANs. Both VLANs are available on all switches:

spanning tree two root bridges

Above, you can see that we have two root bridges. Using PVST, we can create a different root bridge for each VLAN. SW1 could be the root bridge for VLAN 10, and SW2 could be the root bridge for VLAN 20. Why would you want to do this? Here’s an example:

pvst single root bridge

If I make one switch root bridge for both VLANs, one interface will be blocked for both VLANs. In my example above, SW1 is the root bridge for VLAN 10 and 20, and as a result, the fa0/16 interface on SW3 is blocked for both VLANs. No traffic will be forwarded on the fa0/16 interface at all. Imagine these were 10 Gigabit interfaces. It would be a shame if one of those expensive interfaces weren’t doing anything right.




If I choose another switch as the root bridge for VLAN 20, we will see different results:

pvst different root bridges

In my example, I made SW2 the root bridge for VLAN 20. As you can see, the fa0/16 interface on SW2 is blocked for VLAN 10, while the fa0/17 interface on SW1 is blocked for VLAN 20. The advantage of having multiple root bridges is that I can do some load sharing/balancing.

I hope this has helped you to understand per VLAN spanning tree! If you enjoyed this lesson, please leave a comment.


Forum Replies

  1. Rene, you overviews are really good and easy to understand, on the above example there is no fa0/16 on switch A. Unless I’m not seeing right. Thanks

  2. Hi Shaj,

    Thanks! I just fixed it, it should be Fa0/17.

    Rene

  3. Hi rene , have u got any lessons on RSTP ??

    M Q

  4. Hi Rene, how do you configure PVSTP?
    Could you give me an example?

61 more replies! Ask a question or join the discussion by visiting our Community Forum