What is it
Spanning Tree Protocol (IEEE 802.1D) è un protocollo di Layer 2 che previene loop nelle LAN ridondanti bloccando selettivamente alcune porte.
How it works
Perché serve STP
-
Le reti devono essere ridondanti
-
I loop Layer 2 causano:
-
Broadcast storm (frame che loopano all’infinito)
-
MAC address flapping (stesso MAC visto su porte diverse)
-
-
Ethernet non ha TTL, quindi i loop non si auto-fermano
STP risolve il problema creando una topologia logica senza loop, pur mantenendo i link ridondanti come backup.

Concetti base
-
STP usa BPDUs (Bridge Protocol Data Units)
-
Gli switch STP sono chiamati bridge (terminologia storica)
-
Le porte possono essere:
-
Forwarding (attive)
-
Blocking (backup)
-
Step 1 – Root Bridge Election
-
Tutti gli switch inizialmente si credono root
-
Il root bridge è lo switch con il Bridge ID più basso
Bridge ID (BID) =
-
Bridge Priority (con VLAN ID incluso)
-
MAC Address (tie-breaker)
Valore più basso = vince.
Default
-
Bridge priority base: 32768
-
VLAN 1 → 32769 (32768 + 1)
⚠️ Nota importante (concettuale)
La Bridge Priority viene sempre valutata, ma di fatto non è discriminante finché tutti gli switch mantengono il valore di default (32768).
In assenza di un intervento dell’amministratore:
- la priority è uguale per tutti
- l’elezione del root bridge è quindi determinata dal MAC address più basso
La bridge priority esiste per permettere all’amministratore di forzare deterministicamente l’elezione del root bridge.
👉 Per default vince lo switch con MAC address più basso
Root Bridge
-
TUTTE le sue porte sono Designated
-
TUTTE in Forwarding
Step 2 – Root Port Selection
Ogni switch non-root sceglie UNA Root Port:
- È la porta con il costo totale più basso verso il root
STP Path Cost (valori da sapere)
-
10 Mbps → 100
-
100 Mbps (FastEthernet) → 19
-
1 Gbps (Gigabit) → 4
-
10 Gbps → 2
Il root cost = somma dei costi delle interfacce in uscita verso il root.
Tie-breaker Root Port
-
Lowest root cost
-
Neighbor con Bridge ID più basso
-
Neighbor con Port ID più basso (port priority + port number)
⚠️ Si usa il Port ID del vicino, non quello locale.
Step 3 – Designated vs Non-Designated Ports
Per ogni collision domain (link):
- Deve esistere UNA sola Designated Port
Criteri:
-
Switch con root cost più basso → Designated
-
Se pari → switch con Bridge ID più basso
-
L’altro lato diventa Non-Designated (Blocking)
Regole chiave
-
Root Port → sempre Forwarding
-
Designated Port → sempre Forwarding
-
Non-Designated Port → Blocking
Stato finale STP
-
1 Root Bridge
-
Ogni switch non-root:
- 1 Root Port
-
Ogni link:
-
1 Designated Port
-
0 o 1 Non-Designated Port (bloccata)
-
Risultato: topologia loop-free con link di backup pronti.
CLI Core
show spanning-tree
Common Mistakes
-
Dimenticare che il VLAN ID entra nel Bridge ID
-
Usare il port ID locale come tie-breaker (è quello del vicino)
-
Pensare che STP disabiliti fisicamente le porte (le mette in Blocking)
Synthesis
STP elimina i loop Layer 2 eleggendo un root bridge e lasciando una sola path attiva per ogni segmento, bloccando i link ridondanti.