Ipv4: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
Zeile 103: Zeile 103:
 
* Kennzeichnet das Ende der Optionsliste.
 
* Kennzeichnet das Ende der Optionsliste.
  
==No Option===
+
===No Option===
 
*Kann zum Auffüllen von Bits zwischen Optionen verwendet werden.
 
*Kann zum Auffüllen von Bits zwischen Optionen verwendet werden.
  

Version vom 27. Juni 2023, 08:38 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
Data

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:

Service.png

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.