Il Token Ring è una rete ormai scomparsa: og­gi­gior­no è infatti Ethernet a dominare con i col­le­ga­men­ti LAN via cavo, anche se ciò non rende la vecchia rete meno in­te­res­san­te. Anche la sua storia può aiutare a capire le reti moderne e a ri­co­strui­re i motivi per cui la rete si è svi­lup­pa­ta così com’è adesso. E chi lo sa: forse potrete ritrovare un Token Ring da qualche parte.

Il Token Ring non è pro­pria­men­te una rete ad anello, anche se il nome lo fa pensare: nella realtà esiste solo un anello logico, ma non un anello fisico. Vi spie­ghe­re­mo in seguito quali sono le dif­fe­ren­ze tra i due.

De­fi­ni­zio­ne

La base di un Token Ring è lo standard di rete IEEE 802.5 dell’Institute of Elec­tri­cal and Elec­tro­nics Engineers risalente al 1985. Tutti i par­te­ci­pan­ti della Local Area Networks (LAN) sono collegati ad un anello logico. Di regola le reti Token Ring hanno una velocità di tra­smis­sio­ne 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’in­tro­du­zio­ne del Token Ring esi­ste­va­no reti per computer. Queste però, come ARPANET, non erano di­spo­ni­bi­li per l’utilizzo pubblico, ma vennero svi­lup­pa­te e impiegate da singole isti­tu­zio­ni per i loro scopi e quindi non stan­dar­diz­za­te. 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 si­tua­zio­ne e intorno alla metà degli anni 80 ha portato il suo prodotto sul mercato.

Grazie alla di­stri­bu­zio­ne massiccia dei PC IBM, il Token Ring iniziò la sua ascesa, in­ter­rot­ta però quasi subito. Infatti sempre negli anni 80 anche la tec­no­lo­gia Ethernet, svi­lup­pa­ta già negli anni 70, acquistò sempre più po­po­la­ri­tà, grazie anche al supporto di Intel e Xerox. Alla fine fu Ethernet a vincere tra le due, grazie all’in­tro­du­zio­ne di cavi coassiali economici e sottili. L’IBM aveva stabilito un costo così alto per il Token Ring che nessun prodotto con tale tec­no­lo­gia poteva essere immesso sul mercato ad un prezzo van­tag­gio­so.

Mentre l’IBM cercava di con­vin­ce­re il pubblico dei vantaggi del Token Ring, la sconfitta de­fi­ni­ti­va arrivò alla fine degli anni 90, quando im­ple­men­tò gli standard IEEE con 100 Mbit/s e 1.000 Mbit/s: il primo fu com­mer­cia­liz­za­to davvero poco, mentre con il secondo non riuscì a lanciare nemmeno un prodotto sul mercato.

Che cos’è un Token Ring?

Si può ri­spon­de­re fa­cil­men­te 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 è co­sti­tui­ta da una di­spo­si­zio­ne ad anello dei computer. Ogni par­te­ci­pan­te è 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 con­nes­sio­ne viene suddivisa in altro modo, l’intera rete subisce un’in­ter­ru­zio­ne e non è più possibile stabilire una con­nes­sio­ne. Anche se un altro computer vuole col­le­gar­si alla rete, la LAN deve in­ter­rom­pe­re la con­nes­sio­ne 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 esclu­si­va­men­te logica. La topologia Token Ring si basa su Mul­ti­sta­tion Access Units (MAU) che per­met­to­no ai par­te­ci­pan­ti di con­net­ter­si su una rete a forma di stella. Il di­stri­bu­to­re è un punto di snodo in col­le­ga­men­to con tutti i par­te­ci­pan­ti della rete, mentre tra i singoli computer non esiste una con­nes­sio­ne diretta.

Per questo motivo si parla di anello logico basato su una struttura fisica a stella, anche se la tra­smis­sio­ne dei dati avviene (a livello astratto) seguendo un anello. I dati vengono trasmessi sempre alla MAU, ma da lì vengono inviati sem­pli­ce­men­te al prossimo computer presente seguendo la suc­ces­sio­ne pre­sta­bi­li­ta e non ad uno specifico par­te­ci­pan­te.

Il metodo del Token Passing

Affinché non si piombi nel caos, si utilizza il metodo del Token Passing. Questo metodo è stato in­tro­dot­to affinché i par­te­ci­pan­ti non in­vias­se­ro con­tem­po­ra­nea­men­te 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 par­te­ci­pan­ti 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 Man­che­ster dif­fe­ren­zia­le, con­sen­ten­do­ne una chiara clas­si­fi­ca­zio­ne.
  • 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 de­li­mi­ta­to­re finale è strut­tu­ral­men­te simile al de­li­mi­ta­to­re iniziale e indica la fine del frame.

Quando un par­te­ci­pan­te riceve il frame e non vuole inviare nessuna in­for­ma­zio­ne, lo cede sem­pli­ce­men­te 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 è rap­pre­sen­ta­ta dagli indirizzi del mittente e del de­sti­na­ta­rio. Il pacchetto dati non raggiunge subito il de­sti­na­ta­rio ma, at­tra­ver­so la MAU, passa da par­te­ci­pan­te a par­te­ci­pan­te finché non raggiunge la stazione corretta. Ogni par­te­ci­pan­te funge da ri­pe­ti­to­re, affinché il segnale non perda potenza: legge il pacchetto, lo ricrea e lo spedisce di nuovo sull’anello.

La stazione di de­sti­na­zio­ne copia le in­for­ma­zio­ni, conferma la corretta ricezione dei dati at­tra­ver­so il cam­bia­men­to del frame status (FS), cioè l’ultimo byte dell’intero frame, e invia nuo­va­men­te il pacchetto. Quando il pacchetto dei dati raggiunge di nuovo il mittente ori­gi­na­rio, questo cancella i dati e imposta il bit del token come libero. In al­ter­na­ti­va ha anche la pos­si­bi­li­tà di inviare di­ret­ta­men­te i dati suc­ces­si­vi. Affinché però tutti i par­te­ci­pan­ti abbiano la pos­si­bi­li­tà di tra­smet­te­re dati, è im­ple­men­ta­to un Token Holding Time. Questo indica il tempo concesso ad una stazione per poter ricorrere al token.

Fatto

Non è im­por­tan­te inviare i dati seguendo il senso orario, ma è im­por­tan­te che tutti i par­te­ci­pan­ti li inviino seguendo la stessa direzione.

Si­tua­zio­ni di errore nel Token Ring

In ogni rete si possono ve­ri­fi­ca­re delle si­tua­zio­ni ina­spet­ta­te che po­treb­be­ro mettere in ginocchio la rete stessa. Un buono standard im­ple­men­ta mec­ca­ni­smi 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 par­te­ci­pa­re può ottenere questo ruolo. Quale stazione diventa AM e quale invece rimane SM viene deciso da un pro­ce­di­men­to fisso: la Monitor Con­ten­tion, chiamata anche Token Claiming. Il pro­ce­di­men­to viene avviato nel momento in cui una stazione ha con­sta­ta­to che l’attuale AM non invia più l’Active Monitor Present Frame sull’anello.

In un momento del genere il pro­to­col­lo ha bisogno di scegliere un nuovo Active Monitor: la prima stazione che ha notato un com­por­ta­men­to anomalo dell’AM inizia ad inviare un co­sid­det­to Claim Token Frame. La stazione suc­ces­si­va sull’anello confronta l’indirizzo MAC del mittente con il proprio. Se l’indirizzo di questo secondo par­te­ci­pan­te della rete ha un valore più alto cambia il frame so­sti­tuen­do­lo con uno suo. Alla fine rimane solo una stazione: se il suo frame circola tre volte, senza che un’altra stazione in­ter­ven­ga, viene definito un nuovo Active Monitor.

L’Active Monitor è re­spon­sa­bi­le per il corretto fun­zio­na­men­to del Token Ring, ma a volte anche gli Standby Monitor possono in­ter­ve­ni­re. Nelle seguenti si­tua­zio­ni la rete Token Ring riesce a ripararsi da sola:

Il token va perso

Non appena un token passa at­tra­ver­so un Active Monitor, questo imposta un timer. Se viene ol­tre­pas­sa­to un tempo massimo di 10 mil­li­se­con­di 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 de­sti­na­ta­rio

Se una stazione invia un pacchetto e proprio in quel momento il de­sti­na­ta­rio si blocca, il pacchetto girerà senza fine sull’anello, in quanto non riconosce nessuna stazione come suo de­sti­na­ta­rio. 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 de­sti­na­ta­rio. Solo l’AM può impostare il bit su 1, ac­cer­tan­do­si così che è già venuto in contatto con il pacchetto. L’Active Monitor distrugge il pacchetto e crea un nuovo token libero.

In­ter­fac­cia difettosa

In una normale topologia ad anello il blocco di una stazione o di una con­nes­sio­ne genera il blocco totale della rete. In una rete Token Ring la MAU può sem­pli­ce­men­te bypassare l’in­ter­fac­cia. Le stazioni difettose vengono ri­co­no­sciu­te di­ret­ta­men­te dal loro vicino: per questo motivo il par­te­ci­pan­te 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 par­te­ci­pan­te attiva un timer che darà al vicino tempo a suf­fi­cien­za 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 sem­pli­ce­men­te bypassata fin quando non viene trovata una soluzione. Se si dovesse trattare dell’AM, si avvia il Token Claiming. Non appena tutto torna a fun­zio­na­re, l’AM crea un nuovo token e la normale attività della rete riprende.

Vantaggi e svantaggi del Token Ring

È possibile ri­co­no­sce­re i vantaggi e gli svantaggi del Token Ring grazie ad un confronto con Ethernet. Il fatto che le stazioni non possano entrare in col­li­sio­ne rende il Token Ring un concetto ancora oggi in­te­res­san­te: in una rete Ethernet (Half Duplex) le col­li­sio­ni sono date per scontate, in quanto le stazioni possono inviare dati con­tem­po­ra­nea­men­te. Con l’aiuto di CSMA/CD vengono ad­di­rit­tu­ra re­go­la­men­ta­te le modalità d’in­ter­ven­to in caso di col­li­sio­ne, anche se esse riducono la velocità della rete. Invece nel Token Ring è im­pos­si­bi­le avere delle col­li­sio­ni, in quanto il metodo Token Passing impedisce l’invio con­tem­po­ra­neo dei dati da parte di più stazioni. Inoltre le in­for­ma­zio­ni girano sempre solo in una direzione.

Ciò compensa almeno in parte la mancanza di velocità. Mentre la tec­no­lo­gia Token Ring rag­giun­ge­va i 16 Mbit/s, esi­ste­va­no 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 fles­si­bi­li­tà dei nodi. Si possono inserire singoli computer o eli­mi­nar­li dalla rete senza alcun problema. Anche quando le singole stazioni si bloccano all’im­prov­vi­so, la rete non è in pericolo. Questo, in com­bi­na­zio­ne con le misure di ri­so­lu­zio­ne dei problemi, rende il Token Ring un sistema molto stabile.

Vantaggi Svantaggi
Nessuna col­li­sio­ne Tecnica obsoleta
Ri­co­no­sci­men­to interno dei problemi e ri­so­lu­zio­ne Velocità ridotta
Le stazioni si possono inserire e togliere senza problemi Hardware costoso
Vai al menu prin­ci­pa­le