# Spanning Tree

Il protocollo Spanning Tree (STP) è fondamentale per prevenire i loop a livello rete. La necessità di STP nasce dall'esigenza di garantire la ridondanza all'interno delle reti. La ridondanza si riferisce alla presenza di più copie o istanze di un elemento, il che è cruciale per assicurare la disponibilità (availability) dei servizi. In altre parole, avere più percorsi per raggiungere lo stesso obiettivo significa che, se uno di questi percorsi si guasta, la rete può continuare a funzionare senza interruzioni.

Tuttavia, la ridondanza può anche introdurre problemi, come i *broadcast storm*. Questi problemi si verificano a causa del modo in cui gli switch gestiscono il traffico. Quando uno switch riceve un pacchetto destinato a un MAC address che non conosce, non avendo una corrispondenza nella MAC address table, lo inoltra in broadcast su tutte le sue interfacce, tranne quella da cui è arrivato.

Se ci sono loop nella rete, il pacchetto di broadcast può circolare indefinitamente tra gli switch.

1. **Inoltro del pacchetto**: supponiamo che uno switch A riceva un pacchetto destinato a un MAC address sconosciuto. Inoltra il pacchetto a tutti gli switch collegati, inclusi switch B e C
2. **Ritorno del pacchetto**: switch B riceve il pacchetto e, non conoscendo il MAC address di destinazione, lo inoltra a tutti gli switch, incluso switch A. Allo stesso modo, switch C riceve il pacchetto e lo inoltra a switch A e B
3. **Circolazione continua**: questo processo continua, con il pacchetto che rimbalza tra gli switch senza mai raggiungere una destinazione finale. Ogni switch continua a inoltrare il pacchetto a tutte le porte, generando così copie multiple dello stesso pacchetto
4. **Saturazione della rete**: man mano che il pacchetto circola, il numero di copie aumenta esponenzialmente. Ogni switch genera ulteriori copie del pacchetto, saturando la rete

Per prevenire questo tipo di situazione, il protocollo Spanning Tree (STP) viene utilizzato per identificare e disabilitare i percorsi ridondanti che possono causare loop. STP crea una topologia di rete logica priva di loop, mantenendo attivi solo i percorsi necessari per la comunicazione e garantendo così la stabilità e l'affidabilità della rete.

Negli switch moderni, STP è abilitato di default, offrendo una protezione automatica contro i loop e contribuendo a mantenere la stabilità e l'affidabilità della rete.
