Questo documento descrive i comportamenti dell'unità di trasmissione massima (MTU) sui router Cisco IOS® XR e confronta tali comportamenti con i router Cisco IOS. Vengono inoltre descritte le MTU sulle interfacce di layer 3 (L3) instradate e le interfacce di layer 2 VPN (L2VPN) L2 che utilizzano sia il modello EVC (Ethernet Virtual Connection) che il modello non EVC. Questo documento descrive anche importanti modifiche apportate alla configurazione automatica dell'MTU del driver dell'interfaccia Ethernet e dell'unità di ricezione massima (MRU) nella release 5.1.1 e successive.
Nelle reti informatiche, l'MTU di un protocollo di comunicazione di un livello definisce le dimensioni in byte della più grande unità di dati del protocollo che il livello può trasmettere su un'interfaccia. A ogni interfaccia, livello e protocollo è associato un parametro MTU.
Le caratteristiche dell'MTU nel software Cisco IOS XR sono:
Nella parte restante di questo documento vengono illustrate le caratteristiche dell'MTU, viene confrontato il comportamento dei software Cisco IOS e Cisco IOS XR e vengono forniti esempi per questi tipi di interfacce:
In questa sezione vengono confrontati i comportamenti dei software Cisco IOS e Cisco IOS XR con i riferimenti alle caratteristiche MTU.
Nel software Cisco IOS, il comando mtu e i corrispondenti comandi show non includono l'intestazione L2. Usare il comando mtu per configurare il payload L2 sulle dimensioni massime dei pacchetti L3, compresa l'intestazione L3.
Questa procedura è diversa dal software Cisco IOS XR, in cui il comando mtu include l'intestazione L2 (14 byte per Ethernet o 4 byte per PPP/HDLC).
Se un router Cisco IOS è configurato con mtu x ed è connesso a un router Cisco IOS XR, l'interfaccia corrispondente sul router Cisco IOS XR deve essere configurata con mtu x+14 per le interfacce Ethernet o con mtu x+4 per le interfacce seriali.
I software Cisco IOS e Cisco IOS XR hanno lo stesso significato per i comandi ipv4 mtu, ipv6 mtu e mpls mtu; devono essere configurati con gli stessi valori.
Di conseguenza, questa è la configurazione nel software Cisco IOS su un'interfaccia Ethernet:
mtu 9012
ipv4 mtu 9000
ipv6 mtu 9000
La configurazione corrispondente sul router adiacente del software Cisco IOS XR è:
mtu 9026
ipv4 mtu 9000
ipv6 mtu 9000
I valori MTU devono essere gli stessi su tutti i dispositivi connessi a una rete L2. In caso contrario, potrebbero essere segnalati i seguenti sintomi:
Questa sezione analizza l'MTU predefinita di un'interfaccia indirizzata quando il comando mtu non è configurato:
RP/0/RP0/CPU0:motorhead#sh run int gigabitEthernet 0/1/0/3
interface GigabitEthernet0/1/0/3
cdp
ipv4 address 10.0.1.1 255.255.255.0
ipv6 address 2001:db8::1/64
!
RP/0/RP0/CPU0:router#sh int gigabitEthernet 0/1/0/3 | i MTU
MTU 1514 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
RP/0/RP0/CPU0:router#show im database interface gigabitEthernet 0/1/0/3
View: OWN - Owner, L3P - Local 3rd Party, G3P - Global 3rd Party,
LDP - Local Data Plane, GDP - Global Data Plane, RED - Redundancy
Node 0/1/CPU0 (0x11)
Interface GigabitEthernet0/1/0/3, ifh 0x01180100 (up, 1514)
Interface flags: 0x000000000010059f (IFCONNECTOR|IFINDEX
|SUP_NAMED_SUB|BROADCAST|CONFIG|HW|VIS|DATA
|CONTROL)
Encapsulation: ether
Interface type: IFT_GETHERNET
Control parent: None
Data parent: None
Views: GDP|LDP|L3P|OWN
Protocol Caps (state, mtu)
-------- -----------------
None ether (up, 1514)
arp arp (up, 1500)
clns clns (up, 1500)
ipv4 ipv4 (up, 1500)
mpls mpls (up, 1500)
ipv6 ipv6_preswitch (up, 1500)
ipv6 ipv6 (down, 1500)
ether_sock ether_sock (up, 1500)
RP/0/RP0/CPU0:router#show ipv4 interface gigabitEthernet 0/1/0/3 | i MTU
MTU is 1514 (1500 is available to IP)
RP/0/RP0/CPU0:router#show ipv6 interface gigabitEthernet 0/1/0/3 | i MTU
MTU is 1514 (1500 is available to IPv6)
RP/0/RP0/CPU0:router#sh mpls interfaces gigabitEthernet 0/1/0/3 private location 0/1/CPU0
Interface IFH MTU
-------------- ---------- -----
Gi0/1/0/3 0x01180100 1500
RP/0/RP0/CPU0:router#
Nell'esempio, l'MTU predefinita dell'interfaccia L2 è 1514 byte e include 14 byte di intestazione Ethernet. I 14 byte vengono conteggiati da 6 byte di indirizzo MAC di destinazione, 6 byte di indirizzo MAC di origine e 2 byte di tipo o lunghezza. Sono esclusi il preambolo, il delimitatore di fotogramma, 4 byte di sequenza di controllo del fotogramma (FCS) e l'intervallo tra fotogrammi. Per un frame PPP o HDLC, vengono presi in considerazione i 4 byte dell'intestazione L2; quindi l'MTU predefinita dell'interfaccia è 1504 byte.
I protocolli figlio L3 ereditano la MTU dal payload dell'MTU padre. Se si sottraggono 14 byte di un'intestazione L2 da una MTU L2 di 1514 byte, il payload L2 è di 1500 byte. Questa diventa l'MTU dei protocolli L3. IPv4, IPv6, MPLS e il servizio di rete senza connessione (CLNS) ereditano la MTU di 1500 byte. Di conseguenza, per impostazione predefinita, un'interfaccia Cisco IOS XR Ethernet può trasportare un pacchetto L3 da 1500 byte, ossia lo stesso valore di defaultIt su un'interfaccia Cisco IOS Ethernet.
In questa sezione viene mostrato come configurare una mtu mpls di 1508 per inviare un pacchetto IPv4 di 1500 byte con due tag MPLS di 4 byte ciascuno, sopra il pacchetto:
RP/0/RP0/CPU0:router#conf
RP/0/RP0/CPU0:router(config)#int gig 0/1/0/3
RP/0/RP0/CPU0:router(config-if)#mpls mtu 1508
RP/0/RP0/CPU0:router(config-if)#commit
RP/0/RP0/CPU0:Mar 12 00:36:49.807 CET: config[65856]: %MGBL-CONFIG-6-DB_COMMIT : Configuration
committed by user 'root'. Use 'show configuration commit changes 1000000124' to view the
changes.RP/0/RP0/CPU0:router(config-if)#end
RP/0/RP0/CPU0:Mar 12 00:36:54.188 CET: config[65856]: %MGBL-SYS-5-CONFIG_I : Configured
from console by root on vty0 (10.55.144.149)
RP/0/RP0/CPU0:router#sh mpls interfaces gigabitEthernet 0/1/0/3 private location 0/1/CPU0
Interface IFH MTU
-------------- ---------- -----
Gi0/1/0/3 0x01180100 1500
RP/0/RP0/CPU0:router#show im database interface gigabitEthernet 0/1/0/3
View: OWN - Owner, L3P - Local 3rd Party, G3P - Global 3rd Party,
LDP - Local Data Plane, GDP - Global Data Plane, RED - Redundancy
Node 0/1/CPU0 (0x11)
Interface GigabitEthernet0/1/0/3, ifh 0x01180100 (up, 1514)
Interface flags: 0x000000000010059f (IFCONNECTOR|IFINDEX
|SUP_NAMED_SUB|BROADCAST|CONFIG|HW|VIS|DATA
|CONTROL)
Encapsulation: ether
Interface type: IFT_GETHERNET
Control parent: None
Data parent: None
Views: GDP|LDP|L3P|OWN
Protocol Caps (state, mtu)
-------- -----------------
None ether (up, 1514)
arp arp (up, 1500)
clns clns (up, 1500)
ipv4 ipv4 (up, 1500)
mpls mpls (up, 1500)
ipv6 ipv6_preswitch (up, 1500)
ipv6 ipv6 (down, 1500)
ether_sock ether_sock (up, 1500)
RP/0/RP0/CPU0:router#
Anche se il comando mpls mtu 1508 è stato eseguito, non viene applicato, in quanto MPLS ha ancora una MTU di 1500 byte nel comando show. Infatti, i protocolli figlio L3 non possono avere una MTU più grande del payload dell'interfaccia L2 padre.
Per consentire due etichette su un pacchetto IP da 1500 byte, è necessario:
RP/0/RP0/CPU0:router#sh run int gig 0/1/0/3
interface GigabitEthernet0/1/0/3
cdp
mtu 1522
ipv4 mtu 1500
ipv4 address 10.0.1.1 255.255.255.0
ipv6 mtu 1500
ipv6 address 2001:db8::1/64
!
!
RP/0/RP0/CPU0:router#show im database interface gigabitEthernet 0/1/0/3
View: OWN - Owner, L3P - Local 3rd Party, G3P - Global 3rd Party,
LDP - Local Data Plane, GDP - Global Data Plane, RED - Redundancy
Node 0/1/CPU0 (0x11)
Interface GigabitEthernet0/1/0/3, ifh 0x01180100 (up, 1522)
Interface flags: 0x000000000010059f (IFCONNECTOR|IFINDEX
|SUP_NAMED_SUB|BROADCAST|CONFIG|HW|VIS|DATA
|CONTROL)
Encapsulation: ether
Interface type: IFT_GETHERNET
Control parent: None
Data parent: None
Views: GDP|LDP|L3P|OWN
Protocol Caps (state, mtu)
-------- -----------------
None ether (up, 1522)
arp arp (up, 1508)
clns clns (up, 1508)
ipv4 ipv4 (up, 1500)
mpls mpls (up, 1508)
ipv6 ipv6_preswitch (up, 1508)
ipv6 ipv6 (down, 1500)
ether_sock ether_sock (up, 1508)
RP/0/RP0/CPU0:router#
Questa configurazione consente di inviare pacchetti IPv4 e IPv6 da 1500 byte e pacchetti MPLS da 1508 byte (un pacchetto da 1500 byte con due tag nella parte superiore).
Queste caratteristiche si applicano alle sottointerfacce L3 con routing.
L'MTU di una sottointerfaccia con routing eredita l'MTU dell'interfaccia principale padre; aggiungere 4 byte per ciascun tag VLAN configurato sull'interfaccia secondaria. Pertanto, sono disponibili 4 byte per un'interfaccia secondaria dot1q e 8 byte per un'interfaccia secondaria tunneling IEEE 802.1Q (QinQ).
Di conseguenza, i pacchetti L3 delle stesse dimensioni possono essere inoltrati sia sull'interfaccia principale che sull'interfaccia secondaria.
il comando mtu può essere configurato nell'interfaccia secondaria, ma viene applicato solo se è inferiore o uguale all'MTU ereditata dall'interfaccia principale.
Questo è un esempio di MTU dell'interfaccia principale di 2000 byte:
RP/0/RP0/CPU0:router#sh run int gig 0/1/0/3
interface GigabitEthernet0/1/0/3
cdp
mtu 2000
!
RP/0/RP0/CPU0:router#sh run int gig 0/1/0/3.100
interface GigabitEthernet0/1/0/3.100
ipv4 address 10.0.2.1 255.255.255.0
ipv6 address 2001:db9:0:1::1/64
dot1q vlan 100
!
RP/0/RP0/CPU0:router#sh int gig 0/1/0/3.100 | i MTU
MTU 2004 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
RP/0/RP0/CPU0:router#show im database interface gigabitEthernet 0/1/0/3.100
View: OWN - Owner, L3P - Local 3rd Party, G3P - Global 3rd Party,
LDP - Local Data Plane, GDP - Global Data Plane, RED - Redundancy
Node 0/1/CPU0 (0x11)
Interface GigabitEthernet0/1/0/3.100, ifh 0x01180260 (up, 2004)
Interface flags: 0x0000000000000597 (IFINDEX|SUP_NAMED_SUB
|BROADCAST|CONFIG|VIS|DATA|CONTROL)
Encapsulation: dot1q
Interface type: IFT_VLAN_SUBIF
Control parent: GigabitEthernet0/1/0/3
Data parent: GigabitEthernet0/1/0/3
Views: GDP|LDP|L3P|OWN
Protocol Caps (state, mtu)
-------- -----------------
None vlan_jump (up, 2004)
None dot1q (up, 2004)
arp arp (up, 1986)
ipv4 ipv4 (up, 1986)
ipv6 ipv6_preswitch (up, 1986)
ipv6 ipv6 (down, 1986)
RP/0/RP0/CPU0:router#
Nei comandi show, l'MTU dell'interfaccia secondaria è 2004; aggiungere 4 byte alla MTU dell'interfaccia principale perché è presente un tag dot1q configurato nell'interfaccia secondaria.
Tuttavia, la MTU dei pacchetti IPv4 e IPv6 è ancora la stessa dell'interfaccia principale (1986). Infatti, l'MTU dei protocolli L3 è ora calcolata come: 2004 - 14 - 4 = 1986.
Il comando mtu può essere configurato nella sottointerfaccia, ma l'MTU configurata viene applicata solo se è inferiore o uguale alla MTU ereditata dall'interfaccia principale (4 byte più grande della MTU dell'interfaccia principale).
Quando l'MTU dell'interfaccia secondaria è più grande dell'MTU ereditata, non viene applicata, come mostrato di seguito:
RP/0/RP0/CPU0:router#sh int gig 0/1/0/3.100 | i MTU
MTU 2004 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
RP/0/RP0/CPU0:router#conf
RP/0/RP0/CPU0:router(config)#int gig 0/1/0/3.100
RP/0/RP0/CPU0:router(config-subif)#mtu 2100
RP/0/RP0/CPU0:router(config-subif)#commit
RP/0/RP0/CPU0:router(config-subif)#end
RP/0/RP0/CPU0:router#sh int gig 0/1/0/3.100 | i MTU
MTU 2004 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
RP/0/RP0/CPU0:router#
Pertanto, è possibile usare solo il comando mtu per ridurre il valore MTU ereditato dall'interfaccia principale.
Analogamente, è possibile usare anche i comandi MTU dei protocolli L3 (IPv4, IPv6, MPLS) per ridurre il valore della MTU L3 ereditata dal payload L2 della sottointerfaccia. L'MTU del protocollo L3 non ha effetto quando è configurata su un valore che non rientra nel payload dell'MTU L2.
L'MTU di una L2VPN è importante perché il protocollo LDP (Label Distribution Protocol) non solleva uno pseudowire (PW) quando le MTU dei circuiti di collegamento su ciascun lato di una PW non sono le stesse.
Di seguito è riportato un comando show per illustrare che un PW L2VPN rimane inattivo quando le MTU non corrispondono:
RP/0/RP0/CPU0:router1#sh l2vpn xconnect
Legend: ST = State, UP = Up, DN = Down, AD = Admin Down, UR = Unresolved,
SB = Standby, SR = Standby Ready, (PP) = Partially Programmed
XConnect Segment 1 Segment 2
Group Name ST Description ST Description ST
------------------------ ----------------------------- -----------------------------
mtu mtu DN Gi0/0/0/2.201 UP 10.0.0.12 201 DN
----------------------------------------------------------------------------------------
RP/0/RP0/CPU0:router1#sh l2vpn xconnect detail
Group mtu, XC mtu, state is down; Interworking none
AC: GigabitEthernet0/0/0/2.201, state is up
Type VLAN; Num Ranges: 1
VLAN ranges: [201, 201]
MTU 2000; XC ID 0x1080001; interworking none
Statistics:
packets: received 0, sent 0
bytes: received 0, sent 0
drops: illegal VLAN 0, illegal length 0
PW: neighbor 10.0.0.12, PW ID 201, state is down ( local ready )
PW class mtu-class, XC ID 0xfffe0001
Encapsulation MPLS, protocol LDP
Source address 10.0.0.2
PW type Ethernet, control word disabled, interworking none
PW backup disable delay 0 sec
Sequencing not set
PW Status TLV in use
MPLS Local Remote
------------ ------------------------------ -----------------------------
Label 16046 16046
Group ID 0x1080100 0x6000180
Interface GigabitEthernet0/0/0/2.201 GigabitEthernet0/1/0/3.201
MTU 2000 1986
Control word disabled disabled
PW type Ethernet Ethernet
VCCV CV type 0x2 0x2
(LSP ping verification) (LSP ping verification)
VCCV CC type 0x6 0x6
(router alert label) (router alert label)
(TTL expiry) (TTL expiry)
------------ ------------------------------ -----------------------------
Incoming Status (PW Status TLV):
Status code: 0x0 (Up) in Notification message
Outgoing Status (PW Status TLV):
Status code: 0x0 (Up) in Notification message
MIB cpwVcIndex: 4294836225
Create time: 18/04/2013 16:20:35 (00:00:37 ago)
Last time status changed: 18/04/2013 16:20:43 (00:00:29 ago)
Error: MTU mismatched
Statistics:
packets: received 0, sent 0
bytes: received 0, sent 0
RP/0/RP0/CPU0:router1#
RP/0/RP0/CPU0:router1#sh int GigabitEthernet0/0/0/2 | i MTU
MTU 2014 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
RP/0/RP0/CPU0:router1#sh int GigabitEthernet0/0/0/2.201 | i MTU
MTU 2018 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
RP/0/RP0/CPU0:router1#
Nell'esempio, notare che i peer del provider MPLS L2VPN (PE) su ciascun lato devono segnalare lo stesso valore MTU per riattivare il PW.
L'MTU segnalata da MPLS LDP non include il sovraccarico L2. Questa condizione è diversa dai comandi XR interface config e show che includono il sovraccarico L2. La MTU sull'interfaccia secondaria è di 2018 byte (ereditata dall'interfaccia principale di 2014 byte), ma LDP ha segnalato una MTU di 2000 byte. Di conseguenza, sottrae 18 byte (14 byte di intestazione Ethernet + 4 byte di tag 1 dot1q) dall'intestazione L2.
È importante capire come ciascun dispositivo calcola i valori MTU dei circuiti di collegamento per risolvere i problemi di MTU. Dipende da parametri quali fornitore, piattaforma, versione del software e configurazione.
Cisco ASR serie 9000 Aggregation Services Router utilizza il modello di infrastruttura EVC, che consente una corrispondenza VLAN flessibile su interfacce e sottointerfacce L2VPN.
Le interfacce EVC L2VPN L2 hanno le seguenti caratteristiche:
Per calcolare l'MTU dell'interfaccia secondaria, prendere l'MTU dell'interfaccia principale (quella predefinita o quella configurata manualmente sull'interfaccia principale) e aggiungere 4 byte per ciascun tag VLAN configurato con il comando encapsulation. Vedere Comandi di incapsulamento EFP specifici.
Quando è presente un comando mtu sotto l'interfaccia secondaria, ha effetto solo se è inferiore all'MTU calcolata. Il comando rewrite non influenza l'MTU dell'interfaccia secondaria.
Di seguito è riportato un esempio:
RP/0/RSP0/CPU0:router2#sh run int gig 0/1/0/3
interface GigabitEthernet0/1/0/3
cdp
mtu 2014
negotiation auto
!
RP/0/RSP0/CPU0:router2#sh run int gig 0/1/0/3.201
interface GigabitEthernet0/1/0/3.201 l2transport
encapsulation dot1q 201 second-dot1q 10
rewrite ingress tag pop 2 symmetric
!
RP/0/RSP0/CPU0:router2#
RP/0/RSP0/CPU0:router2#sh int gig 0/1/0/3.201
GigabitEthernet0/1/0/3.201 is up, line protocol is up
Interface state transitions: 1
Hardware is VLAN sub-interface(s), address is 0024.986c.63f3
Layer 2 Transport Mode
MTU 2022 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
In questo esempio, l'MTU dell'interfaccia principale è di 2014 byte. Aggiungere 8 byte perché ci sono due tag configurati sotto l'interfaccia secondaria.
Se si configura l'MTU di 2026 byte nell'interfaccia secondaria, questa non viene applicata perché è più grande della MTU dell'interfaccia secondaria ereditata dall'interfaccia principale (2022). Di conseguenza, è possibile configurare solo una MTU dell'interfaccia secondaria inferiore a 2022 byte.
In base a questa MTU dell'interfaccia secondaria, calcolare l'MTU del payload LDP MPLS segnalato al router adiacente e verificare che sia identica a quella calcolata dal server PE L2VPN remoto. In questo caso, entra in gioco il comando rewrite.
Per calcolare l'MTU del payload MPLS LDP, prendere la MTU della sottointerfaccia, quindi:
Questo è lo stesso esempio della configurazione QinQ sul gig 0/1/0/3.201:
interface GigabitEthernet0/1/0/3
cdp
mtu 2014
negotiation auto
!
interface GigabitEthernet0/1/0/3.201 l2transport
encapsulation dot1q 201 second-dot1q 10
rewrite ingress tag pop 2 symmetric
!
RP/0/RSP0/CPU0:router2#sh int gig 0/1/0/3.201
GigabitEthernet0/1/0/3.201 is up, line protocol is up
Interface state transitions: 1
Hardware is VLAN sub-interface(s), address is 0024.986c.63f3
Layer 2 Transport Mode
MTU 2022 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
Questo è il calcolo della MTU del payload LDP MPLS:
Verificare che il lato remoto annunci un payload MPLS LDP di 2000 byte. In caso contrario, regolare le dimensioni dell'MTU del circuito di collegamento locale o remoto (CA) in modo che corrispondano.
RP/0/RSP0/CPU0:router2#sh l2vpn xconnect det
Group mtu, XC mtu, state is up; Interworking none
AC: GigabitEthernet0/1/0/3.201, state is up
Type VLAN; Num Ranges: 1
Outer Tag: 201
VLAN ranges: [10, 10]
MTU 2000; XC ID 0x1880003; interworking none
Poiché questi incapsulamenti contano come tag zero corrispondenti, non aumentano l'MTU dell'interfaccia secondaria:
I seguenti modificatori di incapsulamento non influiscono sul numero di tag richiesti per calcolare l'MTU della sottointerfaccia:
l'incapsulamento [dot1q|dot1ad] con tag di priorità viene conteggiato come un singolo tag.
La parola chiave 'any' usata come corrispondenza del tag più interna non aumenta l'MTU dell'interfaccia secondaria.
Gli intervalli di ID VLAN incrementano l'MTU della sottointerfaccia:
Il sovraccarico MTU dell'incapsulamento di una EFP con corrispondenza disgiuntiva viene considerato come la MTU dell'elemento più alto.
Router come Cisco XR serie 12000 e Carrier Routing System (CRS) utilizzano la configurazione tradizionale per la corrispondenza VLAN sulle sottointerfacce. Queste caratteristiche si applicano alle interfacce L2VPN L2 su CRS e su router XR 12000 non conformi al modello EVC:
Ecco alcuni esempi che illustrano queste caratteristiche.
Nell'esempio viene mostrato come configurare un'interfaccia secondaria non EVC:
RP/0/RP0/CPU0:router1#sh run int gigabitEthernet 0/0/0/2.201
interface GigabitEthernet0/0/0/2.201 l2transport
dot1q vlan 201
!
RP/0/RP0/CPU0:router1#
Le piattaforme non EVC usano i comandi dot1q vlan o dot1ad vlan al posto dei comandi encapsulation e rewrite delle piattaforme EVC (ASR9000).
Se non si configura un MTU in modo esplicito sull'interfaccia principale o secondaria, è possibile ricevere un pacchetto L3 da 1500 byte per impostazione predefinita:
RP/0/RP0/CPU0:router1#sh int gig 0/0/0/2 | i MTU
MTU 1514 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
RP/0/RP0/CPU0:router1#sh int gig 0/0/0/2.201 | i MTU
MTU 1518 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
RP/0/RP0/CPU0:router1#
L'MTU della sottointerfaccia viene calcolata dall'MTU dell'interfaccia principale (1514); aggiungere 4 byte per ciascun tag dot1q. Poiché sull'interfaccia secondaria è configurato un tag con il comando dot1q vlan 201, aggiungere 4 byte a 1514 per una MTU di 1518 byte.
La MTU del payload corrispondente in MPLS LDP è di 1500 byte, poiché i 14 byte dell'intestazione Ethernet non vengono conteggiati e il tag one dot1q viene scaricato automaticamente dalla piattaforma non EVC quando supera il PW:
RP/0/RP0/CPU0:router1#sh l2vpn xconnect detail
Group mtu, XC mtu, state is down; Interworking none
AC: GigabitEthernet0/0/0/2.201, state is up
Type VLAN; Num Ranges: 1
VLAN ranges: [201, 201]
MTU 1500; XC ID 0x1080001; interworking none
Se si aumenta la MTU dell'interfaccia principale a 2014 byte, la MTU dell'interfaccia secondaria viene aumentata di conseguenza:
RP/0/RP0/CPU0:router1#sh run int gig 0/0/0/2
interface GigabitEthernet0/0/0/2
description static lab connection to head 4/0/0 - dont change
cdp
mtu 2014
ipv4 address 10.0.100.1 255.255.255.252
load-interval 30
!
RP/0/RP0/CPU0:router1#sh run int gig 0/0/0/2.201
interface GigabitEthernet0/0/0/2.201 l2transport
dot1q vlan 201
!
RP/0/RP0/CPU0:router1#sh int gig 0/0/0/2 | i MTU
MTU 2014 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
RP/0/RP0/CPU0:router1#sh int gig 0/0/0/2.201 | i MTU
MTU 2018 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
RP/0/RP0/CPU0:router1#sh l2vpn xconnect detail
Group mtu, XC mtu, state is down; Interworking none
AC: GigabitEthernet0/0/0/2.201, state is up
Type VLAN; Num Ranges: 1
VLAN ranges: [201, 201]
MTU 2000; XC ID 0x1080001; interworking none
Quindi, per calcolare l'MTU LDP MPLS, sottrarre 14 byte dall'intestazione Ethernet e aggiungere 4 byte per ciascun tag configurato nell'interfaccia secondaria.
Sulle interfacce Ethernet, il driver di interfaccia è configurato con una MTU e una MRU basata sulla configurazione dell'MTU dell'interfaccia.
L'MTU e l'MRU configurati sul driver dell'interfaccia Ethernet possono essere visualizzati con il comando show controller <interface>all.
Nelle versioni precedenti a Cisco IOS XR release 5.1.1, l'MTU e l'MRU sul driver di interfaccia Ethernet sono stati configurati automaticamente in base alla configurazione dell'MTU di Cisco IOS XR sull'interfaccia.
L'MTU/MRU configurata sul driver Ethernet si basava semplicemente sulla MTU configurata + 12 byte per l'aggiunta di 2 tag Ethernet e del campo CRC. I 12 byte sono stati aggiunti all'MTU/MRU del driver Ethernet indipendentemente dalla presenza di tag VLAN configurati sulle sottointerfacce.
Di seguito è riportato un esempio di tutte le versioni di Cisco IOS XR precedenti alla versione 5.1.1 e di una MTU predefinita di 1514 su un'interfaccia ASR 9000:
RP/0/RSP0/CPU0:ASR2#show interface Gi0/2/0/0
GigabitEthernet0/2/0/0 is up, line protocol is up
Interface state transitions: 3
Hardware is GigabitEthernet, address is 18ef.63e2.0598 (bia 18ef.63e2.0598)
Description: Static_Connections_to_ME3400-1_Gi_0_2 - Do Not Change
Internet address is Unknown
MTU 1514 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
<snip>
MTU/MRU programmed on ethernet interface driver is 1514 + 12 bytes
RP/0/RSP0/CPU0:ASR2#show controllers Gi0/2/0/0 all
<snip>
Operational values:
Speed: 1Gbps
Duplex: Full Duplex
Flowcontrol: None
Loopback: None (or external)
MTU: 1526
MRU: 1526
Inter-packet gap: standard (12)
<snip>
In Cisco IOS XR versione 5.1.1 e successive, l'MTU e l'MRU utilizzati sul driver dell'interfaccia Ethernet sono stati modificati e ora si basano sul numero di tag VLAN configurati su una delle sottointerfacce.
Se non sono configurati tag VLAN sulle sottointerfacce, l'MTU/MRU del driver è uguale all'MTU configurata sull'interfaccia + 4 byte CRC, ad esempio 1514 + 4 = 1518 byte.
Se su una delle sottointerfacce è configurata una VLAN, l'MTU/MRU del driver è uguale alla MTU configurata + 8 byte (1 tag + CRC), ad esempio 1514 + 8 = 1522 byte.
Se due tag VLAN sono configurati su una qualsiasi sottointerfaccia, l'MTU/MRU del driver è uguale alla MTU configurata + 12 byte (2 tag + CRC), ad esempio 1514 + 12 = 1526 byte
Se QinQ con la parola chiave any è configurato per il tag second-do1q, l'MTU/MRU del driver è uguale all'MTU configurata + 8 byte (1 tag + CRC), ad esempio 1514 + 8 = 1522 byte.
Gli esempi riportati di seguito mostrano il comportamento di Cisco IOS XR release 5.1.1 e successive su ASR 9000:
RP/0/RSP0/CPU0:ASR2#sh run int ten0/1/0/0
interface TenGigE0/1/0/0
cdp
RP/0/RSP0/CPU0:ASR2#show controllers ten0/1/0/0 all
<snip>
Operational values:
Speed: 10Gbps
Duplex: Full Duplex
Flowcontrol: None
Loopback: Internal
MTU: 1518
MRU: 1518
Inter-packet gap: standard (12)
<snip>
RP/0/RSP0/CPU0:ASR2#config
RP/0/RSP0/CPU0:ASR2(config-if)#int ten0/1/0/0.1
RP/0/RSP0/CPU0:ASR2(config-subif)#encapsulation dot1q 1
RP/0/RSP0/CPU0:ASR2(config-subif)#commit
RP/0/RSP0/CPU0:ASR2#show controllers ten0/1/0/0 all
<snip>
Operational values:
Speed: 10Gbps
Duplex: Full Duplex
Flowcontrol: None
Loopback: Internal
MTU: 1522
MRU: 1522
Inter-packet gap: standard (12)
<snip>
RP/0/RSP0/CPU0:ASR2#config
RP/0/RSP0/CPU0:ASR2(config)#int ten0/1/0/0.2
RP/0/RSP0/CPU0:ASR2(config-subif)#encapsulation dot1q 10 second-dot1q 20
RP/0/RSP0/CPU0:ASR2(config-subif)#commit
RP/0/RSP0/CPU0:ASR2#show controllers ten0/1/0/0 all
<snip>
Operational values:
Speed: 10Gbps
Duplex: Full Duplex
Flowcontrol: None
Loopback: Internal
MTU: 1526
MRU: 1526
Inter-packet gap: standard (12)
<snip>
RP/0/RSP0/CPU0:ASR2#config
RP/0/RSP0/CPU0:ASR2(config)#int ten0/2/0/0
RP/0/RSP0/CPU0:ASR2(config)#cdp
RP/0/RSP0/CPU0:ASR2(config)#int ten0/2/0/0.1 l2transport
RP/0/RSP0/CPU0:ASR2(config-subif)#encapsulation dot1q 10 second-dot1q any
RP/0/RSP0/CPU0:ASR2(config-subif)#commit
RP/0/RSP0/CPU0:ASR2#show controllers ten0/1/0/0 all
<snip>
Operational values:
Speed: 10Gbps
Duplex: Full Duplex
Flowcontrol: None
Loopback: Internal
MTU: 1522
MRU: 1522
Inter-packet gap: standard (12)
<snip>
Nella maggior parte delle situazioni, il cambiamento di questo comportamento nella release 5.1.1 e successive non deve richiedere alcuna modifica alla configurazione dell'MTU sull'interfaccia.
Questo cambiamento di comportamento può causare problemi in una sottointerfaccia configurata con un singolo tag VLAN, ma riceve pacchetti con due tag VLAN. In questa situazione, i pacchetti ricevuti possono superare l'MRU sul driver dell'interfaccia Ethernet. Per eliminare questa condizione, l'MTU dell'interfaccia può essere aumentata di 4 byte o la sottointerfaccia può essere configurata con due tag VLAN.
La configurazione automatica dell'MTU e dell'MRU del driver dell'interfaccia Ethernet nella release 5.1.1 è la stessa per un router CRS e ASR 9000. Tuttavia, un router CRS con versione 5.1.1 non include il CRC da 4 byte nel valore MTU e MRU visualizzato nell'output show controller. Il comportamento della modalità di segnalazione non è lo stesso tra CRS e ASR9000.
RP/0/RP0/CPU0:CRS#sh run int ten0/4/0/0
Mon May 19 08:49:26.109 UTC
interface TenGigE0/4/0/0
<snip>
Operational values:
Speed: 10Gbps
Duplex: Full Duplex
Flowcontrol: None
Loopback: None (or external)
MTU: 1514
MRU: 1514
Inter-packet gap: standard (12)
RP/0/RP0/CPU0:CRS(config)#int ten0/4/0/0.1
RP/0/RP0/CPU0:CRS(config-subif)#encapsulation dot1q 1
RP/0/RP0/CPU0:CRS(config-subif)#commit
Operational values:
Speed: 10Gbps
Duplex: Full Duplex
Flowcontrol: None
Loopback: None (or external)
MTU: 1518
MRU: 1518
Inter-packet gap: standard (12)
Il modo in cui l'MTU e l'MRU vengono visualizzati nell'output show controller sull'ASR 9000 verrà modificato in futuro in modo che i 4 byte di CRC non vengano inclusi nel valore MTU/MRU visualizzato. Questa modifica futura può essere rilevata con l'ID bug Cisco CSCuo93379.
se l'interfaccia principale era senza alcuna sottointerfaccia e senza comando mtu in una versione precedente alla 5.1.1:
interface TenGigE0/1/0/19
l2transport
!
!
Inoltre, questa interfaccia trasporta frame dot1q o QinQ, quindi l'MTU deve essere configurata manualmente su "mtu 1522" nella versione 5.1.1 e successive:
interface TenGigE0/1/0/19
mtu 1522
l2transport
!
!
Questa configurazione consente il trasporto dei frame QinQ, come nelle versioni precedenti. Il valore MTU può essere configurato su 1518 se si devono trasportare solo dot1q e non QinQ.
Se erano presenti sottointerfacce configurate per dot1q o QinQ, ma con la parola chiave "any" (qualsiasi) e nessuna sottointerfaccia QinQ con 2 tag espliciti è stata configurata in una release precedente alla 5.1.1:
interface TenGigE0/1/0/19
!
interface TenGigE0/1/0/19.100 l2transport
encapsulation dot1q 100
!
interface TenGigE0/1/0/19.101 l2transport
encapsulation dot1q 101 second-dot1q any
!
Questa configurazione nella release 5.1.1 e successive consente solo di trasportare i frame con un tag, quindi se i frame QinQ devono essere trasportati, l'MTU deve essere aumentata manualmente di 4 byte:
interface TenGigE0/1/0/19
mtu 1518
!
interface TenGigE0/1/0/19.100 l2transport
encapsulation dot1q 100
!
interface TenGigE0/1/0/19.101 l2transport
encapsulation dot1q 101 second-dot1q any
!
Se è stata configurata un'interfaccia secondaria QinQ con 2 tag espliciti (che non usano la parola chiave "any"), non è necessario modificare la configurazione MTU quando si esegue l'aggiornamento alla release 5.1.1 e successive:
interface TenGigE0/1/0/19
!
interface TenGigE0/1/0/19.101 l2transport
encapsulation dot1q 101 second-dot1q 200
!
Se non esiste una sottointerfaccia di trasporto L2 ma solo interfacce con routing L3, si prevede che la configurazione MTU corrisponda su entrambi i lati e che non vi siano frame più grandi della MTU trasportata. non è necessario aggiornare la configurazione MTU quando si esegue l'aggiornamento alla release 5.1.1 e successive.
Analogamente, se in una release precedente alla 5.1.1 è stata configurata una MTU non predefinita e non è stata configurata alcuna sottointerfaccia ed è necessario trasportare i frame dot1q o QinQ, il valore MTU configurato deve essere aumentato di 8 byte quando si esegue l'aggiornamento alla release 5.1.1 o successive.
Release precedenti alla release 5.1.1:
interface TenGigE0/1/0/19
mtu 2000
l2transport
!
!
Quando si esegue l'aggiornamento alla release 5.1.1 e successive, l'MTU deve essere aumentata manualmente di 8 byte:
interface TenGigE0/1/0/19
mtu 2008
l2transport
!
!
Il valore MTU configurato deve essere aumentato di 4 byte se c'è una sottointerfaccia dot1q e nessuna sottointerfaccia QinQ o una sottointerfaccia QinQ con la parola chiave any per il secondo tag dot1q.
Release precedenti alla release 5.1.1:
interface TenGigE0/1/0/19
mtu 2000
!
interface TenGigE0/1/0/19.100 l2transport
encapsulation dot1q 100
!
interface TenGigE0/1/0/19.101 l2transport
encapsulation dot1q 101 second-dot1q any
!
Versione 5.1.1 e successive:
interface TenGigE0/1/0/19
mtu 2004
!
interface TenGigE0/1/0/19.100 l2transport
encapsulation dot1q 100
!
interface TenGigE0/1/0/19.101 l2transport
encapsulation dot1q 101 second-dot1q any
!
Se è stata configurata un'interfaccia secondaria QinQ con 2 tag espliciti (che non usano la parola chiave "any"), non è necessario modificare la configurazione MTU quando si esegue l'aggiornamento alla release 5.1.1 e successive.
interface TenGigE0/1/0/19
!
interface TenGigE0/1/0/19.101 l2transport
encapsulation dot1q 101 second-dot1q 200
!
Se non esiste una sottointerfaccia di trasporto L2, ma solo interfacce con routing L3, si prevede che la configurazione MTU corrisponda su entrambi i lati e che non vi siano frame più grandi della MTU trasportata. non è necessario aggiornare la configurazione MTU quando si esegue l'aggiornamento alla release 5.1.1 e successive.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
02-Feb-2015 |
Versione iniziale |