Sommario

Introduzione

Prerequisiti

Componenti usati

Premesse

Tabella di riepilogo MTU

DOMANDE E RISPOSTE MTU

Frame Ethernet

Configurazione e verifica dell'MTU

Configurazione dell'MTU

Verifica dell'MTU

Risoluzione dei problemi relativi all'MTU

Topologia

Perdite di pacchetti in entrata (MTU in entrata inferiore)

Configurazione e verifica dell'MTU IP

Configurazione dell'MTU IP

Verifica dell'MTU IP

Risoluzione dei problemi relativi all'MTU IP

Topologia

Frammentazione IP

Informazioni correlate

ID bug Cisco

Introduzione

In questo documento viene descritto come comprendere e risolvere i problemi delle MTU (Maximum Transmission Unit) sui Catalyst serie 9000 Switch.

Prerequisiti

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 globale "system mtu".  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.

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.

Nota: consultare la guida alla configurazione appropriata per i comandi che vengono usati per abilitare queste funzionalità su altre piattaforme Cisco.

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?

- L'MTU è l'unità di trasmissione massima che un dispositivo può inoltrare. In generale, questa "unità" è la lunghezza del pacchetto IP che include l'intestazione IP.

- Le 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 totalizza 22 byte

- Analogamente, MacSec aggiunge la propria lunghezza di intestazione sopra la lunghezza di intestazione L2 tipica

- La porta SVL aggiunge, la sua lunghezza dell'intestazione sopra la lunghezza tipica dell'intestazione L2

- Quindi, Overall Packet on Wire è 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 sullo switch prima di qualsiasi configurazione utente

- L'MTU predefinita su qualsiasi 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?

In uscita: l'MTU è l'unità di trasmissione massima; si tratta di un controllo in uscita; la decisione di frammentare o trasmettere così com'è o la perdita viene 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 il bit DF (Don't Fragment) di un pacchetto è impostato nell'intestazione IP e l'MTU della porta è inferiore al pacchetto da indirizzare, il pacchetto viene scartato

In ingresso: Il controllo dell'MTU viene eseguito anche per i 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, qualsiasi elemento con più di 1500 byte è un pacchetto gigante o un pacchetto 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 è in arrivo con 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 l'MTU del sistema è 9000, l'MTU dell'interfaccia è 9000 byte, con una frammentazione IP di 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 dell'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/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 di 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

- L'MTU IPv6 funziona come l'MTU IP

- Per configurare, usare l'mtu ipv6 invece dell'mtu ip nella configurazione dell'interfaccia.

- La dimensione minima dell'MTU IPv6 è 1280, a differenza dell'MTU IPv4 è 832 byte

- La funzionalità PMTUD dell'IPv6 è simile a quella dell'IPv4. Per ulteriori informazioni, consultare la guida alla configurazione del routing IP, Cisco IOS® XE Amsterdam 17.3.x (switch Catalyst 9500)

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 della 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 hardware

- Se l'hardware non corrisponde all'MTU configurata nel software, può verificarsi 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: 'show platform software fed <active|standby>' può variare. Alcune piattaforme richiedono l'opzione 'show platform hardware fed switch <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, significa in genere che i pacchetti ricevuti superano 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 sulcomando show controller ethernet-controller

- Se i pacchetti superano l'MTU configurata e il controllo CRC ha esito negativo, 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 una quantità inferiore di 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 nella classe CoPP "Traffico 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

Informazioni correlate

- Documentazione e supporto tecnico – Cisco Systems

- Guida alla configurazione dei componenti hardware e interfaccia, Cisco IOS® XE Amsterdam 17.3.x (switch Catalyst 9500)

- Guida alla configurazione dei componenti hardware e interfaccia, Cisco IOS® XE Amsterdam 17.3.x (switch Catalyst 9600)

- Risoluzione dei problemi di IPv4 Fragmentation, MTU, MSS e PMTUD con GRE e IPsec

ID bug Cisco

MTU del sistema Cisco con ID bug CSCvr84911 non rispettata dopo il ricaricamento

ID bug Cisco CSCvq30464CAT9400: configurazione MTU non applicata alle porte inattive che diventano attive

ID bug Cisco CSCvh04282 Cat9300: il valore di configurazione MTU del sistema non predefinito non viene rispettato dopo il ricaricamento