4.2.4.1 Il formato delle trame sui trunk

Abbiamo detto più volte che sui trunk girano trame di tutte le VLAN, che vengono mantenute distinte, per permettere agli Switch lungo il percorso verso la destinazione, e soprattutto allo Switch connesso all’host destinatario della trama, di sapere il gruppo a cui apparteneva il mittente, per poter cercare, tra gli appartenenti allo stesso gruppo, l’eventuale destinatario. Le VLAN, infatti, mantengono i gruppi separati non solo in uno Switch, ma in tutta la rete.
Se due host si contattano per la prima volta, il messaggio che viene trattato in questo modo è la richiesta ARP di un mittente, che cerca il MAC del destinatario. Se le VLAN e le subnet sono coestensive, e le subnet si possono anche definire domini di broadcast, la richiesta ARP, che come è noto è un “broadcast Layer 2” verrà inoltrata, dagli Switch della rete, solo alle porte di accesso della VLAN del mittente, che quindi non potrà nemmeno avere i MAC di host appartenenti ad altre reti. È evidente che, tra gli host di un gruppo, è bene che ci sia anche un Default Gateway...!
Quindi: mentre sulle porte di accesso entrano ed escono normali trame Ethernet (le NIC degli host non sanno e non devono sapere della VLAN a cui saranno associate le loro trame: loro ragionano a livello 3, sulle subnet), sulle porte di trunk gli Switch devono fare qualche modifica alle trame, per dire agli Switch collegati (e anche ai Router) la VLAN di appartenenza delle trame stesse.
A ciò provvede il protocollo definito nello standard IEEE 802.1q (detto, nella comandistica,. “DOT1Q”), che è uno dei protocolli di trunking, ma attualmente il più usato e diffuso.
DOT1Q prende una trama Ethernet e la allunga di 4 bytes infilandovi, dopo gli indirizzi MAC destinazione sorgente, il cosiddetto Q-TAG:


Ciò allunga la trama dai classici 1518 byte massimi, a 1522 bytes e, come si vede, richiede anche il ri-calcolo della checksum finale della trama, detta più propriamente FCS-Frame Check Sequence, di 4 byte (generata con l’algoritmo CRC-32).
I 4 bytes del Q-TAG sono fatti come segue:


  •  primi 2 bytes sono detti TPID-Tag Protocol ID; questo sottocampo contiene lo speciale valore EtherType 0x8100, indicante questi 4 bytes come campo aggiuntivo della VLANDi sicuro tutti ricordiamo che, dopo i due indirizzi MAC, chi analizza una trama Ethernet si aspetta il cosiddetto campo Ethertype, di due bytes (sopra indicato come TYPE/LEN), che dice il tipo di “carico pagante” della trama stessa, ad es. 0x800 = pacchetto IPv4; 0x86DD = pacchetto IPv6, ecc. Il fatto di trovare invece 0x8100 dice al ricevente che quella è una trama 1q, e che nei due byte successivi è stato introdotto il numero della VLAN del mittente. Poi, chi riceve troverà, ma spostato di 4 bytes, il campo Ethertype originale della trama Ethernet, che gli permette comunque di capire il “payload” L3 trasportato.
  • I secondi 2 bytes sono la “tag control information”: i primi 4 bit (3 bit di User priority e uno di CFI) sono informazioni che non hanno a che fare con le VLAN, mentre i seguenti 12 bit sono proprio il nostro VID-VLAN ID che identifica la VLAN (1-4094). Ma le VLAN sono 1005 (vedi show interfaces trunk) o 4094? Eh, dipende dal modello di Switch... Comunque in 12 bit si va da 0 a 4095, e questo basta per tutti i modelli. Spesso questo VID viene paragonato a un colore della trama, e si dice che DOT1Q “colora” le trame Ethernet.

Finché le trame girano sui trunk, mantengono il formato “colorato” 802.1q; quando lo Switch connesso all’host di destinazione invia finalmente la trama sulla porta di accesso dell’host, che è della stessa VLAN del mittente, la “decolora”, riproducendo la trama Ethernet originale inviata dal mittente.
Se proviamo adesso a fare un ping dal PC dello studente al Server dei prof, vediamo che funziona, ma rendendo un TTL 127, il che significa che la Echo reply (come anche la Echo requesta, in andata) è passata attraverso il Router. Questo permetterebbe di filtrare tale traffico a livello 3, stabilendo cosa è lecito e cosa non lo è. Faremo alla fine un semplice esempio di filtraggio.


Ultime modifiche: mercoledì, 14 aprile 2021, 18:20