Protocollo spanning tree: reti Ethernet senza connessioni parallele

Il protocollo spanning tree permette di prevenire le tempeste di trasmissioni e le interruzioni di rete. Tuttavia, i lunghi tempi di inattività causati dalla ristrutturazione dell’omonimo albero di spanning rendono il metodo vulnerabile agli attacchi.

Che cos’è il protocollo spanning tree?

Il protocollo spanning tree, in inglese “Spanning Tree Protocol (STP)”, è un metodo utilizzato nelle reti Ethernet per impedire la formazione di frame duplicati. STP è stato inventato da Radia Perlman, un ingegnere di rete e sviluppatore di software statunitense, e definito come standard 802.1D dall’Institute of Electrical and Electronics Engineers (IEEE) nel 1990. Il protocollo spanning tree impedisce la creazione di due o più frame paralleli esaminando la rete alla ricerca di percorsi ridondanti e disattivandoli, prevenendo così la formazione di cicli. Questa procedura forma un albero con la rete fisica senza connessioni multiple tra la sorgente e la destinazione.

Perché il protocollo spanning tree è importante?

Il protocollo spanning tree previene la formazione di cicli, che si verifica quando vi sono più percorsi di dati simultanei tra due switch di rete. Infatti, quando i pacchetti di dati possono essere instradati attraverso più frame, l’intero sistema potrebbe comportarsi in modo anomalo. Una possibile conseguenza della presenza di due o più percorsi simultanei tra due punti è la cosiddetta tempesta di trasmissione. In questo caso, tutto il traffico broadcast o multicast di una rete viene trasmesso e accumulato contemporaneamente, il che può portare a un effetto valanga e, nel peggiore dei casi, paralizzare l’intera comunicazione. Grazie al protocollo spanning tree questo viene evitato e la rete non subisce variazioni.

La tecnologia ad albero di STP

Per evitare la duplicazione dei frame, il protocollo spanning tree stabilisce un albero di spanning, traducibile in italiano come “albero ricoprente”. In questo modo, la connessione tra due punti della rete avviene attraverso un solo percorso. Inoltre, con questo metodo si trova la migliore connessione possibile. Tuttavia, se un frame è guasto o affetto da un errore, STP riorganizza l’albero di spanning il più rapidamente possibile e apre un nuovo percorso di connessione. In questo modo si riducono i ritardi e la connessione tra i singoli switch rimane intatta.

Come funziona il protocollo spanning tree?

Con il protocollo spanning tree, la comunicazione tra due switch o bridge all’interno di una rete avviene tramite Bridge Protocol Data Units (BPDU). Questi vengono scambiati a brevi intervalli e inviati come frame multicast all’indirizzo MAC 01-80-C2-00-00-10. Ogni due secondi, questa trasmissione viene effettuata alla porta più vicina e più bassa. In questo modo, il protocollo spanning tree non solo ottiene un riepilogo di tutti i percorsi disponibili, ma determina anche la connessione più veloce. In questo caso, la velocità dei dati e le distanze tra due punti sono determinanti. Una volta determinato il percorso migliore, le porte rimanenti vengono disattivate fino a nuovo ordine.

Se una Bridge Protocol Data Unit non compare, lo switch di destinazione la interpreta come un guasto del collegamento e avvia un riorientamento della topologia ad albero. In caso di disposizioni complicate, il processo di ricalcolo può richiedere un minimo di 30 secondi. Una volta riorientato l’albero di spanning, la trasmissione può avvenire tramite una connessione di riserva precedentemente disabilitata. In questo modo si garantisce la massima velocità di trasmissione dei dati nonostante il guasto.

Il protocollo rapid spanning tree

Purtroppo, il processo di ricalcolo e i tempi di inattività più lunghi di STP rendono la rete vulnerabile agli attacchi. Se un frame errato non venisse bloccato dal sistema, la riorganizzazione innescata potrebbe mettere fuori uso la rete per almeno 30 secondi. Per questo motivo, nel 2003 è stato sviluppato il protocollo rapid spanning tree (IEEE 802.1w), il quale è compatibile con le versioni precedenti e garantisce il mantenimento della struttura attuale della rete fino alla sostituzione del collegamento guasto. Solo a questo punto l’albero viene ristrutturato. Questo passaggio richiede circa un secondo.

Stati delle porte nel protocollo spanning tree

Il protocollo spanning tree distingue un totale di cinque stati di porta. In questo modo si evita la formazione di un ciclo e si garantisce che non vengano perse informazioni sulla topologia dell’albero. I singoli stati sono elencati di seguito:

  • Forwarding (inoltro): le porte elencate come forwarding possono inoltrare frame, apprendere indirizzi e ricevere, elaborare e trasmettere Bridge Protocol Data Units.
  • Blocking (blocco): le porte impostate come blocking scartano i frame e non imparano gli indirizzi ma ricevono ed elaborano Bridge Protocol Data Units.
  • Listening (ascolto): le porte in listening scartano i frame, non imparano gli indirizzi ma ricevono, elaborano e trasmettono Bridge Protocol Data Units.
  • Learning (apprendimento): le porte elencate come learning scartano i frame ma apprendono gli indirizzi e ricevono, elaborano e trasmettono Bridge Protocol Data Units.
  • Disabled (disabilitate): le porte impostate su disabled scartano i frame, non apprendono gli indirizzi e non possono ricevere o elaborare Bridge Protocol Data Units.

Se il protocollo spanning tree è abilitato, ogni porta passa in sequenza attraverso gli stati di blocco, ascolto, apprendimento e inoltro.

Root bridge nel protocollo spanning tree

Il primo passo di STP è la selezione di un root bridge (ovvero della radice dell’albero ricoprente), che funge da punto di partenza per l’albero di spanning. I singoli percorsi vengono poi espansi dall’algoritmo attivando o disattivando le porte. Le impostazioni e i timer possono essere modificati solo attraverso il root bridge.

  • Hello Timer: questo timer definisce l’intervallo di tempo tra due Bridge Protocol Data Units, di solito due secondi.
  • Ritardo di inoltro: il secondo timer determina il tempo di permanenza negli stati di ascolto e apprendimento, solitamente di 30 secondi.
  • Età massima: il terzo timer è chiamato Età massima (“Maximum Age” in inglese) e specifica il tempo per cui una porta può conservare le informazioni di configurazione. Il valore predefinito è di 20 secondi.

Vantaggi e svantaggi del protocollo spanning tree

Il vantaggio principale del protocollo spanning tree è quello di evitare congestioni o interferenze all’interno della rete escludendo i cicli ed evitando i percorsi paralleli. Anche l’identificazione della connessione più breve effettuata da STP presenta un vantaggio per la rete. Uno svantaggio di questo protocollo è invece il lungo tempo di convergenza che gioca a favore degli attacchi alla rete. Tuttavia, l’introduzione del Rapid Spanning Tree Protocol e del Multiple Spanning Tree Protocol, che consentono di creare diversi alberi di spanning indipendenti all’interno di una LAN, riduce al minimo questi tempi di inattività proteggendo la rete da possibili attacchi.

Consiglio

Per saperne di più sui diversi tipi di rete e sugli standard di protocollo, consultate la nostra Digital Guide:

Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.