Zum Inhalt springen

IPv4/Header: Unterschied zwischen den Versionen

Aus Foxwiki
 
(16 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 3: Zeile 3:
== Beschreibung ==
== Beschreibung ==
; IPv4-Header ist mindestens (meist) 20 Bytes lang
; 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 0800<sub>16</sub> festgelegt ist
* Auf anderen Übertragungsmedien und Protokollen kann der Header auch der erste Eintrag sein
* Im Typfeld des Ethernet-Frames wird für IPv4 ''0800<sub>16</sub>'' eingetragen


{{:IPv4/Header/Format}}
; Ethernet
Im [[Typfeld]] des [[Ethernet/Frame|Ethernet-Frame]]s wird für IPv4 ''0800<sub>16</sub>''


== Header-Felder ==
<!--
[[IPv4/Header/Format]]
[[IPv4/Header/Format]]
-->
{{:IPv4/Header/Format}}


== Header-Felder ==
=== Beschreibung ===
{| class="wikitable sortable options big"
{| class="wikitable sortable options big"
|-
|-
! Feld !! Beschreibung
! Feld !! Beschreibung
|-
|-
| Version || Version des IP-Protokolls
| <span id="Version"></span>Version || Version des IP-Protokolls
* Hier Version 4
* Hier Version 4
|-
|-
| IHL || Internet Header Length
| <span id="IHL"></span>IHL || Internet Header Length
Länge des IP-Protokoll-Kopfes in 32-Bit-Worten an
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
Zeile 26: Zeile 27:


|-
|-
| DSCP || Differentiated Services Code Point
| <span id="DSCP"></span>DSCP || Differentiated Services Code Point
Eine spezielle Bedeutung kommt in modernen Implementierungen dem früheren Feld ''Type of Service'' (ToS) im zweiten Oktett des IPv4-Headers zu
Das ToS-Feld wurde durch das DS-Feld (''[[DiffServ|differentiated services]]'') ersetzt
* 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
* 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
* 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 (''[[DiffServ|differentiated services]]'') ersetzt
* dessen erste sechs Bit als ''differentiated services code point'' (DSCP) und
* dessen letzte beiden Bit als ''[[Explicit Congestion Notification|explicit congestion notification]]'' (ECN) benutzt werden
|-
|-
| ECN ||  
| <span id="ECN"></span>ECN || [[Explicit Congestion Notification|explicit congestion notification]]
|-
|-
| Gesamtlänge || Länge des Paketes in Byte inklusive Header
| Gesamtlänge || 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 || Eine eindeutige Identifikation (Zähler)
| <span id="Identifikation"></span>Identifikation || 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
|-
|-
| Flags ||  
| <span id="Flags"></span>Flags ||DF (Don‘t Fragment)
DF (Don‘t Fragment)
* 0 = May Fragment
* 0 = May Fragment
* 1 = Don‘t Fragment
* 1 = Don‘t Fragment
Zeile 54: Zeile 50:
* 1 = More Fragment
* 1 = More Fragment
|-
|-
| Fragment Offset || Fragmentabstand
| <span id="Fragment Offset"></span>Fragment Offset || Fragmentabstand
* Länge relativ zum Beginn des ursprünglichen Datagrams
* Länge relativ zum Beginn des ursprünglichen Datagrams
|-
|-
| TTL || Time To Live
| <span id="TTL"></span>TTL || Time To Live
* Anzahl der Router, die ein IP-Datagramm passieren darf
* Anzahl der Router, die ein IP-Datagramm passieren darf


Zeile 69: Zeile 65:
* Bei Erreichen des Wertes "0", wird Paket verworfen
* Bei Erreichen des Wertes "0", wird Paket verworfen
|-
|-
| Protokoll || Nummer des Transportprotokolls
| <span id="Protokoll"></span>Protokoll || 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)
* gemäß RFC 1700 (Assigned Numbers)
* gemäß RFC 1700 (Assigned Numbers)
Zeile 75: Zeile 71:
* %SYSTEMROOT%\system32\drivers\etc\protocol
* %SYSTEMROOT%\system32\drivers\etc\protocol
|-
|-
| Header-Prüfsumme || Prüfsumme
| <span id="Header-Prüfsumme"></span>Header-Prüfsumme || Prüfsumme
Wird über den gesamten IP Header berechnet
Wird über den gesamten IP Header berechnet


Zeile 87: Zeile 83:
* OK, wenn im Ergebnis alle bits auf 1 stehen
* OK, wenn im Ergebnis alle bits auf 1 stehen
|-
|-
| Sender-IP-Adresse || 32-Bit IPv4-Adresse
| <span id="Sender-IP-Adresse"></span>Sender-IP-Adresse || 32-Bit IPv4-Adresse


Unabhängig von zugrundeliegender Netztechnologie
Unabhängig von zugrundeliegender Netztechnologie
Zeile 98: Zeile 94:


|-
|-
| Empfänger-IP-Adresse ||  
| <span id="Empfänger-IP-Adresse"></span>Empfänger-IP-Adresse ||  
|-
|-
| Optionen || Ggrößtenteils ungenutzt
| <span id="Optionen"></span>Optionen ||Größtenteils ungenutzt
* [[#Optionen|Optionen]]
* [[#Optionen|Optionen]]
* können den Header bis auf 60 Bytes (in 4-Byte-Schritten) verlängern
* können den Header bis auf 60 Bytes (in 4-Byte-Schritten) verlängern
Zeile 123: Zeile 119:
* sonst wird das Paket verworfen und eine ICMP source route failed Nachricht an den Sender geschickt
* 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)
* Source Routing ist nahezu überall abgeschaltet, da es ein Sicherheitsrisiko darstellt (IP Spoofing)




Zeile 134: Zeile 131:


|-
|-
| Padding || Auffüllen des Wortes auf 32-Bit
|<span id="Padding"></span>Padding || Auffüllen des Wortes auf 32-Bit
|}
|}


== Payload ==
== Payload ==
; Nutzdaten
; Nutzdaten
Segment (TCP) oder Datagramme (UDP) höherer Protokolle
* [[Segment]] (TCP)
 
* [[Datagramm]] (UDP)
* …


<noinclude>
<noinclude>
Zeile 147: Zeile 145:


=== Siehe auch ===
=== Siehe auch ===
<div style="column-count:3">
<div style="column-count:2">
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree>
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree>
</div>
</div>

Aktuelle Version vom 30. Juni 2025, 14:26 Uhr

IPv4/Header - Metadaten eines IP-Datagramms

Beschreibung

IPv4-Header ist mindestens (meist) 20 Bytes lang
Ethernet

Im Typfeld des Ethernet-Frames wird für IPv4 080016

Header-Felder

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

Beschreibung

Feld Beschreibung
Version Version des IP-Protokolls
  • Hier Version 4
IHL Internet Header Length

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
DSCP Differentiated Services Code Point

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

  • 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
ECN explicit congestion notification
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
Flags 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
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
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
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
Sender-IP-Adresse 32-Bit IPv4-Adresse

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

  • IANA verteilt die Organisation auf mehrere Unterorganisationen
  • Für Europa ist dies das RIPE (Réseaux IP Européens)
Empfänger-IP-Adresse
Optionen Größtenteils ungenutzt
  • Optionen
  • können den Header bis auf 60 Bytes (in 4-Byte-Schritten) verlängern

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)

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

Nutzdaten


Anhang

Siehe auch


Dokumentation

Links

Weblinks

  1. https://de.wikipedia.org/wiki/IP-Paket