Table des matières

Introduction

Conditions préalables

Composants utilisés

Informations générales

Tableau récapitulatif MTU

Q&R MTU

Trames Ethernet

Configuration et vérification de MTU

Configurer MTU

Vérifier MTU

Dépannage de MTU

Topologie

Abandons de paquets en entrée (MTU en entrée inférieur)

Configuration et vérification du MTU IP

Configuration de MTU IP

Vérifier le MTU IP

Dépannage de IP MTU

Topologie

Fragmentation IP

Informations connexes

ID de bogue Cisco

Introduction

Ce document décrit comment comprendre et dépanner la MTU (unité de transfert maximale) sur les commutateurs de la gamme Catalyst 9000.

Conditions préalables

Aucune exigence spécifique n'est associée à ce document.

Composants utilisés

Les informations contenues dans ce document sont basées sur les versions de matériel suivantes :

- C9200

- C9300

- C9400

- C9500

- C9600

Remarque : vous pouvez configurer la taille de MTU pour toutes les interfaces d'un périphérique en même temps avec la commande globale "system mtu".  Depuis Cisco IOS® XE 17.1.1, les commutateurs Catalyst 9000 prennent en charge la MTU par port. Le MTU par port prend en charge la configuration du MTU au niveau du port et du canal de port. Avec le MTU par port, vous pouvez définir différentes valeurs de MTU pour différentes interfaces ainsi que différentes interfaces de canal de port.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.

Remarque : consultez le guide de configuration approprié pour connaître les commandes utilisées afin d'activer ces fonctionnalités sur d'autres plates-formes Cisco.

Informations générales

Tableau récapitulatif MTU

Taille totale de trame = MTU + en-tête L2

Type de port

MTU par défaut - Octets

MTU configuré - Octets

En-tête L2

Taille totale des trames

Accès L2

1500

18

1518

9216

18

9234

Ligne réseau L2

1500

22

1522

9216

22

9238

Port physique L3

1500

18

1518

9216

18

9234

SVI L3

1500

18

1518

9216

18

9234

MTU IP sur le port L3

1500

La plage est prise en charge

18

Basé sur la valeur ip mtu configurée

Q&R MTU

Qu'est-ce que MTU ?

- MTU est l'unité de transmission maximale qu'un périphérique peut transmettre. En général, cette « unité » est la longueur de paquet IP qui inclut l'en-tête IP.

- Les en-têtes L2 tels que, balise Dot1q, MacSec, en-tête SVL, etc., ne sont pas pris en compte dans ce calcul.

Quel est l'en-tête L2 et sa longueur ?

- Un en-tête L2 générique est de 14 octets + 4 octets de CRC, et totalise 18 octets

- Une agrégation ajoute 4 octets supplémentaires pour la balise dot1q vlan et totalise 22 octets

- De même, MacSec ajoute sa propre longueur d'en-tête au-dessus de la longueur d'en-tête L2 standard

- Le port SVL ajoute sa propre longueur d'en-tête au-dessus de la longueur d'en-tête L2 standard

- Ainsi, le paquet global sur le fil est heurté sur le fil

Quelle est la longueur du paquet géré par une interface ?

- Les commutateurs Catalyst 9000 gèrent des tailles de paquets comprises entre 64 et 9 238 octets.

Qu'est-ce que MTU par défaut ?

- Le MTU par défaut est le MTU défini par le commutateur avant toute configuration utilisateur

- Le MTU par défaut sur tous les commutateurs Catalyst 9000 est de 1500 octets

- Un port Ethernet transmet un paquet de couche 3 de 1 500 octets + un en-tête de couche 2

La vérification MTU a-t-elle lieu en entrée ou en sortie ?

Egress : MTU est l'unité de transmission maximale, il s'agit d'un contrôle de sortie, la décision de fragmenter ou de transmettre en l'état ou d'abandonner est décidée pour la sortie

- Si la MTU du port est supérieure à la longueur du paquet à acheminer, le paquet est envoyé tel quel

- Si le paquet est plus grand que le MTU du port de sortie et si le port de sortie est

- un port de couche 3, les paquets sont fragmentés conformément à la MTU

- Sur un port de couche 2, les paquets sont abandonnés. (La fragmentation est effectuée uniquement au niveau de la couche 3)

Remarque : si le bit DF (Don't Fragment) d'un paquet est défini dans l'en-tête IP et que le MTU du port est inférieur au paquet à acheminer, le paquet est abandonné

Entrée: La vérification MTU est également effectuée pour les paquets qui arrivent à une interface

- Si une interface reçoit un paquet sur sa MTU configurée, ces paquets sont traités comme des paquets surdimensionnés et abandonnés.

Que sont les paquets Jumbo ?

- Sur les commutateurs Catalyst 9000, tout ce qui dépasse 1500 octets est un paquet géant ou un paquet géant.

- Exemple 1 : si une MTU d'interface est configurée pour transférer des trames Jumbo d'une taille de 9 216 octets, elle accepte ou envoie des trames de 9 216 octets + en-têtes de couche 2

- Exemple 2 : si une MTU d'interface est configurée pour transférer une taille de trame Jumbo de 5 000 octets, elle accepte ou envoie des trames de 5 000 octets + en-têtes de couche 2

Les paquets Jumbo ou les paquets surdimensionnés sont-ils considérés comme des paquets d'erreur ?

- Une interface abandonne les paquets reçus sur le MTU configuré et signale les paquets comme des erreurs.

- Si l'interface est configurée pour transporter un MTU Jumbo et que les paquets reçus sont dans cette valeur, ils ne sont pas comptés comme des erreurs.

Quelle est la taille minimale de paquet qu’un port peut gérer ?

- 64 octets (en-tête L2 inclus) est la plus petite taille de paquet valide acceptée par le commutateur en entrée.

- Si un paquet contient moins de 64 octets sur le câble, il est considéré comme un Runt et est abandonné en entrée.

- Si un paquet est supposé transmettre et que le paquet est inférieur à 64 octets, le commutateur remplit le paquet pour qu'il atteigne un minimum de 64 octets avant la transmission.

Que se passe-t-il lorsque le MTU système est 9216 et que l'en-tête SVL ajoute 64 octets supplémentaires ?

- Tout en-tête sous l'en-tête IP de couche 3 n'est pas pris en compte dans le calcul MTU.

- La liaison SVL peut transmettre une taille de paquet de 9 216 + en-tête L2 + 64 octets d’en-tête SVL.

Qu'est-ce que IP MTU ?

- La MTU IP s'applique uniquement aux paquets IP. Les autres tailles de paquets non-ip ne sont pas prises en compte avec cette commande.

- Le MTU IP est prioritaire sur le MTU système ou le MTU par port pour les paquets IP.

- La MTU IP définit la taille maximale qu'un paquet IP peut avoir avant de nécessiter une fragmentation.

- Si l'interface physique ou logique de couche 3 a une MTU de 1500 octets avec ip mtu de 1400 octets, la limite de fragmentation est de 1400 octets, quel que soit le paramètre MTU du système ou du port.

- MTU est une valeur qui doit correspondre au routeur/commutateur homologue. Si le périphérique homologue ne prend pas en charge la valeur MTU supérieure, utilisez IP MTU ou MTU pour faire correspondre les deux capacités du périphérique.

- Lorsque IP MTU est configuré, le périphérique dimensionne les paquets du protocole de routage à la valeur ip mtu configurée. Certains protocoles de routage s’appuient sur la valeur mtu correspondante pour établir le voisinage du protocole de routage.

- Exemples:

- Exemple 1 : si une MTU IP d'interface est configurée à 500 octets avec la MTU d'interface par défaut (no per-port mtu) et la MTU système à 9 000, la MTU d'interface est de 9 000 octets, avec une fragmentation IP à 500 octets.

- Exemple 2 : Un tunnel GRE est l'interface de sortie, donc les 24 octets de l'en-tête GRE doivent être pris en compte dans le calcul de la taille du paquet (ip mtu 1476 + 24 octets de l'en-tête GRE = 1500 MTU total).

Quelle est la différence entre MTU système et MTU par port ?

- La MTU système est une configuration globale qui définit la MTU de l'ensemble du périphérique. Tous les ports physiques et les ports logiques du panneau avant sont ainsi remplacés par la valeur définie par la commande system mtu.

- La MTU par port permet de définir une valeur de MTU par interface, ce qui est prioritaire sur la configuration de MTU du système. Une fois le paramètre par port supprimé, l'interface revient à l'état mtu du système.

- Exemples:

- Exemple 1 : la valeur MTU du système est définie sur 9 000, tous les ports physiques et logiques MTU sont définis sur 9 000.

- Exemple 2 : si une interface est configurée avec un MTU de 4000 et que le MTU système est de 9000, l'interface utilise alors un MTU de 4000 tandis que les autres ports utilisent le MTU 9000.

Quel est l'impact de la fragmentation due aux limitations de MTU ?

- Un périphérique transfère un paquet déjà fragmenté normalement dans le plan de données, mais si le périphérique est responsable de la fragmentation ou du réassemblage, il peut y avoir des problèmes de performances/ressources qui se manifestent.

- La fragmentation peut avoir un impact important sur le débit global et les performances des applications et des périphériques responsables de la gestion de la fragmentation.

- La gestion des paquets fragmentés sur de nombreuses plates-formes est effectuée par logiciel et nécessite de nombreux cycles processeur pour fragmenter ou assembler les paquets fragmentés.

- Si votre réseau est fortement fragmenté, assurez-vous que la MTU est ajustée en conséquence pour correspondre au flux de paquets de bout en bout sans fragmentation.

Qu'est-ce que PMTUD (Path MTU Discovery) ?

- La valeur MSS TCP, comme décrite plus tôt, s’occupe de la fragmentation aux deux points d’extrémité d’une connexion TCP, mais pas lorsqu’il y a une liaison avec une valeur MTU plus petite entre les deux points d’extrémité. La PMTUD a été mise au point pour éviter la fragmentation dans le chemin entre les deux points d’extrémité. Il est utilisé pour déterminer dynamiquement le MTU le plus bas le long du chemin entre une source de paquets et sa destination.

- Pour plus d'informations sur PMTUD et sur la façon de dépanner, veuillez consulter Résoudre les problèmes de fragmentation IPv4, MTU, MSS et PMTUD avec GRE et IPsec.

MTU IPv6

- Le MTU IPv6 fonctionne de la même manière que le MTU IP

- Pour configurer, utilisez ipv6 mtu au lieu de ip mtu dans la configuration d'interface.

- La taille minimale de la MTU IPv6 est de 1 280 octets, contre 832 octets pour IPv4

- La PMTUD IPv6 fonctionne de la même manière qu'IPv4. Pour plus de détails, consultez le Guide de configuration du routage IP, Cisco IOS® XE Amsterdam 17.3.x (commutateurs Catalyst 9500)

Trames Ethernet

Trame Ethernet standard, sans Dot1Q ou autres balises

Trame Ethernet Dot1Q

Configuration et vérification de MTU

Configurer MTU

Cette configuration peut être effectuée globalement, ou au niveau par port avec Cisco IOS® XE 17.1.1 ou supérieur, Vérifiez que votre matériel prend en charge cette configuration.

- Une fois la configuration spécifique au port supprimée, le port utilise le paramètre global system mtu

### 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

Vérifier MTU

Cette section décrit comment vérifier les paramètres logiciels et matériels pour MTU.

- Vérifier le MTU configuré par le logiciel et le MTU matériel

- Une perte de trafic peut se produire si le matériel ne correspond pas au MTU configuré dans le logiciel

Vérification MTU logicielle

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,

Vérification MTU matérielle

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

Remarque : la commande « show platform software fed <active|standby> » peut varier. Certaines plates-formes nécessitent « show platform hardware fed switch <active|standby|sw_num> »

Dépannage de MTU

Topologie

Abandons de paquets en entrée (MTU en entrée inférieur)

Si l'un de ces compteurs incrémente, cela signifie généralement que les paquets reçus sont arrivés sur le MTU configuré.

- compteur géant dans la commande « show interface »

- Compteur ValidOverSize dans la commande « 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

Détails sur leshow controllers ethernet-controller, commande

- Si des paquets arrivent sur le MTU configuré et échouent au contrôle CRC, ils sont comptés comme InvalidOverSize.

- Si des paquets arrivent dans le MTU configuré et échouent au contrôle CRC, ils sont comptés comme 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

Configuration et vérification du MTU IP

Configuration de MTU IP

Cette section décrit comment configurer ip mtu sur une interface de tunnel

- La MTU IP peut être configurée pour influencer la taille des paquets IP générés par le système local (comme les mises à jour de protocole de routage), ou peut être utilisée pour définir une taille qui se produira lors de la fragmentation.

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

Vérifier le MTU IP

Vérification de MTU IP logicielle

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

Vérification du MTU IP matériel

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...>

Dépannage de IP MTU

Topologie

Fragmentation IP

Lorsque des paquets sont envoyés via une interface de tunnel, la fragmentation peut se produire de deux manières indiquées dans ces exemples.

Fragmentation IP standard

Fragmentation du paquet d’origine pour réduire le MTU avant l’encapsulation du tunnel.

- Seul le périphérique d'entrée est responsable de cette action de fragmentation, les fragments devant être réassemblés au point d'extrémité réel plutôt qu'au point d'extrémité du tunnel

- Ce type de fragmentation de paquets n'exige pas autant de ressources

### 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

Fragmentation après encapsulation tunnel

Fragmentation du paquet de tunnel réel pour réduire la MTU une fois l'encapsulation effectuée, mais le périphérique détecte que la MTU est trop grande.

- Dans ce cas, la destination du tunnel est le périphérique responsable du réassemblage des fragments, plutôt que le point d'extrémité de destination réel

- Ce cas se produit en cas de problème de configuration. Le périphérique est défini pour un MTU IP supérieur à celui que le port ou le MTU système réel peut gérer après l'application des en-têtes de tunnel.

- Dans ce cas, la source du tunnel doit fragmenter le tunnel lui-même, et la destination du tunnel doit réassembler les en-têtes du tunnel afin d'envoyer les paquets au saut ou à la destination suivant.

- Ce type de fragmentation d'en-tête peut ajouter une surcharge de traitement importante ; il dépend du taux des flux qui doivent être traités.

- Selon la plate-forme, le code et le débit du trafic, vous pouvez également voir les pertes et les pertes de paquets dans la classe CoPP « Trafic 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

Informations connexes

- Assistance et documentation techniques - Cisco Systems

- Guide de configuration des composants matériels et d'interface, Cisco IOS® XE Amsterdam 17.3.x (commutateurs Catalyst 9500)

- Guide de configuration des composants matériels et d'interface, Cisco IOS® XE Amsterdam 17.3.x (commutateurs Catalyst 9600)

- Résolution des enjeux liés à la fragmentation d’IPv4, à MTU, à MSS et à PMTUD avec GRE et IPsec.

ID de bogue Cisco

ID de bogue Cisco CSCvr84911 MTU système non respecté après rechargement

ID de bogue Cisco CSCvq30464CAT9400 : configuration MTU non appliquée aux ports inactifs qui deviennent actifs

ID de débogage Cisco CSCvh04282 La valeur de configuration MTU système non par défaut du Cat9300 n'est pas respectée après le rechargement