IPv4/Fragmentierung: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „== Fragmentierung == === Warum Fragmentierung? === * Anpassung der Datagramgrösse an die MTU der lokalen Netz-Technologie * Definition des Protokolls / Beschränkung durch Norm * Paketlänge in verschiedenen Netzen * Token Ring32768 bit * Ethernet12144 bit * X.25 (Maximum)8192 bit * X.25 (Standard)1024 bit === Fragmentierung === * Felder: DF, MF, Identifikation, Fragmentabstand * kann nur bei DF=0 durchgeführt werden * wird von den Routern eigenständ…“ |
K Textersetzung - „Kurzbeschreibung“ durch „Beschreibung“ |
||
(26 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== | '''topic''' - Beschreibung | ||
== Beschreibung == | |||
=== Warum Fragmentierung? === | === Warum Fragmentierung? === | ||
; Anpassung der Datagramgrösse an die [[MTU]] der lokalen Netz-Technologie | |||
* Definition des Protokolls / Beschränkung durch Norm | * Definition des Protokolls / Beschränkung durch Norm | ||
; Paketlänge in verschiedenen Netzen | |||
* Token Ring32768 bit | * Token Ring32768 bit | ||
* Ethernet12144 bit | * Ethernet12144 bit | ||
Zeile 11: | Zeile 12: | ||
=== Fragmentierung === | === Fragmentierung === | ||
; Felder: DF, MF, Identifikation, Fragmentabstand | |||
* kann nur bei DF=0 durchgeführt werden | * kann nur bei DF=0 durchgeführt werden | ||
* wird von den Routern eigenständig vorgenommen | * wird von den Routern eigenständig vorgenommen | ||
* kann bei Bedarf wiederholt | * kann bei Bedarf wiederholt angewandt werden | ||
* Zielhost muss die Fragmente zusammensetzen | * Zielhost muss die Fragmente zusammensetzen | ||
; Fragmentierung | |||
* Alle Fragmente haben dieselbe Kennung | * Alle Fragmente haben dieselbe Kennung | ||
* diese definiert keine Reihenfolge | ** diese definiert keine Reihenfolge | ||
Zu fragmentierende Pakete mit DF-Flag werden verworfen, da sie nicht in das nächste Netzwerk geleitet werden können | |||
* Stationen, die nicht alle Fragmente eines IP-Datagrams innerhalb einer bestimmten Zeitspanne (i.d.R. 30-40s) zum Reassemblieren erhalten, verwerfen alle empfangenen Pakete | * Stationen, die nicht alle Fragmente eines IP-Datagrams innerhalb einer bestimmten Zeitspanne (i.d.R. 30-40s) zum Reassemblieren erhalten, verwerfen alle empfangenen Pakete | ||
=== Fragment Offset === | === Fragment Offset === | ||
; Gibt die Länge relativ in Byte zum Beginn des Datenbereichs im ursprünglichen Datagram an | |||
* Ermöglicht dem Empfänger mehrere Fragmente in der richtigen Reihenfolge zusammenzusetzen | * Ermöglicht dem Empfänger mehrere Fragmente in der richtigen Reihenfolge zusammenzusetzen | ||
* Bei vollständigem Datagram (keine Fragmentierung) und beim ersten Fragment hat der Fragment Offset immer den Wert 0 | * Bei vollständigem Datagram (keine Fragmentierung) und beim ersten Fragment hat der Fragment Offset immer den Wert 0 | ||
: Fragment Offset (Grafik) | |||
=== Beispiel === | === Beispiel === | ||
Zeile 38: | Zeile 40: | ||
* Wenn nach Ablauf eines Timers nicht alle Teilpakete angekommen sind, wird das Paket verworfen. | * Wenn nach Ablauf eines Timers nicht alle Teilpakete angekommen sind, wird das Paket verworfen. | ||
: Beispiel - Paketlänge 1044 Byte | |||
== Anwendung == | |||
<noinclude> | |||
== Anhang == | |||
=== Siehe auch === | |||
{{Special:PrefixIndex/IPv4}} | |||
==== Sicherheit ==== | |||
==== Dokumentation ==== | |||
===== RFC ===== | |||
==== Links ==== | |||
===== Projekt ===== | |||
===== Weblinks ===== | |||
=== TMP === | |||
==== Datagrammfragmentierung ==== | |||
; Auf dem Weg vom Sender zum Empfänger kann es vorkommen, dass ein [[Datagramm]] ein Netz durchlaufen muss, welches nur kleine Datagramme unterstützt. | |||
* Jedes Datagramm erhält vom Sender eine Kennung (Identification). | |||
* Stellt ein Router auf dem Weg zum Ziel fest, dass das Datagramm für das nächste Teilnetz zu groß ist, so kann er es in zwei Fragmente aufteilen. | |||
; Dazu sind folgende Schritte notwendig: | |||
* Aufteilen der Nutzdaten an einer 64-Bit-Grenze (das zweite Fragment enthält dann nicht unbedingt ein Vielfaches von 64 Bit Daten) | |||
* Kopieren der Header-Daten des Originaldatagramms in die neuen Header | |||
* Setzen des „more-fragments“-Flags beim ersten Fragment | |||
* Beim zweiten Fragment erhält das more-fragments Flag den Wert des Originaldatagramms, da das Originaldatagramm bereits ein Fragment gewesen sein kann. | |||
* Erneutes Setzen der Länge-Felder in den Headern | |||
* Beim zweiten Fragment enthält Fragment-Offset die Summe aus Fragment-Offset des Originaldatagramms und die Anzahl der (Nutzdaten-)Bytes des ersten Fragments. | |||
* Das Fragmentieren in n > 2 Fragmente funktioniert entsprechend. | |||
; Reassemblierung | |||
Um ein Paket wieder zusammenzusetzen, kombiniert der Empfänger alle Fragmente, welche die gleiche Kennung (Identifikation), den gleichen Absender, Empfänger und das gleiche Protokoll haben. | |||
* Dabei erkennt er das erste Fragment daran, dass Fragment-Offset den Wert 0 hat. | |||
* Das jeweils nächste Fragment erkennt er ebenfalls am Fragment-Offset und das letzte Fragment daran, dass ''more-fragments'' den Wert 0 hat. | |||
[[Kategorie:IPv4]] | |||
</noinclude> |
Aktuelle Version vom 19. Oktober 2024, 13:47 Uhr
topic - Beschreibung
Beschreibung
Warum Fragmentierung?
- Anpassung der Datagramgrösse an die MTU der lokalen Netz-Technologie
- Definition des Protokolls / Beschränkung durch Norm
- Paketlänge in verschiedenen Netzen
- Token Ring32768 bit
- Ethernet12144 bit
- X.25 (Maximum)8192 bit
- X.25 (Standard)1024 bit
Fragmentierung
- Felder
- DF, MF, Identifikation, Fragmentabstand
- kann nur bei DF=0 durchgeführt werden
- wird von den Routern eigenständig vorgenommen
- kann bei Bedarf wiederholt angewandt werden
- Zielhost muss die Fragmente zusammensetzen
- Fragmentierung
- Alle Fragmente haben dieselbe Kennung
- diese definiert keine Reihenfolge
Zu fragmentierende Pakete mit DF-Flag werden verworfen, da sie nicht in das nächste Netzwerk geleitet werden können
- Stationen, die nicht alle Fragmente eines IP-Datagrams innerhalb einer bestimmten Zeitspanne (i.d.R. 30-40s) zum Reassemblieren erhalten, verwerfen alle empfangenen Pakete
Fragment Offset
- Gibt die Länge relativ in Byte zum Beginn des Datenbereichs im ursprünglichen Datagram an
- Ermöglicht dem Empfänger mehrere Fragmente in der richtigen Reihenfolge zusammenzusetzen
- Bei vollständigem Datagram (keine Fragmentierung) und beim ersten Fragment hat der Fragment Offset immer den Wert 0
- Fragment Offset (Grafik)
Beispiel
- Netz1: MTU 1200Byte
- Netz2: MTU 532 Byte
- Netz3: MTU 276 Byte
- Paket mit Länge 1044Byte (= 20Byte Header + 1024Byte Daten) und nicht gesetztem DF-Bit soll über die 3 Netze übertragen werden
- Die Reihenfolge der Ankunft beim Zielhost spielt keine Rolle.
- Wenn nach Ablauf eines Timers nicht alle Teilpakete angekommen sind, wird das Paket verworfen.
- Beispiel - Paketlänge 1044 Byte
Anwendung
Anhang
Siehe auch
Sicherheit
Dokumentation
RFC
Links
Projekt
Weblinks
TMP
Datagrammfragmentierung
- Auf dem Weg vom Sender zum Empfänger kann es vorkommen, dass ein Datagramm ein Netz durchlaufen muss, welches nur kleine Datagramme unterstützt.
- Jedes Datagramm erhält vom Sender eine Kennung (Identification).
- Stellt ein Router auf dem Weg zum Ziel fest, dass das Datagramm für das nächste Teilnetz zu groß ist, so kann er es in zwei Fragmente aufteilen.
- Dazu sind folgende Schritte notwendig
- Aufteilen der Nutzdaten an einer 64-Bit-Grenze (das zweite Fragment enthält dann nicht unbedingt ein Vielfaches von 64 Bit Daten)
- Kopieren der Header-Daten des Originaldatagramms in die neuen Header
- Setzen des „more-fragments“-Flags beim ersten Fragment
- Beim zweiten Fragment erhält das more-fragments Flag den Wert des Originaldatagramms, da das Originaldatagramm bereits ein Fragment gewesen sein kann.
- Erneutes Setzen der Länge-Felder in den Headern
- Beim zweiten Fragment enthält Fragment-Offset die Summe aus Fragment-Offset des Originaldatagramms und die Anzahl der (Nutzdaten-)Bytes des ersten Fragments.
- Das Fragmentieren in n > 2 Fragmente funktioniert entsprechend.
- Reassemblierung
Um ein Paket wieder zusammenzusetzen, kombiniert der Empfänger alle Fragmente, welche die gleiche Kennung (Identifikation), den gleichen Absender, Empfänger und das gleiche Protokoll haben.
- Dabei erkennt er das erste Fragment daran, dass Fragment-Offset den Wert 0 hat.
- Das jeweils nächste Fragment erkennt er ebenfalls am Fragment-Offset und das letzte Fragment daran, dass more-fragments den Wert 0 hat.