IPv4/Header: Unterschied zwischen den Versionen

Aus Foxwiki
Markierung: Zurückgesetzt
K Textersetzung - „Man-Pages“ durch „Man-Page“
 
(39 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''topic''' kurze Beschreibung
'''topic''' - Beschreibung
== Beschreibung ==
== Beschreibung ==
=== Paketlänge ===
Ein [[IP-Paket]] besteht aus einem [[IP-Header|Header]] und den eigentlichen Daten
* Der Datenteil enthält in der Regel ein weiteres Protokoll, meist [[Transmission Control Protocol|TCP]], [[User Datagram Protocol|UDP]] oder [[Internet Control Message Protocol|ICMP]]
* Die maximale Länge eines IP-Pakets beträgt 65535 Bytes (2<sup>16</sup>−1), die maximale Datenlänge 65515 Bytes (Paketlänge – minimale Headerlänge von 20 Byte)
* Normalerweise beschränkt der Sender die Paketlänge auf diejenige des zugrundeliegenden Mediums
* Bei [[Ethernet]] beträgt die sogenannte [[Maximum Transmission Unit|MTU]] (''Maximum Transmission Unit'') 1500 Bytes, da ein Ethernet-Datenpaket maximal 1518 Bytes lang sein darf und 18 Bytes vom Ethernet selbst belegt werden
* Für IP (Header und Daten) stehen also nur 1500 Bytes zur Verfügung
* Deshalb ist die Länge von IP-Paketen oft auf 1500 Bytes festgesetzt
== Header-Format ==
== Header-Format ==
Der IPv4-Header ist normalerweise 20 Bytes lang.
; Der IPv4-Header ist 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.
* 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


IPv4 bietet verschiedene, größtenteils ungenutzte Optionen, die den Header bis auf 60 Bytes (in 4-Byte-Schritten) verlängern können.
; 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
* 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)


 
{| class="wikitable" \n! style="text-align:center !important; font-weight: normal;" "width="3%"| 00
{| class="header" border="1" cellpadding="4" cellspacing="0" style="text-align:center;margin:auto;"
! style="text-align:center !important; font-weight: normal;" "width="3%"| 00
! style="text-align:center !important; font-weight: normal;" "width="3%"| 01
! style="text-align:center !important; font-weight: normal;" "width="3%"| 01
! style="text-align:center !important; font-weight: normal;" "width="3%"| 02
! style="text-align:center !important; font-weight: normal;" "width="3%"| 02
Zeile 47: Zeile 53:
! style="text-align:center !important; font-weight: normal;" "width="3%"| 30
! style="text-align:center !important; font-weight: normal;" "width="3%"| 30
! style="text-align:center !important; font-weight: normal;" "width="3%"| 31
! style="text-align:center !important; font-weight: normal;" "width="3%"| 31
! style="text-align:center !important; font-weight: normal;" "width="3%" border="0" |  
! style="text-align:center !important; font-weight: normal;" "width="3%"|
|-
|-
| style="background-color:#d6c4ff;" colspan="4"| [[IPv4:Header#Version|Version]]
| style="background-color:#d6c4ff;" colspan="4"| [[IPv4/Header#Version|Version]]
| style="background-color:#dfffcb;" colspan="4"| [[IPv4:Header#Internet Header Length | IHL]]
| style="background-color:#dfffcb;" colspan="4"| [[IPv4/Header#Internet Header Length | IHL]]
| style="background-color:#ffbfc0;" colspan="6"| [[IPv4:Header#Differentiated Services Code Point | DSCP]]
| style="background-color:#ffbfc0;" colspan="6"| [[IPv4/Header#Differentiated Services Code Point | DSCP]]
| style="background-color:#ffbfc0;" colspan="2"| [[IPv4:Header#ECN | ECN]]
| style="background-color:#ffbfc0;" colspan="2"| [[IPv4/Header#ECN | ECN]]
| style="background-color:#b5bcff;" colspan="16"| [[IPv4:Header#Gesamtlänge|Gesamtlänge]]
| style="background-color:#b5bcff;" colspan="16"| [[IPv4/Header#Gesamtlänge|Gesamtlänge]]
! style="text-align:center !important; font-weight: normal;" "width="3%" rowspan="6"| H</br>e</br>a</br>d</br>e</br>r
! style="text-align:center !important; font-weight: normal;" "width="3%" rowspan="6"| H</br>e</br>a</br>d</br>e</br>r
|-
|-
| style="background-color:#fff1b0;" colspan="16"| [[IPv4:Header#Identifikation|Identifikation]]
| style="background-color:#fff1b0;" colspan="16"| [[IPv4/Header#Identifikation|Identifikation]]
| style="background-color:#d6c4ff;" colspan="3"| [[IPv4:Header#Flags|Flags]]
| style="background-color:#d6c4ff;" colspan="3"| [[IPv4/Header#Flags|Flags]]
| style="background-color:#fff1b0;" colspan="13"| [[IPv4:Header#Fragment Offset|Fragment Offset]]
| style="background-color:#fff1b0;" colspan="13"| [[IPv4/Header#Fragment Offset|Fragment Offset]]
|-
|-
| style="background-color:#adfff6;" colspan="8"| [[IPv4:Header#TTL|TTL]]
| style="background-color:#adfff6;" colspan="8"| [[IPv4/Header#TTL|TTL]]
| style="background-color:#efbcff;" colspan="8"| [[IPv4:Header#Protokoll|Protokoll]]
| style="background-color:#efbcff;" colspan="8"| [[IPv4/Header#Protokoll|Protokoll]]
| style="background-color:#b5bcff;" colspan="16"| [[IPv4:Header#Header-Prüfsumme|Header-Prüfsumme]]
| style="background-color:#b5bcff;" colspan="16"| [[IPv4/Header#Header-Prüfsumme|Header-Prüfsumme]]
|-
|-
|style="background-color:#d1ffac;" colspan="32"| [[IPv4:Header#Sender-IP-Adresse|Sender-IP-Adresse]]
|style="background-color:#d1ffac;" colspan="32"| [[IPv4/Header#Sender-IP-Adresse|Sender-IP-Adresse]]
|-
|-
|style="background-color:#ffbfc0;" colspan="32"| [[IPv4:Header#Empfänger-IP-Adresse|Empfänger-IP-Adresse]]
|style="background-color:#ffbfc0;" colspan="32"| [[IPv4/Header#Empfänger-IP-Adresse|Empfänger-IP-Adresse]]
|-
|-
|style="background-color:#fff1b0;" colspan="24"| [[IPv4:Header#Optionen|Optionen]]  
|style="background-color:#fff1b0;" colspan="24"| [[IPv4/Header#Optionen|Optionen]]
|style="background-color:#d6c4ff;" colspan="8"| [[IPv4:Header#Padding|Padding]]  
|style="background-color:#d6c4ff;" colspan="8"| [[IPv4/Header#Padding|Padding]]
|-
|-
|style="background-color:#d9e4ff;" colspan="32" |  
|style="background-color:#d9e4ff;" colspan="32" |


[[IPv4:Header#Payload|Payload]]
[[IPv4/Header#Payload|Payload]]


|}
|}


== Header-Felder ==
== Header-Felder ==
{| class="wikitable sortable options"
|-
! Option !! Beschreibung
|-
| 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 (''[[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 ||
; Servicetypen
[[File:ipServicetypes.png|200px]]
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  ||
* 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
|-
| 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 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)
|-
| 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 ||
|}
=== Version ===
=== Version ===
* Version des IP-Protokolls
* Version des IP-Protokolls
Zeile 89: Zeile 218:


=== 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
* 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
Das ToS-Feld wurde durch das DS-Feld (''[[DiffServ|differentiated services]]'') ersetzt
* dessen erste sechs Bits als ''differentiated services code point'' (DSCP) und
* 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
* dessen letzte beiden Bit als ''[[Explicit Congestion Notification|explicit congestion notification]]'' (ECN) benutzt werden


Zeile 137: Zeile 266:
; 32-Bit IP-Adresse (IPv4)
; 32-Bit IP-Adresse (IPv4)


; Unabhängig von der zugrunde liegenden Netztechnologie
; Unabhängig von zugrundeliegender Netztechnologie
* Das Internet-Protokoll definiert also eine rein logische Netztopologie
* Das Internet-Protokoll definiert also eine rein logische Netztopologie


; Die Vergabe der IP-Adressen
; Vergabe der IP-Adressen
* wird international von der IANA (Internet Assigned Numbers Association) geregelt
* wird international von der IANA (Internet Assigned Numbers Association) geregelt
* die IANA verteilt die Organisation auf mehrere Unterorganisationen
* die IANA verteilt die Organisation auf mehrere Unterorganisationen
Zeile 175: Zeile 304:
* 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
; Check beim Emfänger
* XOR über alle 16-bit Worte im Header (inkl. checksum)
* XOR über alle 16-bit Worte im Header (inkl. checksum)
Zeile 209: Zeile 338:
=== Payload ===
=== Payload ===


== Dokumentation ==
<noinclude>
=== RFC ===
== Anhang ==
=== Man-Pages ===
=== Siehe auch ===
=== Info-Pages ===
{{Special:PrefixIndex/IPv4}}
== Siehe auch ==
== Links ==
=== Projekt-Homepage ===
=== Weblinks ===
=== Einzelnachweise ===
<references />
== Testfragen ==
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 1''
<div class="mw-collapsible-content">'''Antwort1'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 2''
<div class="mw-collapsible-content">'''Antwort2'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 3''
<div class="mw-collapsible-content">'''Antwort3'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 4''
<div class="mw-collapsible-content">'''Antwort4'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 5''
<div class="mw-collapsible-content">'''Antwort5'''</div>
</div>


[[Kategorie:Entwurf]]
==== Sicherheit ====
==== Dokumentation ====
===== RFC =====
===== Man-Page =====
===== Info-Pages =====
==== Links ====
===== Projekt =====
===== Weblinks =====


[[Kategorie:IPv4]]
[[Kategorie:IPv4/Header]]
</noinclude>

Aktuelle Version vom 6. November 2024, 12:27 Uhr

topic - Beschreibung

Beschreibung

Paketlänge

Ein IP-Paket besteht aus einem Header und den eigentlichen Daten

  • Der Datenteil enthält in der Regel ein weiteres Protokoll, meist TCP, UDP oder ICMP
  • Die maximale Länge eines IP-Pakets beträgt 65535 Bytes (216−1), die maximale Datenlänge 65515 Bytes (Paketlänge – minimale Headerlänge von 20 Byte)
  • Normalerweise beschränkt der Sender die Paketlänge auf diejenige des zugrundeliegenden Mediums
  • Bei Ethernet beträgt die sogenannte MTU (Maximum Transmission Unit) 1500 Bytes, da ein Ethernet-Datenpaket maximal 1518 Bytes lang sein darf und 18 Bytes vom Ethernet selbst belegt werden
  • Für IP (Header und Daten) stehen also nur 1500 Bytes zur Verfügung
  • Deshalb ist die Länge von IP-Paketen oft auf 1500 Bytes festgesetzt

Header-Format

Der IPv4-Header ist 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
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)
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 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 Padding

Payload

Header-Felder

Option Beschreibung
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
  • 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
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 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)
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

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

  • 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

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

Sicherheit

Dokumentation

RFC
Man-Page
Info-Pages

Links

Projekt
Weblinks