RSTP and MSTP — STP done properly
8 min
Classic 802.1D STP converges in 30–50 seconds after a failure. That was fine in 1990; today it's an eternity. RSTP (Rapid Spanning Tree, 802.1w) reduces convergence to seconds by talking to neighbors instead of waiting on timers. MSTP (Multiple Spanning Tree, 802.1s) addresses the per-VLAN STP scaling problem.
RSTP — Rapid Spanning Tree
Three key changes from classic STP:
- Fewer port states. Just Discarding, Learning, Forwarding (instead of Disabled/Blocking/Listening/Learning/Forwarding).
- Active proposal/agreement. When a port comes up, the two switches exchange a proposal: "I'd like to forward, OK?" → "OK." Convergence in well under a second on point-to-point links.
- New port roles. Adds Alternate (a blocked port that could become RP if the current RP fails) and Backup (a blocked port on the same segment as a DP — for legacy hub topologies).
RSTP is the spanning-tree variant on every modern switch. It's backward-compatible — speak RSTP, and if a 1990s switch shows up it falls back to classic STP on that link.
Enable on Cisco:
[object Object]The Cisco-flavored variant is PVST+ (per-VLAN STP, classic) or Rapid-PVST+ (per-VLAN RSTP). One STP instance per VLAN.
The per-VLAN scaling problem
PVST+ runs one STP instance per VLAN. 200 VLANs = 200 STP instances = 200 sets of BPDUs every 2 seconds + 200 separate tree calculations. CPU pain at scale.
MSTP — Multiple Spanning Tree
MSTP solves this by grouping VLANs into instances. You define, e.g., 4 instances:
- Instance 1: VLANs 10, 20, 30 (HR / Finance / Accounting)
- Instance 2: VLANs 40, 50, 60 (Engineering)
- Instance 3: VLANs 70, 80 (Guest)
- Instance 0 (the CIST): everything else
Each instance runs one STP calculation. You can make different switches the root for different instances, so traffic load-balances across links: VLANs 10–30 use the East link as primary, VLANs 40–60 use the West link.
[object Object]All switches in the same MST region must share name, revision, and instance-to-VLAN mapping. Mismatches cause those switches to fall back to a single "boundary" relationship.
What to use, when
- Small / simple network: Rapid-PVST+ (default on many Cisco platforms today).
- Many VLANs (50+) + multiple parallel links you want to load-balance: MSTP.
- Operator / SP-grade L2: increasingly skip STP entirely with VPLS, EVPN, or active/active fabrics (EVPN-VXLAN). But access switches still run RSTP toward end hosts.
What to remember
- RSTP = STP with sub-second convergence via proposal/agreement on point-to-point links.
- PVST+ / Rapid-PVST+ = Cisco's per-VLAN variants; one STP instance per VLAN.
- MSTP groups VLANs into instances — fewer trees, easier load balancing.
- The whole region must share the same MST config to be considered the same region.