IPv4/Header: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
== Header-Format ==
== Beschreibung ==
* Ohne Optionen ist ein IPv4-Header 20 Bytes lang
* Ohne Optionen ist ein IPv4-Header 20 Bytes lang
* Wortlänge 32 Bit (4 Byte)
* Wortlänge 32 Bit (4 Byte)
* Daten im Feld ''Optionen'' können den Header auf maximal 60 Bytes (in 32-Bit-Worten) verlängern (selten)
* Daten im Feld ''Optionen'' können den Header auf maximal 60 Bytes (in 32-Bit-Worten) verlängern (selten)
* Im Typfeld des Ethernet-Frames wird für IPv4 ''0800<sub>16</sub>'' eingetragen
* Im Typfeld des Ethernet-Frames wird für IPv4 ''0800<sub>16</sub>'' eingetragen




Zeile 46: Zeile 45:
[[File:ipHeaderEng.png|600px]]
[[File:ipHeaderEng.png|600px]]


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


=== Länge ===
== Länge ==
* Dieses Feld gibt die Länge des IP-Protokoll-Kopfes in 32-Bit-Worten an
* Dieses Feld gibt die Länge des IP-Protokoll-Kopfes in 32-Bit-Worten an
* Die minimale Länge beträgt 5 Worte, was auch der Normalfall ist
* Die minimale Länge beträgt 5 Worte, was auch der Normalfall ist
* Vergrößerung durch Angabe von Optionen
* Vergrößerung durch Angabe von Optionen


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


Zeile 72: Zeile 71:
* Das ToS-Feld wurde durch das DS-Feld (''[[DiffServ|differentiated services]]'') ersetzt, dessen erste sechs Bits als ''differentiated services code point'' (DSCP) und dessen letzte beiden Bits als ''[[Explicit Congestion Notification|explicit congestion notification]]'' (ECN) benutzt werden.
* Das ToS-Feld wurde durch das DS-Feld (''[[DiffServ|differentiated services]]'') ersetzt, dessen erste sechs Bits als ''differentiated services code point'' (DSCP) und dessen letzte beiden Bits als ''[[Explicit Congestion Notification|explicit congestion notification]]'' (ECN) benutzt werden.


=== Paketlänge  ===
== Paketlänge  ==
* Die Länge des Paketes in Byte inklusive Protokoll-Kopf
* Die Länge des Paketes in Byte inklusive Protokoll-Kopf
: 16 Bit – Feld (Maximale Paketgröße = 65.535 Byte)
: 16 Bit – Feld (Maximale Paketgröße = 65.535 Byte)


=== Identifikation ===
== Identifikation ==
* Eine eindeutige Identifikation (Zähler)
* 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.
* Diese Kennungen sollten sich nur nach längeren Zeitabständen wiederholen, um nicht mit verspäteten PDU in Konflikt zu kommen.


=== Paketübertragung im Internet ===
== Paketübertragung im Internet ==


=== TTL ===
== TTL ==
; Time To Live
; Time To Live
* Dieses Feld gibt an, wie lange das Paket maximal unterwegs sein darf
* Dieses Feld gibt an, wie lange das Paket maximal unterwegs sein darf
Zeile 95: Zeile 94:
* Bei Erreichen des Wertes „0“, wird Paket verworfen
* Bei Erreichen des Wertes „0“, wird Paket verworfen


=== Sender- und Empfänger-Adressen ===
== Sender- und Empfänger-Adressen ==
* 32-Bit IP-Adresse (IPv4)
* 32-Bit IP-Adresse (IPv4)


Zeile 106: Zeile 105:
* 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)


=== DF, MF und Fragmentabstand ===
== DF, MF und Fragmentabstand ==
; DF (Don‘t Fragment)
; DF (Don‘t Fragment)
* 0 = May Fragment
* 0 = May Fragment
Zeile 116: Zeile 115:
* Länge relativ zum Beginn des ursprünglichen Datagram
* Länge relativ zum Beginn des ursprünglichen Datagram


=== 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 125: Zeile 124:
; Ausgewählte IP-Protokollnummern
; Ausgewählte IP-Protokollnummern


=== Weitere Felder ===
== Weitere Felder ==
; Prüfsumme  
; Prüfsumme  
* wird über den gesamten IP Header berechnet
* wird über den gesamten IP Header berechnet
Zeile 136: Zeile 135:
* 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


=== Optionen ===
== Optionen ==
Erweiterbarkeit des Headers
Erweiterbarkeit des Headers
* Variable Länge (max. 40 Byte)
* Variable Länge (max. 40 Byte)


==== Source Routing ====
=== Source Routing ===
* Liste von Routern, die ein Datagram durchlaufen soll
* Liste von Routern, die ein Datagram durchlaufen soll
* Der genommene Weg wird aufgezeichnet (max. 9 Hops)
* Der genommene Weg wird aufgezeichnet (max. 9 Hops)
Zeile 154: Zeile 153:
* Source Routing ist nahezu überall abgeschaltet, da es ein Sicherheitsrisiko darstellt (IP Spoofing)
* Source Routing ist nahezu überall abgeschaltet, da es ein Sicherheitsrisiko darstellt (IP Spoofing)


==== Record Route ====
=== Record Route ===
* Router hängen ihre IP-Adresse an das Optionsfeld an
* Router hängen ihre IP-Adresse an das Optionsfeld an


==== Zeitstempel ====
=== Zeitstempel ===
* Zusätzlich zur IP-Adresse wird die Uhrzeit des Durchlaufes angehangen
* Zusätzlich zur IP-Adresse wird die Uhrzeit des Durchlaufes angehangen


=== Füllzeichen ===
== Füllzeichen ==
Auffüllen des Wortes auf 32-Bit
Auffüllen des Wortes auf 32-Bit


[[Kategorie:IPv4]]
[[Kategorie:IPv4]]

Version vom 18. Oktober 2022, 23:30 Uhr

Beschreibung

  • Ohne Optionen ist ein IPv4-Header 20 Bytes lang
  • Wortlänge 32 Bit (4 Byte)
  • Daten im Feld Optionen können den Header auf maximal 60 Bytes (in 32-Bit-Worten) verlängern (selten)
  • Im Typfeld des Ethernet-Frames wird für IPv4 080016 eingetragen


0 4 8 14 16 19 24 28
Version IHL DSCP ECN Gesamtlänge
Identifikation Flags Fragment Offset
TTL Protokoll Header-Prüfsumme
Quell-IP-Adresse
Ziel-IP-Adresse
Optionen
Nutzdaten


Datei:IpHeader.png


Datei:IpHeaderEng.png

Version

  • Version des IP-Protokolls
  • Hier Version 4

Länge

  • Dieses Feld gibt die 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

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

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, dessen erste sechs Bits als differentiated services code point (DSCP) und dessen letzte beiden Bits als explicit congestion notification (ECN) benutzt werden.

Paketlänge

  • Die Länge des Paketes in Byte inklusive Protokoll-Kopf
16 Bit – Feld (Maximale Paketgröße = 65.535 Byte)

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.

Paketübertragung im Internet

TTL

Time To Live
  • Dieses Feld gibt an, wie lange das Paket maximal unterwegs sein darf
Problem
  • Beim Routen durch vermaschte Netze, können Datagramme/ Fragmente ziellos und unendlich lange kreisen
  • Das verbraucht Ressourcen und kann Netzwerke 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- und Empfänger-Adressen

  • 32-Bit IP-Adresse (IPv4)
Unabhängig von der zugrunde liegenden Netztechnologie
  • Das Internet-Protokoll definiert also eine rein logische Netztopologie
Die 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)

DF, MF und Fragmentabstand

DF (Don‘t Fragment)
  • 0 = May Fragment
  • 1 = Don‘t Fragment
MF (More Fragment)
  • 0 = Last Fragment
  • 1 = More Fragment
Fragmentabstand
  • Länge relativ zum Beginn des ursprünglichen Datagram

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

Weitere Felder

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

  • Zusätzlich zur IP-Adresse wird die Uhrzeit des Durchlaufes angehangen

Füllzeichen

Auffüllen des Wortes auf 32-Bit