Ipv4: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(33 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | Ipv4 Header | + | =Ipv4 Header= |
{|class="wikitable" style="text-align:center; | {|class="wikitable" style="text-align:center; | ||
Zeile 23: | Zeile 23: | ||
|colspan="26"|Options | |colspan="26"|Options | ||
|colspan="6"|Paddings | |colspan="6"|Paddings | ||
− | |||
− | |||
|} | |} | ||
+ | |||
=Felder= | =Felder= | ||
− | Die Felder des in der Abbildung dargestellten Protokollkopfes haben die | + | *Die Felder des in der Abbildung dargestellten Protokollkopfes haben die folgende Bedeutung: |
− | folgende Bedeutung: | ||
==Version== | ==Version== | ||
− | Das Versions-Feld enthält die Versionsnummer des IP-Protokolls. | + | *Das Versions-Feld enthält die Versionsnummer des IP-Protokolls. |
− | + | *Einige Hosts können mit der alten und andere mit der neuen Version arbeiten. | |
− | + | *Die derzeitige Versionsnummer ist 4 | |
− | + | *Die Version 6 des IP Protokolls wird immer mehr eingesetzt | |
− | Version arbeiten. Die derzeitige Versionsnummer ist 4 | ||
− | Version 6 des IP Protokolls | ||
=Length= | =Length= | ||
− | Das Feld Length (Internet Header Length - IHL) enthält die Länge des | + | *Das Feld Length (Internet Header Length - IHL) enthält die Länge des Protokollkopfs, da diese nicht konstant ist. |
− | Protokollkopfs, da diese nicht konstant ist. Die Länge wird in 32-Bit- | + | *Die Länge wird in 32-Bit- Worten angegeben. |
− | Worten angegeben. Der kleinste zulässige Wert ist 5 - das entspricht | + | *Der kleinste zulässige Wert ist 5 - das entspricht also 20 Byte |
− | also 20 Byte | + | *In diesem Fall sind im Header keine Optionen gesetzt. |
− | Die Länge des Headers kann sich durch Anfügen von Optionen | + | *Die Länge des Headers kann sich durch Anfügen von Optionen aberbis auf 60 Byte erhöhen |
− | + | *Der Maximalwert für das 4-Bit-Feld ist 15 | |
+ | |||
=Type of Service= | =Type of Service= | ||
− | Über das Feld Type of Service kann IP angewiesen werden | + | *Über das Feld Type of Service kann IP angewiesen werden Nachrichten nach bestimmten Kriterien zu behandeln. |
− | Nachrichten nach bestimmten Kriterien zu behandeln. Als Dienste | + | *Als Dienste sind hier verschiedene Kombinationen aus Zuverlässigkeit und Geschwindigkeit möglich. |
− | sind hier verschiedene Kombinationen aus Zuverlässigkeit und | + | *In der Praxis wird dieses Feld aber ignoriert, hat also den Wert 0. Das Feld selbst hat den folgenden Aufbau: |
− | Geschwindigkeit möglich. In der Praxis wird dieses Feld aber ignoriert, | ||
− | hat also den Wert 0. Das Feld selbst hat den folgenden Aufbau: | ||
[[Bild:Service.png]] | [[Bild:Service.png]] | ||
=Precedence= | =Precedence= | ||
− | (Bits 0-2) gibt die Priorität von 0 (normal) bis 7 (Steuerungspaket) an. | + | *(Bits 0-2) gibt die Priorität von 0 (normal) bis 7 (Steuerungspaket) an. |
− | Die drei Flags (D,T,R) ermöglichen es dem Host anzugeben, worauf er | + | *Die drei Flags (D,T,R) ermöglichen es dem Host anzugeben, worauf er bei der Datenübertragung am meisten Wert legt: |
− | bei der Datenübertragung am meisten Wert legt: Verzögerung (Delay | + | *Verzögerung (Delay - D) |
− | - D) | + | *Durchsatz (Throughput - T) |
− | beiden anderen Bit-Felder sind reserviert. | + | *Zuverlässigkeit (Reliability - R). |
+ | *Die beiden anderen Bit-Felder sind reserviert. | ||
+ | |||
=Total Length= | =Total Length= | ||
− | Enthält die gesamte Paketlänge, d.h. Header und Daten. Da es sich | + | *Enthält die gesamte Paketlänge, d.h. Header und Daten. |
− | hierbei um ein 16-Bit-Feld handelt ist die Maximallänge eines | + | *Da es sich hierbei um ein 16-Bit-Feld handelt ist die Maximallänge eines Datengramms auf 65.535 Byte begrenzt. |
− | Datengramms auf 65.535 Byte begrenzt. In der Spezifikation von IP | + | *In der Spezifikation von IP (RFC 791) ist festgelegt, daß jeder Host in der Lage sein muß, |
− | (RFC 791) ist festgelegt, daß jeder Host in der Lage sein muß, Pakete | + | *Pakete bis zu einer Länge von 576 Bytes zu verarbeiten. |
− | bis zu einer Länge von 576 Bytes zu verarbeiten. In der Regel können | + | *In der Regel können von den Host aber Pakete größerer Länge verarbeitet werden. |
− | von den Host aber Pakete größerer Länge verarbeitet werden. | + | |
− | + | =Fragmentierung= | |
− | + | *[[Fragmentierung]] | |
− | |||
− | |||
− | |||
− | = | ||
− | |||
− | |||
− | |||
− | |||
− | Fragmentierung | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=Time to Live= | =Time to Live= | ||
− | + | *[[IP Time to Live]] | |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=Protocol= | =Protocol= | ||
− | Enthält die Nummer des Transportprotokolls, an das das Paket | + | *Enthält die Nummer des Transportprotokolls, an das das Paket weitergeleitet werden muß. |
− | weitergeleitet werden muß. Die Numerierung von Protokollen ist im | + | *Die Numerierung von Protokollen ist im gesamten Internet einheitlich. |
− | gesamten Internet einheitlich. | + | *Bei UNIX-Systemen sind die Protokollnummern in der Datei /etc/protocols abgelegt. |
− | Protokollnummern in der Datei /etc/protocols abgelegt. | + | *Beispiele: |
+ | **ICMP 1 | ||
+ | **TCP 6 | ||
+ | **UDP 17 | ||
+ | **ESP 50 | ||
+ | |||
=Header Checksum= | =Header Checksum= | ||
− | Dieses Feld enthält die Prüfsumme der Felder im IP-Header. Die | + | *Dieses Feld enthält die Prüfsumme der Felder im IP-Header. |
− | Nutzdaten des IP-Datengramms werden aus Effiziengründen nicht mit | + | *Die Nutzdaten des IP-Datengramms werden aus Effiziengründen nicht mit geprüft. |
− | geprüft. Diese Prüfung findet beim Empfänger innerhalb des | + | *Diese Prüfung findet beim Empfänger innerhalb des Transportprotokolls statt. |
− | Transportprotokolls statt. Die Prüfsumme muß von jedem Netzknoten, | + | *Die Prüfsumme muß von jedem Netzknoten, der durchlaufen wird, neu berechnet werden, da der IP-Header durch das Feld Time-to-Live sich bei jeder Teilstrecke verändert. |
− | der durchlaufen wird, neu berechnet werden, da der IP-Header durch | + | *Aus diesem Grund ist auch eine sehr effiziente Bildung der Prüfsumme wichtig. |
− | das Feld Time-to-Live sich bei jeder Teilstrecke verändert. Aus diesem | + | *Als Prüfsumme wird das 1er-Komplement der Summe aller 16-Bit- Halbwörter der zu überprüfenden Daten verwendet. |
− | Grund ist auch eine sehr effiziente Bildung der Prüfsumme wichtig. Als | + | *Zum Zweck dieses Algorithmus wird angenommen, daß die Prüfsumme zu Beginn der Berechnung Null ist. |
− | Prüfsumme wird das 1er-Komplement der Summe aller 16-Bit- | + | |
− | Halbwörter der zu überprüfenden Daten verwendet. Zum Zweck | ||
− | dieses Algorithmus wird angenommen, daß die Prüfsumme zu Beginn | ||
− | der Berechnung Null ist. | ||
=Source Address, Destination Address= | =Source Address, Destination Address= | ||
− | In diese Felder werden die 32-Bit langen Internet-Adressen zur | + | *In diese Felder werden die 32-Bit langen Internet-Adressen zur eingetragen. |
− | eingetragen. Die Internet-Adressen werden im nächsten Abschnitt | + | *Die Internet-Adressen werden im nächsten Abschnitt näher betrachtet. |
− | näher betrachtet. | + | |
=Options und Padding= | =Options und Padding= | ||
− | Das Feld Options wurde im Protokollkopf aufgenommen, | + | *Das Feld Options wurde im Protokollkopf aufgenommen,um weitere Informationen zu ergänzen. |
− | + | *Das Optionsfeld hat eine variable Länge. | |
− | ergänzen | + | *Jede Option beginnt mit einem Code von einem Byte, über den die Option identifiziert wird. |
− | Das Optionsfeld hat eine variable Länge. Jede Option beginnt mit | + | *Manchen Optionen folgt ein weiteres Optionsfeld von 1 Byte und dann ein oder mehrere Datenbytes für die Option. |
− | einem Code von einem Byte, über den die Option identifiziert wird. | + | *Das Feld Options wird über das Padding auf ein Vielfaches von 4 Byte aufgefüllt. |
− | Manchen Optionen folgt ein weiteres Optionsfeld von 1 Byte und dann | + | |
− | ein oder mehrere Datenbytes für die Option. Das Feld Options wird | + | ===End of Options List=== |
− | über das Padding auf ein Vielfaches von 4 Byte aufgefüllt. | + | * Kennzeichnet das Ende der Optionsliste. |
− | + | ||
− | =End of Options List= | + | ===No Option=== |
− | Kennzeichnet das Ende der Optionsliste. | + | *Kann zum Auffüllen von Bits zwischen Optionen verwendet werden. |
− | =No Option= | + | |
− | Kann zum Auffüllen von Bits zwischen Optionen verwendet werden. | + | ===Security=== |
− | =Security= | + | *Bezeichnet, wie geheim ein Datengramm ist. In der Praxis wird diese Option jedoch fast immer ignoriert. |
− | Bezeichnet, wie geheim ein Datengramm ist. In der Praxis wird diese | + | |
− | Option jedoch fast immer ignoriert. | + | ===Loose Source-Routing, Strict Source-Routing=== |
− | =Loose Source-Routing, Strict Source-Routing= | + | *Diese Option enthält eine Liste von Internet-Adressen, die dasDatagramm durchlaufen soll. |
− | Diese Option enthält eine Liste von Internet-Adressen, die | + | *Auf diese Weise kann dem Datenpaket vorgeschrieben werden eine bestimmte Route durch das Internet zu nehmen. |
− | + | *Beim Source-Routing wird zwischen Strict Source and Record Route und Loose Source and Record Route unterschieden. | |
− | vorgeschrieben werden eine bestimmte Route durch das Internet zu | + | |
− | nehmen. Beim Source-Routing wird zwischen Strict Source and Record | + | ===Record Route=== |
− | Route und Loose Source and Record Route unterschieden. | + | *Die Knoten, die dieses Datengramm durchläuft, werden angewiesen ihre IP-Adresse an das Optionsfeld anzuhängen. |
− | + | ||
− | + | ===Time Stamp=== | |
− | + | *Diese Option ist mit der Option Record Route vergleichbar. | |
− | + | *Zusätzlich zur IP-Adresse wird bei dieser Option die Uhrzeit des Durchlaufs durch den Knoten vermerkt. | |
− | |||
− | =Record Route= | ||
− | Die Knoten, die dieses Datengramm durchläuft, werden angewiesen | ||
− | ihre IP-Adresse an das Optionsfeld anzuhängen. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | =Time Stamp= | ||
− | Diese Option ist mit der Option Record Route vergleichbar. Zusätzlich | ||
− | zur IP-Adresse wird bei dieser Option die Uhrzeit des Durchlaufs durch | ||
− | den Knoten vermerkt. |
Aktuelle Version vom 26. Oktober 2023, 05:34 Uhr
Ipv4 Header
32 Bit | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Version | Length | Type of Service | Total Length | ||||||||||||||||||||||||||||
Identification | Flags | Fragment Offset | |||||||||||||||||||||||||||||
Time to Live | Protocol | Header Checksum | |||||||||||||||||||||||||||||
Source Address | |||||||||||||||||||||||||||||||
Destination Address | |||||||||||||||||||||||||||||||
Options | Paddings |
Felder
- Die Felder des in der Abbildung dargestellten Protokollkopfes haben die folgende Bedeutung:
Version
- Das Versions-Feld enthält die Versionsnummer des IP-Protokolls.
- Einige Hosts können mit der alten und andere mit der neuen Version arbeiten.
- Die derzeitige Versionsnummer ist 4
- Die Version 6 des IP Protokolls wird immer mehr eingesetzt
Length
- Das Feld Length (Internet Header Length - IHL) enthält die Länge des Protokollkopfs, da diese nicht konstant ist.
- Die Länge wird in 32-Bit- Worten angegeben.
- Der kleinste zulässige Wert ist 5 - das entspricht also 20 Byte
- In diesem Fall sind im Header keine Optionen gesetzt.
- Die Länge des Headers kann sich durch Anfügen von Optionen aberbis auf 60 Byte erhöhen
- Der Maximalwert für das 4-Bit-Feld ist 15
Type of Service
- Über das Feld Type of Service kann IP angewiesen werden Nachrichten nach bestimmten Kriterien zu behandeln.
- Als Dienste sind hier verschiedene Kombinationen aus Zuverlässigkeit und Geschwindigkeit möglich.
- In der Praxis wird dieses Feld aber ignoriert, hat also den Wert 0. Das Feld selbst hat den folgenden Aufbau:
Precedence
- (Bits 0-2) gibt die Priorität von 0 (normal) bis 7 (Steuerungspaket) an.
- Die drei Flags (D,T,R) ermöglichen es dem Host anzugeben, worauf er bei der Datenübertragung am meisten Wert legt:
- Verzögerung (Delay - D)
- Durchsatz (Throughput - T)
- Zuverlässigkeit (Reliability - R).
- Die beiden anderen Bit-Felder sind reserviert.
Total Length
- Enthält die gesamte Paketlänge, d.h. Header und Daten.
- Da es sich hierbei um ein 16-Bit-Feld handelt ist die Maximallänge eines Datengramms auf 65.535 Byte begrenzt.
- In der Spezifikation von IP (RFC 791) ist festgelegt, daß jeder Host in der Lage sein muß,
- Pakete bis zu einer Länge von 576 Bytes zu verarbeiten.
- In der Regel können von den Host aber Pakete größerer Länge verarbeitet werden.
Fragmentierung
Time to Live
Protocol
- Enthält die Nummer des Transportprotokolls, an das das Paket weitergeleitet werden muß.
- Die Numerierung von Protokollen ist im gesamten Internet einheitlich.
- Bei UNIX-Systemen sind die Protokollnummern in der Datei /etc/protocols abgelegt.
- Beispiele:
- ICMP 1
- TCP 6
- UDP 17
- ESP 50
Header Checksum
- Dieses Feld enthält die Prüfsumme der Felder im IP-Header.
- Die Nutzdaten des IP-Datengramms werden aus Effiziengründen nicht mit geprüft.
- Diese Prüfung findet beim Empfänger innerhalb des Transportprotokolls statt.
- Die Prüfsumme muß von jedem Netzknoten, der durchlaufen wird, neu berechnet werden, da der IP-Header durch das Feld Time-to-Live sich bei jeder Teilstrecke verändert.
- Aus diesem Grund ist auch eine sehr effiziente Bildung der Prüfsumme wichtig.
- Als Prüfsumme wird das 1er-Komplement der Summe aller 16-Bit- Halbwörter der zu überprüfenden Daten verwendet.
- Zum Zweck dieses Algorithmus wird angenommen, daß die Prüfsumme zu Beginn der Berechnung Null ist.
Source Address, Destination Address
- In diese Felder werden die 32-Bit langen Internet-Adressen zur eingetragen.
- Die Internet-Adressen werden im nächsten Abschnitt näher betrachtet.
Options und Padding
- Das Feld Options wurde im Protokollkopf aufgenommen,um weitere Informationen zu ergänzen.
- Das Optionsfeld hat eine variable Länge.
- Jede Option beginnt mit einem Code von einem Byte, über den die Option identifiziert wird.
- Manchen Optionen folgt ein weiteres Optionsfeld von 1 Byte und dann ein oder mehrere Datenbytes für die Option.
- Das Feld Options wird über das Padding auf ein Vielfaches von 4 Byte aufgefüllt.
End of Options List
- Kennzeichnet das Ende der Optionsliste.
No Option
- Kann zum Auffüllen von Bits zwischen Optionen verwendet werden.
Security
- Bezeichnet, wie geheim ein Datengramm ist. In der Praxis wird diese Option jedoch fast immer ignoriert.
Loose Source-Routing, Strict Source-Routing
- Diese Option enthält eine Liste von Internet-Adressen, die dasDatagramm durchlaufen soll.
- Auf diese Weise kann dem Datenpaket vorgeschrieben werden eine bestimmte Route durch das Internet zu nehmen.
- Beim Source-Routing wird zwischen Strict Source and Record Route und Loose Source and Record Route unterschieden.
Record Route
- Die Knoten, die dieses Datengramm durchläuft, werden angewiesen ihre IP-Adresse an das Optionsfeld anzuhängen.
Time Stamp
- Diese Option ist mit der Option Record Route vergleichbar.
- Zusätzlich zur IP-Adresse wird bei dieser Option die Uhrzeit des Durchlaufs durch den Knoten vermerkt.