Zum Inhalt springen

IPv4/Header: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 17: Zeile 17:


== Header-Felder ==
== Header-Felder ==
=== Version ===
== Version ==
Version des IP-Protokolls
Version des IP-Protokolls
* Hier Version 4
* Hier Version 4


=== Internet Header Length ===
== Internet Header Length ==
; IHL
; IHL
Länge des IP-Protokoll-Kopfes in 32-Bit-Worten an
Länge des IP-Protokoll-Kopfes in 32-Bit-Worten an
Zeile 27: Zeile 27:
* Vergrößerung durch Angabe von Optionen
* Vergrößerung durch Angabe von Optionen


=== Differentiated Services Code Point ===
== Differentiated Services Code Point ==
; DSCP
; DSCP
Eine spezielle Bedeutung kommt in modernen Implementierungen dem früheren Feld ''Type of Service'' (ToS) im zweiten Oktett des IPv4-Headers zu
Eine spezielle Bedeutung kommt in modernen Implementierungen dem früheren Feld ''Type of Service'' (ToS) im zweiten Oktett des IPv4-Headers zu
Zeile 37: Zeile 37:
* dessen letzte beiden Bit als ''[[Explicit Congestion Notification|explicit congestion notification]]'' (ECN) benutzt werden
* dessen letzte beiden Bit als ''[[Explicit Congestion Notification|explicit congestion notification]]'' (ECN) benutzt werden


=== ECN ===
== ECN ==


==== Servicetypen ====
=== Servicetypen ===
[[File:ipServicetypes.png|200px]]
[[File:ipServicetypes.png|200px]]


Zeile 51: Zeile 51:
Servicetypen werden nicht von allen Routern unterstützt
Servicetypen werden nicht von allen Routern unterstützt


=== Gesamtlänge  ===
== Gesamtlänge  ==
; Länge des Paketes in Byte inklusive Header
; Länge des Paketes in Byte inklusive Header
* Maximale Paketgröße 65.535 Byte (16 Bit - Feld)
* Maximale Paketgröße 65.535 Byte (16 Bit - Feld)


=== Identifikation ===
== Identifikation ==
Eine eindeutige Identifikation (Zähler)
Eine eindeutige Identifikation (Zähler)
* Diese Kennungen sollten sich nur nach längeren Zeitabständen wiederholen
* Diese Kennungen sollten sich nur nach längeren Zeitabständen wiederholen
** um nicht mit verspäteten PDU in Konflikt zu kommen
** um nicht mit verspäteten PDU in Konflikt zu kommen


=== TTL ===
== TTL ==
; Time To Live
; Time To Live
: Anzahl der Router, die ein IP-Datagramm passieren darf
: Anzahl der Router, die ein IP-Datagramm passieren darf
Zeile 73: Zeile 73:
* Bei Erreichen des Wertes "0", wird Paket verworfen
* Bei Erreichen des Wertes "0", wird Paket verworfen


=== Sender-IP-Adresse ===
== Sender-IP-Adresse ==
; 32-Bit IP-Adresse (IPv4)
; 32-Bit IP-Adresse (IPv4)


Zeile 84: Zeile 84:
* Die in Europa zuständige Organisation ist das RIPE (Réseaux IP Européens)
* Die in Europa zuständige Organisation ist das RIPE (Réseaux IP Européens)


=== Empfänger-IP-Adresse ===
== Empfänger-IP-Adresse ==


=== Flags ===
== Flags ==
==== DF, MF ====
=== DF, MF ===
; DF (Don‘t Fragment)
; DF (Don‘t Fragment)
* 0 = May Fragment
* 0 = May Fragment
Zeile 95: Zeile 95:
* 1 = More Fragment
* 1 = More Fragment


=== Fragment Offset ===
== Fragment Offset ==
; Fragmentabstand
; Fragmentabstand
* Länge relativ zum Beginn des ursprünglichen Datagrams
* Länge relativ zum Beginn des ursprünglichen Datagrams


=== Protokoll ===
== Protokoll ==
; Nummer des Transportprotokolls
; Nummer des Transportprotokolls
Legt fest, welches Protokoll für die Weiterverarbeitung auf 03 zuständig ist (demultiplexing)
Legt fest, welches Protokoll für die Weiterverarbeitung auf 03 zuständig ist (demultiplexing)
Zeile 108: Zeile 108:
; Ausgewählte IP-Protokollnummern
; Ausgewählte IP-Protokollnummern


=== Header-Prüfsumme ===
== Header-Prüfsumme ==
; Prüfsumme
; Prüfsumme
* wird über den gesamten IP Header berechnet
* wird über den gesamten IP Header berechnet
Zeile 119: Zeile 119:
* OK, wenn im Ergebnis alle bits auf 1 stehen
* OK, wenn im Ergebnis alle bits auf 1 stehen


=== Nutzdaten ===
== Nutzdaten ==
* Segmente und Datagramme höherer Protokolle
* Segmente und Datagramme höherer Protokolle
* Meist TCP oder UDP
* Meist TCP oder UDP

Version vom 24. Mai 2025, 16:14 Uhr

IPv4/Header - Metadaten eines IP-Datagramms

Beschreibung

0-3 4-7 8-13 14-15 16-18 19-23 24-27 28-31
Version IHL DSCP ECN Gesamtlänge H
e
a
d
e
r
Identifikation Flags Fragment Offset
TTL Protokoll Header-Prüfsumme
Sender-IP-Adresse
Empfänger-IP-Adresse
Optionen
Optionen Padding

Payload

IPv4-Header ist mindestens (meist) 20 Bytes lang

Bei Übertragung auf Basis von Ethernet folgt er dem Ethernet-Typfeld, das für IPv4-Pakete auf 080016 festgelegt ist

  • Auf anderen Übertragungsmedien und Protokollen kann der Header auch der erste Eintrag sein
  • Im Typfeld des Ethernet-Frames wird für IPv4 080016 eingetragen


Optionen

IPv4 bietet verschiedene, größtenteils ungenutzte Optionen, die den Header bis auf 60 Bytes (in 4-Byte-Schritten) verlängern können Ohne Optionen ist der IPv4-Header 20 Bytes lang

  • Wortlänge 32 Bit (4 Byte)
  • Daten im Feld Optionen können den Header auf maximal 60 Byte (in 32-Bit-Worten) verlängern (selten)

Header-Felder

Version

Version des IP-Protokolls

  • Hier Version 4

Internet Header Length

IHL

Länge des IP-Protokoll-Kopfes in 32-Bit-Worten an

  • Die minimale Länge beträgt 5 Worte, was auch der Normalfall ist
  • Vergrößerung durch Angabe von Optionen

Differentiated Services Code Point

DSCP

Eine spezielle Bedeutung kommt in modernen Implementierungen dem früheren Feld Type of Service (ToS) im zweiten Oktett des IPv4-Headers zu

  • Ursprünglich diente dieses Feld bei der Vermittlung eines Datenpaketes als Entscheidungshilfe für die beteiligten Router bei der Wahl der Übertragungsparameter
  • In modernen Implementierungen wird dieses Feld im Zusammenhang mit der network congestion avoidance (Vermeidung von Überlastungen) verwendet

Das ToS-Feld wurde durch das DS-Feld (differentiated services) ersetzt

ECN

Servicetypen

Mit den Precedence-Bit (0-2) kann eine Priorität von 0 - 7 angegeben werden

  • 1000 Minimize-delay
  • 0100 Maximize throughput
  • 0010 Maximize reliability
  • 0001 Minimize monetary costs
  • 0000 Normal service
  • Bit 7 ohne Bedeutung (reserviert)

Servicetypen werden nicht von allen Routern unterstützt

Gesamtlänge

Länge des Paketes in Byte inklusive Header
  • Maximale Paketgröße 65.535 Byte (16 Bit - Feld)

Identifikation

Eine eindeutige Identifikation (Zähler)

  • Diese Kennungen sollten sich nur nach längeren Zeitabständen wiederholen
    • um nicht mit verspäteten PDU in Konflikt zu kommen

TTL

Time To Live
Anzahl der Router, die ein IP-Datagramm passieren darf

Problem

  • Beim Routen durch vermaschte Netze, können Datagramme/ Fragmente ziellos und unendlich lange kreisen
  • Die verbrauchten Ressourcen können ein Netzwerk bis zum Stillstand belasten

Lösung

  • Jeder Knoten (Router) verringert diesen Wert um mindestens 1
  • Hält ein Router ein Paket länger als eine Sekunde, verringert er die TTL um 1 je weitere Sekunde
  • Bei Erreichen des Wertes "0", wird Paket verworfen

Sender-IP-Adresse

32-Bit IP-Adresse (IPv4)
Unabhängig von zugrundeliegender Netztechnologie
  • Das Internet-Protokoll definiert also eine rein logische Netztopologie
Vergabe der IP-Adressen
  • wird international von der IANA (Internet Assigned Numbers Association) geregelt
  • die IANA verteilt die Organisation auf mehrere Unterorganisationen
  • Die in Europa zuständige Organisation ist das RIPE (Réseaux IP Européens)

Empfänger-IP-Adresse

Flags

DF, MF

DF (Don‘t Fragment)
  • 0 = May Fragment
  • 1 = Don‘t Fragment
MF (More Fragment)
  • 0 = Last Fragment
  • 1 = More Fragment

Fragment Offset

Fragmentabstand
  • Länge relativ zum Beginn des ursprünglichen Datagrams

Protokoll

Nummer des Transportprotokolls

Legt fest, welches Protokoll für die Weiterverarbeitung auf 03 zuständig ist (demultiplexing)

  • gemäß RFC 1700 (Assigned Numbers)
  • /etc/protocol
  • %SYSTEMROOT%\system32\drivers\etc\protocol
Ausgewählte IP-Protokollnummern

Header-Prüfsumme

Prüfsumme
  • wird über den gesamten IP Header berechnet
Berechnung beim Sender
  • setze das checksum Feld auf 0
  • XOR über alle 16-bit Worte im Header
  • das Ergebnis wird bitweise invertiert und stellt dann den Wert für das checksum Feld dar
Check beim Emfänger
  • XOR über alle 16-bit Worte im Header (inkl. checksum)
  • OK, wenn im Ergebnis alle bits auf 1 stehen

Nutzdaten

  • Segmente und Datagramme höherer Protokolle
  • Meist TCP oder UDP

Optionen

Erweiterbarkeit des Headers

  • Variable Länge (max. 40 Byte)

Source Routing

  • Liste von Routern, die ein Datagram durchlaufen soll
  • Der genommene Weg wird aufgezeichnet (max. 9 Hops)
loose

Die Angegebenen IP Adressen müssen nicht benachbart sein

strict

Die Angegebenen IP Adressen müssen benachbart sein

  • sonst wird das Paket verworfen und eine ICMP source route failed Nachricht an den Sender geschickt
  • Source Routing ist nahezu überall abgeschaltet, da es ein Sicherheitsrisiko darstellt (IP Spoofing)

Record Route

Router hängen ihre IP-Adresse an das Optionsfeld an

Zeitstempel

IP-Adresse und Zeitpunkt des Durchlaufes werden aufgezeichnet

Padding

Auffüllen des Wortes auf 32-Bit

Payload

Anhang

Siehe auch


Dokumentation

Links

Weblinks