Die MTU mit Ping auf dem Übertragungsweg prüfen, wird das ICMP Paket fragmentiert, ist die maximale MTU eines Pfades überschritten.
Die Maximum Transmission Unit beschreibt die maximale Paketgröße eines Protokolls in der Vermittlungsschicht des OSI-Modells, welche ohne Fragmentierung der Frames in der Sicherungsschicht in Netzwerke übertragen werden kann. Diese Paketgröße passt in die Nutzlast (Payload) des Protokolls der Sicherungsschicht.
Festlegen der optimalen MTU-Größe für Router
Um die MTU eines Pfades zu Prüfen, muss man an Ping den Parameter -f übergeben, um das „don’t fragment bit (DF-Bit-Set)“ für die ICMP Testpakete im IPv4-Header zu setzen, erst dann erhält man eine Nachricht, falls die MTU überschritten wird.
ICMP Paket und MTU Size

Eine Windows Eingabeaufforderung öffnen und Ping ausführen, um die MTU-Größe eines Pfades zu ermitteln.
Der Parameter -f legt fest das die Pakete nicht fragmentiert werden.
Die Größe des Sendepuffers wird mit -l angegeben.
C:\> ping -4 -f 1.1.1.1 -l 1473
Ping wird ausgeführt für 1.1.1.1 mit 1473 Bytes Daten:
Paket müsste fragmentiert werden, DF-Flag ist jedoch gesetzt.
Paket müsste fragmentiert werden, DF-Flag ist jedoch gesetzt.
Paket müsste fragmentiert werden, DF-Flag ist jedoch gesetzt.
Paket müsste fragmentiert werden, DF-Flag ist jedoch gesetzt.
Ping-Statistik für 1.1.1.1:
Pakete: Gesendet = 4, Empfangen = 0, Verloren = 4
(100% Verlust),
Wie die oben ausgeführten Ergebnisse zeigen, müssten die Pakete fragmentiert werden. Würde der Parameter -f ausgelassen, würde Ping antworten mit Fragmentierung, was wir jedoch gezielt nicht möchten.
MTU überschritten ICMP Ping wird fragmentiert
Wenn man als Antwort „Paket müsste fragmentiert werden, DF-Bit-Set ist jedoch gesetzt.“ bekommt, hat die ICMP Ping-Anforderung die maximale MTU überschritten.
Am besten ist es, Ping mit MTU-Wert stufenweise zu verringern, in Zehnerschritten +/-10 (zB. 1472, 1462, 1440, 1400) bis eine Paketgröße erreicht wird, und die Antworten empfängt ohne das ICMP Ping Pakete fragmentiert werden.
C:\> ping -4 -f 1.1.1.1 -l 1472
Ping wird ausgeführt für 1.1.1.1 mit 1472 Bytes Daten:
Antwort von 1.1.1.1: Bytes=1472 Zeit=7ms TTL=56
Antwort von 1.1.1.1: Bytes=1472 Zeit=9ms TTL=56
Antwort von 1.1.1.1: Bytes=1472 Zeit=8ms TTL=56
Antwort von 1.1.1.1: Bytes=1472 Zeit=6ms TTL=56
Ping-Statistik für 1.1.1.1:
Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
(0% Verlust),
Ca. Zeitangaben in Millisek.:
Minimum = 6ms, Maximum = 9ms, Mittelwert = 7ms
Die oben ausgeführten Ergebnisse zeigen an, dass die Pakete nicht fragmentiert werden.
MTU Größe ICMP Ping ist fragmentiert
Um nun die richtige MTU-Größe zu bekommen, nimmt man 1472 und addiert 28 dazu. Beim obigen Beispiel ist 1472 der richtige Wert, und die Größe 1500 für das Netzwerk in dem man arbeitet.
Berechnung: 8 Bytes für den ICMP-Header + 20 Bytes für den IP-Header + 1472 Bytes für den ICMP-Payload: 8 + 20 + 1472 = 1500
Das Control Message Protocol Protokoll (ICMP) im Layer 3 der Netzwerkschicht, das vom Ping zum Senden einer Nachricht über die ICMP-Nutzlast (Payload) verwendet wird, die mit dem IP-Header gekapselt ist. Die MTU darf die Größe des ICMP-Pakets von 1500 Byte nicht überschreiten.
ICMP Paket Network layer
IP header | ICMP header | ICMP payload size | MTU (1500) |
20 bytes | 8 bytes | 1472 bytes (maximum) | 20 + 8 + 1472 = 1500 |
ICMP Data Link layer
Ethernet header | IP header | ICMP header | ICMP payload size | MTU (1514) |
14 | 20 bytes | 8 bytes | 1472 bytes (maximum) | 14 + 20 + 8 + 1472 = 1514 |
Hinweis. Die Standardgröße der ICMP-Nutzlast beträgt 32 Byte und das Maximum ist 1472. Wenn die Größe des Nutzlastpakets größer als 1472 ist, wird das Paket in kleine Pakete fragmentiert.
ICMP Paket dekodierung mit Wireshark

Das ICMP Paket das von der Quellmaschine gesendet wird, ist eine Echoanforderung. In der Abbildung ist zu sehen, das mit ICMP-Abfragecode 8 auf die Ping-Anforderung geantwortet wird.
Ping mit DF-Bit-Set für Linux Shell und macOS Terminal
Linux | ping -M do -s 1472 1.1.1.1 |
macOS | ping -D -s 1472 1.1.1.1 |
Im Terminal den Linux ping mit DF-Bit-Set für keine Fragmentierung.
$ ping -M do -s 1473 1.1.1.1
PING 1.1.1.1 (1.1.1.1) 1473(1501) bytes of data.
ping: local error: Message too long, mtu=1500
ping: local error: Message too long, mtu=1500
ping: local error: Message too long, mtu=1500
^C
--- 1.1.1.1 ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 31ms
Typische MTU-Größen ping ICMP fragmentiert
Medium | MTU in Bytes |
Ethernet | 1500 |
PPPoE | 1492 |
VPN gekapselt | 1420 |
ATM | 4500 |