MSTP (Multiple Spanning Tree Protocol)
What it fixes
STP and RSTP compute one tree, so the blocked link is unusable by every VLAN -- half the bandwidth you bought is permanently idle.
★★★ MSTP's idea is direct: compute a different tree per group of VLANs. Send VLAN 10 left and VLAN 20 right, and both links are working.
How it works
★★★ Group VLANs into instances (MSTIs); each instance computes its own tree, elects its own root and blocks a different port.
· Instance 1 (VLAN 10): root sw2 -> blocks sw1-sw3;
· Instance 2 (VLAN 20): root sw3 -> blocks sw1-sw2.
★★ Now every link forwards for some instance -- none sits purely idle.
★ The cost: the VLAN-to-instance mapping must be identical on every switch, or you create a loop.
★ Common misconceptions
★★★ "One tree per VLAN" -- that is PVST (Cisco-proprietary), and it overwhelms CPUs once you have many VLANs. MSTP puts a group of VLANs on one tree; a few instances suffice.
★★★ "An inconsistent mapping is just untidy config" -- no, it creates a loop. If two switches disagree about which instance VLAN 10 belongs to, they block different ports and some VLAN's loop ends up unblocked. This is MSTP's most dangerous mistake.
★★ "MSTP doubles bandwidth" -- it puts all links to work, but a single VLAN's available bandwidth is unchanged.