next up previous contents
Next: Fragmentierung Up: Das Internet Protokoll IP Previous: Charakteristika

Subsections

Der Aufbau von IP-Datagrammen

Abbildung 2 zeigt den Aufbau eines IP-Datagramms.


 
Abbildung 2:  Format eines IP-Datagramms
\begin{figure}
\begin{center}
{\tt
\noindent
0\makebox[23ex]{}1\makebox[23ex]{}2...
 ...bf\sf DATEN}\ \hline\end{tabular*}\end{sf}\end{center}\vspace{-3mm}\end{figure}

Header

Ein Datagrammheader besteht aus fünf oder mehr 32-bit Wörtern. Die maximale Größe eines Headers ist 15 Worte, das sind 60 Octets. In der Praxis beschränken sich die meisten Header aber auf die Mindestlänge.

Die einzelnen Felder des Headers sind in Abbildung 2 dargestellt.

Angabe von Quelle, Ziel und Protokoll

Die wichtigsten Angaben im Header sind die Adressen von Quelle und Ziel sowie die des verwendeten Protokolls. Tabelle 4 zeigt die Codes für die wichtigsten Protokolle.


 
Tabelle:  Gängige Belegungen für das IP Protocol-Feld
Nr Name   Beschreibung
1 ICMP Internet Control Message Protocol Zur Übertragung von Fehlermeldungen und Unterstützung von einigen Tools
2 IGMP Internet Group Management Protocol Zur Unterstützung von Mehrfachempfängern
6 TCP Transmission Control Protocol Anwendungsorientiert
17 UDP User Datagram Protocol Zur Übertragung von einzelnen Datenpaketen

Die IP-Adresse des Zielhosts ermöglicht es IP, das Datagramm zu routen; der Inhalt des Protocol-Felds ermöglicht es dem IP des Zielhosts, das Datagramm an den richtigen Service des darüberliegendes Transportlayers zu übermitteln.

Version, Headerlänge und Datagrammlänge

Im Versionsfeld wird die Version des verwendeten IP-Protokolls angegeben. (Momentan ist das Version 4.)

Die Angabe der Headerlänge erfolgt in Einheiten von 32 Bit Wörtern. Wenn das Datagramm keine Optionen enthält, dann ist die Headerlänge gleich fünf Wörtern, das sind 20 Octets. Wenn eine oder mehrere Optionen angegeben sind, dann kann es notwendig sein, daß der Header bis zur Grenze des aktuellen 32 Bit Wortes mit Nullen aufgefüllt werden muß.

Die Datagrammlänge wird in Octets angegeben, wobei auch der Header mitgezählt wird. Aufgrund der Länge des Feldes (16 Bit) können hier Werte bis 65.535 eingetragen werden, was in der Praxis aber nicht vorkommt: Ein IP-Datagramm kann ja höchstens so groß sein wie die MTU des nächsten Hops.

Priorität und Type of Service

Die acht Bits, die Priorität und Type of Service angeben, sind aufgeteilt, wie in Tabelle 5 angegeben.


 
Tabelle:  Priorität und Type of Service
Bits Typ Beschreibung
0-2 Priorität Acht verschiedene Stufen
    Stufe 0 ist normal
    Stufe 7 bedeutet höchste Priorität
3-6 TOS Verzögerung, Verläßlichkeit,
    Durchsatz, Kosten, Sicherheit
7 Reserviert für zukünftige Nutzung  

Die drei Bits, die die Priorität eines Datagramms angegeben, wurden ursprünglich vom amerikanischen Verteidigungsministerium initiiert, außerhalb des militärischen Bereichs werden sie aber kaum benutzt.

Das Type of Service-Bits enthalten Informationen über die Art und Weise, wie ein Datagramm von einem Router behandelt werden soll. Ein überlasteter Router beispielsweise kann anhand des TOS-Feldes bestimmen, welche Pakete weniger wichtig sind und (und daher eher verworfen werden können) und welche unbedingt weitergleitet werden sollen. Die Werte für das TOS-Feld sind in Tabelle 6 zusammengefaßt.


 
Tabelle 6:  Type of Service-Werte
TOS-Wert Bedeutung
0000 Standard
0001 Minimale finanzielle Kosten
0010 Maximale Verläßlichkeit
0100 Maximaler Datendurchsatz
1000 Minimale Verzögerung
1111 Maximale Sicherheit

Time To Live

Wenn ein Fehler im Netzwerk auftritt, kann es passieren, daß Datagramme auf falsche oder kreisförmige Routen gelenkt werden. Zu diesem Zweck gibt es das Time To Live-Feld (TTL), das die Zeit, die ein Datagramm im Netz kursieren kann, begrenzt. Ursprünglich als Angabe von Sekunden definiert, gibt das TTL die maximale Anzahl von Hops an, die durchlaufen werden können. Jeder Router dekrementiert das TTL-Feld eines Datagramms, das er weiterleitet. Ein Datagramm, dessen TTL-Feld 0 ist, wird verworfen.

Headerprüfsumme

Dieses 16 Bit breite Feld enthält eine Prüfsumme, anhand derer die Integrität des Headers überprüft werden kann. Diese Prüfsumme ist definiert als das 16-Bit-Einerkomplement der Summe der 16-Bit-Einerkomplemente aller 16-Bit-Worte des Headers.

Jeder Router muß diese Prüfsumme neu berechnen und setzen, da sich der Header zumindest durch Dekrementierung des TTL-Feldes bei jedem Routing ändert.


next up previous contents
Next: Fragmentierung Up: Das Internet Protokoll IP Previous: Charakteristika
Bernd Leinfelder
1/6/1998