IPv4/Header: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 77: Zeile 77:


=== Weitere Felder ===
=== Weitere Felder ===
* Prüfsumme  
; 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
* Füllzeichen
 
* Auffüllen des Headers auf ein Vielfaches von 32-Bit
=== Nutzdaten ===
* Nutzdaten  
* Segmente und Datagramme höherer Protokolle  
* Segmente und Datagramme höherer Protokolle  
* Meist TCP oder UDP
* Meist TCP oder UDP
* XX IP-Header im Detail 8 - Optionen
 
=== 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
; 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
Record Route
* Router hängen ihre IP-Adresse an das Optionsfeld an
* Router hängen ihre IP-Adresse an das Optionsfeld an
* Zeitstempel
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

Datei:IpHeader.png

IP-Header englisch

Datei:IpHeaderEng.png

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