Fragmentierung
Zur Navigation springen
Zur Suche springen
Fragmentierung
Die IP-Fragmentierung ermöglicht den Transport von Datagrammen über Netzabschnitte, deren maximale Übertragungseinheit (MTU) kleiner ist als die ursprüngliche Paketgröße.
Identification
- Über das Identifikationsfeld kann der Zielhost feststellen, zu welchem Datengramm ein neu angekommenes Fragment gehört.
- Alle Fragmente eines Datengramms enthalten die gleiche Identifikation.
Flags
- Das Flags-Feld ist drei Bit lang. Die Flags bestehen aus zwei Bits namens DF (Don't Fragment) und MF (More Fragments).
- Das erste Bit des Flags-Feldes ist ungenutzt bzw. reserviert.
- Die beiden Bits DF und MF steuern die Behandlung eines Pakets im Falle einer Fragmentierung.
- Mit dem DF-Bit wird signalisiert, dass das Datengramm nicht fragmentiert werden darf.
- Dies gilt auch dann, wenn das Paket dann eventuell nicht mehr weiter transportiert werden kann und verworfen werden muss.
- Alle Hosts müssen Fragmente bzw. Datengramme mit einer Größe von 576 Bytes oder weniger verarbeiten können.
- Mit dem MF-Bit wird angezeigt, ob einem IP-Paket weitere Teilpakete nachfolgen.
- Dieses Bit ist bei allen Fragmenten außer dem letzten gesetzt.
Fragment Offset
- Der Fragmentabstand (Fragment Offset) bezeichnet, an welcher Stelle relativ zum Beginn des gesamten Datengramms ein Fragment gehört.
- Mit Hilfe dieser Angabe kann der Zielhost das Originalpaket wieder aus den Fragmenten zusammensetzen.
- Da dieses Feld nur 13 Bit groß ist, können maximal 8192 Fragmente pro Datengramm erstellt werden.
- Alle Fragmente, außer dem letzten, müssen ein Vielfaches von 8 Byte sein.
- Dies ist die elementare Fragmenteinheit.
Routing
Fragmentierung
Realität der Fragmentierung in modernen Netzen
In der heutigen Netzwerkpraxis ist die IP-Fragmentierung nahezu vollständig verdrängt worden. Das liegt vor allem daran, dass moderne Betriebssysteme das DF-Bit (Don't Fragment) im IP-Header standardmäßig auf 1 setzen.
- Das DF-Bit-Dilemma: Da fast alle Pakete mit gesetztem DF-Bit versendet werden, darf ein Router sie nicht fragmentieren, selbst wenn die MTU des nächsten Hops zu klein ist. Er verwirft das Paket stattdessen.
- ICMP "Fragmentation Needed": Wenn ein Router ein Paket wegen des DF-Bits verwirft, sendet er eine ICMP-Nachricht (Type 3, Code 4) an den Absender zurück. Diese enthält die maximal erlaubte MTU für diesen Abschnitt.
- Path MTU Discovery (PMTUD): Der sendende Host nutzt diese ICMP-Rückmeldungen, um seine Paketgröße dynamisch nach unten zu korrigieren. Erst wenn dieser Mechanismus (z. B. durch Firewalls, die ICMP blockieren) scheitert, entstehen die typischen "MTU-Black-Holes" (Verbindungsaufbau klappt, aber Datenübertragung stockt).
Alternativen zur Vermeidung
Um sicherzustellen, dass Pakete gar nicht erst fragmentiert werden müssen, kommen zwei Techniken zum Einsatz:
- MSS Clamping: Vor allem bei DSL-Verbindungen (PPPoE) reduzieren Router den MSS-Wert (Maximum Segment Size) im TCP-Handshake künstlich. Dadurch "denken" die Endgeräte, sie müssten kleinere Pakete schicken, und die MTU-Grenze wird nie erreicht.
- IPv6-Standard: In IPv6 wurde die Fragmentierung durch Router komplett abgeschafft. Hier ist PMTUD zwingend vorgeschrieben; Router leiten zu große Pakete niemals fragmentiert weiter, sondern verwerfen sie immer mit einer entsprechenden Fehlermeldung.

