Para parceiros
Este documento descreve os comportamentos de unidade máxima de transmissão (MTU) nos roteadores Cisco IOS® XR e compara esses comportamentos aos roteadores Cisco IOS. Ele também discute MTUs em interfaces roteadas de Camada 3 (L3) e interfaces de Camada 2 VPN (L2VPN) L2 que usam ambos os modelos de Conexão Virtual Ethernet (EVC - Ethernet Virtual Connection) e não-EVC. Este documento também descreve alterações importantes em como a MTU do driver da interface Ethernet e a MRU (Maximum receive unit, unidade de recebimento máxima) são configuradas automaticamente na versão 5.1.1 e posterior.
Na rede de computadores, a MTU de um protocolo de comunicação de uma camada define o tamanho, em bytes, da maior unidade de dados de protocolo que a camada pode transmitir através de uma interface. Um parâmetro MTU é associado a cada interface, camada e protocolo.
As características de MTU no software Cisco IOS XR são:
O restante deste documento ilustra as características de MTU, compara o comportamento do software Cisco IOS e Cisco IOS XR e dá exemplos para estes tipos de interfaces:
Esta seção compara o comportamento do software Cisco IOS e Cisco IOS XR com referência às características de MTU.
No software Cisco IOS, o comando mtu e os comandos show correspondentes não incluem o cabeçalho L2. Use o comando mtu para configurar o payload L2 para o tamanho máximo dos pacotes L3, incluindo o cabeçalho L3.
Isso é diferente do software Cisco IOS XR, em que o comando mtu inclui o cabeçalho L2 (14 bytes para Ethernet ou 4 bytes para PPP/HDLC).
Se um roteador Cisco IOS estiver configurado com mtu x e estiver conectado a um roteador Cisco IOS XR, a interface correspondente no roteador Cisco IOS XR deve ser configurada com mtu x+14 para interfaces Ethernet ou mtu x+4 para interfaces seriais.
O software Cisco IOS e Cisco IOS XR têm o mesmo significado para os comandos ipv4 mtu, ipv6 mtu e mpls mtu; eles devem ser configurados com os mesmos valores.
Como resultado, esta é a configuração no software Cisco IOS em uma interface Ethernet:
mtu 9012
ipv4 mtu 9000
ipv6 mtu 9000
A configuração correspondente no vizinho do software Cisco IOS XR é:
mtu 9026
ipv4 mtu 9000
ipv6 mtu 9000
Os valores de MTU devem ser os mesmos em todos os dispositivos conectados a uma rede L2. Caso contrário, estes sintomas podem ser relatados:
Esta seção analisa o MTU padrão de uma interface roteada quando o comando mtu não está configurado:
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#
Neste exemplo, o MTU da interface L2 padrão é de 1514 bytes e inclui 14 bytes de cabeçalho Ethernet. Os 14 bytes são contabilizados por 6 bytes do endereço MAC de destino, 6 bytes do endereço MAC de origem e 2 bytes do tipo ou comprimento. Isso não inclui o preâmbulo, delimitador de quadros, 4 bytes de sequência de verificação de quadros (FCS) e intervalo entre quadros. Para um quadro PPP ou HDLC, 4 bytes do cabeçalho L2 são contabilizados; portanto, o MTU da interface padrão é de 1504 bytes.
Os protocolos filho L3 herdam seu MTU do payload do MTU pai. Quando você subtrai 14 bytes de um cabeçalho L2 de um MTU L2 de 1514 bytes, você tem um payload L2 de 1500 bytes. Isso se torna o MTU para os protocolos L3. IPv4, IPv6, MPLS e CLNS (Connectionless Network Service) herdam essa MTU de 1.500 bytes. Como resultado, uma interface Ethernet XR do Cisco IOS, por padrão, pode transportar um pacote L3 de 1.500 bytes que é o mesmo que o padrão em uma interface Ethernet do Cisco IOS.
Esta seção mostra como configurar um mtu mpls de 1508 para enviar um pacote IPv4 de 1500 bytes com duas marcas MPLS de 4 bytes cada, sobre o pacote:
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#
Embora o comando mpls mtu 1508 seja confirmado, ele não é aplicado, porque o MPLS ainda tem um MTU de 1500 bytes no comando show. Isso ocorre porque os protocolos filho L3 não podem ter uma MTU maior que a carga da interface L2 pai.
Para permitir dois rótulos sobre um pacote IP de 1.500 bytes, você deve:
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#
Essa configuração permite enviar pacotes IPv4 e IPv6 de 1.500 bytes e pacotes MPLS de 1.508 bytes (um pacote de 1.500 bytes com duas marcas na parte superior).
Essas características se aplicam a subinterfaces L3 roteadas.
Um MTU de subinterface roteada herda o MTU de sua interface principal pai; adicione 4 bytes para cada tag de VLAN configurada na subinterface. Portanto, há 4 bytes para uma subinterface dot1q e 8 bytes para uma subinterface de tunelamento IEEE 802.1Q (QinQ).
Como resultado, os pacotes L3 do mesmo tamanho podem ser encaminhados na interface principal e na subinterface.
O comando mtu pode ser configurado na subinterface, mas é aplicado somente se for menor ou igual à MTU herdada da interface principal.
Este é um exemplo em que o MTU da interface principal é de 2000 bytes:
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#
Nos comandos show, o MTU da subinterface é 2004; adicione 4 bytes ao MTU da interface principal porque há uma tag dot1q configurada na subinterface.
No entanto, a MTU dos pacotes IPv4 e IPv6 ainda é a mesma da interface principal (1986). Isso ocorre porque o MTU dos protocolos L3 agora é calculado como: 2004 - 14 - 4 = 1986.
O comando mtu pode ser configurado na subinterface, mas o MTU configurado é aplicado somente se for menor ou igual ao MTU herdado da interface principal (4 bytes maiores que o MTU da interface principal).
Quando a MTU da subinterface maior que a MTU herdada, ela não é aplicada, como mostrado aqui:
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#
Assim, você pode usar somente o comando mtu para reduzir o valor de MTU herdado da interface principal.
Da mesma forma, você também pode usar os comandos MTU dos protocolos L3 (IPv4, IPv6, MPLS) para reduzir o valor do MTU L3 herdado do payload da subinterface L2. A MTU do protocolo L3 não entra em vigor quando é configurada para um valor que não se encaixa na carga da MTU L2.
O MTU de um L2VPN é importante porque o LDP (Label Distribution Protocol, protocolo de distribuição de rótulo) não ativa um pseudodofinanciamento (PW) quando os MTUs nos circuitos de conexão em cada lado de um PW não são os mesmos.
Este é um comando show que ilustra que um PW L2VPN permanece inativo quando há uma incompatibilidade de MTU:
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#
Neste exemplo, observe que as bordas do provedor L2VPN MPLS (PEs) em cada lado devem sinalizar o mesmo valor de MTU para ativar o PW.
O MTU sinalizado pelo MPLS LDP não inclui a sobrecarga de L2. Isso é diferente dos comandos config da interface XR e show que incluem a sobrecarga de L2. O MTU na subinterface é de 2018 bytes (como herdado da interface principal de 2014 bytes), mas o LDP sinalizou um MTU de 2000 bytes. Como resultado, ele subtrai 18 bytes (14 bytes de cabeçalho Ethernet + 4 bytes de 1 tag dot1q) do cabeçalho L2.
É importante entender como cada dispositivo calcula os valores de MTU dos circuitos de conexão para corrigir incompatibilidades de MTU. Isso depende de parâmetros como fornecedor, plataforma, versão de software e configuração.
O Cisco ASR 9000 Series Aggregation Services Router usa o modelo de infraestrutura EVC, que permite a correspondência flexível de VLANs em interfaces e subinterfaces L2 de L2VPN.
As interfaces L2 EVC L2VPN têm estas características:
Para computar o MTU da subinterface, pegue o MTU da interface principal (o padrão ou o configurado manualmente na interface principal) e adicione 4 bytes para cada tag de VLAN configurada com o comando encapsulation. Consulte Comandos específicos de encapsulamento EFP.
Quando há um comando mtu na subinterface, ele só entra em vigor se for inferior ao MTU calculado. O comando rewrite não influencia o MTU da subinterface.
Aqui está um exemplo:
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)
Neste exemplo, o MTU na interface principal é 2014 bytes; adicione 8 bytes porque há duas marcas configuradas na subinterface.
Se você configurar mtu 2026 bytes sob a subinterface, ela não será aplicada porque é maior que a MTU da subinterface herdada da interface principal (2022). Como resultado, você pode configurar apenas uma MTU de subinterface inferior a 2022 bytes.
Com base nesse MTU de subinterface, calcule o MTU do payload de LDP de MPLS que é sinalizado para o vizinho e certifique-se de que ele seja idêntico ao calculado pelo L2VPN PE remoto. Aqui é onde o comando rewrite entra em ação.
Para computar a MTU do payload de LDP de MPLS, tome a MTU da subinterface e, em seguida:
Este é o mesmo exemplo com a configuração QinQ em 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)
Este é o cálculo para a MTU do payload de LDP MPLS:
Certifique-se de que o lado remoto anuncia um payload LDP MPLS de 2000 bytes. Caso contrário, ajuste o tamanho da MTU do circuito de conexão local ou remota (AC) para que eles correspondam.
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
Esses encapsulamentos contam como marcas zero correspondentes, portanto, não aumentam a MTU da subinterface:
Esses modificadores de encapsulamento não afetam o número de tags necessárias para calcular o MTU da subinterface:
encapsulation [dot1q|dot1ad] priority-tagged conta como correspondendo a uma única marca.
A palavra-chave 'any' usada como a correspondência de marca mais interna não aumenta a MTU da subinterface.
Os intervalos de VLAN-IDs incrementam o MTU da subinterface:
A sobrecarga de MTU de encapsulamento de um EFP que é uma correspondência disjuntiva é tratada como MTU de seu elemento mais alto.
Roteadores como o Cisco XR 12000 Series Router e o Carrier Routing System (CRS) usam a configuração tradicional para a VLAN correspondente em subinterfaces. Essas características se aplicam às interfaces L2 de L2VPN no CRS e nos roteadores XR 12000 que não seguem o modelo EVC:
Aqui estão vários exemplos que ilustram essas características.
Este exemplo mostra como uma subinterface não-EVC é configurada:
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#
As plataformas não-EVC usam os comandos dot1q vlan ou dot1ad vlan em vez dos comandos encapsulation e rewrite das plataformas EVC (ASR9000).
Se você não configurar uma MTU explicitamente na interface principal ou subinterface, um pacote L3 de 1.500 bytes pode ser recebido por padrão:
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#
A MTU da subinterface é calculada a partir da MTU da interface principal (1514); adicione 4 bytes para cada tag dot1q. Como há uma tag configurada na subinterface com o comando dot1q vlan 201, adicione 4 bytes a 1514 para uma MTU de 1518 bytes.
O MTU de payload correspondente no LDP MPLS é de 1500 bytes, já que os 14 bytes do cabeçalho Ethernet não são contados e a tag one dot1q é exibida automaticamente pela plataforma não-EVC quando passa pelo 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 você aumentar o MTU da interface principal para 2014 bytes, o MTU da subinterface será aumentado de acordo:
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
Assim, para computar a MTU LDP MPLS, subtraia 14 bytes do cabeçalho Ethernet e adicione 4 bytes para cada tag configurada na subinterface.
Nas interfaces Ethernet, o driver da interface é configurado com uma MTU e uma MRU baseadas na configuração de MTU da interface.
O MTU e a MRU configurados no driver da interface Ethernet podem ser vistos com o comando show controller <interface> all.
Em versões anteriores à versão 5.1.1 do Cisco IOS XR, a MTU e a MRU no driver da interface Ethernet foram configuradas automaticamente com base na configuração da MTU do Cisco IOS XR na interface.
O MTU/MRU configurado no driver Ethernet simplesmente se baseava no MTU + 12 bytes configurado para a adição de 2 Marcas Ethernet e o campo CRC. Os 12 bytes foram adicionados ao driver Ethernet MTU/MRU, independentemente de haver alguma marca de VLAN configurada nas subinterfaces.
Um exemplo com todas as versões do Cisco IOS XR anteriores à versão 5.1.1 do Cisco IOS XR e uma MTU padrão de 1514 em uma interface ASR 9000 é mostrado aqui:
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>
No Cisco IOS XR versão 5.1.1 e posterior, o MTU e a MRU usados no driver da interface Ethernet foram alterados e agora se baseiam no número de marcas de VLAN configuradas em qualquer uma das subinterfaces.
Se nenhuma marca de VLAN for configurada em nenhuma subinterface, o driver MTU/MRU será igual ao MTU configurado na interface + 4 bytes de CRC, por exemplo 1514 + 4 = 1518 bytes.
Se uma VLAN estiver configurada em qualquer subinterface, o driver MTU/MRU é igual ao MTU configurado + 8 bytes (1 tag + CRC), por exemplo 1514 + 8 = 1522 bytes.
Se duas tags de VLAN forem configuradas em qualquer subinterface, o driver MTU/MRU será igual ao MTU configurado + 12 bytes (2 tags + CRC), por exemplo 1514 + 12 = 1526 bytes
Se QinQ com a palavra-chave any estiver configurada para a marca Second-do1q, o driver MTU/MRU é igual ao MTU configurado + 8 bytes (1 tag + CRC), por exemplo 1514 + 8 = 1522 bytes.
Estes exemplos mostram o comportamento no Cisco IOS XR versão 5.1.1 e posterior em um 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>
Na maioria das situações, essa alteração de comportamento na versão 5.1.1 e posterior não deve exigir nenhuma alteração na configuração do MTU na interface.
Essa alteração de comportamento pode causar problemas no caso de uma subinterface configurada com uma única marca de VLAN, mas recebe pacotes com duas marcas de VLAN. Nessa situação, os pacotes recebidos podem exceder a MRU no driver da interface Ethernet. Para eliminar essa condição, o MTU da interface pode ser aumentado em 4 bytes ou a subinterface configurada com duas marcas de VLAN.
A configuração MTU e MRU do driver da interface Ethernet automática no comportamento da versão 5.1.1 é a mesma para os roteadores CRS e ASR 9000. Mas um roteador CRS que executa a versão 5.1.1 não inclui o CRC de 4 bytes no valor MTU e MRU exibidos na saída show controller. O comportamento de como ele é relatado não é o mesmo entre o CRS e o 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)
A maneira como MTU e MRU são exibidos na saída do comando show controller no ASR 9000 será alterada no futuro para que os 4 bytes de CRC não sejam incluídos no valor MTU/MRU exibido. Essa alteração futura pode ser rastreada com o bug da Cisco ID CSCuo93379.
Se houvesse uma interface principal sem qualquer subinterface e sem nenhum comando mtu em uma versão anterior à versão 5.1.1:
interface TenGigE0/1/0/19
l2transport
!
!
E essa interface transporta quadros dot1q ou QinQ, então o MTU deve ser configurado manualmente para "mtu 1522" na versão 5.1.1 e posterior:
interface TenGigE0/1/0/19
mtu 1522
l2transport
!
!
Essa configuração permite que os quadros QinQ sejam transportados como nas versões anteriores. O valor de MTU poderia ser configurado para 1518 se apenas dot1q e não QinQ fossem transportados.
Se houvesse subinterfaces configuradas para dot1q ou QinQ, mas com a palavra-chave "any" e nenhuma subinterface QinQ com 2 marcas explícitas foi configurada em uma versão anterior à versão 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
!
Essa configuração na versão 5.1.1 e posterior só permitirá o transporte de quadros com uma tag, de modo que a MTU também deve ser aumentada manualmente em 4 bytes se os quadros QinQ forem transportados:
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 uma subinterface QinQ com 2 marcas explícitas (que não usam a palavra-chave "any") estiver configurada, não será necessário modificar a configuração de MTU ao atualizar para a versão 5.1.1 e posterior:
interface TenGigE0/1/0/19
!
interface TenGigE0/1/0/19.101 l2transport
encapsulation dot1q 101 second-dot1q 200
!
Se não houver subinterface de transporte L2, mas somente interfaces roteadas L3, é esperado que a configuração de MTU corresponda em ambos os lados e não haverá quadros maiores que a MTU que é transportada. Não há necessidade de atualizar a configuração de MTU ao atualizar para a versão 5.1.1 e posterior.
Da mesma forma, quando uma MTU não padrão foi configurada em uma versão anterior à versão 5.1.1 e nenhuma subinterface foi configurada e quadros dot1q ou QinQ precisam ser transportados, o valor de MTU configurado deve ser aumentado em 8 bytes quando você atualizar para a versão 5.1.1 ou posterior.
Versão anterior à versão 5.1.1:
interface TenGigE0/1/0/19
mtu 2000
l2transport
!
!
A MTU deve ser aumentada manualmente em 8 bytes quando você atualizar para a versão 5.1.1 e posterior:
interface TenGigE0/1/0/19
mtu 2008
l2transport
!
!
O valor de MTU configurado também deve ser aumentado em 4 bytes se houver uma subinterface dot1q e nenhuma subinterface QinQ ou uma subinterface QinQ com a palavra-chave any para a marca Second-dot1q.
Versão anterior à versão 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
!
Versão 5.1.1 ou posterior:
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 uma subinterface QinQ com 2 marcas explícitas (que não usam a palavra-chave "any") estiver configurada, não será necessário modificar a configuração de MTU quando você atualizar para a versão 5.1.1 e posterior.
interface TenGigE0/1/0/19
!
interface TenGigE0/1/0/19.101 l2transport
encapsulation dot1q 101 second-dot1q 200
!
Se não houver subinterface de transporte L2, mas somente interfaces roteadas L3, é esperado que a configuração de MTU corresponda em ambos os lados e não haverá quadros maiores que a MTU que é transportada. Não há necessidade de atualizar a configuração de MTU ao atualizar para a versão 5.1.1 e posterior.
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
02-Feb-2015 |
Versão inicial |