Ethernet 802.3: frame, indirizzi MAC e CSMA/CD

// obiettivi di apprendimento
Disegnare e commentare ogni campo del frame Ethernet 802.3 (preambolo, SFD, MAC, EtherType, payload, FCS)
Spiegare i valori EtherType più comuni (IPv4, IPv6, ARP) e la differenza con il campo Length
Descrivere il funzionamento di CSMA/CD: ascolto, trasmissione, rilevazione collisione, jam signal e backoff esponenziale
Comprendere perché CSMA/CD è obsoleto nelle reti switched full-duplex moderne
📄
Slides
Struttura frame 802.3 e diagramma CSMA/CD
🖧
Lab
Analisi frame rete peer-to-peer-con HUB
PKT →

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

// frame ethernet 802.3 — struttura campi
PRE
7B
SFD
1B
MAC DST
6B
MAC SRC
6B
TYPE/LEN
2B
PAYLOAD (DATA)
46–1500B
FCS
4B
Dimensione totale: min 64 byte (senza preambolo/SFD) — max 1518 byte

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”.

// nota

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:

ValoreInterpretazioneSignificato
≤ 1500 (0x05DC)LengthIndica la lunghezza in byte del payload (formato IEEE 802.3 originale)
> 1500 (0x0600+)EtherTypeIndica il protocollo di livello superiore incapsulato
0x0800EtherType → IPv4Il payload contiene un pacchetto IP versione 4
0x86DDEtherType → IPv6Il payload contiene un pacchetto IP versione 6
0x0806EtherType → ARPAddress Resolution Protocol
0x8100EtherType → 802.1QFrame 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.

// perché minimo 46 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

// definizione formale
MTU (Maximum Transmission Unit): dimensione massima del payload che un frame di livello 2 può trasportare. Per Ethernet standard: 1500 byte. I pacchetti IP più grandi vengono frammentati prima di essere incapsulati. In ambienti con Jumbo Frame (data center), l’MTU può arrivare a 9000 byte.

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.

CS — CARRIER SENSE

Ascolta prima di trasmettere. Se il canale è occupato, attendi. Solo quando il mezzo è silenzioso per un tempo DIFS puoi trasmettere.

MA — MULTIPLE ACCESS

Mezzo condiviso. Tutte le stazioni usano lo stesso canale. Non c’è una stazione “master” che assegna il turno.

CD — COLLISION DETECTION

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

// pseudocodice CSMA/CD
  1. ASCOLTA il canale. Se occupato → attendi e riprova.
  2. Canale libero → TRASMETTI il frame.
  3. Durante la trasmissione, continua ad ASCOLTARE.
  4. Se il segnale rilevato è diverso da quello trasmesso → COLLISIONE rilevata.
  5. Invia JAM SIGNAL (32 bit) per avvisare tutte le stazioni.
  6. Incrementa il contatore di tentativi k. Se k > 16 → errore fatale.
  7. BACKOFF ESPONENZIALE: attendi un tempo casuale nell’intervallo [0, 2ᵏ−1] × slot time (51.2 μs).
  8. 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.

// analogia

È 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

// importante — architetture moderne

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

StandardVelocitàMezzoAnno
10BASE-T10 MbpsDoppino UTP (Cat3)1990
100BASE-TX100 Mbps (Fast Ethernet)Doppino UTP (Cat5)1995
1000BASE-T1 Gbps (Gigabit)Doppino UTP (Cat5e/6)1999
10GBASE-T10 GbpsUTP Cat6a/7, fibra2006
100GBASE-*100 GbpsFibra ottica2010

La codifica del nome segue la struttura: velocità (Mbps) + BASE (baseband) + mezzo/distanza. T = twisted pair, F = fibra, X = encoding speciale.

📌 Riepilogo — Punti chiave
  • 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.

Lascia un commento