IPv4/Header: Unterschied zwischen den Versionen
K Textersetzung - „==== Dokumentation ====“ durch „=== Dokumentation ===“ |
|||
(57 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
''' | '''{{BASEPAGENAME}}''' - Metadaten eines [[IP-Datagramm]]s | ||
== Beschreibung == | == Beschreibung == | ||
{{:IPv4/Header/Format}} | |||
; 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 | * 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 | * Im Typfeld des Ethernet-Frames wird für IPv4 ''0800<sub>16</sub>'' eingetragen | ||
; | ; 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) | * 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) | * Daten im Feld ''Optionen'' können den Header auf maximal 60 Byte (in 32-Bit-Worten) verlängern (selten) | ||
== Version == | |||
Version des IP-Protokolls | |||
* Hier Version 4 | * 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 | * 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 | ||
== 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 | 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 | ||
Zeile 227: | 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 == | |||
=== Servicetypen === | |||
[[File:ipServicetypes.png|200px]] | [[File:ipServicetypes.png|200px]] | ||
Zeile 241: | Zeile 51: | ||
Servicetypen werden nicht von allen Routern unterstützt | 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 | * 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 == | |||
; Time To Live | ; Time To Live | ||
: Anzahl der Router, die ein IP-Datagramm passieren darf | : Anzahl der Router, die ein IP-Datagramm passieren darf | ||
Problem | |||
* Beim Routen durch vermaschte Netze, können Datagramme/ Fragmente ziellos und unendlich lange kreisen | * 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 | * Die verbrauchten Ressourcen können ein Netzwerk bis zum Stillstand belasten | ||
Lösung | |||
* Jeder Knoten (Router) verringert diesen Wert um mindestens 1 | * 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 | * Hält ein Router ein Paket länger als eine Sekunde, verringert er die TTL um 1 je weitere Sekunde | ||
* Bei Erreichen des Wertes | * Bei Erreichen des Wertes "0", wird Paket verworfen | ||
== Sender-IP-Adresse == | |||
; 32-Bit IP-Adresse (IPv4) | ; 32-Bit IP-Adresse (IPv4) | ||
Zeile 274: | 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 == | |||
== Flags == | |||
=== DF, MF === | |||
; DF (Don‘t Fragment) | ; DF (Don‘t Fragment) | ||
* 0 = May Fragment | * 0 = May Fragment | ||
Zeile 285: | Zeile 95: | ||
* 1 = More Fragment | * 1 = More Fragment | ||
== Fragment Offset == | |||
; Fragmentabstand | ; Fragmentabstand | ||
* Länge relativ zum Beginn des ursprünglichen Datagrams | * Länge relativ zum Beginn des ursprünglichen Datagrams | ||
== Protokoll == | |||
; Nummer des Transportprotokolls | ; Nummer des Transportprotokolls | ||
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 | * /etc/protocol | ||
Zeile 298: | Zeile 108: | ||
; Ausgewählte IP-Protokollnummern | ; Ausgewählte IP-Protokollnummern | ||
== Header-Prüfsumme == | |||
; Prüfsumme | ; Prüfsumme | ||
* wird über den gesamten IP Header berechnet | * wird über den gesamten IP Header berechnet | ||
Zeile 309: | Zeile 119: | ||
* OK, wenn im Ergebnis alle bits auf 1 stehen | * OK, wenn im Ergebnis alle bits auf 1 stehen | ||
== Nutzdaten == | |||
* Segmente und Datagramme höherer Protokolle | * Segmente und Datagramme höherer Protokolle | ||
* Meist TCP oder UDP | * Meist TCP oder UDP | ||
== Optionen == | |||
Erweiterbarkeit des Headers | Erweiterbarkeit des Headers | ||
* Variable Länge (max. 40 Byte) | * Variable Länge (max. 40 Byte) | ||
Zeile 337: | Zeile 147: | ||
=== Payload === | === Payload === | ||
<noinclude> | <noinclude> | ||
== Anhang == | == Anhang == | ||
=== Siehe auch === | === Siehe auch === | ||
{{Special:PrefixIndex/ | <div style="column-count:3"> | ||
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> | |||
</div> | |||
---- | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}/}} | |||
=== Dokumentation === | |||
<!-- | |||
; Man-Page | |||
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)] | |||
; Info-Pages | |||
--> | |||
; | === Links === | ||
==== Weblinks ==== | |||
==== | |||
[[Kategorie:new]] | |||
</noinclude> | </noinclude> |
Aktuelle Version vom 24. Mai 2025, 16:21 Uhr
IPv4/Header - Metadaten eines IP-Datagramms
Beschreibung
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 | Padding | |||||||||||||||||||||||||||||||
- 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
- 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)
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
- dessen erste sechs Bit als differentiated services code point (DSCP) und
- dessen letzte beiden Bit als explicit congestion notification (ECN) benutzt werden
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