Introdução
Este documento descreve como entender e solucionar problemas da Unidade Máxima de Transmissão (MTU - Maximum Transmission Unit) nos switches da série Catalyst 9000.
Pré-requisitos
Requisitos
Não existem requisitos específicos para este documento.
Componentes Utilizados
As informações neste documento são baseadas nas seguintes versões de hardware:
- C9200
- C9300
- C9400
- C9500
- C9600
Observação: você pode configurar o tamanho de MTU para todas as interfaces em um dispositivo ao mesmo tempo com o comando global system mtu. A partir do Cisco IOS® XE 17.1.1, os switches Catalyst 9000 suportam MTU por porta. O MTU por porta suporta configuração MTU no nível de porta e no nível de canal de porta. Com o MTU por porta, você pode definir valores de MTU diferentes para interfaces diferentes, bem como interfaces de canal de porta diferentes.
Observação: consulte o guia de configuração apropriado para obter os comandos que são usados para habilitar esses recursos em outras plataformas Cisco.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Informações de Apoio
Tabela de resumo de MTU
Tamanho Total do Quadro = MTU + Cabeçalho L2
Tipo de porta |
MTU padrão - Bytes |
MTU configurado - Bytes |
Cabeçalho L2
|
Tamanho total do quadro |
Acesso L2 |
1500 |
|
18 |
1518 |
|
|
9216 |
18 |
9234 |
Tronco L2 |
1500 |
|
22 |
1522 |
|
|
9216 |
22 |
9238 |
Porta física L3 |
1500 |
|
18 |
1518 |
|
|
9216 |
18 |
9234 |
SVI L3 |
1500 |
|
18 |
1518 |
|
|
9216 |
18 |
9234 |
IP MTU na porta L3 |
1500 |
O intervalo é suportado. |
18 |
Com base no valor configurado de mtu ip. |
MTU Q&A
O que é MTU?
- MTU é a unidade máxima de transmissão que um dispositivo pode encaminhar. Em geral, essa Unidade é o Comprimento do pacote IP que inclui o Cabeçalho IP.
- Cabeçalhos L2 como, marca Dot1q, MacSec, cabeçalho SVL e assim por diante, não são considerados neste cálculo.
O que é cabeçalho L2 e seu comprimento?
- Um cabeçalho L2 genérico tem 14 bytes + 4 bytes de CRC e totaliza 18 bytes.
- Um tronco adiciona mais 4 bytes para a tag dot1q vlan e totaliza 22 bytes.
- Da mesma forma, o MacSec adiciona seu próprio tamanho de cabeçalho sobre o tamanho típico do cabeçalho L2.
- A porta SVL adiciona seu próprio tamanho de cabeçalho sobre o tamanho típico do cabeçalho L2.
- Portanto, o pacote geral no fio é esbarrado no fio.
Qual é o comprimento do pacote tratado por uma interface?
- Os switches Catalyst 9000 manipulam tamanhos de pacotes de 64 bytes a 9238 bytes.
O que é MTU padrão?
- A MTU padrão é a MTU definida pelo switch antes de qualquer configuração do usuário.
- O MTU padrão em qualquer switch Catalyst 9000 é de 1500 bytes.
- Uma porta Ethernet encaminha um pacote de Camada 3 de 1.500 bytes + um cabeçalho de Camada 2.
A verificação de MTU ocorre em Ingress ou Egress?
Saída: MTU é a Unidade máxima de transmissão. É uma verificação de saída, a decisão de fragmentar ou transmitir como está ou descartar é decidida para saída.
- Se o MTU da porta for maior que o comprimento do pacote a ser roteado, o pacote será enviado como está.
- Se o Pacote for maior que a MTU da porta de saída e se a porta de saída for
- Como uma porta de Camada 3, os pacotes são fragmentados de acordo com a MTU.
- Uma porta da Camada 2, os pacotes são descartados. (A fragmentação é feita apenas na camada 3)
Observação: se um pacote tiver o bit Não Fragmentar (DNF) definido no cabeçalho IP e a MTU de Porta for menor que o pacote a ser roteado, o Pacote será descartado
Entrada: a verificação de MTU também é feita para pacotes que chegam a uma interface.
- Se uma interface receber um pacote sobre sua MTU configurada, esses pacotes serão tratados como pacotes grandes demais e descartados.
O que são pacotes grandes?
- Nos switches Catalyst 9000, qualquer coisa acima de 1500 bytes é um pacote gigante ou um pacote jumbo.
- Exemplo-1: se uma interface MTU for configurada para encaminhar o tamanho de quadros Jumbo de 9.216 bytes, ela aceitará ou enviará quadros de 9.216 bytes + cabeçalhos de Camada 2.
- Exemplo-2: se uma MTU de interface for configurada para encaminhar um tamanho de quadro Jumbo de 5000 bytes, ela aceitará ou enviará quadros de 5000 bytes + cabeçalhos de Camada 2.
Pacotes grandes ou pacotes grandes demais são considerados pacotes de erro?
- Uma interface descarta pacotes recebidos sobre MTU configurado e relata pacotes como erros.
- Se a interface estiver configurada para transportar uma MTU Jumbo e os pacotes recebidos estiverem dentro desse valor, eles não serão contados como erros.
Qual é o tamanho mínimo de pacote que uma porta pode manipular?
- 64 bytes (cabeçalho L2, incluído) é o menor tamanho de pacote válido que o switch aceita em Ingress.
- Se um pacote vier com menos de 64 bytes no fio, ele será considerado como um Runt e será descartado no Ingress.
- Se um pacote tiver que transmitir para fora e tiver menos de 64 bytes, o switch preencherá o pacote para fazê-lo com um mínimo de 64 bytes antes da transmissão.
O que acontece quando o MTU do sistema é 9216 e o cabeçalho SVL adiciona 64 bytes adicionais?
- Qualquer cabeçalho abaixo do cabeçalho IP de Camada 3 não é considerado no cálculo de MTU.
- O link SVL pode transmitir um tamanho de pacote de 9216 + cabeçalho L2 + 64 bytes de cabeçalho SVL.
O que é IP MTU?
- O IP MTU só é aplicável a pacotes IP. Outros tamanhos de pacotes não ip não são considerados com esse comando.
- O IP MTU tem precedência sobre o sistema MTU ou por porta MTU para pacotes IP.
- O IP MTU define o tamanho máximo que um pacote IP pode ter antes de precisar de fragmentação.
- Se a interface física ou lógica de Camada 3 tiver uma MTU de 1500 bytes com ip mtu de 1400 bytes, o limite de fragmentação será de 1400 bytes, independentemente da configuração de MTU do sistema ou por porta.
- MTU é um valor que precisa ser combinado com o roteador/switch peer. Se o dispositivo par não suportar o valor de MTU mais alto, use MTU ou MTU IP para corresponder às capacidades de ambos os dispositivos.
- Quando o IP MTU é configurado, o dispositivo dimensiona os pacotes do protocolo de roteamento para o valor configurado do IP MTU. Alguns protocolos de roteamento dependem do valor de MTU correspondente para estabelecer a vizinhança do protocolo de roteamento.
Examples:
- Exemplo 1: se uma interface IP MTU é configurada em 500 bytes com a interface MTU é padrão (sem mtu por porta) e a MTU do sistema é 9000, a interface MTU é 9000 bytes, com fragmentação de IP em 500 bytes.
- Exemplo 2: um túnel GRE é a interface de saída, portanto, os 24 bytes do cabeçalho GRE precisam ser considerados no cálculo do tamanho do pacote (ip mtu 1476 + 24 bytes cabeçalho GRE = 1500 MTU total).
Qual é a diferença entre MTU do sistema e MTU por porta?
- O MTU do sistema é uma configuração global, que define o MTU de todo o dispositivo. Isso altera todas as portas físicas e portas lógicas do painel frontal para o valor definido pelo comando system mtu.
- O MTU por porta permite definir um valor de MTU por interface e isso tem precedência sobre a configuração de MTU do sistema. Quando a configuração por porta é removida, a interface retorna ao mtu do sistema.
Examples:
- Exemplo 1: o valor de MTU do sistema é definido como 9000, todas as portas físicas e lógicas de MTU são definidas como 9000.
- Exemplo 2: Se uma interface for configurada com um MTU de 4000 e o MTU do sistema for 9000, a interface então usará um MTU de 4000, enquanto outras portas usarão o MTU de 9000.
Qual é o impacto da fragmentação devido às limitações de MTU?
- Um dispositivo encaminha um pacote já fragmentado normalmente no plano de dados, mas, se o dispositivo for responsável pela fragmentação ou remontagem, pode haver problemas de desempenho/recurso que se manifestam.
- A fragmentação pode ter um impacto sério no throughput e no desempenho geral de aplicativos e dispositivos responsáveis pelo manuseio da fragmentação.
- O tratamento de pacotes fragmentados em muitas plataformas é feito em software e leva muitos ciclos de CPU para fragmentar ou montar pacotes fragmentados.
- Se a sua rede passar por muita fragmentação, certifique-se de que o MTU seja ajustado de acordo para corresponder o fluxo de pacotes fim a fim sem fragmentação.
O que é PMTUD (Path MTU Discovery, Descoberta de MTU de caminho)?
- Conforme descrito anteriormente, o MSS de TCP se encarrega da fragmentação em dois endpoints de uma conexão TCP, mas não interfere quando há um link de MTU menor no meio, entre esses dois endpoints. O PMTUD foi desenvolvido para evitar a fragmentação no caminho entre os endpoints. Ele é usado para determinar dinamicamente o MTU mais baixo ao longo do caminho, da origem de um pacote até o destino.
- Para obter mais informações sobre PMTUD e como solucionar problemas, consulte Resolver problemas de fragmentação de IPv4, MTU, MSS e PMTUD com GRE e IPsec.
MTU IPv6
Quadros Ethernet
Quadro Ethernet padrão, sem Dot1Q ou outras tags.

Quadro Ethernet Dot1Q

Configurar e verificar a MTU
Configurar MTU
Essa configuração pode ser feita globalmente ou no nível por porta com o Cisco IOS® XE 17.1.1 ou superior. Verifique se o seu hardware suporta essa configuração.
- Uma vez removida a configuração específica da porta, a porta usa a configuração MTU do sistema global.
### Global System MTU set to 1800 bytes ###
9500H(config)#system mtu ?
<1500-9216> MTU size in bytes <-- Size range that is configurable
9500H(config)#system mtu 1800 <-- Set global to 1800 bytes
Global Ethernet MTU is set to 1800 bytes.
Note: this is the Ethernet payload size, not the total
Ethernet frame size, which includes the Ethernet
header/trailer and possibly other tags, such as ISL or
802.1q tags. <-- CLI provides information about what is counted as MTU
### Per-Port MTU set to 9216 bytes ###
9500H(config)#int TwentyFiveGigE1/0/1
9500H(config-if)#mtu 9126 <-- Interface specific MTU configuration
Verificar MTU
Esta seção descreve como verificar as configurações de software e hardware para MTU.
- Verifique o MTU configurado do Software e o MTU do Hardware.
- A perda de tráfego pode ocorrer se o hardware não corresponder ao MTU configurado no software.
Verificação de MTU de software
9500H#show system mtu
Global Ethernet MTU is 1800 bytes. <-- Global level MTU
9500H#show interfaces mtu
Port Name MTU
Twe1/0/1 9216 <-- Per-Port MTU override
Twe1/0/2 1800 <-- No per-port MTU uses global MTU
<...snip...>
9500H#show interfaces TwentyFiveGigE 1/0/1 | inc MTU
MTU 9216 bytes, BW 1000000 Kbit/sec, DLY 10 usec,
9500H#show interfaces TwentyFiveGigE 1/0/2 | inc MTU
MTU 1800 bytes, BW 25000000 Kbit/sec, DLY 10 usec,
Verificação de MTU de Hardware
9500H#show platform software fed active ifm mappings
Interface IF_ID Inst Asic Core Port SubPort Mac Cntx LPN GPN Type Active
TwentyFiveGigE1/0/1 0x8 1 0 1 20 0 16 4 1 101 NIF Y <-- Retrieve the IF_ID for use in the next command
TwentyFiveGigE1/0/2 0x9 1 0 1 21 0 17 5 2 102 NIF Y
9500H#show platform software fed active ifm if-id 0x8 | inc MTU
Jumbo MTU ............ [9216] <-- Hardware matches software configuration
9500H#show platform software fed active ifm if-id 0x9 | in MTU
Jumbo MTU ............ [1800] <-- Hardware matches software configuration
Observação: o show platform software fed <ative|standby> pode variar. Determinadas plataformas exigem o show platform hardware fed switch <ative|standby|sw_num>.
Solucionar problemas de MTU
Topologia

Quedas de pacotes de entrada (MTU de entrada menor)
Se qualquer um desses contadores for incrementado, isso geralmente significa que os pacotes recebidos chegaram pela MTU configurada.
- Contador de Giants no comando show interface.
- Contador ValidOverSize no comando show controller.
9500H#show int twentyFiveGigE 1/0/3 | i MTU
MTU 1500 bytes, BW 100000 Kbit/sec, DLY 100 usec,
0 runts, 0 giants, 0 throttles <-- No giants counted
9500H#show controllers ethernet-controller twentyFiveGigE 1/0/3 | i ValidOverSize
0 Deferred frames 0 ValidOverSize frames <-- No giants counted
### 5 pings from neighbor device with MTU 1800 to ingress port MTU 1500 ###
9500H#show int twentyFiveGigE 1/0/3 | i MTU|giant
MTU 1500 bytes, BW 100000 Kbit/sec, DLY 100 usec,
0 runts, 5 giants, 0 throttles <-- 5 giants counted
9500H#show controllers ethernet-controller twentyFiveGigE 1/0/3 | i ValidOverSize
0 Deferred frames 5 ValidOverSize frames <-- 5 giants counted
Detalhes sobre o comando show controllers ethernet-controller.
- Se os pacotes chegarem sobre a MTU configurada e falharem na verificação de CRC, serão contados como InvalidOverSize.
- Se os pacotes chegarem dentro da MTU configurada e falharem na verificação de CRC, serão contados como FcsErr.
9500H#show controllers ethernet-controller twentyFiveGigE 1/0/3 | i Fcs|InvalidOver
0 Good (>1 coll) frames 0 InvalidOverSize frames <-- MTU too large and bad CRC
0 Gold frames dropped 0 FcsErr frames <-- MTU within limits with bad CRC
Configurar e verificar MTU IP
Configurar IP MTU
Esta seção descreve como configurar o IP MTU em uma interface de túnel.
- O IP MTU pode ser configurado para influenciar o tamanho dos pacotes IP gerados pelo sistema local (como atualizações do protocolo de roteamento) ou pode ser usado para definir um tamanho que deve ocorrer na fragmentação.
C9300(config)#interface tunnel 1
C9300(config-if)#ip mtu 1400
interface Tunnel1
ip address 10.11.11.2 255.255.255.252
ip mtu 1400 <-- IP MTU command sets this line at 1400
ip ospf 1 area 0
tunnel source Loopback0
tunnel destination 192.168.1.1
Verificar IP MTU
Verificação de MTU de IP de software
C9300#sh ip interface tunnel 1 <-- Show the IP level configuration of the interface
Tunnel1 is up, line protocol is up
Internet address is 10.11.11.2/30
Broadcast address is 255.255.255.255
Address determined by setup command
MTU is 1400 bytes <-- max size of IP packet before fragmentation occurs
Verificação de MTU de IP de Hardware
C9300#sh platform software fed switch active ifm interfaces tunnel
Interface IF_ID State
----------------------------------------------------------------------
Tunnel1 0x00000050 READY <-- Retrieve the IF_ID for use in the next command
C9300#sh platform software fed switch active ifm if-id 0x00000050
Interface IF_ID : 0x0000000000000050 <-- The interface ID (IF_ID)
Interface Name : Tunnel1
Interface Block Pointer : 0x7fe98cc2d118
Interface Block State : READY
Interface State : Enabled
Interface Status : ADD, UPD
Interface Ref-Cnt : 4
Interface Type : TUNNEL
<...snip...>
Tunnel Sub-mode: 0 [none]
Hw Support : Yes
Tunnel Vrf : 0
IPv4 MTU : 1400 <-- Hardware matches software configuration
<...snip...>
Identificar e Solucionar Problemas de MTU IP
Topologia

Fragmentação de IP
Quando os pacotes são enviados através de uma interface de túnel, a fragmentação pode acontecer de duas maneiras observadas nesses exemplos.
Fragmentação de IP padrão
Fragmentação do pacote original para reduzir o MTU antes do encapsulamento do túnel.
- Somente o dispositivo de ingresso é responsável por essa ação de fragmentação, com os fragmentos a serem reagrupados no ponto final real, em vez do ponto final do túnel.
- Esse tipo de fragmentação de pacote não exige muitos recursos.
### Tunnel Source Device: Tunnel IP MTU 1400 | Interface MTU 1500 ###
C9300#ping 172.16.1.1 source Loopback 1 size 1500 repeat 10 <-- ping with size over IP MTU 1400
Type escape sequence to abort.
Sending 100, 1500-byte ICMP Echos to 172.16.1.1, timeout is 2 seconds:
Packet sent with a source address of 172.16.2.1
!!!!!!!!!!
Success rate is 100 percent (100/100), round-trip min/avg/max = 1/1/1 ms
### Tunnel Destination Device: Ingress Capture Twe1/0/1 ###
9500H#show monitor capture 1
Status Information for Capture 1
Target Type:
Interface: TwentyFiveGigE1/0/1, Direction: IN <-- Ingress Physical interface
9500H#sh monitor capture 1 buffer br | inc IPv4|ICMP
9 22.285433 172.16.2.1 b^F^R 172.16.1.1 IPv4 1434 Fragmented IP protocol (proto=ICMP 1, off=0, ID=6c03)
10 22.285526 172.16.2.1 b^F^R 172.16.1.1 ICMP 162 Echo (ping) request id=0x0004, seq=0/0, ttl=255
11 22.286295 172.16.2.1 b^F^R 172.16.1.1 IPv4 1434 Fragmented IP protocol (proto=ICMP 1, off=0, ID=6c04)
12 22.286378 172.16.2.1 b^F^R 172.16.1.1 ICMP 162 Echo (ping) request id=0x0004, seq=1/256, ttl=255
<-- Fragmentation occurs on the Inner ICMP packet (proto=ICMP 1)
<-- Fragments are not reassembled until they reach the actual endpoint device 172.16.1.1
Fragmentação de encapsulamento pós-túnel
Fragmentação do pacote de túnel real para reduzir o MTU após a ocorrência do encapsulamento, mas o dispositivo detecta que o MTU é muito grande.
- Nesse caso, o destino do túnel é o dispositivo responsável pela remontagem do fragmento, em vez do ponto final de destino verdadeiro.
- Esse caso acontece quando há um problema de configuração. O dispositivo é definido para um MTU de IP mais alto do que o MTU real da porta ou do sistema pode suportar depois que os cabeçalhos do túnel são aplicados.
- Nesse caso, a origem do túnel deve fragmentar o próprio túnel e o destino do túnel deve reagrupar os cabeçalhos do túnel para enviar os pacotes ao próximo salto ou destino.
- Esse tipo de fragmentação de cabeçalho pode adicionar uma sobrecarga de processamento significativa; depende da taxa dos fluxos que devem ser manipulados.
- Dependendo da plataforma, do código e da taxa de tráfego, você também pode ver a perda e as quedas de pacotes no tráfego CoPP Class Forus.
### Tunnel Source Device: Tunnel IP MTU 1500 | Interface MTU 1500 ###
C9300(config-if)#ip mtu 1500
%Warning: IP MTU value set 1500 is greater than the current transport value 1476, fragmentation may occur
<-- Device warns the user that this can cause fragmentation (this is a configuration issue)
### Tunnel Destination Device: Ingress Capture Twe1/0/1 ###
9500H#show monitor capture 1
Status Information for Capture 1
Target Type:
Interface: TwentyFiveGigE1/0/1, Direction: IN <-- Ingress Physical interface
9500H#sh monitor capture 1 buffer br | i IPv4|ICMP
1 0.000000 192.168.1.2 b^F^R 192.168.1.1 IPv4 1514 Fragmented IP protocol (proto=Generic Routing Encapsulation 47, off=0, ID=4501)
2 0.000042 172.16.2.1 b^F^R 172.16.1.1 ICMP 60 Echo (ping) request id=0x0005, seq=0/0, ttl=255
3 2.000598 192.168.1.2 b^F^R 192.168.1.1 IPv4 1514 Fragmented IP protocol (proto=Generic Routing Encapsulation 47, off=0, ID=4502)
4 2.000642 172.16.2.1 b^F^R 172.16.1.1 ICMP 60 Echo (ping) request id=0x0005, seq=1/256, ttl=255
<-- Fragmentation has occurred on the outer GRE header(proto=Generic Routing Encapsulation 47)
<-- Fragments must be reassembled at the Tunnel endpoint, in this case the 9500
IDs de bug da Cisco
O bug da Cisco ID CSCvr84911 MTU do sistema não foi respeitado após o recarregamento.
ID de bug Cisco CSCvq30464CAT9400: configuração de MTU não aplicada a portas inativas que se tornam ativas.
ID de bug da Cisco CSCvh04282 O valor de configuração de MTU do sistema não padrão Cat9300 não é respeitado após o recarregamento.
Informações Relacionadas