Questo documento offre le informazioni di base e un riepilogo dei campi frame per l'incapsulamento ISL (Inter-Switch Link) e IEEE 802.1Q.
Cisco raccomanda la conoscenza delle VLAN e del trunking.
Il documento può essere consultato per tutte le versioni software o hardware. Le funzionalità di trunking dipendono dall'hardware utilizzato. Per ulteriori informazioni sui requisiti di sistema per implementare il trunking sugli switch Cisco Catalyst serie 900, fare riferimento ai requisiti di sistema per implementare il trunking.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
I trunk vengono usati per trasportare il traffico che appartiene a più VLAN tra i dispositivi sullo stesso collegamento. Un dispositivo può determinare a quale VLAN appartiene il traffico tramite il relativo identificatore VLAN. L'identificatore VLAN è un tag incapsulato nei dati. ISL e 802.1Q sono due tipi di incapsulamento utilizzati per trasportare i dati di più VLAN sui collegamenti trunk.
ISL è un protocollo proprietario di Cisco per l'interconnessione di più switch e la manutenzione delle informazioni VLAN durante il traffico tra gli switch. ISL fornisce funzionalità di trunking VLAN mantenendo prestazioni a piena velocità su collegamenti Ethernet in modalità full-duplex o half-duplex. ISL opera in un ambiente point-to-point e può supportare fino a 1000 VLAN. In ISL, il frame originale è incapsulato e viene aggiunta un'intestazione aggiuntiva prima che il frame venga trasferito su un collegamento trunk. All'estremità ricevente, l'intestazione viene rimossa e il frame inoltrato alla VLAN assegnata. ISL utilizza il protocollo PVST (Per VLAN Spanning Tree), che esegue un'istanza del protocollo STP (Spanning Tree Protocol) per VLAN. Il PVST consente di ottimizzare il posizionamento dello switch radice per ciascuna VLAN e supporta il bilanciamento del carico delle VLAN su più collegamenti trunk.
802.1Q è lo standard IEEE per il tagging dei frame su un trunk e supporta fino a 4096 VLAN. In 802.1Q, il dispositivo di trunking inserisce un tag di 4 byte nel frame originale e ricalcola la sequenza di controllo del frame (FCS) prima che il dispositivo invii il frame sul collegamento trunk. All'estremità ricevente, il tag viene rimosso e il frame inoltrato alla VLAN assegnata. 802.1Q non assegna tag ai frame sulla VLAN nativa. Contrassegna tutti gli altri frame trasmessi e ricevuti sul trunk. Quando si configura un trunk 802.1Q, è necessario verificare di configurare la stessa VLAN nativa su entrambi i lati del trunk. Lo standard IEEE 802.1Q definisce una singola istanza dello Spanning Tree che viene eseguita sulla VLAN nativa per tutte le VLAN nella rete. Questa struttura è denominata MST (Mono Spanning Tree). Ciò non consente la flessibilità e la capacità di bilanciamento del carico del PVST disponibile con ISL. Tuttavia, PVST+ offre la possibilità di mantenere più topologie Spanning Tree con trunking 802.1Q.
Per ulteriori informazioni sull'incapsulamento 802.1Q, fare riferimento alla sezione Caratteristiche di base del trunking 802.1Q del trunking tra gli switch Catalyst serie 4500/4000, 5500/5000 e 6500/6000 con incapsulamento 802.1Q e il software Cisco CatOS.
Per informazioni sulla configurazione dell'incapsulamento ISL/802.1Q sugli switch Cisco, fare riferimento agli esempi di configurazione dei protocolli di trunking VLAN e alle note tecniche.
Il frame ISL è costituito da tre campi principali: il frame di incapsulamento (frame originale), incapsulato dall'intestazione ISL, e il FCS alla fine.
Intestazione ISL | Frame incapsulamento | FCS |
Nell'esempio viene mostrata l'ulteriore espansione dell'intestazione ISL. L'espansione include gli acronimi dei campi e il numero di bit per ciascun campo:
N. di bit | 40 | 4 | 4 | 48 | 16 | 24 | 24 |
Campo Frame | DA | TIPO | UTENTE | SA | LUNGHEZZA | AAAA03 (SNAP) | HSA |
N. di bit | 15 | 1 | 16 | 16 | Da 8 a 196.600 bit (da 1 a 24.575 byte) | 32 |
Campo Frame | VLAN | BPDU | INDICE | RIS | INCAPSULA FRAME | FCS |
In questa sezione vengono fornite descrizioni dettagliate dei campi del frame ISL.
Il campo DA del pacchetto ISL è un indirizzo di destinazione a 40 bit. Questo indirizzo è un indirizzo multicast ed è impostato su "0x01-00-0C-00-00" o "0x03-00-0c-00-00". I primi 40 bit del campo DA segnalano al destinatario che il pacchetto è in formato ISL.
Il campo TYPE è costituito da un codice a 4 bit. Il campo TYPE indica il tipo di frame incapsulato e può essere usato in futuro per indicare incapsulamenti alternativi. In questa tabella vengono fornite le definizioni dei diversi codici TYPE:
Codice TYPE | Significato |
---|---|
0000 | Ethernet |
0001 | Token Ring |
0010 | FDDI |
0011 | ATM |
Il campo USER è costituito da un codice a 4 bit. I bit USER vengono utilizzati per estendere il significato del campo TYPE. Il valore predefinito del campo USER è "0000". Per i frame Ethernet, i bit del campo USER "0" e "1" indicano la priorità del pacchetto mentre passa attraverso lo switch. Quando il traffico può essere gestito in modo da essere inoltrato più rapidamente, i pacchetti con questo bit impostato dovrebbero sfruttare il percorso rapido. Non è necessario fornire tali percorsi.
Codice UTENTE | Significato |
---|---|
XX00 | Priorità normale |
XX01 | Priorità 1 |
XX10 | Priorità 2 |
XX11 | Priorità massima |
Il campo SA è il campo dell'indirizzo di origine del pacchetto ISL. Il campo deve essere impostato sull'indirizzo MAC "802.3" della porta dello switch che trasmette il frame. È un valore a 48 bit. Il dispositivo ricevente potrebbe ignorare il campo SA del frame.
Il campo LEN memorizza le dimensioni effettive del pacchetto originale come valore a 16 bit. Il campo LEN rappresenta la lunghezza del pacchetto in byte, ad eccezione dei campi DA, TYPE, USER, SA, LEN e FCS. La lunghezza totale dei campi esclusi è di 18 byte, quindi il campo LUNGHEZZA rappresenta la lunghezza totale meno 18 byte.
Il campo SNAP AAAA03 è un valore costante a 24 bit di "0xAAAA03".
Il campo HSA è un valore a 24 bit. Questo campo rappresenta i 3 byte superiori (la parte relativa all'ID produttore) del campo SA. Il campo deve contenere il valore "0x00-00-0C".
Il campo VLAN è l'ID VLAN del pacchetto. Il valore a 15 bit viene usato per distinguere i frame su diverse VLAN. Questo campo viene spesso definito "colore" del frame.
Il bit nel campo BPDU è impostato per tutti i pacchetti BPDU che sono incapsulati dal frame ISL. Le BPDU vengono utilizzate dall'algoritmo Spanning Tree per determinare le informazioni sulla topologia della rete. Questo bit è impostato anche per i frame CDP e VLAN Trunk Protocol (VTP) incapsulati.
Il campo INDX indica l'indice delle porte dell'origine del pacchetto quando esce dallo switch. Questo campo viene utilizzato solo a scopo diagnostico e può essere impostato su qualsiasi valore da altri dispositivi. È un valore a 16 bit e viene ignorato nei pacchetti ricevuti.
Il campo RES è un valore a 16 bit. Questo campo viene usato quando i pacchetti Token Ring o FDDI sono incapsulati con un frame ISL. Nel caso di frame Token Ring, vengono posizionati qui i campi Access Control (AC) e Frame Control (FC). Nel caso delle FDDI, il campo FC viene posizionato nel byte meno significativo (LSB) di questo campo. Ad esempio, un FC con "0x12" ha un campo RES di "0x0012". Per i pacchetti Ethernet, il campo RES deve essere impostato su tutti gli zeri.
Il campo ENCAP FRAME è il pacchetto dati incapsulato, che include il proprio valore CRC (Cyclic Redundancy Check), completamente invariato. Il frame interno deve avere un valore CRC valido dopo la rimozione dei campi di incapsulamento ISL. La lunghezza di questo campo può essere compresa tra 1 e 24.575 byte per supportare i frame Ethernet, Token Ring e FDDI. Uno switch ricevente può rimuovere i campi di incapsulamento ISL e utilizzare questo campo ENCAP FRAME alla ricezione del frame (associando la VLAN appropriata e altri valori al frame ricevuto come indicato a scopo di switching).
Il campo FCS è costituito da 4 byte. Questa sequenza contiene un valore CRC a 32 bit, creato dall'indirizzo MAC di invio e ricalcolato dall'indirizzo MAC ricevente per verificare la presenza di frame danneggiati. Il campo FCS viene generato nei campi DA, SA, Length/Type e Data. Quando viene collegata un'intestazione ISL, viene calcolato un nuovo FCS sull'intero pacchetto ISL e aggiunto alla fine del frame.
Nota: l'aggiunta del nuovo FCS non modifica il FCS originale contenuto nel frame incapsulato.
L'incapsulamento del frame ISL è di 30 byte e il pacchetto FDDI minimo è di 17 byte. Pertanto, il pacchetto ISL incapsulato minimo per FDDI è 47 byte. Il pacchetto Token Ring massimo è 18.000 byte. Pertanto, il pacchetto ISL massimo è 18.000 più 30 byte di intestazione ISL, per un totale di 18.030 byte. Se sono incapsulati solo pacchetti Ethernet, la gamma di dimensioni del frame ISL è compresa tra 94 e 1548 byte.
L'implicazione principale per i sistemi che usano l'incapsulamento ISL è che l'incapsulamento è un totale di 30 byte e non è richiesta la frammentazione. Pertanto, se il pacchetto incapsulato è lungo 1518 byte, il pacchetto ISL è lungo 1548 byte per Ethernet. Inoltre, se i pacchetti diversi da quelli Ethernet sono incapsulati, la lunghezza massima può essere notevolmente aumentata. Per valutare se una topologia può supportare le dimensioni dei pacchetti ISL, è necessario considerare la modifica della lunghezza.
Un'altra implicazione del sistema è che i pacchetti ISL contengono due FCS. Il primo FCS viene calcolato per i dati originali. Il secondo FCS viene calcolato dopo l'incapsulamento del pacchetto in ISL. Se i dati originali non contengono un CRC valido, il CRC non valido non viene rilevato finché l'intestazione ISL non viene rimossa e il dispositivo terminale non controlla i dati originali FCS. Questo in genere non è un problema per la commutazione dell'hardware, ma può essere difficile per i router e le schede di interfaccia di rete (NIC).
IEEE 802.1Q utilizza un meccanismo di tag interno che inserisce un campo tag di 4 byte nel frame Ethernet originale tra i campi Source Address e Type/Length. Poiché il fotogramma viene alterato, il dispositivo di trunking ricalcola il FCS sul fotogramma modificato.
DA | SA | TAG | TIPO/LUNGHEZZA | DATI | FCS |
Nell'esempio viene illustrata l'ulteriore espansione del campo Tag. L'espansione include gli acronimi dei campi e il numero di bit per ogni campo.
N. di bit | 16 | 3 | 1 | 12 |
Campo Frame | TIPID | PRIORITY | CFI | VIDO |
Questa sezione fornisce descrizioni dettagliate dei campi del frame 802.1Q.
Tag Protocol Identifier è un campo a 16 bit. È impostato sul valore 0x8100 per identificare il frame con tag IEEE 802.1Q.
Noto anche come priorità utente, questo campo a 3 bit fa riferimento alla priorità IEEE 802.1p. Il campo indica il livello di priorità del frame che può essere utilizzato per assegnare la priorità al traffico. Il campo può rappresentare 8 livelli (da 0 a 7).
L'indicatore di formato canonico è un campo a 1 bit. Se il valore di questo campo è 1, l'indirizzo MAC è in formato non canonico. Se il valore è 0, l'indirizzo MAC è in formato canonico.
L'identificatore VLAN è un campo a 12 bit. Identifica in modo univoco la VLAN a cui appartiene il frame. Il valore del campo può essere compreso tra 0 e 4095.
Il tag 802.1Q è di 4 byte. Pertanto, il frame Ethernet risultante può essere grande anche 1522 byte. La dimensione minima del frame Ethernet con tag 802.1Q è di 68 byte.
La funzione di supporto QinQ aggiunge un altro livello di tag IEEE 802.1Q (detto "tag metropolitana" o "PE-VLAN") ai pacchetti con tag 802.1Q che entrano nella rete. Lo scopo è espandere lo spazio della VLAN assegnando un tag ai pacchetti con tag, producendo così un frame "con doppio tag". L'espansione dello spazio VLAN consente al provider di servizi di fornire alcuni servizi, ad esempio l'accesso Internet a VLAN specifiche per determinati clienti, ma consente comunque al provider di servizi di fornire altri tipi di servizi per gli altri clienti su altre VLAN.
L'MTU (Maximum Transmission Unit) predefinita di un'interfaccia è 1500 byte. Con un tag VLAN esterno collegato a un frame Ethernet, le dimensioni del pacchetto aumentano di 4 byte. Pertanto, è consigliabile aumentare correttamente la MTU di ciascuna interfaccia sulla rete del provider. La MTU minima consigliata è 1504 byte.
Il frame QinQ contiene il valore TPID (Tag Protocol Identifier) modificato dei tag VLAN. Per impostazione predefinita, il tag VLAN utilizza il campo TPID per identificare il tipo di protocollo del tag. Il valore di questo campo, definito in IEEE 802.1Q, è 0x8100.
Il dispositivo determina se un frame ricevuto contiene un tag VLAN del provider di servizi o un tag VLAN del cliente verificando il valore TPID corrispondente. Dopo aver ricevuto un frame, il dispositivo confronta il valore TPID configurato con il valore del campo TPID nel frame. Se i due elementi corrispondono, il frame mantiene il tag VLAN corrispondente. Ad esempio, se un frame ha tag VLAN con valori TPID pari a 0x9100 e 0x8100, rispettivamente, mentre il valore TPID configurato del tag VLAN del provider di servizi è 0x9100 e quello del tag VLAN per una rete del cliente è 0x8200, il dispositivo considera che il frame ha solo il tag VLAN del provider di servizi, ma non il tag VLAN del cliente.
Inoltre, i sistemi di produttori diversi potrebbero impostare il TPID del tag VLAN esterno dei frame QinQ su valori diversi. Per la compatibilità con questi sistemi, è possibile modificare il valore TPID in modo che i frame QinQ, quando inviati alla rete pubblica, portino il valore TPID identico al valore di un particolare fornitore per consentire l'interoperabilità con i dispositivi di quel fornitore. Il TPID di un frame Ethernet ha la stessa posizione del campo del tipo di protocollo in un frame senza tag VLAN. Per evitare problemi di inoltro e gestione dei pacchetti nella rete, non è possibile impostare il valore TPID su uno dei valori riportati nella tabella seguente:
Tipo di protocollo | Valore |
ARP | 0x0806 |
PUP | 0x0200 |
RARP | 0x8035 |
IP | 0x0800 |
IPv6 | 0x86DD |
PPPoE | 0x8863/0x8864 |
MPLS | 0x8847/0x8848 |
IS-IS | 0x8000 |
LACP | 0x8809 |
802.1x | 0x888E |
La funzione di supporto QinQ è in genere supportata su qualsiasi funzionalità o protocollo Cisco IOS supportato. Ad esempio, se è possibile eseguire PPPoE sull'interfaccia secondaria, è possibile configurare un frame con doppio tag per PPPoE. IPoQinQ supporta pacchetti IP con doppio tag per la terminazione dei tag VLAN QinQ inoltrando il traffico IP con le intestazioni 802.1Q con doppio tag (note anche come intestazioni in stack).