| 
				     | 
				
| (118 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | 
| Zeile 1: | 
Zeile 1: | 
 | '''topic''' - Beschreibung  |  | '''{{BASEPAGENAME}}''' - Metadaten eines [[IP-Datagramm]]s  | 
 |  |    | 
 | == Beschreibung ==  |  | == Beschreibung ==  | 
 | === Paketlänge ===
  |  | ; IPv4-Header ist mindestens (meist) 20 Bytes lang  | 
 | 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 ==
  |  | ; Ethernet  | 
 | ; Der IPv4-Header ist meist 20 Bytes lang  |  | Im [[Typfeld]] des [[Ethernet/Frame|Ethernet-Frame]]s wird für IPv4 ''0800<sub>16</sub>''  | 
 | * 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 bietet verschiedene, größtenteils ungenutzte Optionen, die den Header bis auf 60 Bytes (in 4-Byte-Schritten) verlängern können
  |  | == Header-Felder ==  | 
 | * Ohne Optionen ist der IPv4-Header 20 Bytes lang
  |  | <!--  | 
 | * Wortlänge 32 Bit (4 Byte)
  |  | [[IPv4/Header/Format]]  | 
 | * Daten im Feld ''Optionen'' können den Header auf maximal 60 Byte (in 32-Bit-Worten) verlängern (selten)
  |  | -->  | 
 |  | {{:IPv4/Header/Format}}  | 
 | 
  |  | 
  | 
 | {| class="wikitable" \n! style="text-align:center !important; font-weight: normal;" "width="3%"| 00
  |  | === Beschreibung ===  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 01
  |  | {| class="wikitable sortable options big"  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 02
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 03
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 04
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 05
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 06
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 07
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 08
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 09
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 10
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 11
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 12
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 13
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 14
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 15
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 16
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 17
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 18
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 19
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 20
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 21
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 22
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 23
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 24
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 25
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 26
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 27
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 28
  |  | 
 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 29
  |  | 
 | ! 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%"|
  |  | 
 | |-
  |  | 
 | | 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:#ffbfc0;" colspan="6"| [[IPv4/Header#Differentiated Services Code Point | DSCP]]
  |  | 
 | | style="background-color:#ffbfc0;" colspan="2"| [[IPv4/Header#ECN | ECN]]
  |  | 
 | | 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="background-color:#fff1b0;" colspan="16"| [[IPv4/Header#Identifikation|Identifikation]]
  |  | 
 | | 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:#adfff6;" colspan="8"| [[IPv4/Header#TTL|TTL]]
  |  | 
 | | 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:#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:#fff1b0;" colspan="24"| [[IPv4/Header#Optionen|Optionen]]
  |  | ! Feld !! Beschreibung  | 
 | |style="background-color:#d6c4ff;" colspan="8"| [[IPv4/Header#Padding|Padding]]
  |  | 
 | |-  |  | |-  | 
 | |style="background-color:#d9e4ff;" colspan="32" |  |  | | <span id="Version"></span>Version || Version des IP-Protokolls  | 
 |    |  | 
 | [[IPv4/Header#Payload|Payload]]
  |  | 
 |    |  | 
 | |}
  |  | 
 |    |  | 
 | == Header-Felder ==
  |  | 
 | {| class="wikitable sortable options"
  |  | 
 | |-
  |  | 
 | ! Option !! Beschreibung
  |  | 
 | |-
  |  | 
 | | Version ||
  |  | 
 | * Version des IP-Protokolls
  |  | 
 | * Hier Version 4  |  | * Hier Version 4  | 
 | |-  |  | |-  | 
 | | Internet Header Length ||  |  | | <span id="IHL"></span>IHL || Internet Header Length  | 
 | * IHL
  |  | 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  | 
 |  |  | 
 | |-  |  | |-  | 
 | | Differentiated Services Code Point ||  |  | | <span id="DSCP"></span>DSCP || Differentiated Services Code Point  | 
 | * DSCP  |  | 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  |  | * 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]]  | 
 | ; 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  ||  |  | | Gesamtlänge || Länge des Paketes in Byte inklusive Header  | 
 | * Die Länge des Paketes in Byte inklusive Protokoll-Kopf
  |  | * Maximale Paketgröße 65.535 Byte (16 Bit - Feld)  | 
 | * 16 Bit – Feld (Maximale Paketgröße = 65.535 Byte)  |  | 
 | |-  |  | |-  | 
 | | Identifikation ||  |  | | <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  | 
 | |-  |  | |-  | 
 | | TTL ||  |  | | <span id="Flags"></span>Flags ||DF (Don‘t Fragment)  | 
 | ; 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  |  | * 0 = May Fragment  | 
 | * 1 = Don‘t Fragment  |  | * 1 = Don‘t Fragment  | 
 | ; MF (More Fragment)
  |  |    | 
 |  | MF (More Fragment)  | 
 | * 0 = Last Fragment  |  | * 0 = Last Fragment  | 
 | * 1 = More Fragment  |  | * 1 = More Fragment  | 
 | |-  |  | |-  | 
 | | Fragment Offset ||  |  | | <span id="Fragment Offset"></span>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  |  | | <span id="TTL"></span>TTL || Time To Live  | 
 | * Legt fest, welches Protokoll für die Weiterverarbeitung auf 03 zuständig ist (demultiplexing)
  |  | * Anzahl der Router, die ein IP-Datagramm passieren darf  | 
 | * 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 (''[[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 ===
  |  | Problem  | 
 | * 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  |  | * 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
  |  | 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 „0“, wird Paket verworfen  |  | * Bei Erreichen des Wertes "0", wird Paket verworfen  | 
 |    |  | |-  | 
 | === Sender-IP-Adresse ===  |  | | <span id="Protokoll"></span>Protokoll || Nummer des Transportprotokolls  | 
 | ; 32-Bit IP-Adresse (IPv4)
  |  | Legt fest, welches Protokoll für die Weiterverarbeitung auf 03 zuständig ist (demultiplexing)  | 
 |    |  | 
 | ; 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)  |  | * gemäß RFC 1700 (Assigned Numbers)  | 
 | *  /etc/protocol  |  | * /etc/protocol  | 
 | *  %SYSTEMROOT%\system32\drivers\etc\protocol  |  | * %SYSTEMROOT%\system32\drivers\etc\protocol  | 
 |    |  | |-  | 
 | ; Ausgewählte IP-Protokollnummern
  |  | | <span id="Header-Prüfsumme"></span>Header-Prüfsumme || Prüfsumme  | 
 |  | Wird über den gesamten IP Header berechnet  | 
 | 
  |  | 
  | 
 | === Header-Prüfsumme ===
  |  | Berechnung beim Sender  | 
 | ; 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
  |  |    | 
 |  | 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)  | 
 | 
  |  | 
  | 
 | === Nutzdaten ===  |  | |-  | 
 | * Segmente und Datagramme höherer Protokolle  |  | | <span id="Empfänger-IP-Adresse"></span>Empfänger-IP-Adresse ||   | 
 | * Meist TCP oder UDP  |  | |-  | 
 |  | | <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)  | 
 | 
  |  | 
  | 
 | === 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)  | 
 | ; loose
  |  |    | 
 | Die Angegebenen IP Adressen müssen nicht benachbart sein  |  | loose  | 
 | ; strict
  |  | * 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 ====
  |  |    | 
 |  |    | 
 |  | Record Route  | 
 |  |    | 
 | Router hängen ihre IP-Adresse an das Optionsfeld an  |  | Router hängen ihre IP-Adresse an das Optionsfeld an  | 
 | 
  |  | 
  | 
 | ==== Zeitstempel ====
  |  | Zeitstempel  | 
 |  |    | 
 | IP-Adresse und Zeitpunkt des Durchlaufes werden aufgezeichnet  |  | IP-Adresse und Zeitpunkt des Durchlaufes werden aufgezeichnet  | 
 | 
  |  | 
  | 
 | === Padding ===  |  | |-  | 
 | Auffüllen des Wortes auf 32-Bit  |  | |<span id="Padding"></span>Padding || Auffüllen des Wortes auf 32-Bit  | 
 |  | |}  | 
 | 
  |  | 
  | 
 | === Payload ===
  |  | == Payload ==  | 
 |  | ; Nutzdaten  | 
 |  | * [[Segment]] (TCP)  | 
 |  | * [[Datagramm]] (UDP)  | 
 |  | * …   | 
 | 
  |  | 
  | 
 | <noinclude>  |  | <noinclude>  | 
 | == Anhang ==
  |  |    | 
 |  | = Anhang =  | 
 |  |    | 
 | === Siehe auch ===  |  | === Siehe auch ===  | 
 | {{Special:PrefixIndex/IPv4}}  |  | <div style="column-count:2">  | 
 |  | <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  | 
 |  | -->  | 
 | 
  |  | 
  | 
 | ==== Sicherheit ====  |  | === Links ===  | 
 | === Dokumentation ===  |  | ==== Weblinks ====  | 
 | ===== RFC =====
  |  | # https://de.wikipedia.org/wiki/IP-Paket  | 
 | ; Man-Page
  |  | 
 | ;Info-Page
  |  | 
 | ==== Links ====
  |  | 
 | ===== Projekt =====
  |  | 
 | ===== Weblinks =====
  |  | 
 | 
  |  | 
  | 
 | [[Kategorie:IPv4/Header]]  |  | [[Kategorie:IPv4/Header]]  | 
 |  |  | 
 | </noinclude>  |  | </noinclude>  |