Wednesday, February 19, 2020

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 just 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 where we have 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. If we use PVST we can create a different root bridge for each VLAN if we want. 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 would make one switch root bridge for both VLANs then 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 wasn’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 share it with your friends or colleagues!

No comments:

Post a Comment