IPv4/Header: Unterschied zwischen den Versionen
(60 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
== Beschreibung == | == Beschreibung == | ||
; IPv4-Header ist mindestens (meist) 20 Bytes lang | ; IPv4-Header ist mindestens (meist) 20 Bytes lang | ||
; | ; 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}} | |||
== | === Beschreibung === | ||
Version des IP-Protokolls | {| class="wikitable sortable options big" | ||
|- | |||
! Feld !! Beschreibung | |||
|- | |||
| <span id="Version"></span>Version || Version des IP-Protokolls | |||
* Hier Version 4 | * Hier Version 4 | ||
|- | |||
= | | <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 | ||
* Vergrößerung durch Angabe von Optionen | * Vergrößerung durch Angabe von Optionen | ||
= | |- | ||
| <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 | ||
|- | |||
| <span id="ECN"></span>ECN || [[Explicit Congestion Notification|explicit congestion notification]] | |||
|- | |||
| 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) | ||
|- | |||
= | | <span id="Identifikation"></span>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 | ||
|- | |||
| <span id="Flags"></span>Flags ||DF (Don‘t Fragment) | |||
* 0 = May Fragment | |||
* 1 = Don‘t Fragment | |||
== | MF (More Fragment) | ||
* 0 = Last Fragment | |||
* 1 = More Fragment | |||
|- | |||
| <span id="Fragment Offset"></span>Fragment Offset || Fragmentabstand | |||
* Länge relativ zum Beginn des ursprünglichen Datagrams | |||
|- | |||
| <span id="TTL"></span>TTL || Time To Live | |||
* Anzahl der Router, die ein IP-Datagramm passieren darf | |||
Problem | Problem | ||
Zeile 72: | Zeile 64: | ||
* Hält ein Router ein Paket länger als eine Sekunde, verringert er die TTL um 1 je weitere Sekunde | * 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 | * Bei Erreichen des Wertes "0", wird Paket verworfen | ||
|- | |||
= | | <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) | ||
* | * /etc/protocol | ||
* | * %SYSTEMROOT%\system32\drivers\etc\protocol | ||
|- | |||
| <span id="Header-Prüfsumme"></span>Header-Prüfsumme || Prüfsumme | |||
Wird über den gesamten IP Header berechnet | |||
Berechnung beim Sender | |||
* setze das checksum Feld auf 0 | * setze das checksum Feld auf 0 | ||
* XOR über alle 16-bit Worte im Header | * XOR über alle 16-bit Worte im Header | ||
* das Ergebnis wird bitweise invertiert und stellt dann den Wert für das checksum Feld dar | * 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) | * XOR über alle 16-bit Worte im Header (inkl. checksum) | ||
* OK, wenn im Ergebnis alle bits auf 1 stehen | * OK, wenn im Ergebnis alle bits auf 1 stehen | ||
|- | |||
| <span id="Sender-IP-Adresse"></span>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) | |||
|- | |||
| <span id="Empfänger-IP-Adresse"></span>Empfänger-IP-Adresse || | |||
|- | |||
| <span id="Optionen"></span>Optionen ||Größtenteils ungenutzt | |||
* [[#Optionen|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 | Erweiterbarkeit des Headers | ||
* Variable Länge (max. 40 Byte) | * Variable Länge (max. 40 Byte) | ||
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) | ||
Die Angegebenen IP Adressen müssen nicht benachbart sein | loose | ||
* Die Angegebenen IP Adressen müssen nicht benachbart sein | |||
Die Angegebenen IP Adressen müssen 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 | * 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) | ||
Record Route | |||
Router hängen ihre IP-Adresse an das Optionsfeld an | Router hängen ihre IP-Adresse an das Optionsfeld an | ||
Zeitstempel | |||
IP-Adresse und Zeitpunkt des Durchlaufes werden aufgezeichnet | IP-Adresse und Zeitpunkt des Durchlaufes werden aufgezeichnet | ||
= | |- | ||
Auffüllen des Wortes auf 32-Bit | |<span id="Padding"></span>Padding || Auffüllen des Wortes auf 32-Bit | ||
|} | |||
== Payload == | |||
; Nutzdaten | |||
* [[Segment]] (TCP) | |||
* [[Datagramm]] (UDP) | |||
* … | |||
<noinclude> | <noinclude> | ||
= Anhang = | |||
=== Siehe auch === | === Siehe auch === | ||
<div style="column-count: | <div style="column-count:2"> | ||
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> | <categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> | ||
</div> | </div> | ||
Zeile 169: | Zeile 160: | ||
=== Links === | === Links === | ||
==== Weblinks ==== | ==== Weblinks ==== | ||
# https://de.wikipedia.org/wiki/IP-Paket | |||
[[Kategorie:IPv4/Header]] | |||
[[Kategorie: | |||
</noinclude> | </noinclude> |
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 | |||||||
Beschreibung
Feld | Beschreibung |
---|---|
Version | Version des IP-Protokolls
|
IHL | Internet Header Length
Länge des IP-Protokoll-Kopfes in 32-Bit-Worten an
|
DSCP | Differentiated Services Code Point
Das ToS-Feld wurde durch das DS-Feld (differentiated services) ersetzt
|
ECN | explicit congestion notification |
Gesamtlänge | Länge des Paketes in Byte inklusive Header
|
Identifikation | Eine eindeutige Identifikation (Zähler)
|
Flags | DF (Don‘t Fragment)
MF (More Fragment)
|
Fragment Offset | Fragmentabstand
|
TTL | Time To Live
Problem
Lösung
|
Protokoll | Nummer des Transportprotokolls
Legt fest, welches Protokoll für die Weiterverarbeitung auf 03 zuständig ist (demultiplexing)
|
Header-Prüfsumme | Prüfsumme
Wird über den gesamten IP Header berechnet Berechnung beim Sender
Check beim Emfänger
|
Sender-IP-Adresse | 32-Bit IPv4-Adresse
Unabhängig von zugrundeliegender Netztechnologie
Vergabe der IP-Adressen Wird international von der IANA (Internet Assigned Numbers Association) geregelt
|
Empfänger-IP-Adresse | |
Optionen | Größtenteils ungenutzt
Ohne Optionen ist der IPv4-Header 20 Bytes lang
Erweiterbarkeit des Headers
Source Routing
loose
strict
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