Ethernet 802.3: Frame, Indirizzi MAC e CSMA/CD
La LAN che ha vinto tutto: anatomia del frame 802.3, significato dell'MTU, EtherType e il meccanismo di accesso storico CSMA/CD che ha permesso a Ethernet di scalare senza coordinatore centrale.
1. 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.
Ethernet IEEE 802.3 = standard di livello 1 e 2 che definisce formato del frame, indirizzamento MAC a 48 bit e metodi di accesso al mezzo condiviso. Nasce per bus coassiale, oggi vive su UTP e fibra in full-duplex.
2. Struttura del frame Ethernet 802.3
Ogni scheda Ethernet incapsula i dati del livello superiore in un frame con intestazione fissa. Studiarne la struttura è fondamentale per leggere Wireshark e capire switching e MTU.
7B
1B
6B
6B
2B
46–1500B
4B
3. Preambolo, SFD e indirizzi MAC
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.
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: si parla di frame da 64–1518 byte escludendoli. Lo standard completo con preambolo+SFD arriva a 72–1526 byte sul cavo.
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. Bit I/G e U/L del primo byte indicano unicast/multicast e global/local.
FF:FF:FF:FF:FF:FF
Tutti i bit a 1. Ogni NIC del dominio di broadcast deve processarlo. Usato da ARP, DHCP Discover.
Es: 3C:22:FB:9A:01:2A
Indirizzo fisico univoco masterizzato in fabbrica. Primo byte LSB 0 = unicast.
01:00:5E:xx:xx:xx
Per IPv4 multicast, protocolli di controllo. LSB primo byte = 1.
4. EtherType / Length e valori IANA
Questo campo da 2 byte ha una doppia interpretazione che dipende dal suo valore numerico:
| Valore | Interpretazione | Significato |
|---|---|---|
| ≤ 1500 (0x05DC) | Length | Indica lunghezza payload (formato IEEE 802.3 originale LLC) |
| > 1500 (0x0600+) | EtherType | Indica protocollo superiore incapsulato (formato Ethernet II DIX) |
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) — MTU diventa 1522 |
5. Payload, FCS, MTU e Jumbo Frame
Il payload contiene il datagramma del livello superiore (tipicamente IP). Dimensione: minimo 46 byte, massimo 1500 byte.
MTU (Maximum Transmission Unit): dimensione massima del payload che un frame L2 può trasportare. Per Ethernet standard: 1500 byte. I pacchetti IP più grandi vengono frammentati prima di essere incapsulati. In data center, Jumbo Frame MTU 9000 byte riduce overhead.
CSMA/CD richiede che la trasmissione di un frame duri almeno quanto il tempo di propagazione andata-ritorno sul mezzo. Con bus 2.5 km e 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 zeri. Il ricevitore usa il campo Length/IP Total Length per capire dove finiscono i dati veri.
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: se non coincide → frame scartato silenziosamente (Ethernet non invia NACK). La correzione è affidata a TCP, ARQ, ecc.
6. 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
Ascolta prima di trasmettere. Se il canale è occupato, attendi. Solo quando il mezzo è silenzioso per 96 bit time puoi trasmettere.
Mezzo condiviso
Tutte le stazioni usano lo stesso canale. Non c'è master. Architettura distribuita e robusta.
Rileva mentre trasmetti
Confronta segnale inviato con quello sul cavo: se differiscono → sovrapposizione. Interrompi e segnala.
7. Algoritmo passo-passo e backoff esponenziale
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. Il backoff casuale rompe la simmetria.
51.2 µs a 10 Mbps
512 bit time = tempo per TX 64B minimi. Garanzia rilevazione collisione fino a 2500m.
32 bit di 'allarme'
Sequenza che garantisce che tutte le stazioni rilevino la collisione, anche se il frame era corto.
8. 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à storica, ma non viene mai attivato nelle reti attuali. L'HUB invece è ancora half-duplex e collisione presente — ecco perché lo usiamo in lab didattico.
Bus coassiale / HUB → half-duplex + CSMA/CD. Switch moderno → full-duplex, CS off, CD off, niente jam. Ogni porta è un dominio di collisione isolato, ogni VLAN un dominio di broadcast isolato.
9. Evoluzione delle velocità Ethernet
| Standard | Velocità | Mezzo | Anno | Note |
|---|---|---|---|---|
10BASE-T | 10 Mbps | Doppino UTP Cat3 | 1990 | CSMA/CD attivo, half-duplex |
100BASE-TX | 100 Mbps (Fast) | UTP Cat5 | 1995 | Auto-neg full/half |
1000BASE-T | 1 Gbps (Gigabit) | UTP Cat5e/6 | 1999 | Full-duplex di default |
10GBASE-T | 10 Gbps | UTP Cat6a/7, fibra | 2006 | Data center, no CSMA/CD |
100GBASE-* | 100 Gbps | Fibra ottica | 2010 | Jumbo Frame MTU 9000 |
La codifica del nome segue la struttura: velocità (Mbps) + BASE (baseband) + mezzo/distanza. T = twisted pair, F = fibra, X = encoding speciale.
10. Verifica / Esercizio in classe
🔬 Attività lab con HUB e Wireshark
Apri in Packet Tracer il file peer-to-peer-con-hub.pkt (risorsa sotto). Due PC collegati a un hub, ping incrociato.
- In Simulation Mode, avvia un ping contemporaneo dai due PC. Osserva il LED collisione sull'hub. Quante volte scatta il backoff?
- Passa in Real-time, avvia cattura su PC0 con Wireshark (se disponibile) o mostra il dettaglio PDU: identifica Preambolo (non mostrato), MAC DST/SRC, EtherType, dimensione payload, FCS OK?
- Crea un frame con payload di 10 byte: quanti byte di padding aggiunge Ethernet? Dimostra calcolo 64 -18 -10 =36.
- Perché sostituendo hub con switch le collisioni scompaiono anche con ping simultanei? Collega a full-duplex.
1. Con hub, dominio collisione unico → ping simultanei = collisione probabile. Backoff risolve in 1-2 retry. 2. EtherType 0x0800 per ICMP/IP, MAC broadcast ARP prima. FCS in PT non sempre visibile. 3. Padding 36 byte per arrivare a 46 payload → 64 byte minimi. 4. Switch: microsegmentazione, ogni porta dominio collisione dedicato, full-duplex TX e RX su coppie diverse, buffer store-and-forward, quindi CSMA/CD disabilitato. MTU resta 1500 ma nessuna interferenza.
Se ti chiedono "quanto è lungo al minimo un frame Ethernet?", rispondi: 64 byte di frame (DST+SRC+TYPE+PAYLOAD+FCS) + 8 byte preambolo/SFD = 72 sul cavo. Se chiedono "perché 46 di payload minimo?" → collega subito a CSMA/CD e slot time, fai colpo.
11. Riepilogo e concetti chiave
0x0800=IPv4, 0x86DD=IPv6, 0x0806=ARP, 0x8100=VLAN tag.📚 Prossimo passo - Gli switch Ethernet: tabella MAC e tecniche di switching
Abbiamo visto il frame sul cavo. Ora vediamo chi decide dove mandarlo: lo switch impara i MAC, costruisce la tabella CAM, e inoltra con store-and-forward, cut-through e metodi di controllo. Lab con switching e MAC flapping.