Architettura VLAN: Porte Trunk e il trasporto multi-VLAN
Fino a questo momento abbiamo esplorato la "periferia" della nostra rete: le Porte Access, ovvero quelle interfacce rigide e intransigenti che collegano i dispositivi finali (i computer) assegnandoli a un'unica VLAN. Ma per costruire una rete complessa, dobbiamo collegare tra loro il "cuore" dell'infrastruttura, ovvero gli switch, i server di virtualizzazione e i router. Per questi collegamenti infrastrutturali, le Porte Access non sono solo inefficienti, ma matematicamente insostenibili.
In questa lezione analizzeremo la tecnologia che sorregge l'intera spina dorsale delle reti moderne: le Porte Trunk (o collegamenti di Trunking). Scopriremo come permettano di multiplexare decine di reti logiche su un singolo filo di rame o fibra ottica, e quali siano le regole hardware che governano il transito di questi dati etichettati.
Il problema del cablaggio inter-switch: perché l'Access non basta
Immaginiamo uno scenario aziendale classico: l'edificio ha due piani, ognuno con il suo Switch (Switch A al piano terra, Switch B al primo piano). Su entrambi i piani sono presenti dipendenti dell'Amministrazione (VLAN 10), dei Commerciali (VLAN 20) e dei Tecnici (VLAN 30).
Se usassimo esclusivamente la tecnologia delle Porte Access per collegare i due switch, saremmo costretti a stendere tre cavi fisici separati tra il piano terra e il primo piano. Un cavo collegato a porte Access VLAN 10, uno a porte Access VLAN 20 e uno per la VLAN 30. Cosa succederebbe in un datacenter o in un'università che gestisce 150 VLAN diverse? Dovremmo consumare 150 porte dello switch solo per i collegamenti inter-switch , esaurendo l'hardware prima ancora di aver collegato un solo computer.
Il concetto di Trunk: un'autostrada a più corsie
La soluzione ingegneristica è la Porta Trunk. A differenza di una porta Access (che funge da vicolo cieco dedicato a una singola VLAN), una porta Trunk è una connessione punto-punto progettata specificamente per trasportare il traffico di più VLAN contemporaneamente sullo stesso cavo fisico .
Perché questo "miracolo" avvenga senza che i dati dei Commerciali si mescolino con quelli dell'Amministrazione, la porta Trunk si affida in modo assoluto al protocollo IEEE 802.1Q (il Tagging che abbiamo studiato nella Lezione 7). L'autostrada è una sola, ma i pacchetti che la percorrono hanno un'etichetta (un Tag) ben visibile sul cruscotto che identifica la corsia logica di appartenenza.
La logica di Ingress ed Egress sulle Porte Trunk
Le regole hardware che l'ASIC dello switch applica su una porta Trunk sono radicalmente diverse da quelle di una porta Access:
1. Traffico in Egress (in uscita dallo switch):
Quando un frame deve uscire dallo switch attraverso un Trunk, l'hardware controlla a quale VLAN appartiene. A questo punto, inserisce forzatamente il Tag 802.1Q (con il relativo VID, es. 10) all'interno dell'header Ethernet, ricalcola il Checksum (FCS) e lo spara sul cavo. [tooltip]Il protocollo di trunking moderno è universalmente l'802.1Q. In passato esisteva un protocollo proprietario Cisco chiamato ISL (Inter-Switch Link) che, invece di modificare il frame, lo incapsulava interamente in un nuovo header. Oggi è obsoleto e abbandonato.[/tooltip]
2. Traffico in Ingress (in entrata nello switch):
Quando un frame arriva dalla porta Trunk del cavo inter-switch, l'hardware in ricezione si aspetta di trovare l'etichetta 802.1Q (innescata dal codice 0x8100). Legge i 12 bit del VID, identifica la VLAN (es. 20), e inoltra il frame esclusivamente nella tabella CAM dedicata alla VLAN 20. Se la porta di destinazione finale è una porta Access, l'etichetta verrà strappata prima della consegna al PC.
Limitazione del traffico: il comando Allowed VLANs
Filtraggio di sicurezza sul Trunk: Di default, quando una porta viene promossa a Trunk (comando switchport mode trunk), essa permette automaticamente il transito di tutte le 4094 VLAN possibili. Questa è una pessima pratica di sicurezza e di ottimizzazione. Il traffico Broadcast di VLAN che non esistono sul secondo switch verrebbe comunque inviato sul cavo Trunk, sprecando banda preziosa. La regola d'oro è limitare manualmente le VLAN consentite usando il pruning, specificando esattamente quali etichette possono transitare (es. switchport trunk allowed vlan 10,20,30).
Esempi pratici: Router-on-a-Stick e i Server Virtuali
L'architettura Router-on-a-Stick: Abbiamo ribadito più volte che per far comunicare la VLAN 10 con la VLAN 20 serve un Router di Livello 3. Come colleghiamo il router allo switch? Invece di usare due porte e due cavi, usiamo una singola porta Trunk. Il Router moderno è in grado di leggere i tag 802.1Q. L'amministratore creerà sul router delle Sotto-Interfacce Logiche (Sub-interfaces), associando a ciascuna un indirizzo IP che farà da Default Gateway per quella specifica VLAN. Un solo cavo fisico (il "bastone" o stick) gestirà il routing inter-VLAN di decine di reti.
Virtualizzazione (VMware / Hyper-V): Nei datacenter moderni, i server fisici ospitano decine di Macchine Virtuali (VM). Un server fisico potrebbe far girare una VM del database (VLAN 50) e un server Web pubblico (VLAN 80). Per questo motivo, la porta dello switch a cui è collegato il server fisico deve essere configurata come porta Trunk. Sarà il software del server (il vSwitch o Hypervisor) a comportarsi come uno switch virtuale, leggendo i tag 802.1Q e smistando i frame alla Macchina Virtuale corretta all'interno della sua RAM!
Sintesi applicativa e autoverifica
Le porte Trunk sono il collante dell'infrastruttura di rete. Sfruttando la modifica dell'header Ethernet introdotta dall'802.1Q, permettono a un singolo link fisico di trasportare traffico per migliaia di reti logiche isolate. Hanno reso possibili le architetture scalabili nei campus universitari e sono l'unico modo per interfacciare efficacemente le infrastrutture di virtualizzazione moderne e il routing inter-VLAN.
Per preparare la mente alla prossima insidiosa lezione, rifletti su questo scenario: abbiamo detto che una porta Trunk in ricezione si aspetta solo e unicamente pacchetti dotati di etichetta (Tagged). Ma cosa succede se un vecchio hub di rete, o un PC mal configurato, invia un frame standard, puro e senza alcuna etichetta (Untagged) direttamente dentro una porta configurata rigidamente come Trunk? Lo switch andrà in errore, scarterà il frame, oppure esiste un meccanismo di salvataggio "nascosto" per gestire il traffico senza identità?