Perché VLAN e trunking sono il cuore del layer 2
Le VLAN segmentano un singolo switch (o un dominio switchato) in più domini di broadcast logici. Finché i frame restano dentro lo switch, l’appartenenza a una VLAN è un’informazione locale. Nel momento in cui un frame deve attraversare un link tra due switch condividendo più VLAN, serve un meccanismo che “etichetti” ogni frame: è il compito del trunk 802.1Q.
Incapsulamento 802.1Q e native VLAN
802.1Q inserisce un tag di 4 byte all’interno dell’header Ethernet, subito dopo il MAC sorgente. Il tag contiene il TPID (0x8100) e il campo TCI, che porta 3 bit di PCP (priorità CoS), 1 bit DEI e i 12 bit di VLAN ID (range 1–4094).
L’eccezione fondamentale è la native VLAN: i frame appartenenti a essa attraversano il trunk senza tag. Di default è la VLAN 1 su entrambi i lati. Questo comportamento è la sorgente della trappola d’esame più classica:
- Se i due lati hanno native VLAN diverse (es. lato A native 1, lato B native 99), il traffico untagged viene “iniettato” nella VLAN sbagliata (VLAN hopping / leaking), CDP genera un
native VLAN mismatchma il link resta up.
Best practice: allineare la native VLAN, usare una VLAN dedicata e inutilizzata, e valutare switchport trunk native vlan tag per taggare anche il traffico native.
DTP e i mismatch di trunking
Il DTP (Dynamic Trunking Protocol, proprietario Cisco) negozia automaticamente se un link diventa trunk o access. Le modalità:
| Modalità | Comando | Comportamento |
|---|---|---|
| access | switchport mode access |
mai trunk |
| trunk (on) | switchport mode trunk |
sempre trunk, invia DTP |
| dynamic desirable | switchport mode dynamic desirable |
cerca attivamente il trunk |
| dynamic auto | switchport mode dynamic auto |
trunk solo se sollecitato |
Matrice di formazione del trunk:
- desirable + desirable/auto/trunk → trunk
- auto + auto → access (nessuno dei due sollecita l’altro: errore d’esame frequente)
- trunk + trunk → trunk
In produzione si disattiva DTP con switchport nonegotiate, configurando i trunk in modo statico per evitare negoziazioni indesiderate.
EtherChannel: aggregare più link in un bundle
L’EtherChannel raggruppa fino a 8 link fisici (LACP arriva a 16 configurati, 8 attivi + 8 standby) in un’unica interfaccia logica Port-channel. STP vede un solo link, quindi non blocca i membri, e la banda si somma.
Due protocolli di negoziazione più la modalità statica:
| Protocollo | Modalità | Forma bundle con |
|---|---|---|
| LACP (802.3ad, standard) | active / passive |
active-active, active-passive |
| PAgP (Cisco) | desirable / auto |
desirable-desirable, desirable-auto |
| Statico | on |
solo on-on |
Regole chiave:
- passive + passive (LACP) → nessun bundle (nessuno inizia).
- auto + auto (PAgP) → nessun bundle.
onconactive/passive/desirable/auto→ nessun bundle:onnon parla alcun protocollo, quindi mescolare statico e dinamico è incompatibile.- Non si possono mischiare LACP e PAgP sullo stesso bundle.
interface range gi1/0/1-2
channel-group 1 mode active
Load balancing basato su hash
Il traffico non viene distribuito frame-per-frame in modo casuale: lo switch calcola un hash su campi selezionabili (src-mac, dst-mac, src-dst-ip, src-dst-port…) tramite port-channel load-balance. L’hash produce un valore che mappa sempre lo stesso flusso sullo stesso membro fisico: questo evita il riordino dei pacchetti ma implica che un singolo flusso non superi mai la banda di un link.
Per una distribuzione uniforme, il numero di link dovrebbe essere una potenza di 2 (2, 4, 8); con 3 o 5 link il carico si sbilancia. Su topologie con pochi host conviene un hash basato su L3/L4 (src-dst-ip o src-dst-port) per aumentare l’entropia.
Requisiti di consistenza dei membri
I membri devono condividere speed, duplex, modalità (access/trunk), VLAN permesse e native VLAN. Una divergenza sospende il membro incoerente o, con on, può portare a err-disabled per link inconsistente.
Trappole tipiche d’esame
- Native VLAN mismatch → il link resta up ma CDP segnala l’errore e il traffico native “salta” tra VLAN diverse: correggere allineando la native VLAN, non spegnendo il trunk.
auto/auto(DTP) opassive/passive(LACP) odesirablenon presente su PAgP → nessuna delle due estremità inizia la negoziazione: il trunk o il bundle non si forma.channel-group mode onsu un lato eactive/desirablesull’altro → EtherChannel non forma:onè statico e non negozia; serveon-onoppure protocollo su entrambi.- Membri con native VLAN o allowed VLAN diverse → porta sospesa dall’EtherChannel: verificare
show etherchannel summary(flags/w) prima di sospettare problemi fisici. - Bundle a 3 link con hash
src-mace pochi server → distribuzione sbilanciata: passare asrc-dst-ip/src-dst-porte portare i membri a una potenza di 2.