Das IP-Protokoll

Das IP-Protokoll ist Teil der Internet-Schicht] aus der Protokollfolge TCP/IP. Es ist eins der wichtigsten Internet-Protokolle.

Die Aufgabe des IP Protokolls

Das IP-Protokoll (Internet Protocol) erlaubt die Bereitstellung und den Transport der IP-Datagramme (die Datenpakete), allerdings ohne sie zu "liefern". Vielmehr bearbeitet das IP-Protokoll die IP-Datagramme losgelöst voneinander, wobei Handlung, Routing und Verschickung definiert werden.

Das IP-Protokoll bestimmt den Nachrichtenadressaten anhand von drei Feldern.

Das Feld IP-Adresse: Das ist die Rechneradresse.

Das Feld Subnetzmaske (bei IPv4) bzw. Präfixlänge (bei IPv6): Eine Subnetzmaske zeigt dem IP-Protokoll die IP-Adressenportion an, die das Netz betrifft.

Das Feld Gateway per default: Es zeigt dem Internet-Protokoll (falls die Station nicht lokal liegt), an welchen Rechner die Datagramme abgegeben werden.

Die Datagramme

Die Daten durchqueren das Internet in Form von Datagrammen (man spricht auch von Paketen). Ein Datagramm besteht aus verkapselten Daten, das heißt Daten mit einem angesetzten Header, der Transportinformationen wiedergibt, wie die Ziel-IP-Adresse).

Die in den Datagrammen enthaltenen Daten werden analysiert (und eventuell geändert) von den Routern, die sie durchqueren.

So sieht ein Datagramm aus:


<--
32 bit -->
Version
(4 bit)
Headerlänge
(4 bit)
Dienstart
(8 bit)
Gesamtlänge
(16 bit)
Identifikation
(16 bit)
Flag
(3 bit)
Fragmentverschiebung
(13 bit)
Lebensdauer
(8 bit)
Protokoll
(8 bit)
Header Checksumme
(16 bit)
Quell-IP-Adresse (32 Bit)
Ziel-IP-Adresse (32 Bit)
Daten

Nachfolgend die Bedeutung der einzelnen Felder:

Version (4 Bit): Dies ist die eingesetzte Version des IP-Protokolls (aktuell Version 4 IPv4 oder IPv6) zwecks Validierung des Datagramms.

Headerlänge oder IHL (Internet Header Length) (4 Bit): Sie gibt die Anzahl der 32-Bit-Worte im Header an (der kleinste Wert ist 5).

Dienstart (8 Bit): Gibt an, wie mit dem Datagramm verfahren wird.

Gesamtlänge (16 Bit): Enthält die Gesamtlänge des Datagramms in Bytes. Das Feld ist zwei Byte breit und die Datagramm-Gesamtgröße darf 65.536 Bytes nicht überschreiten. Zusammen mit der Header-Größe erlaubt das Feld, den Datenort herauszufinden.

Identifikation, Flags und Fragmentverschiebung: Das sind Felder zur Fragmentierung des Datagramms. Sie werden weiter unten erläutert.

Lebensdauer oder TTL (Time To Live) (8 Bit): Das Feld gibt die höchste Anzahl der Router an, die ein Datagramm durchlaufen kann. So wird das Feld bei jedem Router-Durchlauf dekrementiert und vom Router zerstört, wenn es 0 erreicht. Dies verhindert eine Netzverstopfung durch verlorengegangene Datagramme.

Protokoll (8 Bit): Das Feld spiegelt in dezimaler Schreibweise das Protokoll, aus dem das Datagramm stammt (ICMP = 1, IGMP = 2, TCP = 6, UDP = 17).

Header-Kontroll-Checksumme (header checksum) (16 Bit): Das Feld enthält einen 16-Bit-Wert zur Kontrolle der Header-Integrität und legt fest, ob er unterwegs nicht verfälscht wurde. Die Checksumme wird aus dem Komplement aus jedem der 16-Bit-Worte im Header (Feld Checksumme ausgeschlossen). Diese Checksumme wird über sämtliche Header-Felder berechnet (einschließlich Checksumme), so dass das Ergebnis eine Zahl ist, deren Bits alle auf 1 stehen.

Quell-IP-Adresse (32 Bit): Das Feld ist die IP-Adresse der Sendestation und dient dem Adressaten bei seiner Antwort.

Ziel-IP-Adresse (32 Bit): IP-Adresse vom Ziel der Nachricht.

IP-Datagrammfragmentierung

Wie schon erwähnt beläuft sich die Größe eines Datagramms auf 65.536 Bytes. Jedoch wird dieser Wert nie erreicht, da die Netze nicht die Fähigkeit besitzen, Pakete mit dieser Größe zu versenden. Außerdem benutzen die Internet-Netze verschiedene Technologien, so dass die Größe eines Datagramms von der jeweiligen Netzart abhängt.

Die maximale Größe eines Frames heißt MTU (Maximum Transfer Unit). Diese erzwingt die Fragmentierung eines Datagramms, wenn es eine Größe erreicht, die höher ist als die Netz-MTU.

Netzart MTU (in Byte)
Arpanet 1000
Ethernet 1500
FDDI 4770

Die Fragmentierung eines Datagramms geschieht auf Höhe des Routers, das heißt beim Übergang von einem Netz mit großem MTU zu einem Netz mit kleinerem MTU. Wenn das Datagramm zu groß ist für das Netz, wird es vom Router fragmentiert, das heißt in Fragmente kleinerer Größe als die Netz-MTU zerstückelt, so dass jedes Fragment ein Vielfaches von 8 Byte wird.

Der Router schickt dann diese Fragmente unabhängig voneinander auf den Weg, und zwar so verkapselt - das Fragment mit einem Header versehen - , dass die neue Größe berücksichtigt wird. Außerdem vermittelt der Router ergänzende Informationen über die Art der Wiederzusammensetzung in der richtigen Reihenfolge. Es muss aber nicht sein, dass die Fragmente in der richtigen Reihenfolge wieder zusammengesetzt werden können, da sie ja unabhängig voneinander übertragen wurden.

Um der Fragmentierung entgegenzukommen, sind in jedem Datagramm mehrere Felder für die Defragmentierung vorgesehen.

Feld Fragment Versetzung (13 Bit): Enthüllt den Stellenanfang des Fragments im Ursprungsdatagramm. Die Feldgröße ist 8 Byte (davon das erste eine Null).

Feld Indentifikation (16 Bit): An jedes Fragment vergebene Nummer, damit zusammengesetzt werden kann.

Feld Gesamtlänge (16 Bit): Berechnet für jedes Fragment die Feld Flag.

Feld Flag (3 Bit): Davon ist das erste Bit unbenutzt. Das zweite heißt DF (Don't Fragment) und gibt an, ob das Datagramm fragmentiert werden darf. Wenn das Bit auf 1 steht und der Router nicht imstande ist, das Datagramm weiterzuleiten, wird das Datagramm mit einer Fehlermeldung zerstört. Das dritte Bit heißt MF (More Fragments), also so viel wie Fragmente folgen noch), und zeigt an, ob das ein Datenfragment ist, dann steht es auf 1. Steht es auf 0, ist das Fragment das letzte. Der Router müsste demnach im Besitz aller vorigen Fragmente sein oder das Datagramm wurde keiner Fragmentierung unterzogen.

Das IP-Routing

Das IP-Routing ist Teil der IP-Schicht in der TCP/IP Familie. Das Routing besteht aus dem Verlinken von IP-Datagrammen durch das Netz, in dem sie den kürzesten Weg nehmen. Dies geschieht durch Router, also Geräte, die mindestens zwei Netze verbinden.

Foto: © Olivier Le Moal - Shutterstock.com

Unsere Inhalte werden in Zusammenarbeit mit IT-Experten erstellt, unter der Leitung von Jean-François Pillou, Gründer von CCM.net. CCM ist eine führende internationale Technologie-Webseite und in elf Sprachen verfügbar.
Das Dokument mit dem Titel « Das IP-Protokoll » wird auf CCM (de.ccm.net) unter den Bedingungen der Creative Commons-Lizenz zur Verfügung gestellt. Unter Berücksichtigung der Lizenzvereinbarungen dürfen Sie das Dokument verwenden, verändern und kopieren, wenn Sie dabei CCM deutlich als Urheber kennzeichnen.