PROGRAMMIAMO
Internet - Ethernet
Il livello di accesso alla rete

Il livello più basso nello stack TCP/IP è detto livello di accesso alla rete (network access layer, talvolta detto anche link layer). Questo è il livello fisico della comunicazione, che provvede al trasferimento di dati (segnali elettrici) fra due nodi di rete connessi direttamente.

La suite di protocolli TCP/IP non prevede espressamente protocolli standard per il livello di accesso alla rete. In effetti TCP/IP può funzionare correttamente appoggiandosi su molti tipi di reti diverse, fra le quali per esempio possiamo menzionare FireWire, ATM, Frame Relay e i vari tipi di connessione wireless. Ciò è logico, dal momento che Internet è realizzata collegando fra di loro molte reti di tipo differente, dal punto di vista della realizzazione "fisica": doppini, cavi coassiali, rete telefonica, ponti radio, fibre ottiche... E' dunque naturale che TCP/IP non incorpori la definizione di standard per questo livello più basso, in quanto tale livello può essere realizzato in modi molto diversi e, inoltre, tali realizzazioni sono destinate a mutare nel tempo con l'evolvere della tecnologia.

Tuttavia fra i molti diversi tipi di realizzazione della rete fisica, ce n'è uno che merita un breve cenno e si tratta di Ethernet, lo standard più diffuso nelle reti LAN. Ormai la maggior parte delle reti locali è realizzata secondo queste specifiche e, siccome la gran parte del traffico in Internet ha origine e destinazione in una qualche rete locale (es. la nostra rete domestica o la rete locale in cui è inserito il server), lo studio del funzionamento delle reti locali Ethernet ha interesse e conseguenze anche per lo studio di come funziona Internet in generale.

Ethernet

Ethernet è una famiglia di tecnologie standardizzate per reti locali, sviluppato inizialmente nei laboratori dello Xerox PARC, che definisce le specifiche tecniche a livello fisico (connettori, cavi, tipologia di trasmissione, etc.) e a livello degli indirizzi MAC per la trasmissione di dati su una rete locale LAN.

Attualmente Ethernet è lo standard di realizzazione di LAN più diffuso (sebbene non l'unico) e viene spesso utilizzato per implementare il livello di accesso alla rete di TCP/IP.

Non esiste un unico standard Ethernet, dal momento che nel corso degli anni sono stati rilasciati standard diversi che utilizzavano diverse tipologie di cavi di trasmissione (dal cavo coassiale alle fibre ottiche), diversi meccanismi per controllare il traffico in rete e diverse larghezze di banda del canale. Le tipologie di Ethernet attualmente più usate sono denominate 10BASE-T, 100BASE-TX (detto anche Fast Ethernet) e 1000BASE-T (Gigabit Ethernet).

Lo standard Ethernet si occupa in generale di definire le caratteristiche fisiche dei collegamenti fra le schede di rete (cavi), la forma dei messaggi trasmessi (frame) e i meccanismi di gestione delle collisioni.

In generale Ethernet fornisce un servizio senza connessione, inaffidabile e broadcast (point to multipoint). In pratica, il mittente invia i dati a tutti i dispositivi collegati nella LAN senza alcun handshake iniziale e in modalità broadcast: il pacchetto attraversa tutta la LAN e viene ricevuto da tutti i dispositivi collegati, ma solo il dispositivo che riconosce il proprio indirizzo MAC di destinazione lo recepirà, mentre tutti gli altri lo scarteranno.

Saranno eventualmente i dispositivi di rete in grado di riconoscere gli indirizzi MAC a provvedere a uno smistamento dei frame direttamente a destinazione: è questo il caso degli switch. La trasmissione su Ethernet è inoltre inaffidabile, in quanto non viene effettuato il controllo dei frame persi o corrotti, ma tale compito è demandato eventualmente ai livelli superiori.

Cavi

Le prime versioni di Ethernet utilizzavano cavi coassiali, come in figura

Versioni più recenti usano invece doppini (twisted pair) in rame come in figura:

cavo_lan

Realizzazioni Ethernet ad altissima velocità si basano invece su cavi in fibra ottica:

sc-sc om3 fiber optic cables

Collisioni

In Ethernet tutti i dispositivi collegati condividono un unico canale di trasmissione:

 

Questa modalità di funzionamento presenta il problema delle collisioni, che si verificano quando due nodi cercano di trasmettere contemporaneamente in rete e i relativi frame si "mescolano" (collidono) sul canale di trasmissione. Il risultato di una collisione è che i segnali elettrici vengono alterati e il dato trasmesso non è più riconoscibile.

Per cercare di ridurre al minimo le collisioni, ciascuna interfaccia di rete Ethernet rimane in ascolto sul canale e si astiene dal trasmettere se questo è già occupato. Anche in questo modo però le collisioni sono ugualmente possibili, nel caso in cui due nodi vogliano iniziare contemporaneamente la trasmissione. Si tenga presente che, a causa dei ritardi di trasmissione dei segnali sui cavi di rete, potrebbe accadere che una scheda di rete pensi che il canale sia libero, quando in realtà qualcuno ha già iniziato una trasmissione: se infatti le schede collegate in rete si trovano a una certa distanza, i segnali trasmessi, pur viaggiando alla velocità della luce, non fanno in tempo a raggiungere tutti gli altri nodi, prima che questi abbiano deciso di trasmettere (credendo, erroneamente, che il canale non sia occupato).

In questo caso le schede di rete si accorgono dell'avvenuta collisione (perché i livelli elettrici presenti sul canale di trasmissione risultano "sbagliati") e interrompono immediatamente la trasmissione, ritentandola di nuovo dopo un intervallo di tempo casuale. In questo modo si minimizza la probabilità che la collisione si ripeta quando verrà ritentata la trasmissione.

Quando due frame collidono, essi vengono persi. Ethernet non effettua nessun tentativo di correggere eventuali errori: semplicemente ritrasmette i frame. Questi pertanto non potranno avere dimensioni troppo grandi, poiché, data la casualità del processo di trasmissione, all'aumentare delle dimensioni dei frame aumenta anche la probabilità delle collisioni. Questo fatto giustifica in qualche modo le massime dimensioni (MTU) che sono tipicamente piuttosto ridotte (1500 byte è, come abbiamo visto, il valore standard).

Frame

Il pacchetto Ethernet viene detto frame e ha la seguente struttura:

Ethernet frame.svg

Senza entrare nei dettagli, osserviamo in particolare la presenza di un MAC address sorgente e uno di destinazione: la trasmissione dati a questo livello si basa infatti sugli indirizzi fisici dei nodi collegati (i MAC address appunto). Il payload (di dimensioni variabili) può contenere un pacchetto del livello IP superiore (secondo la ben nota tecnica dell'incapsulamento).

 

 

precedente - successiva

Sito realizzato in base al template offerto da
http://www.graphixmania.it