- Maximum Transfer Unit
-
Die Maximum Transmission Unit (MTU) beschreibt die maximale Größe einer Nutzlast in Oktetten (Bytes) welche auf der Sicherungsschicht (Schicht 2) verwendet werden kann und welche dabei als ganzes Stück auf einmal übertragen werden kann. Für die im OSI-Modell darüber liegende Vermittlungsschicht (Schicht 3) kann die MTU als maximale Paketgröße verstanden werden. Die Größe eines Rahmens der Sicherungsschicht lässt sich so berechnen:
Rahmengröße = MTU + Größe der Sicherungsschichtheader
Die MTU wird durch die verwendete Hardware/Technik bestimmt.
Im OSI-Modell spricht man auf der Vermittlungsschicht von einem Paket (engl. 'packet') während man auf der Sicherungsschicht von einem Rahmen (engl. 'frame') spricht. Die Terminologie, welche das OSI-Modell für die Einheiten auf den verschiedenen OSI-Modell Schichten verwendet, hat zu einiger Verwirrung um den Begriff der MTU geführt. Unter der "paket size" (Paketgröße) wurde fälschlicherweise teils die "frame size" (Rahmengröße) verstanden, jedoch macht die obige Definition (siehe RFC 1122) dies nun eindeutig klar.
Die genaue Spezifikation der MTU kann im (RFC 1122) sowie im (maximum sized datagram, RFC 791) nachgelesen werden.
Ein Spezialfall ist, wenn man ein Schicht 2 Protokoll über ein anderes Schicht 2 Protokoll tunnelt. Dann - und nur dann - nennt kann man auch die Nutzlast selbst "Rahmen" (engl. 'frame').
Typische MTU-Größen Medium MTU in Bytes Hyperchannel 65535 Token Ring(4)(802.5) 4464 Token Ring(16) 17914 FDDI 4352 Ethernet 1500 Gigabit Ethernet
mit Jumboframes9000 PPPoE (z. B. DSL) ≤ 1492 SLIP/PPP (low delay) 296 X.25 576 FibreChannel theoretisch unbegrenzt ISDN 576 DQDB HIPPI ATM 4500, s. u. ARCNET 802.11 2312 (WiFi) Eine Sonderform ist die Path MTU (PMTU). Sie beschreibt die maximale Paketgröße, die entlang der gesamten Wegstrecke übertragen werden kann, ohne einer Fragmentierung zu unterliegen. Die PMTU kann automatisch per automatic PMTU Discovery (PMTUD) ermittelt werden.
Inhaltsverzeichnis
Beispiel Brief
Das Konzept der MTU auf die Post adaptiert ist verständlicher. Eine MTU 50 g heißt, dass man max. 50 g Inhalt in den Brief einpacken kann. Der Brief insgesamt kann selbst aber schwerer als 50 g sein, da im Normalfall noch ein Briefumschlag z.B. 4 g und eine Briefmarke 0,3 g hinzukommt. Auf den Briefumschlag wird dann weiterhin noch die Zieladresse geschrieben.
Beispiel Ethernet
Ein Ethernet-Frame besteht aus zwei Teilen: dem "header", in dem Quell- und Zieladressen und andere wichtige Parameter für den Versand encodiert sind und der Nutzlast, deren Größe durch die MTU bestimmt ist.
In diesem Versuch ist die Größe der MTU mit 1500 Byte vorgegeben. Mit Hilfe des "ping"-Programmes wird ein "frame" erzeugt, der dann im Netzwerk über das Ethernet-Protokoll versendet wird. Die Verwendung des Begriffes Nutzlast ist hier mehrdeutig, da im OSI-Modell die verschiedenen Protokolle ineinander eingepackt werden. Der im Versuch verwendete Befehl "ping -s 1472 10.0.0.1" sendet dann ein ICMP-Paket mit der Nutzlast von 1472 Bytes an die IP-Adresse 10.0.0.1.
# ping -s 1472 10.0.0.1 1472 bytes Nutzlast des ICMP-Protokolles (Transportschicht) + 8 bytes ICMP-Header (Transportschicht) + 20 bytes IP-Header (der Vermittlungsschicht) ------------- = 1500 bytes (Nutzlast von Ethernet) + 14 bytes (Header der Sicherungsschicht) + 4 bytes (Frame Check Sequence) ------------- = 1518 bytes (kompletter zum Versand fertiger Ethernetrahmen)
Mit einem Sniffer wie z.B. Wireshark wird als Ethernet Header nur die 14 Byte angezeigt. Hierzu kommt noch die 4 Byte große Frame Check Sequence am Ende des Frames.
Andere Beispiele
Die MTU ist ein hardwareabhängiger Wert, der sämtliche Parameter oberhalb der Sicherungsschicht des OSI-Modells beeinflusst. Am Beispiel Ethernet ist dies einfach erklärt: In diesem Netzwerk werden sämtliche Pakete der Schicht 3, beispielsweise IP-Pakete, in „Ethernet-Frames“ übertragen. Die Nutzdaten dieses Ethernet-Frames (d. h. die IP-Pakete) dürfen den MTU-Wert nicht übersteigen. Die Länge der TCP-Nutzdaten (Maximum Segment Size) wird daher aus der MTU direkt berechnet.
In der Praxis heißt das für dieses Beispiel: Eine Ethernet-MTU von 1500 Oktetten limitiert die Ethernet-Frame-Nutzdaten, sprich ein IP-Paket inklusive Header-Daten, auf diese Größe. Auf der Leitung übertragen wird aber nun das Ethernet-Frame. Hierbei werden dem IP-Paket noch 18 Oktette hinzugefügt. Diese 18 Oktette werden jedoch nicht in die MTU-Berechnung miteinbezogen.
Jumbo Frames beinhalten mehr als 1518 Oktette und können daher mehr Daten unfragmentiert übertragen. Allerdings sind Jumbo Frames nicht standardisiert, sodass viele Hersteller eigene Größen definieren. Ein Nachteil ist daher, dass alle Geräte auf der Wegstrecke des Paketes den gleichen „Standard“ bezüglich der Jumbo Frames unterstützen müssen, damit es nicht zur ungewollten Fragmentierung kommt. Positiv wiegt allerdings, dass der Protokoll-Overhead bei der Verwendung von Jumbo Frames drastisch reduziert werden kann. Eine typische Jumbo-Framegröße ist 9000 Oktette.
Mit dem Aufkommen von Internetzugängen, die auf Tunnelprotokollen basieren, zum Beispiel beim Verbindungsaufbau über das PPPoE-Protokoll hat die MTU an Bedeutung gewonnen. Obwohl die PMTUD in diesem Fall dafür sorgen soll, dass die Kommunikation trotz der durch den Tunnel abgesenkten MTU möglich ist, gibt es immer wieder fehlkonfigurierte Firewalls, die durch Verwerfen von ICMP-Steuerpaketen die PMTUD stören. Auch große Websites sind oft von diesem Konfigurationsfehler betroffen, sodass die Nutzer von getunnelten Zugängen die MTU ihrer Geräte verkleinern müssen, um auch mit diesen Sites kommunizieren zu können.
Über die optimale MTU gibt es viele Diskussionen. Kurz zusammengefasst:
- einfache Optimierung: so groß wie möglich, ohne dass Probleme auftreten
- komplexe Optimierung: so viel kleiner als o. g. Maximum, dass der Verschnitt der Transportzellen der unter der DSL-Schicht liegenden ATM-Transportschicht möglichst klein wird.
- oder einfach probieren
Die MTU bei ATM (4500) ist nicht zu verwechseln mit der Zellengröße (53 Bytes, 48 davon Nutzlast). Bei der Übertragung über einen ATM-Link werden IP-Pakete in Stücke zu je 48 Bytes zerlegt und für die Übertragung auf mehrere ATM-Zellen verteilt. Der Router am anderen Ende des ATM-Links sammelt diese Zellen und setzt das ursprüngliche IP-Paket wieder zusammen. Im Gegensatz dazu wird bei der IP-Fragmentierung das Paket nicht vom Router reassembliert, sondern erst von dem Host, für den das Paket bestimmt war.
Probleme, die durch einen falschen MTU-Wert auftreten können, sind Webseiten, die gar nicht oder nur teilweise angezeigt werden.
Siehe auch
- RFC 791 – INTERNET PROTOCOL
- RFC 879 – The TCP Maximum Segment Size and Related Topics
- RFC 1191 – Path MTU Discovery
- RFC 1981 – Path MTU Discovery for IP version 6
- RFC 2923 – TCP Problems with Path MTU Discovery
- Dr. TCP, eine Software zum Einstellen der MTU unter Windows, ursprünglich für DSL-Nutzer geschrieben.
- MTU, eine weitere Software (Freeware) zum Einstellen der MTU unter Windows.
- gschwarz.de, eine gute Anleitung zur Ermittlung des maximalen MTU.
- Mini-FAQ zur MTU – Ausführliche Erklärung der MTU
- [1] - – Ausführliche Erklärung der MTU und MSS
Wikimedia Foundation.