Fragmentierung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Die Seite wurde neu angelegt: „=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 i…“ |
|||
| (11 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
= | == Fragmentierung == | ||
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 == | |||
{{#drawio:fragmentierung-routing}} | |||
== Fragmentierung == | |||
{{#drawio: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. | |||
Aktuelle Version vom 29. März 2026, 10:01 Uhr
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.

