Sistemi di elaborazione dell'informazione / Reti

Funzionamento di una rete Ethernet

Nella rete Ethernet non esiste un arbitro degli accessi bensì un meccanismo in base al quale le singole stazioni di lavoro si "autodisciplinano", astenendosi dal trasmettere quando qualcun'altra lo sta già facendo. Tecnicamente questo sistema prende il nome di csma/cd (Carrier Sense Multiple Access/Collision Detection - accesso multiplo a rilevazione di portante con segnalazione di collisione). Interpretando il significato di questa sigla si comprende anche l'anatomia del meccanismo. La prima azione che qualsiasi scheda d'interfaccia esegue prima d'iniziare a trasmettere consiste nell'ascoltare se qualcuno lo sta già facendo, ecco la rilevazione della portante. Nel caso qualcuno stia trasmettendo, sul cavo sarà presente un segnale a 20 MHz su cui viaggiano 10 Mbit per secondo (codificati con il sistema di Manchester). In caso di "occupato" la workstation desiste e tenta di ritrasmettere più tardi. L'accesso alla rete è multiplo, perciò tutte le stazioni hanno la stessa facoltà di parlare a condizione di accertarsi prima che la linea sia libera, operazione che possono eseguire tutte in contemporanea. Supponiamo, a questo punto, che due stazioni siano pronte a trasmettere e che abbiano trovato la linea libera. La trasmissione parte nello stesso momento e quella della prima inevitabilmente collide con quella della seconda provocando l'ingarbugliamento del segnale elettrico e l'impossibilità di riconoscere i bit che vi erano contenuti. Se non esistesse nessun sistema che segnalasse l'avvenuta collisione, le due stazioni continuerebbero a trasmettere i rispettivi messaggi per intero, nella convinzione che questi arriveranno a buon fine. Per questo motivo i progettisti hanno inserito nella scheda d'interfaccia un ulteriore circuito che rimane sempre in ascolto, anche quando la scheda medesima sta trasmettendo, per verificare che non siano avvenute collisioni. Il circuito in sé non è complesso, infatti tutto quel che deve verificare è l'esistenza di valori di tensione superiori alla norma. In caso di collisione, infatti, i segnali elettrici delle due stazioni si mescolano e finiscono anche per sommarsi, perciò la tensione risultante che circola in rete è maggiore. Non appena la collisione viene rilevata, le schede d'interfaccia di entrambe le stazioni non interrompono immediatamente la trasmissione, ma continuano a inviare bit fino a raggiungere la dimensione minima di un pacchetto di 64 Byte. Questo per fare in modo che anche tutte le altre macchine sulla rete si accorgano che la collisione è in corso e che la rete è momentaneamente bloccata. Dopo di che interrompono la trasmissione e attivano un timer di durata casuale prima di ritentare la trasmissione. Il fatto che il timer sia casuale impedisce che entrambe ripartano nello stesso istante, causando una nuova collisione. Se, nonostante l'uso dei timer, la collisione si verificasse ancora, il timer verrebbe allungato progressivamente fino a un punto in cui il continuare delle collisioni indicherebbe un guasto fisico sulla rete e le singole schede d'interfaccia comunicherebbero al rispettivo computer l'impossibilità di trasmettere. Nella realtà le collisioni sono più frequenti di quello che a prima vista potrebbe sembrare. Infatti, oltre al caso fortuito visto prima di due stazioni che trasmettono esattamente nello stesso momento, esistono anche altri casi in cui due o più macchine cercano di prendere possesso della linea con la convinzione che sia libera, quando questa in realtà non lo è e c'è già qualcun altro che ha cominciato a trasmettere. Per capire come questo possa accadere dobbiamo parlare di tempi: alla velocità di 10 Mbit per secondo ci vogliono 100 nanosecondi per inviare un singolo bit. Trattandosi di un impulso elettrico che viaggia alla velocità della luce, la propagazione non è istantanea anche se molto veloce. Si verifica quello che in termini tecnici si chiama "ritardo di propagazione". Ci vuole circa un nanosecondo per percorrere 30 centimetri e, prima che il secondo bit sia uscito dalla scheda di rete che sta trasmettendo, il primo bit ha circa trenta metri di vantaggio. Le reti Ethernet hanno lunghezze di centinaia di metri perciò può benissimo accadere che una seconda stazione, diciamo a 90 di metri distanza dalla prima, ascolti la linea nel momento in cui la prima ha iniziato a trasmettere e la trovi comunque libera, visto che il primo bit non è ancora arrivato fino a lei. In tal caso la seconda stazione inizierebbe la propria trasmissione e quasi subito si troverebbe coinvolta in una collisione. Anzi, anche una terza stazione, ancora più distante, potrebbe partire nel frattempo e provocare un vero e proprio "tamponamento a catena". Questo ci fa capire per quale motivo, al crescere del numero di stazioni presenti sulla rete, aumenti anche il numero di collisioni e ci spiega anche perché una rete Ethernet non possa superare una certa lunghezza. Il problema viene ulteriormente complicato dal fatto che, mentre la seconda e la terza stazione si accorgono della collisione quasi immediatamente, la prima non se ne rende conto fino a quando il segnale di collisione rimbalza indietro lungo la rete e ritorna fino a lei. Per risolvere questo problema è necessario dividere la rete in “segmenti” ovvero creare una seconda rete e collegarla alla prima attraverso un dispositivo "ponte" (chiamato bridge) che memorizza ogni messaggio in arrivo da una parte e lo ritrasmette alla rete successiva solo se è destinato a questa, oppure lo scarta se si tratta di un messaggio che deve rimanere all'interno della prima rete. La velocità massima di trasmissione per una rete Ethernet classica è di 10 Mbit per secondo, ma esiste anche una versione a 1 Mbit per secondo creata da AT&T col nome di StarLAN e usata per un certo periodo tra il 1985 e il 1987 come sistema per sfruttare il doppino telefonico per la trasmissione dati (decaduta con l'avvento dell' Ethernet su doppino che trasmette 10 Mbps su cavo di tipo telefonico). Negli ultimi due anni, poi, ha cominciato a diffondersi anche una versione a 100 Mbps, chiamata Fast Ethernet. Qualunque sia la velocità massima nominale di queste tre varianti, la pratica ci dice che è difficile sfruttarne più del 40% quando le si utilizza nella loro forma originale, cioè numerose macchine connesse a un singolo percorso trasmissivo. Oltre il 40%, infatti, le collisioni aumentano molto rapidamente e oltre il 60% diventano predominanti. In ragione di questo fatto Ethernet ha dovuto per anni respingere la concorrenza di Token Ring che, in quanto priva di collisioni, riusciva con i propri 4 Mbps a far viaggiare tante informazioni di quante ne conteneva un'Ethernet a 10 Mbps. Una Token Ring a 16 Mbps si difende meno bene rispetto a una Fast Ethernet a 100 Mbps, ma il divario non è enorme visto che quest'ultima, in realtà, non riesce a mettere in campo più di 40 o 60 Mbps reali quando deve servire diverse macchine contemporaneamente. Per saperne di più consulta i seguenti approfondimenti:























































Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.