Gli Switch Ethernet: funzionamento, tabella MAC e tecniche di switching

// obiettivi di apprendimento
Spiegare come uno switch popola dinamicamente la tabella MAC (CAM table) e come la usa per inoltrare i frame
Distinguere le tre modalità di switching: Store-and-Forward, Cut-Through e Fragment-Free, con i relativi trade-off
Descrivere i comportamenti di unicast, flooding e broadcast nello switch e le condizioni che li attivano
Capire il problema dei loop tra switch e il ruolo dello Spanning Tree Protocol (STP) nella sua soluzione
🎬
Video
Comandi base
Guarda →
🎬
Video
Esploriamo l’IOS
Guarda →
🎬
Video
Switch Ethernet: configurazione di base
Guarda →
📄
Slides
CAM table, algoritmo forwarding, modalità switching
🖧
Lab
Navigate IOS
PKT →

Dall’hub allo switch: perché conta

Un hub (concentratore) è un dispositivo stupido: riceve un segnale su una porta e lo ritrasmette su tutte le altre. Tutte le stazioni condividono lo stesso dominio di collisione e ricevono tutti i pacchetti, anche quelli non destinati a loro. Con molte stazioni la rete degrada rapidamente.

Uno switch risolve entrambi i problemi: instrada i frame solo verso la porta corretta e crea un dominio di collisione separato per ogni porta. Il risultato? Latenza inferiore, larghezza di banda dedicata per ogni dispositivo, rete scalabile.

// definizione formale
Uno switch Ethernet è un dispositivo di livello 2 che instrada i frame in base agli indirizzi MAC. Opera in modalità store-and-forward (o cut-through): legge l’indirizzo MAC di destinazione e lo consulta in una tabella di forwarding per decidere su quale porta inviare il frame.

La CAM Table — Content Addressable Memory

Il cuore dello switch è la CAM table (o tabella MAC): una struttura dati che associa ogni indirizzo MAC alla porta fisica su cui è stato visto. È implementata in hardware (memoria associativa) per garantire lookup a velocità di rete.

// esempio CAM table — switch a 4 porte
MAC AddressPortaVLANAge (s)
3C:22:FB:11:AA:01Fa0/11120
08:00:27:4E:CC:FFFa0/2145
B4:2E:99:00:11:22Fa0/31280
DC:A6:32:88:44:77Fa0/4110
Le entry scadono (default 300 s su Cisco) se non si ricevono frame da quel MAC.

Come si popola la tabella MAC: apprendimento dinamico

Lo switch non viene configurato manualmente: impara dai frame che riceve. Il processo è semplice ma potente:

// processo di apprendimento
  1. Arriva un frame sulla porta X
  2. Leggi il MAC sorgente del frame
  3. Se MAC sorgente non è in tabella → aggiungi la voce MAC sorgente → porta X
  4. Se MAC sorgente è già in tabella → aggiorna il timer (aging)
  5. Ora leggi il MAC destinazione e prendi la decisione di forwarding

Algoritmo di forwarding: unicast, flooding, broadcast

Una volta letto il MAC destinazione, lo switch segue tre possibili comportamenti:

UNICAST

MAC destinazione trovato in CAM table → il frame viene inviato solo sulla porta associata. Le altre porte non ricevono niente. Questo è il comportamento normale e ottimale.

FLOODING

MAC destinazione NON trovato in CAM table → il frame viene inviato su tutte le porte tranne quella di arrivo. Lo switch non conosce ancora la posizione del destinatario. Quando il destinatario risponde, lo switch apprende la sua porta e non farà più flooding.

BROADCAST

MAC destinazione = FF:FF:FF:FF:FF:FF → flooding sempre e inevitabilmente. I broadcast vengono propagati su tutte le porte. Questo è il motivo per cui il broadcast eccessivo degrada le reti LAN estese.

// nota — dominio di broadcast

Tutti i dispositivi connessi allo stesso switch (o a switch collegati tra loro) fanno parte dello stesso dominio di broadcast. Per segmentarlo occorre un router (livello 3) o usare le VLAN (802.1Q), che creano domini di broadcast virtuali separati sullo stesso hardware.

Modalità di switching: latenza vs affidabilità

Quando arriva un frame, lo switch deve decidere quando iniziare a inviarlo sulla porta di uscita. Esistono tre strategie con trade-off diversi.

ModalitàLegge prima di inviareVerifica CRCLatenzaPropaga frame corrotti
Store-and-ForwardFrame intero✅ SìAlta (proporzionale alla dimensione)❌ No — scarta frame con CRC errato
Cut-ThroughSolo MAC dst (6 byte)❌ NoMinima (~1 μs)⚠️ Sì — non vede FCS
Fragment-FreePrimi 64 byte❌ NoMediaParzialmente — filtra runt frame

Store-and-Forward — il più usato

Lo switch aspetta di ricevere l’intero frame, verifica il CRC e solo se corretto lo instrada. È la modalità predefinita sugli switch enterprise moderni perché elimina i frame corrotti (chiamati runt o jabber) prima che si propaghino. La latenza aggiuntiva è trascurabile su reti Gigabit.

Cut-Through — il più veloce

Dopo aver letto i soli 6 byte del MAC destinazione, lo switch inizia immediatamente a trasmettere il frame sulla porta di uscita. La latenza è minima ma non c’è alcun controllo di integrità: i frame corrotti vengono propagati. Utile in ambienti ad alto throughput dove la latenza è critica (es. trading ad alta frequenza, HPC).

Fragment-Free — il compromesso

Aspetta i primi 64 byte: la dimensione minima di un frame Ethernet valido. I runt frame (frame da collisioni non terminate) sono sempre più corti di 64 byte e vengono così filtrati, senza aspettare l’intero frame.

Il problema dei loop e lo Spanning Tree Protocol

Nelle reti reali si usano più switch collegati tra loro per ridondanza. Il problema: se esistono percorsi multipli tra due switch, i frame broadcast vengono moltiplicati all’infinito — un broadcast storm che satura la rete in pochi secondi.

// pericolo — loop tra switch

Immagina due switch A e B collegati da due cavi (ridondanza). Un broadcast di PC1 arriva su A, viene propagato su tutti i link → arriva su B da entrambi i cavi → B lo rimanda su A → ciclo infinito. La rete collassa in millisecondi.

// definizione formale
STP — Spanning Tree Protocol (IEEE 802.1D): protocollo che elimina i loop logici in una rete di switch. Eleziona un Root Bridge (lo switch principale) e blocca le porte ridondanti, costruendo un albero logico senza cicli. Se un link attivo cade, STP sblocca automaticamente una porta alternativa per ripristinare la connettività.

Le versioni moderne includono RSTP (Rapid STP, 802.1w) che converge in 1–2 secondi invece dei 30–50 secondi di STP originale, e MSTP (Multiple STP, 802.1s) per ambienti con VLAN multiple.

Switch vs Router: dove opera ciascuno

CaratteristicaSwitch (L2)Router (L3)
Livello OSI2 — Data Link3 — Network
Indirizzo usatoMAC address (48 bit)IP address (32/128 bit)
TabellaCAM table (MAC → porta)Routing table (rete → next hop)
Dominio di broadcastNon separa (propaga broadcast)Separa i domini di broadcast
Uso tipicoConnessione dispositivi in LANConnessione reti diverse (LAN-WAN, VLAN)
📌 Riepilogo — Punti chiave
  • Lo switch opera a livello 2 e usa la CAM table (MAC → porta) per instradare i frame. La tabella si popola dinamicamente osservando i MAC sorgente dei frame ricevuti.
  • Forwarding: unicast se MAC dst è in tabella → solo porta corretta; flooding se MAC dst non è in tabella → tutte le porte tranne quella di arrivo; broadcast (FF:FF:FF:FF:FF:FF) → flooding sempre.
  • Modalità switching: Store-and-Forward (verifica CRC, latenza alta), Cut-Through (latenza minima, nessuna verifica), Fragment-Free (compromesso, filtra runt).
  • I loop tra switch causano broadcast storm. Lo STP (802.1D) li previene creando un albero logico privo di cicli, bloccando le porte ridondanti.
  • Il router separa i domini di broadcast; lo switch no — per separare i domini di broadcast su uno switch si usano le VLAN (802.1Q).

Lascia un commento