Introduzione
In questo documento viene descritto come capire e risolvere i problemi relativi alla MTU (Maximum Transmission Unit) sugli switch Catalyst serie 9000.
Prerequisiti
Requisiti
Nessun requisito specifico previsto per questo documento.
Componenti usati
Le informazioni di questo documento si basano sulle seguenti versioni hardware:
- C9200
- C9300
- C9400
- C9500
- C9600
Nota: È possibile configurare le dimensioni dell'MTU per tutte le interfacce di un dispositivo contemporaneamente con il comando mtu del sistema di comandi globale. a partire dalla versione Cisco IOS® XE 17.1.1, gli switch Catalyst 9000 supportano l'MTU per porta. L'MTU per porta supporta la configurazione dell'MTU a livello di porta e di canale. L'MTU per porta consente di impostare valori MTU diversi per interfacce diverse e per interfacce di canali di porte diverse.
Nota: consultare la guida alla configurazione appropriata per i comandi che vengono usati per abilitare queste funzionalità su altre piattaforme Cisco.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Premesse
Tabella di riepilogo MTU
Dimensioni totali frame = MTU + intestazione L2
|
Tipo porta
|
MTU predefinita - Byte
|
MTU configurata - Byte
|
Intestazione L2
|
Dimensioni totali frame
|
|
Accesso L2
|
1500
|
|
18
|
1518
|
|
|
|
9216
|
18
|
9234
|
|
Trunk L2
|
1500
|
|
22
|
1522
|
|
|
|
9216
|
22
|
9238
|
|
Porta fisica L3
|
1500
|
|
18
|
1518
|
|
|
|
9216
|
18
|
9234
|
|
SVI L3
|
1500
|
|
18
|
1518
|
|
|
|
9216
|
18
|
9234
|
|
MTU IP su porta L3
|
1500
|
Intervallo supportato.
|
18
|
In base al valore configurato dell'mtu ip.
|
DOMANDE E RISPOSTE MTU
Che cos'è l'MTU?
- MTU è l'unità di trasmissione massima che un dispositivo può inoltrare. In generale, l'Unità corrisponde alla Lunghezza del pacchetto IP, che include l'Intestazione IP.
- Intestazioni L2 quali, tag Dot1q, MacSec, intestazione SVL e così via, non vengono considerate in questo calcolo.
Che cos'è l'intestazione L2 e la relativa lunghezza?
- Un'intestazione L2 generica è costituita da 14 byte + 4 byte di CRC, per un totale di 18 byte.
- Un trunk aggiunge altri 4 byte per il tag vlan dot1q e ne totalizza 22.
- Analogamente, MacSec aggiunge la propria lunghezza di intestazione sopra la lunghezza di intestazione L2 tipica.
- La porta SVL aggiunge la propria lunghezza dell'intestazione sopra la lunghezza dell'intestazione L2 tipica.
- Quindi, Overall Packet on Wire viene scaricato sul cavo.
Qual è la lunghezza del pacchetto gestita da un'interfaccia?
- Gli switch Catalyst 9000 gestiscono pacchetti di dimensioni comprese tra 64 byte e 9238 byte.
Qual è l'MTU predefinita?
- L'MTU predefinita è l'MTU impostata dallo switch prima di qualsiasi configurazione utente.
- L'MTU predefinita su uno switch Catalyst 9000 è 1500 byte.
- Una porta Ethernet inoltra un pacchetto di layer 3 da 1500 byte + un'intestazione layer 2.
Il controllo dell'MTU avviene in entrata o in uscita?
Uscita: MTU è l'unità di trasmissione massima. È un controllo in uscita, la decisione di frammentare o trasmettere così com'è o goccia è decisa per l'uscita.
- Se l'MTU della porta è superiore alla lunghezza del pacchetto da inviare, il pacchetto viene inviato così com'è.
- Se il pacchetto è più grande dell'MTU della porta in uscita e la porta in uscita è
- Su una porta di layer 3, i pacchetti vengono frammentati in base all'MTU.
- Su una porta di layer 2, i pacchetti vengono scartati. (la frammentazione viene effettuata solo sul layer 3)
Nota: Se nell'intestazione IP di un pacchetto è impostato il bit "non frammentare" (DNF) e l'MTU della porta è inferiore al pacchetto da indirizzare, il pacchetto viene scartato
In ingresso: il controllo dell'MTU viene eseguito anche sui pacchetti che arrivano a un'interfaccia.
- Se un'interfaccia riceve un pacchetto oltre la MTU configurata, i pacchetti vengono trattati come pacchetti di dimensioni eccessive e quindi scartati.
Che cosa sono i pacchetti jumbo?
- Sugli switch Catalyst 9000, gli elementi superiori a 1500 byte sono pacchetti giganti o pacchetti jumbo.
- Esempio-1: Se un'MTU dell'interfaccia è configurata per inoltrare frame Jumbo di 9216 byte, accetta o invia frame di 9216 byte + intestazioni di livello 2.
- Esempio-2: Se un'MTU dell'interfaccia è configurata per inoltrare una dimensione di frame Jumbo di 5000 byte, accetta o invia frame di 5000 byte + intestazioni di layer 2.
I pacchetti jumbo o di dimensioni eccessive sono considerati pacchetti di errore?
- Un'interfaccia scarta i pacchetti ricevuti sulla MTU configurata e li segnala come errori.
- Se l'interfaccia è configurata per avere una MTU jumbo e i pacchetti ricevuti sono compresi in questo valore, non vengono conteggiati come errori.
Quali sono le dimensioni minime del pacchetto che una porta è in grado di gestire?
- 64 byte (intestazione L2 inclusa) sono le dimensioni minime accettate dallo switch per il pacchetto in ingresso.
- Se un pacchetto ha meno di 64 byte sul cavo, viene considerato in esecuzione e viene scartato in ingresso.
- Se si prevede che un pacchetto trasmetta e il pacchetto è inferiore a 64 byte, lo switch lo aggiunge ad un minimo di 64 byte prima della trasmissione.
Cosa succede quando l'MTU del sistema è 9216 e l'intestazione SVL aggiunge 64 byte?
- Le intestazioni sotto l'intestazione IP di layer 3 non vengono considerate nel calcolo dell'MTU.
- Il collegamento SVL può trasmettere un pacchetto di 9216 + intestazione L2 + 64 byte di intestazione SVL.
Cos'è l'MTU IP?
- L'MTU IP è applicabile solo ai pacchetti IP. Questo comando non tiene conto di altre dimensioni di pacchetto non ip.
- L'MTU IP ha la precedenza sull'MTU del sistema o sull'MTU della porta per i pacchetti IP.
- L'MTU IP imposta le dimensioni massime che un pacchetto IP può avere prima di dover essere frammentato.
- Se l'interfaccia fisica o logica di layer 3 ha una MTU di 1500 byte con una MTU ip di 1400 byte, il limite di frammentazione è 1400 byte, indipendentemente dall'impostazione della MTU del sistema o per porta.
- L'MTU è un valore che deve essere associato al router/switch peer. Se il dispositivo peer non supporta il valore MTU più alto, usare l'MTU IP o l'MTU per far corrispondere le funzionalità di entrambi i dispositivi.
- Quando è configurata l'MTU IP, il dispositivo ridimensiona i pacchetti del protocollo di routing in base al valore MTU IP configurato. Alcuni protocolli di routing si basano sul valore MTU corrispondente per stabilire la prossimità del protocollo di routing.
Esempi:
- Esempio 1: Se un'MTU dell'interfaccia IP è configurata a 500 byte con l'MTU dell'interfaccia impostata sul valore predefinito (senza mtu per porta) e la MTU del sistema è 9000, l'MTU dell'interfaccia è 9000 byte, con la frammentazione IP a 500 byte.
- Esempio 2: Un tunnel GRE è l'interfaccia in uscita, quindi i 24 byte dell'intestazione GRE devono essere considerati nel calcolo delle dimensioni del pacchetto (ip mtu 1476 + 24 byte dell'intestazione GRE = 1500 MTU totale).
Qual è la differenza tra l'MTU del sistema e l'MTU per porta?
- L'MTU del sistema è una configurazione globale, che imposta l'MTU dell'intero dispositivo. In questo modo, tutte le porte fisiche e logiche del pannello anteriore vengono modificate sul valore impostato dal comando mtu del sistema.
- L'MTU per porta consente di impostare un valore MTU per singola interfaccia e ha la precedenza sulla configurazione MTU del sistema. Dopo aver rimosso l'impostazione per porta, l'interfaccia torna all'MTU del sistema.
Esempi:
- Esempio 1: Il valore MTU del sistema è impostato su 9000, tutte le porte fisiche e logiche MTU sono impostate su 9000.
- Esempio 2: Se un'interfaccia è configurata con una MTU di 4000 e una MTU del sistema di 9000, l'interfaccia usa una MTU di 4000, mentre le altre porte usano la MTU di 9000.
Qual è l'impatto della frammentazione dovuta alle limitazioni dell'MTU?
- Un dispositivo inoltra un pacchetto già frammentato normalmente nel piano dati, ma se il dispositivo è responsabile della frammentazione o del riassemblaggio, possono verificarsi problemi di prestazioni o risorse.
- La frammentazione può avere gravi ripercussioni sul throughput complessivo e sulle prestazioni delle applicazioni e dei dispositivi responsabili della gestione della frammentazione.
- La gestione dei pacchetti frammentati in molte piattaforme viene effettuata tramite software e richiede molti cicli della CPU per frammentare o assemblare pacchetti frammentati.
- Se la rete è molto frammentata, verificare che l'MTU sia regolata di conseguenza in modo da far corrispondere il flusso di pacchetti end-to-end senza frammentazione.
Informazioni sulla funzionalità PMTUD (Path MTU Discovery)
- Come descritto sopra, il parametro TCP MSS gestisce la frammentazione sui due endpoint di una connessione TCP, ma non interviene in caso tra i due endpoint vi sia un collegamento con MTU inferiore. La funzionalità PMTUD è stata sviluppata per evitare la frammentazione nel percorso tra gli endpoint. Viene usata per determinare in modo dinamico il valore MTU più basso nel percorso tra un'origine pacchetto e la sua destinazione.
- Per ulteriori informazioni sul PMTUD e sulle procedure di risoluzione dei problemi, consultare il documento sulla risoluzione dei problemi di IPv4 Fragmentation, MTU, MSS e PMTUD con GRE e IPsec.
MTU IPv6
Frame Ethernet
Frame Ethernet standard, senza Dot1Q o altri tag.

Frame Ethernet Dot1Q

Configurazione e verifica dell'MTU
Configurazione dell'MTU
Questa configurazione può essere eseguita a livello globale o a livello di porta con Cisco IOS® XE 17.1.1 o versioni successive. Verificare che l'hardware supporti questa configurazione.
- Dopo aver rimosso la configurazione specifica della porta, la porta utilizza l'impostazione MTU del sistema globale.
### 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
Verifica dell'MTU
In questa sezione viene descritto come verificare le impostazioni software e hardware per l'MTU.
- Verificare l'MTU configurata dal software e l'MTU dell'hardware.
- Se l'hardware non corrisponde all'MTU configurata nel software, è possibile che si verifichi una perdita di traffico.
Verifica MTU 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 MTU 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
Nota: Il software della piattaforma caricato <active|standby> può variare. Alcune piattaforme richiedono lo switch show platform hardware feed <active|standby|num_sw>.
Risoluzione dei problemi relativi all'MTU
Topologia

Perdite di pacchetti in entrata (MTU in entrata inferiore)
Se uno di questi contatori aumenta, in genere significa che i pacchetti ricevuti hanno superato l'MTU configurata.
- Contatore Giants nel comando show interface.
- Contatore ValidOverSize nel 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
Dettagli sul comando show controller ethernet-controller.
- Se i pacchetti arrivano oltre l'MTU configurata e non superano il controllo CRC, vengono conteggiati come InvalidOverSize.
- Se i pacchetti arrivano entro l'MTU configurata e non superano il controllo CRC, vengono conteggiati come 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
Configurazione e verifica dell'MTU IP
Configurazione dell'MTU IP
In questa sezione viene descritto come configurare l'MTU IP su un'interfaccia tunnel.
- L'MTU IP può essere configurata per influenzare le dimensioni dei pacchetti IP generati dal sistema locale (ad esempio, gli aggiornamenti del protocollo di routing) oppure può essere utilizzata per impostare una dimensione da frammentare.
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
Verifica dell'MTU IP
Verifica MTU IP del 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 MTU IP dell'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...>
Risoluzione dei problemi relativi all'MTU IP
Topologia

Frammentazione IP
Quando i pacchetti vengono inviati tramite un'interfaccia tunnel, la frammentazione può avvenire in due modi diversi, come descritto in questi esempi.
Frammentazione IP standard
Frammentazione del pacchetto originale per ridurre l'MTU prima dell'incapsulamento del tunnel.
- Solo il dispositivo in entrata è responsabile di questa azione di frammentazione, in quanto i frammenti devono essere ricomposti sull'endpoint effettivo anziché sull'endpoint del tunnel.
- Questo tipo di frammentazione dei pacchetti richiede meno risorse.
### 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
Frammentazione post-tunnel Encapsulation
La frammentazione del pacchetto del tunnel effettivo per ridurre l'MTU dopo che si è verificato l'incapsulamento, ma il dispositivo rileva che l'MTU è troppo grande.
- In questo caso, la destinazione del tunnel è il dispositivo responsabile del riassemblaggio dei frammenti, non l'endpoint di destinazione vero e proprio.
- Questo caso si verifica quando è presente un problema di configurazione. Il dispositivo è impostato per una MTU IP superiore a quella della porta o del sistema effettivo che può gestire dopo l'applicazione delle intestazioni del tunnel.
- In questo caso, l'origine del tunnel deve frammentare il tunnel stesso e la destinazione del tunnel deve ricomporre le intestazioni del tunnel per inviare i pacchetti all'hop o alla destinazione successiva.
- Questo tipo di frammentazione dell'intestazione può aggiungere un notevole sovraccarico di elaborazione; dipende dalla velocità dei flussi che devono essere gestiti.
- A seconda della piattaforma, del codice e della velocità del traffico, è possibile verificare anche la perdita e la diminuzione dei pacchetti nel traffico del forum della classe CoPP.
### 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
ID bug Cisco
MTU del sistema Cisco con ID bug CSCvr84911 non rispettata dopo il ricaricamento.
ID bug Cisco CSCvq30464CAT9400: La configurazione MTU non viene applicata alle porte inattive che diventano attive.
L'ID bug Cisco CSCvh04282 Cat9300 non è stato risolto. Il valore della configurazione MTU del sistema non predefinito non viene rispettato dopo il ricaricamento.
Informazioni correlate