Imagine if you will, your boss comes to you and says "Great news, we're getting all new equipment so now we can replace our old Catalyst 3500XL series core switch and 2900XL series access switches from the 1990's to some brand new Catalyst 9300 series switches" You might think all your Christmas's have come at once if you walk into a job using equipment that old and get some new stuff, either that or you could be clinically insane for taking a job like that?
MSTP or 802.1s, is an industry standard version of STP that incorporates RSTP timing with the ability to load balance VLANs across instances of spanning tree. If you recall, 802.1D runs a single instance of spanning tree for all VLANs within a network called the Common Spanning Tree or CST. MST takes this concept and expands on it by allowing you to assign VLANs to an Instance of spanning tree and allowing multiple instances to be configured, hence the name Multiple Spanning Tree. This also means that you can have a root switch for each instance of MST as well.
Spanning tree protects our layer 2 network from broadcast storms and helps to create a loop free layer 2 topology. STP takes advantage of additional features that have been added over the years help prevent unnecessary changes to the network or to help prevent unintentional or sometimes malicious activities from occurring on our networks. Some of these features include
- UDLD (Unidirectional Link Detection)
By default STP works straight out of the box. You buy a switch and plug it in and boom STP works. Well, 802.1D (PVST if using Cisco Switches) works by default. While PVST is great, it's slow so we would configure it for PVRSTP or MST. Again, these work straight away and by default will choose which ports are forwarding and which are blocking. But what if we want to manually choose one link over another? To do this, we first need to understand what we want to change and how the port election process works.
Root Port selection
I've talked a little about STP link failures in previous articles, but let's take a deeper dive into what STP does during the various STP failure scenario's. There are two types of link failures that can occur in a Layer 2 STP topology.
- Direct Link Failure: This is when a physical link fails and the port state changes to down.
- Indirect Link Failure: This is when there is not a physical failure, but there is no data flow over the link.
PVRSTP+ or Per VLAN Rapid Spanning Tree Plus is a Cisco Proprietary extension of the Rapid Spanning Tree protocol that, like PVSTP runs a single RSPT instance per VLAN configured on the switch. 802.1W RSTP is an improvement on 802.1D STP in that it allows for much faster transition between port states with modifications to the port states, and also with the addition of some port roles and types.
802.1W Port States, Roles and Types
802.1W RSTP reduces the number of port states from 802.1D to 3.
PVSTP+ is an improved version of the Cisco proprietary Spanning Tree protocol PVST that runs an instance of STP per VLAN. The main difference between PVST and PVST+ is that PVST+ provides support for compatibility with other STP versions and operates over 802.1Q trunks as well as ISL Trunks. Running an STP instance per VLAN gives you the ability to not only fine tune the STP tree based on where VLANs are in use, but also load balance VLANs across multiple Root Bridges.
Spanning Tree is a mechanism for Layer 2 switches to prevent switching loops over redundant switch links. Switches learn about other switches in the network and the ports they are connected to by sending out Bridge Protocol Data Units (BPDU), advertising STP information. These BPDUs are used to determine which switch ports should forward traffic and which switch ports should block traffic. In a simple 3 Switch topology as shown below, SW1 connects to SW2 on G1/0/2 and SW3 on G1/0/3, SW2 Connects to SW1 on G1/0/1, and SW3 on G1/0/3, and SW3 Connects to SW1 on G1/0/1 and SW2 on G1/0/2.
When a network device forwards data there are only 2 options other than if the data is destined locally:
- Forwarding data on the same subnet
- Forwarding data on a different subnet.
The CAM Table