Internet Protokoll (IPv4)

IPv4 trägt die für die Wegfindung wichtiugen Informationen, um als verbindungsloser Datenübermittlungsdienst wirken zu können.
Verbindungslos bedeutet:
jedes Paket wird separat behandelt, d.h. jedes Paket kann - muss aber nicht - einen anderen Weg zum Ziel nehmen.

Aufbau von IPv4
0-3 4-7 8-15 16-18 19-23 24-31
Version IHL Type of Service Total Length
Identification Flag Fragment Offset
Time to live Protocol-ID Header Checksum
Source-IP Address
Destination-IP-Address
Options Pad
Daten

Version:

Z.B. IPv4 --> 0100
Kann ein Router die angegebene Version nicht unterstützen, so wird das Paket verworfen.

IHL (Internet Header Length):

IHL wird als eine _Anzahl von 32-Bit Worten ausgedrückt.
Mindestänge: 5 (ohne Optionen)
Maximallänge: 15 (mit Optionen)
Dieses Feld besteht aus 2 Teil-Feldern:
0 1 2 3 4 5 6 7 Bits
Precedence D T R C 0  
D T R C 0 --> Dienstart-Bits
Precedence (Vorrang):
Dieses 3-Bit-Feld gibt die Priorität an, mit der ein Paket von den Routern behandelt werden soll.
Im Falle hoher Netzlast können auf diese Weise Trotzdem wichtige Netzdaten (z.B. Routing Informationen) durch das Netz gegeben werden.

Bsp.:

111 Steuerung des Netzwerks (höchste Priorität)
110 Steuerung des Verbundnetzes
001 Einfache Priorität
000 Routine

Normalzustand: 000

Dienstart-Bits:

Diese Bits weisen den Router an, die Pakete nach einem bestimmten Optimierungskretereium weiter zu leiten.

D: Weg mit der geringsten Verzögerung wählen (delay).
T: Weg mit dem größten Datendurchsatz wählen (througliput).
R: Weg mit der geringsten Fehlerrate wählen (reliability)
C: Billigsten Weg wählen (costs)

Um den Dienst zu aktivieren, muss das Bit gesetzt sein. Normalerweise soll nicht kombiniert werden.

Total length:

Angabe in Bytes für die gesammte Paketlänge (Header).

Länge des Feldes =16 Bit
maximale Paketlänge = 216 =65536 Bytes

Problem: Muss ein Paket auf dem Weg zum Ziel z.B. ein Ethernet passieren, so ist dort die maximale Länge auf 1500 Bytes begrenzt.
Daraus folgt: Ist das Paket länger als 1500 Bytes, so muss es fragmentiert werden.

Beispiel: Es soll ein 4020 Byte langes IP-Paket �bertragen werden. (4000 Bytes Info + 20 Byte Header)
Das Paket muss fragmentiert werden.
Pegel: Die Anzahl der Bytes in einem Fragment muss ein vielfaches von 8 sein.
Eine Ausnahme bildet hier nur das letzte Fragment.

Fragment 1: 1480 Bytes an Daten + 20 Bytes Header - Offset: 0
Fragment 2: 1480 Bytes an Daten + 20 Bytes Header - Offset: 185
Fragment 3: 1040 Bytes an Daten + 20 Bytes Header - Offset: 370

Achtung:
Der tatsächliche Offset ergibt sich, in dem der übertragene Zahlenwert mit 8 multipliziert wird (x8).
Ist ein Paket erst einmal fragmentiert, so wird die Fragmentierung - auch bei Netzen die größere Datenrahmen unterstützen - nicht wieder aufgehoben.

Die einzelnen Fragmente werden unabhängig von einander geroutet und erst vom Zielhost wieder zusammen gesetzt.

Resümee:
Der Fragment-Header entspricht im wesentlichen dem ursprünglichen Paket-Header.

Identification:

1.Der Zielhost kann anhand dieser Nummer die Pakete in die richtige Reihenfolge bringen.
2.Der Zielhost kann Fragmente dem richtigem Paket zuweisen. - Alle Fragmente eines Paketes haben die gleiche ID (Identifications-Number)

Flag:

Sie dienen zur Kennzeichnung der Fragmentierung
16 17 18
0 DF MF
0 DF MF --> Flags

Bit 16: nicht benutzt -> Null
Bit 17: DF = dont't fragment (nicht fragmentieren)
0 es darf fragmentiert werden
1 es darf nicht fragmentiert werden
Bit 18: MF = more fragments (mehrere Fragmente)
0 letztes oder einziges Fragment
1 es folgen weitere Fragmente
DF ist ein Befehl an die Router, das nicht fragmentiert werden darf, weil z.B. das Ziel nicht in der Lage ist die Fragmente zusammen zu setzen.

Fragment Offset:

Er bezeichnet die Stelle, an die das Fragment angehängt werden muss (Der Wert muss mit 8 multipliziert werden).

Time to live:

Immer wenn ein Paket einen Router durchläuft, wird dieses Feld um 1 dekrimentiert. Ist der Wert auf 0 gesunken, so wird das Paket verworfen.
Daraus folgt: Pakete kreisen nicht ewig im Netz.

Potocol Identification (Protokoll ID):

Hat ein Paket den Zielort erreicht, so wird mit dieser Nummer entschieden an welches Protokoll der höheren Schichten das Paket zu übergeben ist.
Beispiel:

Dezimal   Protokoll
1 ICMP (Internet Control Message Protocol)
6 TCP (Transmission Control Protocol)
8 EGP (Exteria Gateway Protocol)
17 UDP (User Datagram Protocol)
89 OSPF (Open Shortest Part First)

Header Checksum:

Sie wird aus dem IP-Header berechnet.
Jeder Router muss vor der Weiterleitung diese Prüfsumme neu berechnen und in dieses Feld einsetzen. Die Werte für TTL und Fragmentierung können sich nämlich ändern.

Source-IP Address

IP Adresse der Quelle.

Destination-IP-Address

IP Adresse des Ziel Host.

Options-Pad (max. 10 Zeichen):

Das Option-Feld ist meisst nicht vorhande4n. Sind die 32 Bits einer Zeile nicht voll, so werden sie mit Pad-Bids (0en, Nullen) aufgefüllt.

Beispiele für Optionen:
Optionen Bedeutung
striktes source Routing Gibt den vollständigen Pfad von der Quelle bis zum Ziel als Folge von IP-Adressen an.
loses source Routing Enthält eine Liste von Routern, die nicht umgangen werden dürfen.
Routenaufzeichnung (trace route) Jeder Router h�ngt seine IP-Adresse an