VLAN: segmentare il dominio di broadcast
Una VLAN (Virtual LAN) suddivide uno switch fisico in più domini di broadcast logici. Due host in VLAN diverse, pur connessi allo stesso switch, non comunicano a livello 2: serve un dispositivo di livello 3 (router o SVI) per instradare il traffico. La segmentazione migliora sicurezza, riduce il broadcast e organizza la rete per funzione anziché per posizione fisica.
Le VLAN si dividono per ID:
| Range | ID | Note |
|---|---|---|
| Normal range | 1–1005 | Salvate in vlan.dat, propagabili via VTP |
| Extended range | 1006–4094 | Richiede VTP transparent o VTP v3 |
| Riservate | 0, 4095 | Non utilizzabili |
La VLAN 1 è quella di default: tutte le porte vi appartengono all’origine, ed è anche la native VLAN e la VLAN di management di default. Per buona pratica non si usa VLAN 1 per il traffico produttivo.
Punto critico: una VLAN deve esistere nel database dello switch prima di poter trasportare traffico. Se assegni una porta a una VLAN non ancora creata, la porta passa in stato inactive e il traffico non viene inoltrato.
Access port
Una access port appartiene a una sola VLAN e trasporta traffico untagged verso l’host finale (PC, stampante, server). L’host non sa nulla del tagging: è lo switch che associa internamente il frame alla VLAN configurata.
Switch(config)# vlan 20
Switch(config-vlan)# name UTENTI
Switch(config)# interface gi0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 20
Il comando switchport mode access disattiva DTP sulla porta, eliminando ogni rischio di negoziazione indesiderata di trunk: scelta consigliata su tutte le porte verso gli end host.
Trunk 802.1Q e propagazione del tagging
Per estendere le VLAN su più switch serve un trunk: un collegamento che trasporta più VLAN contemporaneamente. Lo standard 802.1Q inserisce un tag di 4 byte nell’header Ethernet; il campo VLAN ID è di 12 bit, da cui il massimo di 4094 VLAN utilizzabili. Ogni frame che entra nel trunk viene taggato con la propria VLAN, così lo switch remoto sa a quale dominio appartiene.
Switch(config)# interface gi0/24
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan 10,20,30
Native VLAN
L’unica eccezione al tagging è la native VLAN: il suo traffico attraversa il trunk senza tag (default VLAN 1). Serve retrocompatibilità con dispositivi che non comprendono 802.1Q. Entrambi gli estremi del trunk devono concordare sulla native VLAN, altrimenti il traffico untagged finisce nella VLAN sbagliata (VLAN hopping) e STP segnala l’errore.
Switch(config-if)# switchport trunk native vlan 99
Voice VLAN
La voice VLAN permette a una porta di comportarsi come access per il PC e, contemporaneamente, di taggare il traffico del telefono IP:
Switch(config-if)# switchport access vlan 20
Switch(config-if)# switchport voice vlan 40
Lo switch comunica al telefono, via CDP (o LLDP-MED), di taggare la voce con VLAN 40; i dati del PC collegato dietro al telefono restano untagged in VLAN 20. Si ottiene così separazione di dati e voce su un unico cavo, senza un trunk esplicito.
DTP: auto vs desirable
Il Dynamic Trunking Protocol negozia automaticamente la formazione del trunk. Le modalità:
| Modalità | Comportamento |
|---|---|
dynamic auto |
Passiva: non inizia, ma risponde se l’altro chiede |
dynamic desirable |
Attiva: invia richieste per formare un trunk |
trunk |
Forza trunk e invia DTP |
access |
Forza access, DTP disattivato |
La combinazione chiave: due porte entrambe in dynamic auto restano access, perché nessuna delle due avvia la negoziazione. Serve almeno un lato desirable (o trunk) per far salire il collegamento.
Trappole tipiche d’esame
- Native VLAN mismatch → lato A native VLAN 1, lato B native VLAN 99: il trunk sale ma STP genera un errore
%CDP-4-NATIVE_VLAN_MISMATCHe le VLAN native non comunicano correttamente. Risposta: allinea la native VLAN su entrambi gli estremi. - VLAN mancante nel database → porta assegnata con
switchport access vlan 50ma VLAN 50 mai creata: la porta va inactive e l’host perde connettività. Risposta: crea la VLAN convlan 50. - Doppio
dynamic auto→ il link resta access e le VLAN remote non passano. Risposta: imposta un lato sutrunkodynamic desirable. - VLAN non nella allowed list → il trunk è su, ma
switchport trunk allowed vlannon include quella VLAN: il traffico viene scartato. Risposta: aggiungila conswitchport trunk allowed vlan add. - PC in voice VLAN → confusione tra
switchport access vlan(dati/PC) eswitchport voice vlan(telefono): il traffico dati taggato nella VLAN voce non riceve indirizzo. Risposta: dati sempre sulla access VLAN untagged.