Token Ring: IEEE 802.5
Il Token Ring è una rete ormai scomparsa: oggigiorno è infatti Ethernet a dominare con i collegamenti LAN via cavo, anche se ciò non rende la vecchia rete meno interessante. Anche la sua storia può aiutare a capire le reti moderne e a ricostruire i motivi per cui la rete si è sviluppata così com’è adesso. E chi lo sa: forse potrete ritrovare un Token Ring da qualche parte.
Il Token Ring non è propriamente una rete ad anello, anche se il nome lo fa pensare: nella realtà esiste solo un anello logico, ma non un anello fisico. Vi spiegheremo in seguito quali sono le differenze tra i due.
La base di un Token Ring è lo standard di rete IEEE 802.5 dell’Institute of Electrical and Electronics Engineers risalente al 1985. Tutti i partecipanti della Local Area Networks (LAN) sono collegati ad un anello logico. Di regola le reti Token Ring hanno una velocità di trasmissione di 4 o 16 Mbit/s, ma in teoria è possibile anche ottenere la velocità di 100 Mbit/s o 1 Gbit/s.
Storia del Token Ring
Anche prima dell’introduzione del Token Ring esistevano reti per computer. Queste però, come ARPANET, non erano disponibili per l’utilizzo pubblico, ma vennero sviluppate e impiegate da singole istituzioni per i loro scopi e quindi non standardizzate. All’inizio degli anni 80 Procom, Apollo Computer e Proteon furono le prime aziende ad offrire le reti Token Ring. In seguito è stata l’IBM a prendere in mano la situazione e intorno alla metà degli anni 80 ha portato il suo prodotto sul mercato.
Grazie alla distribuzione massiccia dei PC IBM, il Token Ring iniziò la sua ascesa, interrotta però quasi subito. Infatti sempre negli anni 80 anche la tecnologia Ethernet, sviluppata già negli anni 70, acquistò sempre più popolarità, grazie anche al supporto di Intel e Xerox. Alla fine fu Ethernet a vincere tra le due, grazie all’introduzione di cavi coassiali economici e sottili. L’IBM aveva stabilito un costo così alto per il Token Ring che nessun prodotto con tale tecnologia poteva essere immesso sul mercato ad un prezzo vantaggioso.
Mentre l’IBM cercava di convincere il pubblico dei vantaggi del Token Ring, la sconfitta definitiva arrivò alla fine degli anni 90, quando implementò gli standard IEEE con 100 Mbit/s e 1.000 Mbit/s: il primo fu commercializzato davvero poco, mentre con il secondo non riuscì a lanciare nemmeno un prodotto sul mercato.
Che cos’è un Token Ring?
Si può rispondere facilmente alla domanda “che cos’è una rete Token Ring?” se si sa che cosa non è: una rete ad anello. Una topologia ad anello nel senso fisico della parola è costituita da una disposizione ad anello dei computer. Ogni partecipante è collegato con il suo vicino a destra e a sinistra, di modo che la rete formi un anello chiuso. Non appena un computer all’interno della LAN si blocca o se una connessione viene suddivisa in altro modo, l’intera rete subisce un’interruzione e non è più possibile stabilire una connessione. Anche se un altro computer vuole collegarsi alla rete, la LAN deve interrompere la connessione almeno per un momento.
La topologia Token Ring
Un Token Ring funziona in modo diverso: per questo si dice che alla base di questa tecnica esiste una topologia ad anello esclusivamente logica. La topologia Token Ring si basa su Multistation Access Units (MAU) che permettono ai partecipanti di connettersi su una rete a forma di stella. Il distributore è un punto di snodo in collegamento con tutti i partecipanti della rete, mentre tra i singoli computer non esiste una connessione diretta.
Per questo motivo si parla di anello logico basato su una struttura fisica a stella, anche se la trasmissione dei dati avviene (a livello astratto) seguendo un anello. I dati vengono trasmessi sempre alla MAU, ma da lì vengono inviati semplicemente al prossimo computer presente seguendo la successione prestabilita e non ad uno specifico partecipante.
Il metodo del Token Passing
Affinché non si piombi nel caos, si utilizza il metodo del Token Passing. Questo metodo è stato introdotto affinché i partecipanti non inviassero contemporaneamente i dati sulla rete. Solo i computer che sono in possesso del token hanno il diritto di inviare pacchetti di dati alla rete. Questo token viene poi passato agli altri seguendo la forma ad anello: anche se nessuno dei partecipanti ha bisogno del “diritto alla parola”, il token continua a circolare. Un token è un frame vuoto dalla grandezza di 3 byte, dove ogni byte ha un compito preciso:
- Il terzo byte – Start Delimiter (SD): i primi 8 bit del frame indicano l’inizio del token. La struttura si basa sulla codifica Manchester differenziale, consentendone una chiara classificazione.
- Secondo byte – Access Control (AC): il controllo di accesso contiene il bit del token. Se è sullo 0 significa che il token è libero, se è sull’1 significa che è occupato.
- Primo byte – End Delimiter (ED): il delimitatore finale è strutturalmente simile al delimitatore iniziale e indica la fine del frame.
Quando un partecipante riceve il frame e non vuole inviare nessuna informazione, lo cede semplicemente al prossimo in sequenza. Se invece il computer vuole inviare qualcosa, cambia il bit del token e lega il pacchetto dati al token stesso. Quindi si invia il pacchetto. Parte di questo frame è rappresentata dagli indirizzi del mittente e del destinatario. Il pacchetto dati non raggiunge subito il destinatario ma, attraverso la MAU, passa da partecipante a partecipante finché non raggiunge la stazione corretta. Ogni partecipante funge da ripetitore, affinché il segnale non perda potenza: legge il pacchetto, lo ricrea e lo spedisce di nuovo sull’anello.
La stazione di destinazione copia le informazioni, conferma la corretta ricezione dei dati attraverso il cambiamento del frame status (FS), cioè l’ultimo byte dell’intero frame, e invia nuovamente il pacchetto. Quando il pacchetto dei dati raggiunge di nuovo il mittente originario, questo cancella i dati e imposta il bit del token come libero. In alternativa ha anche la possibilità di inviare direttamente i dati successivi. Affinché però tutti i partecipanti abbiano la possibilità di trasmettere dati, è implementato un Token Holding Time. Questo indica il tempo concesso ad una stazione per poter ricorrere al token.
Non è importante inviare i dati seguendo il senso orario, ma è importante che tutti i partecipanti li inviino seguendo la stessa direzione.
Situazioni di errore nel Token Ring
In ogni rete si possono verificare delle situazioni inaspettate che potrebbero mettere in ginocchio la rete stessa. Un buono standard implementa meccanismi che evitano i guasti. All’interno del Token Ring tutti i computer sono Standby Monitor (SM), anche se uno, quello che si occupa del controllo della rete, ha di solito il ruolo di Active Monitor (AM). Ogni partecipare può ottenere questo ruolo. Quale stazione diventa AM e quale invece rimane SM viene deciso da un procedimento fisso: la Monitor Contention, chiamata anche Token Claiming. Il procedimento viene avviato nel momento in cui una stazione ha constatato che l’attuale AM non invia più l’Active Monitor Present Frame sull’anello.
In un momento del genere il protocollo ha bisogno di scegliere un nuovo Active Monitor: la prima stazione che ha notato un comportamento anomalo dell’AM inizia ad inviare un cosiddetto Claim Token Frame. La stazione successiva sull’anello confronta l’indirizzo MAC del mittente con il proprio. Se l’indirizzo di questo secondo partecipante della rete ha un valore più alto cambia il frame sostituendolo con uno suo. Alla fine rimane solo una stazione: se il suo frame circola tre volte, senza che un’altra stazione intervenga, viene definito un nuovo Active Monitor.
L’Active Monitor è responsabile per il corretto funzionamento del Token Ring, ma a volte anche gli Standby Monitor possono intervenire. Nelle seguenti situazioni la rete Token Ring riesce a ripararsi da sola:
Il token va perso
Non appena un token passa attraverso un Active Monitor, questo imposta un timer. Se viene oltrepassato un tempo massimo di 10 millisecondi e il token non ritorna da lui, l’AM riconosce un problema nella rete e crea un nuovo token libero.
Il pacchetto non trova il destinatario
Se una stazione invia un pacchetto e proprio in quel momento il destinatario si blocca, il pacchetto girerà senza fine sull’anello, in quanto non riconosce nessuna stazione come suo destinatario. Quando il pacchetto passa per l’AM per la prima volta, questo imposta un bit specifico. Se il pacchetto ripassa dallo stesso AM, esso riconosce grazie al suo bit che il pacchetto non ha raggiunto il suo destinatario. Solo l’AM può impostare il bit su 1, accertandosi così che è già venuto in contatto con il pacchetto. L’Active Monitor distrugge il pacchetto e crea un nuovo token libero.
Interfaccia difettosa
In una normale topologia ad anello il blocco di una stazione o di una connessione genera il blocco totale della rete. In una rete Token Ring la MAU può semplicemente bypassare l’interfaccia. Le stazioni difettose vengono riconosciute direttamente dal loro vicino: per questo motivo il partecipante che si trova subito dietro al computer difettoso invia al vicino dei frame test. Tutte le altre stazioni sono in standby e nessuna invia dati. Se il nodo difettoso riconosce da solo che il suo vicino ha reclamato un guasto, avvia un’analisi degli errori e si ritira dalla rete.
L’errore può dipendere però anche dalla stazione di origine: è possibile infatti che la causa del mancato recapito dei dati al computer sia una scheda di rete difettosa. Per questo il partecipante attiva un timer che darà al vicino tempo a sufficienza per eseguire un test su sé stesso. Nel caso in cui allo scadere del tempo non sia arrivato ancora nessun frame, la stazione deduce che l’errore si trova nel suo computer e avvia un test.
La stazione difettosa (nel caso in cui non sia l’AM) viene semplicemente bypassata fin quando non viene trovata una soluzione. Se si dovesse trattare dell’AM, si avvia il Token Claiming. Non appena tutto torna a funzionare, l’AM crea un nuovo token e la normale attività della rete riprende.
Vantaggi e svantaggi del Token Ring
È possibile riconoscere i vantaggi e gli svantaggi del Token Ring grazie ad un confronto con Ethernet. Il fatto che le stazioni non possano entrare in collisione rende il Token Ring un concetto ancora oggi interessante: in una rete Ethernet (Half Duplex) le collisioni sono date per scontate, in quanto le stazioni possono inviare dati contemporaneamente. Con l’aiuto di CSMA/CD vengono addirittura regolamentate le modalità d’intervento in caso di collisione, anche se esse riducono la velocità della rete. Invece nel Token Ring è impossibile avere delle collisioni, in quanto il metodo Token Passing impedisce l’invio contemporaneo dei dati da parte di più stazioni. Inoltre le informazioni girano sempre solo in una direzione.
Ciò compensa almeno in parte la mancanza di velocità. Mentre la tecnologia Token Ring raggiungeva i 16 Mbit/s, esistevano già reti Ethernet da 100 Mbit/s. Se si confronta una semplice rete ad anello con la Token Ring su MAU, da quest’ultima risulta un’estrema flessibilità dei nodi. Si possono inserire singoli computer o eliminarli dalla rete senza alcun problema. Anche quando le singole stazioni si bloccano all’improvviso, la rete non è in pericolo. Questo, in combinazione con le misure di risoluzione dei problemi, rende il Token Ring un sistema molto stabile.
Vantaggi | Svantaggi |
Nessuna collisione | Tecnica obsoleta |
Riconoscimento interno dei problemi e risoluzione | Velocità ridotta |
Le stazioni si possono inserire e togliere senza problemi | Hardware costoso |