IPv4/Header: Unterschied zwischen den Versionen
Zeile 77: | Zeile 77: | ||
=== Weitere Felder === | === Weitere Felder === | ||
; Prüfsumme | |||
* wird über den gesamten IP Header berechnet | * wird über den gesamten IP Header berechnet | ||
* Berechnung beim Sender: | * Berechnung beim Sender: | ||
Zeile 86: | Zeile 86: | ||
* XOR über alle 16-bit Worte im Header (inkl. checksum) | * XOR über alle 16-bit Worte im Header (inkl. checksum) | ||
* OK, wenn im Ergebnis alle bits auf 1 stehen | * OK, wenn im Ergebnis alle bits auf 1 stehen | ||
=== Nutzdaten === | |||
* Segmente und Datagramme höherer Protokolle | * Segmente und Datagramme höherer Protokolle | ||
* Meist TCP oder UDP | * Meist TCP oder UDP | ||
=== Optionen === | |||
* Flexible Erweiterbarkeit des Headers | * Flexible Erweiterbarkeit des Headers | ||
* Variable Länge (max. 40 Byte) | * Variable Länge (max. 40 Byte) | ||
; Folgende Optionen sind möglich | |||
Source Routing | |||
* Liste von Routern, die ein Datagram durchlaufen soll | * Liste von Routern, die ein Datagram durchlaufen soll | ||
* Der genommene Weg wird aufgezeichnet (max. 9 Hops) | * Der genommene Weg wird aufgezeichnet (max. 9 Hops) | ||
Zeile 102: | Zeile 103: | ||
* sonst wird das Paket verworfen und eine ICMP source route failed Nachricht an den Sender geschickt | * sonst wird das Paket verworfen und eine ICMP source route failed Nachricht an den Sender geschickt | ||
* Source Routing ist nahezu überall abgeschaltet da, es ein Sicherheitsrisiko darstellt - IP Spoofing! | * Source Routing ist nahezu überall abgeschaltet da, es ein Sicherheitsrisiko darstellt - IP Spoofing! | ||
Record Route | |||
* Router hängen ihre IP-Adresse an das Optionsfeld an | * Router hängen ihre IP-Adresse an das Optionsfeld an | ||
Zeitstempel | |||
* Zusätzlich zur IP-Adresse wird die Uhrzeit des Durchlaufes angehangen | * Zusätzlich zur IP-Adresse wird die Uhrzeit des Durchlaufes angehangen | ||
=== Füllzeichen === | |||
* Auffüllen des Headers auf ein Vielfaches von 32-Bit |
Version vom 1. Oktober 2022, 19:18 Uhr
Felder im IP-Header
IP-Header englisch
Version
- Die Version des IP-Protokolls
- Wir behandeln hier Version 4
Länge
- Dieses Feld gibt die Länge des IP-Protokoll-Kopfes in 32-Bit-Worten an
- Die minimale Länge beträgt 5 Worte, was auch der Normalfall ist
- Vergrößerung durch Angabe von Optionen
Servicetypen
Mit den Precedence-Bit (0-2) kann eine Priorität von 0 - 7 angegeben werden
- 1000 Minimize-delay
- 0100 Maximize throughput
- 0010 Maximize reliability
- 0001 Minimize monetary costs
- 0000 Normal service
- Bit 7 ohne Bedeutung (reserviert)
Servicetypen werden nicht von allen Routern unterstützt
Paketlänge
- Die Länge des Paketes in Byte inklusive Protokoll-Kopf
16 Bit – Feld (Maximale Paketgröße = 65.535 Byte)
Identifikation
- Eine eindeutige Identifikation (Zähler)
- Diese Kennungen sollten sich nur nach längeren Zeitabständen wiederholen, um nicht mit verspäteten PDU in Konflikt zu kommen.
Paketübertragung im Internet
TTL
- Time To Live
- Dieses Feld gibt an, wie lange das Paket maximal unterwegs sein darf
- Problem
- Beim Routen durch vermaschte Netze, können Datagramme/ Fragmente ziellos und unendlich lange kreisen
- Das verbraucht Ressourcen und kann Netzwerke bis zum Stillstand belasten
- Lösung
- Jeder Knoten (Router) verringert diesen Wert um mindestens 1
- Hält ein Router ein Paket länger als eine Sekunde, verringert er die TTL um 1 je weitere Sekunde
- Bei Erreichen des Wertes „0“, wird Paket verworfen
Sender- und Empfänger-Adressen
- 32-Bit IP-Adresse (IPv4), 128-Bit IP-Adresse (IPv6)
- unabhängig von der zugrunde liegenden Netztechnologie
- Das Internet-Protokoll definiert also eine rein logische Netztopologie
- Die Vergabe der IP-Adressen wird international von der IANA (Internet Assigned Numbers Association) geregelt
- die IANA verteilt die Organisation auf mehrere Unterorganisationen
- Die in Europa zuständige Organisation ist das RIPE (Réseaux IP Européens)
DF, MF und Fragmentabstand
- DF (Don‘t Fragment)
- 0 = May Fragment
- 1 = Don‘t Fragment
- MF (More Fragment)
- 0 = Last Fragment
- 1 = More Fragment
- Fragmentabstand
- Länge relativ zum Beginn des ursprünglichen Datagram
Protokoll
- Nummer des Transportprotokolls
- Legt fest, welches Protokoll für die Weiterverarbeitung auf 03 zuständig ist (demultiplexing)
- gemäß RFC 1700 (Assigned Numbers)
- /etc/protocol
- %SYSTEMROOT%\system32\drivers\etc\protocol
- Ausgewählte IP-Protokollnummern
Weitere Felder
- Prüfsumme
- wird über den gesamten IP Header berechnet
- Berechnung beim Sender:
- setze das checksum Feld auf 0
- XOR über alle 16-bit Worte im Header
- das Ergebnis wird bitweise invertiert und stellt dann den Wert für das checksum Feld dar.
- Check beim Emfänger:
- XOR über alle 16-bit Worte im Header (inkl. checksum)
- OK, wenn im Ergebnis alle bits auf 1 stehen
Nutzdaten
- Segmente und Datagramme höherer Protokolle
- Meist TCP oder UDP
Optionen
- Flexible Erweiterbarkeit des Headers
- Variable Länge (max. 40 Byte)
- Folgende Optionen sind möglich
Source Routing
- Liste von Routern, die ein Datagram durchlaufen soll
- Der genommene Weg wird aufgezeichnet (max. 9 Hops)
- loose: die Angegebenen IP Adressen müssen nicht benachbart sein
- strict: die Angegebenen IP Adressen müssen benachbart sein
- sonst wird das Paket verworfen und eine ICMP source route failed Nachricht an den Sender geschickt
- Source Routing ist nahezu überall abgeschaltet da, es ein Sicherheitsrisiko darstellt - IP Spoofing!
Record Route
- Router hängen ihre IP-Adresse an das Optionsfeld an
Zeitstempel
- Zusätzlich zur IP-Adresse wird die Uhrzeit des Durchlaufes angehangen
Füllzeichen
- Auffüllen des Headers auf ein Vielfaches von 32-Bit