IPv4/Fragmentierung

Aus Foxwiki

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 angewendet 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