Was ist MTU (maximale Übertragungseinheit)?

Die maximale Übertragungseinheit (Maximum Transmission Unit, MTU) ist ein Maß in Bytes für die größten Datenpakete, die ein mit dem Internet verbundenes Gerät annehmen kann.

Share facebook icon linkedin icon twitter icon email icon

MTU

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • „MTU“ definieren
  • Verstehen, wie IP-Fragmentierung funktioniert
  • Path MTU Discovery in IPv4 und IPv6 verstehen

Was ist MTU?

In Netzwerken ist die maximale Übertragungseinheit (MTU) ein Maß für das größte Datenpaket, das ein mit dem Netzwerk verbundenes Gerät annehmen kann. Sie können sich das wie eine Höhenbegrenzung bei Autobahnunterführungen oder Tunnels vorstellen: PKWs und LKWs, die die Höhenbegrenzung überschreiten, passen nicht durch. In ähnlicher Weise gelangen Pakete, die die MTU eines Netzwerks überschreiten, nicht durch dieses Netzwerk.

Im Unterschied zu PKWs und LKWs werden Datenpakete, die über die MTU hinausgehen, jedoch in kleinere Stücke zerlegt, damit sie durchpassen. Dieser Prozess wird als Fragmentierung bezeichnet. Fragmentierte Pakete werden wieder zusammengesetzt, sobald sie ihr Ziel erreicht haben.

MTU wird in Bytes gemessen – ein „Byte“ entspricht 8 Informationsbits, d. h. 8 Einsen und Nullen. Die maximale MTU-Größe beträgt 1500 Bytes.

Was ist ein Paket?

Alle über das Internet gesendeten Daten werden in kleinere Stücke zerlegt, die als Pakete bezeichnet werden. Wenn zum Beispiel eine Webseite von einem Webserver an den Laptop eines Benutzers gesendet wird, werden die Daten, aus denen die Webseite besteht, als eine Reihe von Paketen über das Internet übertragen. Diese Pakete werden dann vom Laptop wieder zu der ursprünglichen kompletten Webseite zusammengesetzt.

Datenpakete haben zwei Hauptteile: den Header und die Nutzdaten. Der Header enthält Informationen zur Quell- und Zieladresse des Pakets, während die Nutzdaten der eigentliche Inhalt des Pakets sind. Sie können sich den Header als Versandaufkleber vorstellen, der an einem Paket befestigt ist, und die Nutzdaten als den Inhalt des Pakets. (Im Gegensatz zu gewöhnlichen Paketen haben Pakete im Internet mehrere Header, die von unterschiedlichen Netzwerkprotokollen hinzugefügt werden).

Die MTU wird fast immer in Bezug auf Layer 3*-Pakete verwendet, bzw. auf Pakete, die das Internet-Protokoll (IP) einsetzen. Die MTU misst das Paket als Ganzes, einschließlich aller Header und der Nutzdaten. Dazu gehören der IP-Header und der TCP-Header (Transport Control Protocol), die in der Regel zusammen 40 Bytes lang sind.

*Das OSI-Modell unterteilt die Funktionen, die das Internet ermöglichen, in 7 Layer. Layer 3 ist der Netzwerk-Layer, auf dem das Routing stattfindet.

Wann werden Pakete fragmentiert?

Wenn zwei Computergeräte eine Verbindung öffnen und beginnen, Pakete auszutauschen, werden diese Pakete über mehrere Netzwerke geroutet. Es ist notwendig, nicht nur die MTU der beiden Geräte an den Enden jeder Kommunikation zu berücksichtigen, sondern auch alle Router, Switches und Server dazwischen. Pakete, die die MTU an irgendeinem Punkt im Netzwerkpfad überschreiten, werden fragmentiert.

Angenommen, Server A und Computer A sind miteinander verbunden, aber die Datenpakete, die sie sich gegenseitig senden, müssen auf ihrem Weg durch Router B und Router C laufen. Server A, Computer A und Router B haben alle eine MTU von 1.500 Bytes. Router C hat jedoch eine MTU von 1.400 Bytes. Wenn Server A und Computer A die MTU von Router C nicht kennen und 1.500 Byte-Pakete senden, werden alle ihre Datenpakete während der Übertragung von Router B fragmentiert.

Durch Fragmentierung werden die Latenz und Ineffizienz bei der Netzwerkkommunikation etwas erhöht, weshalb sie nach Möglichkeit vermieden werden sollte. (Veraltete Netzwerkgeräte können anfällig für Denial-of-Service-Angriffe sein, die die Fragmentierung ausnutzen, wie z. B. der „Ping of Death“-Angriff).

Wie funktioniert Fragmentierung?

Alle Netzwerkrouter überprüfen die Größe jedes IP-Pakets, das sie empfangen, anhand der MTU des nächsten Routers, der das Paket empfangen wird. Wenn das Paket die MTU des nächsten Routers überschreitet, teilt der erste Router die Nutzdaten in zwei oder mehr Pakete mit jeweils eigenen Headern auf.

Jedes neue Paket hat einen Header, der vom ursprünglichen Paket kopiert wurde (damit alle Pakete die ursprüngliche Quell- und Ziel-IP-Adresse usw. haben), wobei allerdings einige wichtige Änderungen zu berücksichtigen sind. Der Router bearbeitet bestimmte Felder im IP-Header, um anzugeben, dass die Pakete fragmentiert sind und neu zusammengesetzt werden müssen, wie viele Pakete es gibt und in welcher Reihenfolge sie gesendet werden.

Stellen Sie sich vor, ein Versandunternehmen fertigt ein Paket ab, das die Gewichtsgrenzen einer ihrer Anlagen überschreitet. Anstatt die Zustellung des Pakets zu verweigern, teilt das Versandunternehmen den Paketinhalt in drei kleinere Pakete auf. Es kopiert auch das Versandetikett für jedes Paket und fügt einen Vermerk hinzu, der darauf hinweist, dass jedes Paket ein Teil einer Serie ist, die zusammen ankommen muss – das erste Paket ist 1 von 3, das zweite 2 von 3 usw. (Eine derartige Vorgehensweise eines Versandunternehmens würde die Privatsphäre der Kunden verletzen und sollte daher in der echten Welt nicht vorkommen).

Wann ist Fragmentierung nicht möglich?

In manchen Fällen können Pakete nicht fragmentiert werden und werden daher nicht zugestellt, wenn sie die MTU eines Routers oder Geräts entlang des Netzwerkpfads überschreiten:

  1. Fragmentierung ist bei IPv6 nicht erlaubt. IPv6 ist die neueste Version des Internet-Protokolls, obwohl IPv4 immer noch weit verbreitet ist. Router, die IPv6 unterstützen, verwerfen alle IPv6-Pakete, die die MTU überschreiten, da sie nicht fragmentiert werden können.
  2. Fragmentierung ist auch nicht möglich, wenn im IP-Header eines Pakets das „Don't Fragment“-Flag aktiviert ist.

Wobei handelt es sich bei dem „Don't Fragment“-Flag in einem IP-Header?

Sie können sich den IP-Header als Formular vorstellen, das Verbraucher ausfüllen, wenn sie ein Paket an jemanden versenden. Auf dem Formular sind der Absender, die Zieladresse, der Zeitpunkt der Zustellung des Pakets und andere besondere Anweisungen an die Zusteller angegeben.

Das „Don't Fragment“-Flag ist eine spezielle Anweisung für Router, eine Option, die im „Formular“ eines IP-Headers ausgewählt werden kann. Wenn das Flag gesetzt ist, kann das angehängte Paket nicht fragmentiert werden.

Jeder Router, der das Paket empfängt, analysiert den Header und prüft ihn auf das „Don't Fragment“-Flag. Wenn das Flag gesetzt ist und das Paket die MTU überschreitet, verwirft der Router das Paket, anstatt es zu fragmentieren.

Zusätzlich zum Verwerfen des Pakets sendet der Router eine ICMP-Nachricht an den Ursprung des Pakets zurück. Eine ICMP-Nachricht ist ein sehr kleines Datenpaket, das eine Statusaktualisierung enthält. In diesem Fall besagt sie im Wesentlichen: „Dieser Router oder dieses Gerät konnte diese Pakete nicht zustellen, weil sie zu groß waren und nicht fragmentiert werden konnten.“

Was ist Path MTU Discovery?

Bei Path MTU Discovery oder PMTUD wird die MTU aller Geräte, Router und Switches in einem Netzwerkpfad ermittelt. Wenn Computer A und Server A aus dem obigen Beispiel PMTUD verwendeten, würden sie die MTU-Anforderungen von Router B ermitteln und ihre Paketgröße entsprechend anpassen, um eine Fragmentierung zu vermeiden.

Die genaue Funktionsweise von PMTUD hängt davon ab, ob die verbundenen Geräte IPv4 oder IPv6 verwenden:

IPv4: IPv4 lässt Fragmentierung zu und enthält daher das „Don't Fragment“-Flag im IP-Header. PMTUD in IPv4 funktioniert, indem Testpakete entlang des Netzwerkpfads mit gesetztem „Don't Fragment“-Flag gesendet werden. Wenn ein Router oder anderes Gerät entlang des Pfads das Paket verwirft, sendet das Gerät eine ICMP-Nachricht mit seiner MTU zurück. Das Quellgerät senkt seine MTU und sendet ein weiteres Testpaket. Dieser Vorgang wird so lange wiederholt, bis die Testpakete klein genug sind, um den gesamten Netzwerkpfad zu durchlaufen, ohne verworfen zu werden.

IPv6: Bei IPv6, das keine Fragmentierung zulässt, funktioniert PMTUD auf sehr ähnliche Weise. Der Hauptunterschied besteht darin, dass IPv6-Header nicht über die „Don't Fragment“-Option verfügen und daher das Flag nicht gesetzt ist. Router, die IPv6 unterstützen, fragmentieren IPv6-Pakete nicht. Wenn also die Testpakete die MTU überschreiten, verwerfen die Router die Pakete und senden entsprechende ICMP-Nachrichten zurück, ohne zu überprüfen, ob ein „Don't Fragment“-Flag gesetzt ist. Bei PMTUD in IPv6 werden immer kleinere Testpakete gesendet, bis die Pakete den gesamten Netzwerkpfad durchlaufen können, genau wie bei IPv4.

Was ist MSS?

MSS steht für „maximale Segmentgröße“. MSS wird von TCP auf Layer 4 des Internets, dem Transport-Layer, anstatt auf Layer 3 verwendet. Bei MSS geht es nur um die Größe der Nutzdaten innerhalb jedes Pakets. Sie wird berechnet, indem die Länge der TCP- und IP-Header von der MTU abgezogen wird.

Während Pakete, die die MTU eines Routers überschreiten, entweder fragmentiert oder verworfen werden, werden Pakete, die die MSS überschreiten, immer verworfen.

Weitere Informationen zu MTU und MSS finden Sie unter Was ist MSS?