Spanning Tree Protocol (STP)¶
Summary¶
The Spanning Tree Protocol (STP for short) is a protocol used by switches to avoid switching loops, while still providing link redundancy in the network.
They do this by electing a root switch and defining which link, for each switch, is the shortest path to the root switch. Ports are then selectively disabled, and the network graph is turned into a tree, which is by definition loop-free.
Note
The terms “switch” and “bridges” both refer to the same devices.
What STP solves¶
- broadcast storms
- corrupted MAC address tables
- duplicate packet deliveries
Port roles¶
| Role | Explanation |
|---|---|
| root | the port on a non-root bridge that is closest to the root bridge, in terms of cost |
| designated | the port on a network segment that is closest to the root bridge, in terms of cost |
| non-designated | ports that block traffic, in order to preserve a loop-free Layer 2 topology |
| disabled | a port that is administratively shut down |
Note
A “network segment” is any non-switched link between two switches. The most simple network segment you can find is a cable connection between two switches.
Default port cost¶
| Speed | Old cost | New cost |
|---|---|---|
| 10 Mbps | 100 | |
| 100 Mbps | 19 | |
| 1 Gbps | 4 | |
| 10 Gbps | 2 |
Note
When selecting the root port on a switch, if two ports have the same cost to root, then the tie breaker is the remote switch’s port priority.
STP convergence times¶
If a used link goes down, it takes 50 seconds for a blocking link to start forwarding again (with the old 802.1d STP variety).
| Port state | Minimum time to next state |
|---|---|
| Blocking | 20s |
| Listening | 15s |
| Learning | 15s |
| Forwarding |
Rapid Spanning Tree Protocol greatly reduces the time it takes to recover from a broken link.
STP Flavors¶
| Abbreviation | Description |
|---|---|
| STP | The “Common” Spanning Tree as explained above. |
| PVST+ | Per VLAN Spanning Tree |
| MSTP | Multiple Spanning Trees Protocol, sometimes referred to as MST. Similar to PVST+ except that multiple VLANs are assigned the same root. |
| Rapid PVST+ | Modified version of PVST+ that takes roughly 3s to converge. |
Rapid PVST+¶
Synchronization¶
Rapid STP synchronization is a 5 step process between two switches. It is triggered whenever a switch, A, gets a new Root port.
- Switch A blocks ports that are on the opposite side of designated port from switch B
- Switch A sends a Proposal for the new route to root to switch B
- If this is a new best route to root for switch B, the port will change from designated port to root port.
- Switch B will send an Agreement back to switch A
- Switch A changes its port state from Blocking to Forwarding
This process cascades down the switch chain. At step 3, switch B will also start the process as switch A did during step 1.
Port roles¶
Instead of non-designated ports, we have alternate and backup ports.
- alternate port
- An alternate port can reach the root but is not the lowest cost port to it.
- backup port
A backup port exists when we have more than one port going from a bridge to a shared media (eg. a hub). In that case, only one of those ports will be a designated port, and the other ones will be backup ports.
A backup port is blocking.
Port states¶
| State | Description |
|---|---|
| Discarding | data is not being forwarded on the port. (seen on Alternate, Backup and Disabled ports) |
| Learning | the switch is learning MAC addresses available off of the port. (seen when a port is transitioning to Forwarding) |
| Forwarding | data is being forwarded on the port. (seen on Root and Designated ports) |
Link types¶
| Type | Description |
|---|---|
| Point-to-Point | a link between two switches |
| Shared | a link to a hub or other shared medium |
| Edge Port | a direct link to a computer or other endpoint machine |