next up previous contents
Nächste Seite: IPv6-Protokoll Aufwärts: Grundlagen Vorherige Seite: Vergleich von TCP und   Inhalt

IPv4-Protokoll

Das IP-Protokoll ist das Protokoll der Internetschicht im TCP/IP-Referenzmmodell. IPv4 bezeichnet die vierte Version dieses Protokolls. Das IP-Protokoll legt den Aufbau eines IP-Datagramms fest. Ein IP-Datagramm unterteilt sich in einen Header und einen Textteil. Der Header wiederum besteht aus einem 20 Byte langen Teil und einem optionalen Teil variabler Länge, siehe Abb. 5.

Abb. 5: Aufbau des IPv4-Headers
\includegraphics[]{ipv4.eps}
Das erste Feld im Header ist die Versionsnummer des Datagramms. Somit ist es möglich, dass in einem Netzwerk Maschinen mit unterschiedlichen Protokollversionen arbeiten können, ohne Kompatibilitätsprobleme zu verursachen.

Das Feld IHL gibt die Länge des gesamten Headers in 32-Bit-Worten an. Der Wert dieses Feldes beträgt mindestens 5 und maximal 15, daraus ergibt sich eine Header-Länge von 20 bis 60 Byte. Der optionale Teil des Headers kann also von 0 Byte bis maximal 40 Byte groß sein.

Type of Service gibt den gewünschten Dienst an. Hier kann der Sender des Pakets verschiedene Kombinationen aus Zuverlässigkeit und Geschwindigkeit der Übertragung wählen. Zum Beispiel ist für Voice over IP eine möglichst schnelle Übertragung wichtiger als die absolute Sicherheit. Dieses Feld wird jedoch von fast allen Routern im Internet ignoriert, so dass dieses Feld für praktische Anwendungen keine Bedeutung hat.

Das Feld Total Length gibt die Länge des Datagramms mit Header und Daten an. Ein Datagramm kann insgesamt maximal 65.535 Byte lang sein.

Identification dient der Zuordnung von Fragmenten zu den Datagrammen. Alle Fragmente eines Datagramms erhalten den gleichen Identification-Wert und können so von der Zielmaschine wieder korrekt zusammengesetzt werden.

DF und MF sind zwei 1-Bit Felder. Ein gesetztes DF (Don't Fragment) Bit bedeutet, dass dieses Datagramm nicht fragmentiert werden darf. D.h. die Router müssen das betreffende Datagramm im ganzen weiterleiten, ohne es zu fragmentierten. Das MF (More Fragments) Bit gibt an, ob von einem Datagramm noch mehr Fragmente folgen. D.h. das MF Bit ist in allen Fragmenten eines Datagramms gesetzt, nur im letzten Fragment nicht.

Fragment Offset gibt an, an welche Stelle des Datagramms das Fragment gehört. Diese Information ist wichtig, um die Fragmente wieder richtig zusammensetzen zu können.

Das Feld Time to Live ist ein Zähler, der die Lebensdauer von Paketen im Netz begrenzen soll. Damit verirrte Pakete nicht unendlich lange weitergeleitet werden und somit eine Belastung für das gesamte Netz darstellen. Der Zähler startet bei einem Wert von 255 und wird von jedem Router um 1 verringert. Wenn der Zähler Null erreicht, wird das Paket vernichtet und ein Warnpaket an den Sender geschickt.

Das Feld Protokoll gibt an, an welchen Prozess der Transportschicht ein empfangenes Datagramm von der Internetschicht weitergeleitet werden soll. Die wichtigsten Dienste sind hierbei TCP und UDP.

Die Header Checksum dient dem Erkennen von Fehlern im Header. Die Checksum betrifft nur den Header und nicht den Datenteil, für die Korrektur von Fehlern im Datenteil ist das TCP-Protokoll auf der Transportschicht verantwortlich.

Das Feld Source Address gibt die IP-Adresse des Senders und Destination Address die des Empfängers an, siehe Abb. 6. Diese Kodierung ist für jeden Host und Router im Internet eindeutig. Somit können die Datagramme eindeutig an die im Feld Destination Address angegebene Zieladresse weitergeleitet werden. Jede IP-Adresse ist 32-Bit lang und besteht aus zwei Teilen, der Netzadresse/-nummer und der Adresse des Hosts im Netzwerk. IP-Adressen können auch als vier durch Punkte getrennte Dezimalzahlen geschrieben werden. Jede der Dezimalzahlen repräsentiert ein Byte und kann folglich Werte von 0 bis 255 annehmen. Die ''kleinste'' IP-Adresse in dieser Darstellung ist 0.0.0.0 und die ''größte'' 255.255.255.255. IP-Adressen werden in Klassen aufgeteilt, je nach Größe des adressierten Netzwerks (Vgl. Abb. 6). Die Klasse wird in den ersten Bits der Adresse kodiert.

Abb. 6: Klasseneinteilung der IP-Adressen bei IPv4


\includegraphics[]{ipadressen.eps}
Der optionale Teil des Headers Options dient Erweiterungen des Protokolls, um neue Eigenschaften und Funktionen. Die bekanntesten Optionen des IP-Protokolls sind ''Security'', ''Strict Source Routing'', ''Loose Source Routing'', ''Record Route'' und ''Time Stamp''. Diese sind jedoch nicht von praktischer Bedeutung, da sie von fast keinem Router unterstützt werden.


next up previous contents
Nächste Seite: IPv6-Protokoll Aufwärts: Grundlagen Vorherige Seite: Vergleich von TCP und   Inhalt
Robert Hoehndorf 2002-06-18