Inleiding
In dit document wordt beschreven hoe u de maximale transmissieeenheid (MTU) op switches uit de Catalyst 9000-reeks kunt begrijpen en oplossen.
Voorwaarden
Vereisten
Er zijn geen specifieke vereisten van toepassing op dit document.
Gebruikte componenten
De informatie in dit document is gebaseerd op de volgende hardware-versies:
- C9200
- C9300
- C9400
- C9500
- C9600
Opmerking: U kunt de MTU-grootte voor alle interfaces op een apparaat tegelijkertijd configureren met het globale opdrachtsysteem mtu. Vanaf Cisco IOS® XE 17.1.1 ondersteunen Catalyst 9000-switches MTU per poort. MTU per poort ondersteunt MTU-configuratie op poortniveau en poortkanaalniveau. Met Per-Port MTU kunt u verschillende MTU-waarden instellen voor verschillende interfaces en verschillende poortkanaalinterfaces.
Opmerking: Raadpleeg de juiste configuratiehandleiding voor de opdrachten die worden gebruikt om deze functies op andere Cisco-platforms in te schakelen.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Achtergrondinformatie
MTU-overzichtstabel
Totale framemaat = MTU + L2-koptekst
|
Poorttype
|
Standaard MTU - bytes
|
Geconfigureerde MTU - bytes
|
L2-koptekst
|
Totale framemaat
|
|
L2-toegang
|
1500
|
|
18
|
1518
|
|
|
|
9216
|
18
|
9234
|
|
L2-stam
|
1500
|
|
22
|
1522
|
|
|
|
9216
|
22
|
9238
|
|
L3 fysieke poort
|
1500
|
|
18
|
1518
|
|
|
|
9216
|
18
|
9234
|
|
L3 SVI
|
1500
|
|
18
|
1518
|
|
|
|
9216
|
18
|
9234
|
|
IP MTU op L3-poort
|
1500
|
Bereik wordt ondersteund.
|
18
|
Gebaseerd op de geconfigureerde waarde van de ip-mtu.
|
MTU Q&A
Wat is MTU?
- MTU is de maximale zendeenheid die een apparaat kan doorsturen. Over het algemeen is deze eenheid de IP-pakketlengte die de IP-header bevat.
- L2 headers zoals, Dot1q tag, MacSec, SVL header en ga zo maar door, worden niet meegenomen in deze berekening.
Wat is de L2 header en de lengte?
- Een generieke L2 header is 14 bytes + 4 bytes CRC, en totalen 18 bytes.
- Een trunk voegt nog 4 bytes toe voor de dot1q vlan tag en heeft een totaal van 22 bytes.
- Evenzo voegt MacSec zijn eigen koplengte toe bovenop de typische L2-koplengte.
- SVL-poort voegt zijn eigen koplengte toe bovenop de typische L2-koplengte.
- Dus, Overall Packet on Wire wordt gestoten op de draad.
Wat is de pakketlengte behandeld door een interface?
- Catalyst 9000 switches verwerken pakketgroottes van 64 bytes tot 9238 bytes.
Wat is standaard MTU?
- De standaard MTU is de MTU die de switch vóór elke gebruikersconfiguratie heeft ingesteld.
- De standaard MTU op elke Catalyst 9000 switches is 1500 bytes.
- Een Ethernet-poort stuurt een Layer 3-pakket van 1500 bytes door + een Layer 2-header.
Gebeurt MTU-controle Ingress of Egress?
Uitgang: MTU is de maximale transmissie-eenheid. Het is een Egress-controle, de beslissing om te fragmenteren of door te geven zoals het is of te laten vallen, wordt besloten voor uitgang.
- Als de MTU van de poort hoger is dan de pakketlengte die moet worden gerouteerd, wordt het pakket verzonden zoals het is.
- Als het pakket groter is dan de uitgang poort MTU en als de uitgang poort
- In een Layer 3-poort zijn pakketten gefragmenteerd volgens de MTU.
- Als u een Layer 2-poort gebruikt, worden pakketten verwijderd. (Fragmentatie vindt alleen plaats in laag 3)
Opmerking: Als een pakket de DNF-bit (Do not Fragment) heeft ingesteld in de IP-header en de MTU-poort kleiner is dan het pakket dat moet worden gerouteerd, wordt het pakket verwijderd
Ingress: MTU check wordt ook gedaan voor pakketten die aankomen op een interface.
- Als een interface een pakket ontvangt via de geconfigureerde MTU, worden deze pakketten behandeld als oversized pakketten en weggelaten.
Wat zijn Jumbo Packets?
- Bij Catalyst 9000 switches is alles boven de 1500 bytes een gigantisch pakket of een jumbopakket.
- Voorbeeld-1: Als een interface MTU is geconfigureerd om Jumbo-frames met een grootte van 9216 bytes door te sturen, accepteert of verzendt het frames van 9216 bytes + Layer 2-headers.
- Voorbeeld-2: Als een interface-MTU is geconfigureerd om een Jumbo-framemaat van 5000 bytes door te sturen, accepteert of verzendt het frames van 5000 bytes + Layer 2-headers.
Worden Jumbo-pakketten of oversized pakketten beschouwd als foutpakketten?
- Een interface laat ontvangen pakketten over geconfigureerde MTU vallen en rapporteert pakketten als fouten.
- Als de interface is geconfigureerd om een Jumbo MTU te dragen en de ontvangen pakketten binnen deze waarde vallen, worden ze niet als fouten geteld.
Wat is de minimale pakketgrootte die een poort aankan?
- 64 bytes (inclusief L2-header) is de kleinste geldige pakketgrootte die de switch accepteert op Ingress.
- Als een pakket wordt geleverd met minder dan 64 bytes op de draad, wordt het beschouwd als een Runt en wordt gedropt op Ingress.
- Als een pakket wordt verondersteld uit te zenden en het pakket is minder dan 64 bytes, de switch pads het pakket te maken tot een minimum van 64 bytes voor verzending.
Wat gebeurt er als de System MTU 9216 is en de SVL-header 64 bytes extra toevoegt?
- Elke header onder de Layer 3 IP-header wordt niet meegenomen in de MTU-berekening.
- SVL link kan een pakketgrootte van 9216 + L2 Header + 64 bytes SVL header verzenden.
Wat is IP MTU?
- IP MTU is alleen van toepassing op IP-pakketten. Andere niet-ip-pakketgroottes worden niet weergegeven met deze opdracht.
- IP MTU heeft voorrang op MTU-systeem of MTU per poort voor IP-pakketten.
- IP MTU stelt de maximale grootte van een IP-pakket in voordat het gefragmenteerd moet worden.
- Als de fysieke of logische Layer 3-interface een MTU van 1500 bytes heeft met een ip-mtu van 1400 bytes, is de fragmentatiegrens 1400 bytes, ongeacht de MTU-instelling van het systeem of per poort.
- MTU is een waarde die moet worden afgestemd op de peer-router / switch. Als peer-apparaat de hogere MTU-waarde niet ondersteunt, gebruikt u IP MTU of MTU om aan beide apparaatmogelijkheden te voldoen.
- Wanneer IP MTU is geconfigureerd, worden de routeringspakketten gedimensioneerd naar de geconfigureerde IP MTU-waarde. Sommige routeringsprotocollen vertrouwen op de overeenkomende MTU-waarde om de routeringsprotocolbuurt vast te stellen.
Voorbeelden:
- Voorbeeld 1: Als een interface IP MTU is geconfigureerd op 500 bytes met de interface MTU is standaard (geen per-poort mtu) en het systeem MTU is 9000, de interface MTU is 9000 bytes, met IP-fragmentatie op 500 bytes.
- Voorbeeld 2: Een GRE-tunnel is de uitgang-interface, dus de 24 bytes GRE-header moet worden verwerkt in de berekening van de pakketgrootte (ip mtu 1476 + 24 bytes GRE-header = 1500 totale MTU).
Wat is het verschil tussen System MTU en Per-Port MTU?
- System MTU is een globale configuratie, die de MTU van het hele apparaat bepaalt. Hierdoor worden alle fysieke poorten en logische poorten op het voorpaneel gewijzigd in de waarde die is ingesteld met de opdracht mtu.
- MTU per poort maakt het mogelijk om een MTU-waarde in te stellen per interface, en dit heeft voorrang op de MTU-configuratie van het systeem. Zodra de per-poort instelling is verwijderd, de interface valt terug naar het systeem mtu.
Voorbeelden:
- Voorbeeld 1: De MTU-waarde van het systeem is ingesteld op 9000, alle fysieke en logische MTU-poorten zijn ingesteld op 9000.
- Voorbeeld 2: Als een interface is geconfigureerd met een MTU van 4000 en System MTU is 9000, gebruikt de interface vervolgens een MTU van 4000 terwijl andere poorten MTU 9000 gebruiken.
Wat is de impact van fragmentatie als gevolg van MTU-beperkingen?
- Een apparaat stuurt een al gefragmenteerd pakket normaal in het gegevensvlak door, maar als het apparaat verantwoordelijk is voor de fragmentatie of hermontage, kunnen er prestatie- / resourceproblemen optreden.
- Fragmentatie kan ernstige gevolgen hebben voor de algehele doorvoer en prestaties van toepassingen en apparaten die verantwoordelijk zijn voor de behandeling van fragmentatie.
- Versnipperde pakketverwerking gebeurt in veel platforms in software en neemt veel CPU-cycli in beslag om gefragmenteerde pakketten te fragmenteren of te assembleren.
- Als uw netwerk veel fragmentatie ondervindt, zorg er dan voor dat MTU dienovereenkomstig wordt aangepast om de end-to-end pakketstroom te matchen zonder fragmentatie.
Wat is PMTUD (Path MTU Discovery)?
- Zoals eerder beschreven, regelt TCP MSS de fragmentatie bij de twee endpoints van een TCP-verbinding, maar niet als er zich een link met een lagere MTU-waarde tussen deze twee endpoints bevindt. PMTUD werd ontwikkeld om fragmentatie op het pad tussen de endpoints te vermijden. Het wordt gebruikt om dynamisch de laagste MTU te bepalen langs het pad van een pakketbron naar de bestemming.
- Raadpleeg voor meer informatie over PMTUD en het oplossen van problemen IPv4-fragmentatie-, MTU-, MSS- en PMTUD-problemen oplossen met GRE en IPsec.
IPv6 MTU
Ethernet-frames
Standaard Ethernet-frame, zonder Dot1Q of andere tags.

Dot1Q Ethernet-frame

MTU configureren en verifiëren
MTU configureren
Deze configuratie kan wereldwijd worden uitgevoerd, of op poortniveau met Cisco IOS® XE 17.1.1 of hoger. Controleer of uw hardware deze configuratie ondersteunt.
- Zodra de poortspecifieke configuratie is verwijderd, gebruikt de poort de algemene MTU-instelling van het systeem.
### 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
MTU verifiëren
In dit gedeelte wordt beschreven hoe u zowel de software- als de hardware-instellingen voor MTU kunt controleren.
- Controleer de MTU die door de software is geconfigureerd en de MTU die door de hardware is geconfigureerd.
- Verkeersverlies kan optreden als de hardware niet overeenkomt met de geconfigureerde MTU in de software.
MTU-verificatie van 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,
Hardware MTU-verificatie
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
Opmerking: Toon platformsoftware die <actief|standby> kan variëren. Voor bepaalde platforms is switch met platformhardware <active|standby|sw_num> vereist.
Problemen met MTU oplossen
Topologie

Ingress Packet Drops (MTU met lagere ingang)
Als een van deze tellers wordt verhoogd, betekent dit meestal dat de ontvangen pakketten over de geconfigureerde MTU zijn aangekomen.
- Giants teller in show interface opdracht.
- GeldigeOverSize-teller in opdracht controller weergeven.
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
Details over de opdracht Toon controllers ethernet-controller.
- Als pakketten over de geconfigureerde MTU aankomen en de CRC-controle mislukken, worden ze geteld als InvalidOverSize.
- Als pakketten binnen de geconfigureerde MTU aankomen en de CRC-controle niet doorstaan, worden ze geteld als 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
IP MTU configureren en verifiëren
IP MTU configureren
In dit gedeelte wordt beschreven hoe u ip MTU kunt configureren op een tunnelinterface.
- IP MTU kan worden geconfigureerd om de grootte van IP-pakketten te beïnvloeden die door het lokale systeem worden gegenereerd (zoals het routeren van protocolupdates), of kan worden gebruikt om een grootte in te stellen waarbij fragmentatie optreedt.
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
IP MTU verifiëren
Software-IP MTU-verificatie
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
Verificatie van hardware-IP MTU
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...>
Problemen met IP MTU oplossen
Topologie

IP-fragmentatie
Wanneer pakketten via een tunnelinterface worden verzonden, kan fragmentatie op twee manieren plaatsvinden die in deze voorbeelden worden vermeld.
Standaard IP-fragmentatie
Fragmentatie van het originele pakket om MTU te verminderen vóór tunnelinkapseling.
- Alleen het ingresapparaat is verantwoordelijk voor deze fragmentatieactie, waarbij fragmenten opnieuw worden geassembleerd op het eigenlijke eindpunt in plaats van het tunneleindpunt.
- Dit soort pakketfragmentatie is niet zo arbeidsintensief om te bereiken.
### 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
Posttunnelinkapseling fragmentatie
Fragmentatie van het eigenlijke tunnelpakket om MTU te verminderen zodra inkapseling heeft plaatsgevonden, maar het apparaat detecteert dat MTU te groot is.
- In dit geval is de tunnelbestemming het apparaat dat verantwoordelijk is voor het opnieuw samenvoegen van fragmenten, in plaats van het echte eindpunt van de bestemming.
- Dit gebeurt wanneer er een configuratieprobleem is. Het apparaat is ingesteld voor een hogere IP MTU dan de werkelijke poort of het systeem dat MTU aankan nadat tunnelkoppen zijn toegepast.
- In dit geval moet de tunnelbron de tunnel zelf fragmenteren en moet de tunnelbestemming de tunnelkoppen opnieuw monteren om de pakketten naar de volgende hop of bestemming te sturen.
- Dit soort fragmentatie van de header kan aanzienlijke verwerkingsoverhead toevoegen; het hangt af van de snelheid van de stromen die moeten worden afgehandeld.
- Afhankelijk van het platform, de code en de verkeerssnelheid, kunt u ook pakketverlies en -dalingen zien in CoPP Class Forus-verkeer.
### 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
Cisco Bug ID's
Cisco bug ID CSCvr84911 System MTU niet gerespecteerd na herladen.
Cisco bug ID CSCvq30464CAT9400: MTU-configuratie niet toegepast op inactieve poorten die actief worden.
Cisco bug ID CSCvh04282 Cat9300 niet-standaard MTU-systeemconfiguratiewaarde wordt niet gerespecteerd na opnieuw laden.
Gerelateerde informatie