Path MTU Discovery
Path MTU Discovery ist ein Verfahren zum dynamischen Erkennen der Maximum Transmission Unit (MTU) und damit der maximalen Paketgröße für einen bestimmten Pfad im Netzwerk. Im Allgemeinen kann mit dieser Information Overhead vermindert und Fragmentierung von Datenpaketen verhindert werden.
IPv4
Um in IPv4-Netzen die maximale Größe zu bestimmen, die ein Datenpaket haben sollte, muss die Stelle des Pfades gefunden werden, die die kleinsten Datenpakete zulässt. Dazu wird ein IPv4-Paket versendet, bei dem das DF-Bit (Don’t Fragment) gesetzt ist und das die Größe der lokal eingestellten Maximum Transmission Unit hat. Kommt das Paket an eine Stelle im Netz, an dem nur eine kleinere MTU verarbeitet werden kann, wird ein ICMP-Error Typ 3 Code 4 (Destination Unreachable Fragmentation Needed, DF Set) zurückgeschickt, der auch die eigene MTU enthält. Der lokale Rechner erhält dieses ICMP-Paket und kann die Größe seiner Nachrichten nun an die zurückgeschickte MTU anpassen. Dies wird so lange wiederholt, bis die Paketgröße gering genug gewählt wurde, damit das Paket den gesamten Pfad ohne Fragmentierung durchlaufen kann.
IPv6
In IPv6-Netzen findet keine Fragmentierung von weitergeleiteten Paketen auf Routern statt, daher ist Path MTU Discovery hier entscheidend dafür, ob Kommunikation mittels großer Pakete zustande kommt. In IPv6 werden zu große Pakete von den Routern mit dem ICMPv6-Fehler Typ 2 (Packet Too Big) zurückgewiesen. Dieser Typ ICMPv6-Paket wird für IPv6 statt des ICMP-Error Typ 3 Code 4 Paketes von IPv4 zur Path MTU Discovery verwendet.
Probleme
Werden die ICMP-Typ-3-Code-4- bzw. ICMPv6-Typ-2-Pakete an einem Punkt des Pfades gefiltert, zum Beispiel durch ein einfaches „ICMP deny“ auf einer Firewall, kann es zu Übertragungsproblemen kommen, wie im Artikel Maximum Transmission Unit beschrieben. Ein anderes Verfahren zur Bestimmung der Path MTU erfolgt über TCP (oder ein anderes Protokoll zu Paketierung). Dabei werden schrittweise größere Pakete gesendet, wobei die maximale Größe über erfolgreich übertragene Pakete festgelegt wird.