|
Ein wichtiger Schritt beim Kapselungsprozess ist die Anwendung der korrekten Größen für die einzelnen PDUs. Zwei Kerngrößen dabei sind die Maximum Transmission Unit (MTU) und die Maximum Segment Size (MSS).
Die MTU definiert die größtmögliche Länge des Pakets, dass vom Schicht 2 Protokoll aufgenommen und weitergeleitet werden kann.
Einige wichtige Protokolle mit ihren MTUs:
- Ethernet - 1500 Bytes
- Gigabit Ethernet - 9000 Bytes (Jumbo Frames)
- FDDI - 4352 Bytes
- PPPoE - 1492 Bytes
- WLAN - 2312 Bytes
Aus der MTU resultiert die MSS. Segmente sind zerlegte Daten. Die Segmentierung selbst wird in der Transportschicht (Schicht 4) durchgeführt. Dort muss bereits berücksichtigt werden, wieviel Bytes die Header der folgenden Protokolle in Anspruch nehmen, damit es am Ende nicht mehr Bytes sind, als die MTU hergibt..
Ein typisches Beispiel ist die Verwendung von TCP/IP und Ethernet. Der TCP-Header nimmt 20 Bytes in Anspruch. Der IP-Header ebenfalls 20 Bytes. Bei einer MTU von 1500 Bytes müssen also insgesammt 40 Bytes für die Header reserviert werden. Daraus folgt, dass die MSS 1460 Bytes beträgt, welche mit Nutzdaten belegt werden dürfen:

Soll beispielweise eine 10.000 Byte große Datei übertragen werden, so ist schnell zu erkennen, dass diese nicht mit einem einzigen Ethernet II Frame vollzogen werden kann. Allerdings lassen sich die benötigen Frames recht einfach berechnen.
Dateigröße : MSS = Anzahl der nötigen Ethernet II Frames 10000 : 1460 ≈ 6,849 => 7 Frames
Nebenrechnung für letzten Frame: 0,849 • 1460 ≈ 1240 Bytes
Daraus folgt, dass sechs Frames mit der vollen Segmentgröße von 1460 Bytes und ein Frame, befüllt mit 1240 Bytes benötigt werden.
Ein großes Problem mit der MTU besteht in Netzen, wo die verwendeten Übertragungstechnologien und Protokolle der Sicherungsschicht unbekannt sind. Das beste Beispiel dafür ist das Internet. Ist auf einer Teilstrecke die MTU nierdriger als vom Absender angenommen, läuft dies auf eine Fragmentierung der Daten ab der betreffenden Teilstrecke hinaus. Dies möchte man aus vielerlei Gründen vermeiden. Daher gibt Methoden, die versuchen dieses Problem weitestgehend zu eleminieren.
Zum einen gibt es seit langem die Methode des Path MTU Discovery. Hier wird beim Internet Protokoll das DF Flag (Don't Fragment) gesetzt und gehofft, dass fragmentierende Router in dem dann auftretenden Fehlerfall eine entsprechende ICMP Meldung ("the datagram is too big" + Next Hop MTU) zurücksenden. Diese Methode ist aber nicht mehr sehr praxistauglich, da immer mehr Router ICMP Meldungen blockieren. Außerdem können die MTUs aufgrund von Lastenverteilung variieren.
Eine Methode die auf Path MTU Discovery aufbaut ist Packetization Layer Path MTU Discovery. Sie basiert im Wesentlichen auf die zusätzliche Nutzung von verbindungsorientierten Schicht 4 Protokollen wie TCP. Neben der normalen Datenübertragung werden Testpakete (Probes) an das Ziel gesendet. Anhand verschiedener Verhaltensweisen und Informationen in den Antworten, lässt sich dann auf die effizienteste MTU auf dem Pfad zum Ziel schließen. Diese kann dann beim Absender dynamsich angepasst werden. Weiterführender Weblink |