IPv4 - Internet Protokoll Version 4

Das Internet Protokoll ist zur Vermittlung von Daten in Form von Datenpaket gedacht. Es arbeitet auf der 3. Schicht des ISO OSI Modells. Die Kernaufgabe des IPv4 ist die Adressierung in einem dezentralen, verbindungslosen, paketorientierten Netzwerk. Dazu teilt man jedem Host eine eigene IP-Adresse zu.

Aufgaben des IP:
  1. Logische Adressierung
  2. Netzwerkklassen
  3. IPv4 Header setzten
  4. Fragmentierung
  5. ermöglicht IP-Routing

1. Logische Adressierung

Mit Hilfe des Internet Protokolls, kann man jedem Host in einem TCP/IP Netzwerk eine oder mehrere logische Adresse zuweisen.
Dem IPv4 stehen 32-Bit-Adressen zur Verfügung, somit können maximal 4.294.967.296 Adressen zugewiesen werden (2^32). Diese sogenannten IP-Adressen werden meist in vier Dezimalblöcken dargestellt (z.B. 142.67.109.1) , wobei zwei- bzw. dreistellige Blöcke nicht mit der Ziffer 0 beginnen dürfen. Jeder dieser Blöcke repräsentiert 8 Bit, was zur Folge hat, dass für jeden Block ein dezimaler Wertebereich von 0 bis 255 existiert.
Eine IP-Adresse ist immer in einen Netz- und Hostanteil aufgeteilt

dezimal binär
IP-Adresse 192.168.0. 23 1100 0000.1010 1000.0000 0000. 0001 0111
Subnetzmaske 255.255.255. 0 1111 1111.1111 1111.1111 1111. 0000 0000
Netzanteil Hostanteil Netzanteil Hostanteil

2. Netzwerkklassen

Netzwerkklassen sind seit 1993 irrelevant, da sie durch das Classless Inter-Domain Routing (CIDR) ersetzt wurden. Dennoch finden sie heute im lokalem Netzwerk Anwendung. Sie dienen dazu, das Netzwerk in eine Größe zu unterteilen, bzw. beim IP-Routing zu entscheiden, ob eine Ziel-IP-Adresse im eigenem oder fremden Netz zu finden ist.

Das Problem, weshalb Netzwerkklassen heutzutage nicht mehr zeitgemäß sind, ist , dass sie nur in fünf Klassen eingeteilt wurden. Klasse A, B, C, D, E. (siehe Tabelle) Wobei die Klasse D für Multicast Anwendungen reserviert ist und die Klasse E für zukünftige Zwecke. Mit den anderen Klassen lassen sich immer nur Netze mit 16.777.214, 65.534 oder 254 Hosts erstellen, was einen großen Nachteil hat.

Netzklasse Präfix Adressbereich Netzmaske Netzlänge (mit Präfix) Netzlänge (ohne Präfix) Hostlänge Netze Hosts pro Netz CIDR Suffix Entsprechung
Klasse A 0... 0.0.0.0 – 127.255.255.255 255.0.0.0 8 Bit 7 Bit 24 Bit 128 16.777.214 /8
Klasse B 10... 128.0.0.0 – 191.255.255.255 255.255.0.0 16 Bit 14 Bit 16 Bit 16.384 65.534 /16
Klasse C 110... 192.0.0.0 – 223.255.255.255 255.255.255.0 24 Bit 21 Bit 8 Bit 2.097.152 254 /24
Klasse D 1110... 224.0.0.0 – 239.255.255.255 Verwendung für Multicast-Anwendungen
Klasse E 1111... 240.0.0.0 – 255.255.255.255 reserviert (für zukünftige Zwecke)

Nehmen wir an, dass ein Unternehmen ein Netzwerk mit 2.000 Hosts benötigt. Man müsste diesem Unternehmen nun acht Klasse C Netzwerke zuweisen, was zu extrem langen Routingtabellen führen würde. Folge ist, das Internet wäre sehr langsam. Alternative ist ein Klasse B Netzwerk zuzuweisen, womit mal gute 63.000 IP-Adressen in die Tonne geworfen werden.

Lösung, man hat 1993 das Classless Inter-Domain Routing (CIDR) eingeführt:
Bleiben wir bei dem Beispiel, dass ein Unternehmen 2.000 Hosts betreiben möchte. Man kann dem Betrieb folgendes Netzwerk, mit einem Subnetzwerk zuweisen.

IP-Adresse 1111 1111.1111 1111. 1111 1 000.0000 0000
Netzanteil Subnetzanteil Hostanteil
Subnetzmaske 255.255.248.0

Nun können wir 2^5 Subnets mit jeweils (2^11)-2 = 2046 Hosts verteilen.

Das Netzwerk könnte so aussehen: 173.108.0.0/21
Somit kann ich von 173.108.0.1 bis 173.108.7.254 Hosts verteilen.
Der Broadcast ist: 173.108.7.255

Die Subnetzmask lässt sich nun aus dem Binär ableiten:

1111 1111 = 255
1111 1000 = 248

also ist die Subnetzmask 255.255.248.0

Das Netzwerk von dem Unternehmen könnte so dargestellt werden:

Ohne CIDR:
Netzwerk-ID: 173.108.0.0 Subnetzmask: 255.255.248.0

CIDR:
173.108.0.0/21

3. IPv4 Header setzen


Das Internet Protokoll hat die Aufgabe, Datenpakete mit einem Header zu versehen. In diesem sind alle wichtigen Informationen abgelegt, z.B. Ziel-Adresse und Quell-Adresse

0–3 4–7 8–11 12–15 16–18 19–23 24–27 28–31 Bit
Version IHL Type of Service Gesamtlänge
Identifikation Flags Fragment Offset
TTL Protokoll Header-Prüfsumme
Quell-IP-Adresse
Ziel-IP-Adresse
evtl. Optionen …
DATEN …

4.Fragmentierung

Das IP macht Fragmentierung überhaupt erst möglich. Fragmentierung wird wegen der MTU (Maximum Trasmission Unit) benötigt, dies ist die Menge an Byte die in ein Ethernet Frame hineinpassen. Wird bei einem Übertragungsweg eine Stelle ermittelt, wo das IP nicht durch kann, da der Knotenpunkt eine kleinere MTU gewählt hat, zerlegt das IP das zu große Paket in mehrere Pakete. Diese werden nummerriert , damit sie wieder zusammengesetzt werden können.

5. IP-Routing

Empfängt ein Router ein IP-Paket, entscheidet sich dieser jedes mal aufs Neue, welchen Weg das IP-Paket gehen wird und darf. Das IPv4 entscheidet dabei nicht zwischen Endgeräten (Hosts) und Vermittlungsgeräten (Router). Router verbinden dabei verschiedene Netzwerke und bilden über die Gesamtheit aller Router das Internet.
Anhand von Routingtabellen kann ein Router IP-Pakete von einem zum anderem Netzwerk veriterleiten. Dabei kann jedes Paket einen anderen Weg zum Ziel finden. Beim Routing über IP können daher diverse Fehler auftreten:

  • Verlust eines Paketes
  • Pakete kommen doppelt an
  • Verschiedene Routen werden genommen
  • Pakete kommen beim Empfänger fragmentiert an

Um die ersten beiden Probleme zu lösen, wird das TCP auf das IP gesetzt. Somit wird der Datenverlust durch wiederholtes Senden beseitigt und doppelte Pakete verworfen. Zusammen bilden die beiden Pakete eine zuverlässige bidirektionale Verbindung eines Datenstroms dar.