Zum Inhalt springen

IPv4

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 22. September 2003 um 12:15 Uhr durch Hubi (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

IPv4 ist die vierte Version des Internet Protocols (IP). Es war die erste Version des Internet Protocols das weit verbreitet und eingesetzt wurde und bildet eine wichtige technische Grundlage des Internets. Es wurde in RFC791 im Jahr 1981 von Jon Postel definiert.

Adressformat

IPv4 benutzt 32-Bit Adressen, d.h. maximal sind 4.294.967.296 eindeutige Adressen möglich. IPv4-Adressen werden dezimal geschrieben (z.B. 80.130.234.185). Da diese IP-Adressen knapp werden, wurde IPv6 entwickelt, das aber heute 2003 noch nicht sehr verbreitet ist.

Eine IP-Adresse wird in einen Netzwerkteil und einen Host-(Adressen-)teil getrennt. Ein typisches Netzwerk trennt die 32-Bit in einen 24-Bit Netzwerk und einen 8-Bit Adressteil (Klasse-C Adressen). Der Adressteil wird im LAN (lokales Netzwerk) vergeben, der Netzwerkteil von der IANA zugeteilt. In einem Klasse-C Netzwerk sind 254 Geräteadressen verfügbar. Die Adresse 255 wird für Broadcast, d. h. Übertragung an alle, verwendet, die Adresse 0 für das Netzwerk selbst. Eine Netzmaske, im Klasse-C Fall 255.255.255.0 gibt die Trennlinie zwischen den Teilen an. Sie ist 1 für den Netzwerkteil und 0 für den Adressteil.

Die IANA vergibt folgende Adressbereiche

  0.0.0.0-126.255.255.225   Klasse A Netzwerk  (8-Bit Netzwerkteil, 24 Bit Hostteil)
128.0.0.0-191.255.255.255   Klasse B Netzwerk (16-Bit Netzwerkteil, 16 Bit Hostteil)
192.0.0.0-254.255.255.255   Klasse C Netzwerk (24-Bit Netzwerkteil,  8 Bit Hostteil)

Ein Teil der Adressen ist für den lokalen Rechner (127.x.x.x), für Multicasts (224.x.x.x) und für lokale Netzwerke mit Adressübersetzung (z. B. 10.x.x.x und 192.168.x.x), sowie allgemeiner Broadcast (255.255.255.255) reserviert.

Manchmal teilt der Eigentümer den ihm zugeteilten Adressteil lokal in weitere Subnetze auf (sogenanntes Subnetting). Dies dient der besseren Netzwerkausnutzung sowie der Fehlersuche.

Paketlänge

Ein IP-Paket besteht aus einem Header und den eigentlichen Daten. Die Daten können dabei ein weiteres Protokoll wie z. B. TCP enthalten. Die maximale Länge der Daten beträgt 65515 Bytes (216-1-minimale Headerlänge). Normalerweise beschränkt der Sender die Paketlänge auf diejenige des zugrundeliegenden Mediums. Bei Ethernet beträgt die sogenannte MTU (Maximum Transfer Unit) 1518 Bytes, wobei 18 Bytes von Ethernet selbst belegt werden. Für IP (Header und Daten) stehen also nur 1500 Bytes zur Verfügung.

Andere Netzwerke können die Paketlänge weiter beschränken. In diesem Fall bietet IP die Option, IP-Pakete zu fragmentieren. Jedes Paket erhält vom Sender eine Kennung (die Fragmentid). Ein Router kann ein langes Paket aufteilen, weil das Zielnetzwerk Pakete dieser Länge nicht überträgt. Der Empfänger kann die Fragmente anhand der Kennung und der Senderadresse identifizieren und wieder zusammenfügen.

Routing

IPv4 unterscheidet nicht zwischen Endgeräten (Hosts) und Vermittlungsgeräten (Router). Jeder Computer und jedes Gerät kann gleichzeitig Endpunkt und Router sein. Ein Router verbindet dabei verschiedene Netzwerke. Die Gesamtheit aller über Router verbundenen Netzwerk bildet das Internet.

IPv4 ist für LANs und WANs gleichermaßen geeignet. Ein Paket kann verschiedene Netzwerke vom Sender zum Empfänger durchlaufen, die Netzwerke sind durch Router verbunden. Anhand von Routingtabellen wird der Netzwerkteil einem Zielnetzwerk zugeordnet. Bei Überlastung eines Netzwerks oder einem anderen Fehler darf ein Router Pakete auch verwerfen. Pakete desselben Senders können bei Ausfall eines Netzwerks auch alternativ geroutet werden. Jedes Paket wird dabei einzeln geroutet, was zu einer erhöhten Ausfallsicherheit führt.

Beim Routing über IP können daher

  • einzelne Pakete verlorengehen
  • Pakete doppelt beim Empfänger ankommen
  • Pakete verschiedene Wege nehmen
  • Pakete fragmentiert beim Empfänger ankommen.

Wird TCP auf IP aufgesetzt (d. h. die Daten jedes IP-Pakets enthalten ein TCP-Paket, aufgeteilt in TCP-Header und Daten), so wird neben dem Aufheben der Längenbeschränkung auch der Paketverlust durch Wiederholung korrigiert. Doppelte Pakete werden erkannt und verworfen. Die Kombination TCP mit IP stellt dabei eine zuverlässige bidirektionale Verbindung eines Datenstroms dar.

ICMP

IP ist eng verknüpft mit dem ICMP-Protokoll, das zur Fehlersuche und Steuerung eingesetzt wird. Eine IP-Implementierung enthält stets auch eine ICMP Implementierung. Wichtig ist z. B. die ICMP Source-Quench Mitteilung, die einem Sender über das Verwerfen von Paketen durch einen Router informiert. Dadurch kann der Sender die Paketfrequenz verringern und so die Notwendigkeit eines weiteren Verwerfens minimieren oder vermeiden.

ICMP kann zusammen mit dem Don't Fragment-Bit des IP-Pakets auch eingesetzt werden, um die minimale MTU eines Übertragungsweges zu ermitteln (sogenannte PMTU Path Maximum Transfer Unit). Dies ist die MTU desjenigen Netzwerkes, das von einem Paket passiert wird und die kleiner als die der anderen Netzwerke ist. Dadurch kann auf Fragmentierung verzichtet werden, wenn der Sender nur Pakete mit der maximalen Größe der PMTU erzeugt.

Header Format

Der IPv4 Header ist normalerweise 20 Bytes lang. Bei Übertragung auf Ethernetkabeln folgt er dem Ethernet-Typfeld, das für IP-Pakete auf 080016 festgelegt ist. Auf anderen Übertragungsmedien kann der Header auch der erste Eintrag sein.

IPv4 bietet verschiedene, größtenteils ungenutzte Optionen, die den Header bis auf 60 Bytes (in 4-Byte Schritten) verlängern können.

0 4 8 12 16 19 24 32
Version IHL Type of Service Länge
Identifikation Flags Fragment Offset
TTL Protokoll Prüfsumme
Quell IP-Adresse
Ziel IP-Adresse
evtl. Optionen ...

RFC791 Internet Protocol