LearnNetwork
Spanning tree (STP, RSTP, MSTP)

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:

  1. Fewer port states. Just Discarding, Learning, Forwarding (instead of Disabled/Blocking/Listening/Learning/Forwarding).
  2. 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.
  3. 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:

Cisco IOSEnable RSTP
[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.

Cisco IOSBasic MSTP
[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.