Il protocollo Spanning Tree, a volte chiamato semplicemente Spanning Tree, è il Waze o MapQuest delle moderne reti Ethernet, che indirizza il traffico lungo il percorso più efficiente in base alle condizioni in tempo reale.
Basato su un algoritmo creato dalla scienziata informatica americana Radia Perlman mentre lavorava per la Digital Equipment Corporation (DEC) nel 1985, lo scopo principale di Spanning Tree è prevenire collegamenti ridondanti e il looping dei percorsi di comunicazione in configurazioni di rete complesse. Come funzione secondaria, Spanning Tree può instradare i pacchetti attorno ai punti problematici per garantire che le comunicazioni possano passare attraverso le reti che potrebbero subire interruzioni.
Topologia ad albero spanning e topologia ad anello
Quando, negli anni '80, le organizzazioni cominciavano a collegare in rete i propri computer, una delle configurazioni più popolari era la rete ad anello. Ad esempio, IBM ha introdotto la sua tecnologia proprietaria Token Ring nel 1985.
In una topologia di rete ad anello, ciascun nodo si connette con altri due, uno che si trova davanti a lui sull'anello e uno che è posizionato dietro di esso. I segnali viaggiano attorno all'anello solo in un'unica direzione, con ciascun nodo lungo il percorso che distribuisce tutti i pacchetti che circolano attorno all'anello.
Mentre le semplici reti ad anello funzionano bene quando sono presenti solo pochi computer, gli anelli diventano inefficienti quando centinaia o migliaia di dispositivi vengono aggiunti a una rete. Un computer potrebbe aver bisogno di inviare pacchetti attraverso centinaia di nodi solo per condividere informazioni con un altro sistema in una stanza adiacente. Anche la larghezza di banda e il throughput diventano un problema quando il traffico può fluire solo in una direzione, senza un piano di backup se un nodo lungo il percorso si rompe o è eccessivamente congestionato.
Negli anni '90, quando Ethernet divenne più veloce (100 Mbit/sec. Fast Ethernet fu introdotta nel 1995) e il costo di una rete Ethernet (ponti, switch, cavi) diventò significativamente più economico rispetto a Token Ring, Spanning Tree vinse le guerre sulla topologia LAN e Token L'anello svanì rapidamente.
Come funziona lo Spanning Tree
Spanning Tree è un protocollo di inoltro per pacchetti di dati. Si tratta in parte di vigile urbano e in parte di ingegnere civile per la rete autostradale attraverso la quale viaggiano i dati. Si trova al livello 2 (livello di collegamento dati), quindi si occupa semplicemente di spostare i pacchetti verso la destinazione appropriata, non del tipo di pacchetti che vengono inviati o dei dati che contengono.
Lo Spanning Tree è diventato così onnipresente che il suo utilizzo è definito nel fileStandard di rete IEEE 802.1D. Come definito nello standard, può esistere un solo percorso attivo tra due endpoint o stazioni qualsiasi affinché funzionino correttamente.
Spanning Tree è progettato per eliminare la possibilità che i dati che passano tra segmenti di rete rimangano bloccati in un ciclo. In generale, i loop confondono l'algoritmo di inoltro installato nei dispositivi di rete, facendo sì che il dispositivo non sappia più dove inviare i pacchetti. Ciò può comportare la duplicazione di frame o l'inoltro di pacchetti duplicati a più destinazioni. I messaggi possono essere ripetuti. Le comunicazioni possono tornare al mittente. Può persino mandare in crash una rete se iniziano a verificarsi troppi loop, consumando larghezza di banda senza alcun guadagno apprezzabile e bloccando il passaggio di altro traffico non in loop.
Il protocollo Spanning Treeimpedisce la formazione di anellichiudendo tutti i percorsi possibili tranne uno per ciascun pacchetto di dati. Gli switch su una rete utilizzano lo Spanning Tree per definire percorsi root e bridge in cui i dati possono viaggiare e chiudere funzionalmente i percorsi duplicati, rendendoli inattivi e inutilizzabili mentre è disponibile un percorso primario.
Il risultato è che le comunicazioni di rete scorrono senza soluzione di continuità indipendentemente da quanto complessa o vasta diventi una rete. In un certo senso, Spanning Tree crea singoli percorsi attraverso una rete affinché i dati possano viaggiare utilizzando il software più o meno allo stesso modo in cui facevano gli ingegneri di rete utilizzando l'hardware sulle vecchie reti ad anello.
Ulteriori vantaggi dello Spanning Tree
Il motivo principale per cui viene utilizzato lo Spanning Tree è eliminare la possibilità di loop di routing all'interno di una rete. Ma ci sono anche altri vantaggi.
Poiché Spanning Tree ricerca e definisce costantemente quali percorsi di rete sono disponibili per il passaggio dei pacchetti di dati, è in grado di rilevare se un nodo situato lungo uno di questi percorsi primari è stato disabilitato. Ciò può verificarsi per diversi motivi, da un guasto hardware a una nuova configurazione di rete. Può anche trattarsi di una situazione temporanea basata sulla larghezza di banda o su altri fattori.
Quando Spanning Tree rileva che un percorso primario non è più attivo, può aprire rapidamente un altro percorso precedentemente chiuso. Può quindi inviare dati attorno al punto problematico, designando eventualmente la deviazione come nuovo percorso primario o inviando i pacchetti al bridge originale nel caso in cui diventasse nuovamente disponibile.
Mentre lo Spanning Tree originale era relativamente veloce nel creare nuove connessioni secondo necessità, nel 2001 l’IEEE ha introdotto il Rapid Spanning Tree Protocol (RSTP). Chiamato anche versione 802.1w del protocollo, RSTP è stato progettato per fornire un ripristino significativamente più rapido in risposta a modifiche della rete, interruzioni temporanee o guasti totali dei componenti.
E sebbene RSTP abbia introdotto nuovi comportamenti di convergenza dei percorsi e ruoli di porte bridge per accelerare il processo, è stato anche progettato per essere completamente retrocompatibile con lo Spanning Tree originale. Pertanto è possibile che i dispositivi con entrambe le versioni del protocollo funzionino insieme sulla stessa rete.
Carenze dello Spanning Tree
Sebbene Spanning Tree sia diventato onnipresente nel corso degli anni successivi alla sua introduzione, c'è chi sostiene che siaè giunto il momento. Il più grande difetto di Spanning Tree è che chiude i potenziali circuiti all’interno di una rete chiudendo i potenziali percorsi in cui i dati potrebbero viaggiare. In qualsiasi rete che utilizza Spanning Tree, circa il 40% dei potenziali percorsi di rete sono chiusi ai dati.
In ambienti di rete estremamente complessi, come quelli che si trovano all'interno dei data center, la capacità di crescere rapidamente per soddisfare la domanda è fondamentale. Senza le limitazioni imposte da Spanning Tree, i data center potrebbero liberare molta più larghezza di banda senza la necessità di hardware di rete aggiuntivo. Questa è una situazione piuttosto ironica, perché gli ambienti di rete complessi sono il motivo per cui è stato creato Spanning Tree. E ora la protezione fornita dal protocollo contro il looping sta, in un certo senso, impedendo a questi ambienti di sfruttare il loro pieno potenziale.
Una versione perfezionata del protocollo denominata Multiple-Instance Spanning Tree (MSTP) è stata sviluppata per utilizzare LAN virtuali e consentire l'apertura simultanea di più percorsi di rete, evitando al tempo stesso la formazione di loop. Ma anche con MSTP, numerosi potenziali percorsi di dati rimangono chiusi su qualsiasi rete che utilizzi il protocollo.
Nel corso degli anni ci sono stati molti tentativi indipendenti e non standardizzati per migliorare le limitazioni della larghezza di banda dello Spanning Tree. Sebbene i progettisti di alcuni di essi abbiano affermato di aver avuto successo nei loro sforzi, la maggior parte non è completamente compatibile con il protocollo principale, il che significa che le organizzazioni devono utilizzare le modifiche non standardizzate su tutti i loro dispositivi o trovare un modo per consentire loro di esistere con switch che eseguono Spanning Tree standard. Nella maggior parte dei casi, i costi di manutenzione e supporto di più versioni di Spanning Tree non valgono lo sforzo.
Lo Spanning Tree continuerà in futuro?
A parte le limitazioni nella larghezza di banda dovute alla chiusura dei percorsi di rete dello Spanning Tree, non si pensa o si fa molto sforzo per sostituire il protocollo. Sebbene IEEE rilasci occasionalmente aggiornamenti per cercare di renderlo più efficiente, questi sono sempre retrocompatibili con le versioni esistenti del protocollo.
In un certo senso, Spanning Tree segue la regola “Se non è rotto, non aggiustarlo”. Spanning Tree viene eseguito in modo indipendente in background nella maggior parte delle reti per mantenere il flusso del traffico, impedire la formazione di loop che provocano arresti anomali e instradare il traffico attorno ai punti problematici in modo che gli utenti finali non sappiano nemmeno se la loro rete subisce interruzioni temporanee durante le sue attività quotidiane. operazioni giornaliere. Nel frattempo, sul lato back-end, gli amministratori possono aggiungere nuovi dispositivi alle loro reti senza pensare troppo se saranno o meno in grado di comunicare con il resto della rete o con il mondo esterno.
Per questo motivo è probabile che lo Spanning Tree rimanga in uso per molti anni a venire. Di tanto in tanto potrebbero esserci alcuni aggiornamenti minori, ma il nucleo dello Spanning Tree Protocol e tutte le funzionalità critiche che svolge sono probabilmente qui per restare.
Orario di pubblicazione: 07-nov-2023