Ethernet: la LAN che ha vinto
Ethernet è la tecnologia di rete locale più diffusa al mondo. Nata nei laboratori Xerox PARC nei primi anni ’70, standardizzata da IEEE come 802.3 nel 1983, ha sopravvissuto a Token Ring, FDDI e ATM. Oggi governa dal cablaggio domestico ai data center da migliaia di porte.
Il segreto del suo successo? Semplicità, scalabilità e — soprattutto — un meccanismo di accesso al mezzo che funziona senza coordinazione centrale: CSMA/CD.
Struttura del frame Ethernet 802.3
7B
1B
6B
6B
2B
46–1500B
4B
Preambolo e SFD
Il preambolo (7 byte) è la sequenza alternata 10101010 ripetuta sette volte. Non trasporta dati: serve al ricevitore per sincronizzare il proprio clock con il trasmettitore. Senza questa sincronizzazione il ricevitore non saprebbe dove campionare ogni bit.
L’SFD (Start Frame Delimiter, 1 byte) vale 10101011: è identico al preambolo tranne l’ultimo bit portato a 1. Questo cambiamento segnala: “il prossimo byte è il primo del frame vero”.
Nelle statistiche di rete il preambolo e l’SFD spesso non vengono conteggiati nella dimensione del frame: si parla di frame da 64–1518 byte escludendoli. Lo standard completo con preambolo+SFD arriva a 72–1526 byte.
MAC destinazione e MAC sorgente
Sei byte ciascuno. Il MAC destinazione viene letto per primo dalla scheda di rete: se non coincide con il proprio MAC (e non è broadcast/multicast), la scheda scarta il frame prima ancora di leggere il resto, risparmiando risorse CPU.
EtherType / Length (2 byte)
Questo campo ha una doppia interpretazione che dipende dal suo valore numerico:
| Valore | Interpretazione | Significato |
|---|---|---|
≤ 1500 (0x05DC) | Length | Indica la lunghezza in byte del payload (formato IEEE 802.3 originale) |
> 1500 (0x0600+) | EtherType | Indica il protocollo di livello superiore incapsulato |
0x0800 | EtherType → IPv4 | Il payload contiene un pacchetto IP versione 4 |
0x86DD | EtherType → IPv6 | Il payload contiene un pacchetto IP versione 6 |
0x0806 | EtherType → ARP | Address Resolution Protocol |
0x8100 | EtherType → 802.1Q | Frame con tag VLAN (4 byte aggiuntivi) |
Payload (dati)
Il payload contiene il datagramma del livello superiore (tipicamente un pacchetto IP). Dimensione: minimo 46 byte, massimo 1500 byte.
CSMA/CD richiede che la trasmissione di un frame duri almeno quanto il tempo di propagazione andata-ritorno sul mezzo. Con un bus di 2.5 km e velocità di propagazione ~200.000 km/s, il minimo frame valido è 64 byte. Tolti header (18 byte) rimangono 46 byte di payload minimi. Se il payload è più corto, si aggiunge padding di zero.
FCS — Frame Check Sequence
Gli ultimi 4 byte contengono il CRC-32 calcolato su MAC dest + MAC sorg + EtherType + payload. Il ricevitore ricalcola il CRC sul frame ricevuto: se non coincide con il valore FCS → frame scartato silenziosamente (Ethernet non invia NACK). La correzione è affidata ai protocolli superiori (TCP, ARQ).
MTU: Maximum Transmission Unit
CSMA/CD: Carrier Sense Multiple Access / Collision Detection
CSMA/CD è l’algoritmo che permette a più stazioni di condividere lo stesso mezzo fisico (bus Ethernet) senza coordinazione centralizzata. Il nome descrive perfettamente il suo funzionamento in tre parole.
Ascolta prima di trasmettere. Se il canale è occupato, attendi. Solo quando il mezzo è silenzioso per un tempo DIFS puoi trasmettere.
Mezzo condiviso. Tutte le stazioni usano lo stesso canale. Non c’è una stazione “master” che assegna il turno.
Rileva la collisione mentre trasmetti. Confronta il segnale inviato con quello sul cavo: se differiscono, c’è stata una sovrapposizione.
Algoritmo CSMA/CD passo per passo
- ASCOLTA il canale. Se occupato → attendi e riprova.
- Canale libero → TRASMETTI il frame.
- Durante la trasmissione, continua ad ASCOLTARE.
- Se il segnale rilevato è diverso da quello trasmesso → COLLISIONE rilevata.
- Invia JAM SIGNAL (32 bit) per avvisare tutte le stazioni.
- Incrementa il contatore di tentativi k. Se k > 16 → errore fatale.
- BACKOFF ESPONENZIALE: attendi un tempo casuale nell’intervallo [0, 2ᵏ−1] × slot time (51.2 μs).
- Torna al punto 1.
Il backoff esponenziale binario
Ogni volta che si verifica una collisione, l’intervallo di attesa raddoppia. Dopo 1 collisione si sceglie casualmente tra 0 e 1 slot; dopo 2 tra 0 e 3; dopo 10 tra 0 e 1023. Questo meccanismo adatta automaticamente il traffico: sotto carico elevato le stazioni si auto-distribuiscono nel tempo.
È come due persone che parlano contemporaneamente in una stanza: si fermano entrambe (jam), aspettano un tempo casuale diverso, e riprovano. Se si scontrano di nuovo, aspettano ancora più a lungo. Alla terza volta uno dei due ha quasi certamente già parlato.
Perché CSMA/CD è obsoleto oggi
Nelle reti switched moderne ogni dispositivo è collegato a una porta dedicata dello switch. Non c’è un mezzo fisico condiviso: ogni link è un segmento punto-a-punto. Con la modalità full-duplex trasmissione e ricezione avvengono contemporaneamente su coppie separate. Le collisioni non possono verificarsi. CSMA/CD rimane nello standard per compatibilità e storicamente, ma non viene mai attivato nelle reti attuali.
Evoluzione delle velocità Ethernet
| Standard | Velocità | Mezzo | Anno |
|---|---|---|---|
10BASE-T | 10 Mbps | Doppino UTP (Cat3) | 1990 |
100BASE-TX | 100 Mbps (Fast Ethernet) | Doppino UTP (Cat5) | 1995 |
1000BASE-T | 1 Gbps (Gigabit) | Doppino UTP (Cat5e/6) | 1999 |
10GBASE-T | 10 Gbps | UTP Cat6a/7, fibra | 2006 |
100GBASE-* | 100 Gbps | Fibra ottica | 2010 |
La codifica del nome segue la struttura: velocità (Mbps) + BASE (baseband) + mezzo/distanza. T = twisted pair, F = fibra, X = encoding speciale.
- Il frame Ethernet 802.3 è composto da: Preambolo (7B) + SFD (1B) + MAC dst (6B) + MAC src (6B) + EtherType/Length (2B) + Payload (46–1500B) + FCS (4B).
- EtherType > 1500 indica il protocollo superiore:
0x0800=IPv4,0x86DD=IPv6,0x0806=ARP. - Il payload minimo è 46 byte (frame totale min 64B): imposto da CSMA/CD per garantire la rilevazione delle collisioni. L’MTU massimo è 1500 byte.
- CSMA/CD: ascolta → trasmetti → rileva collisione → jam signal → backoff esponenziale → riprova.
- Nelle reti switched full-duplex moderne CSMA/CD non è attivo: non ci sono collisioni perché ogni link è dedicato.