IP-Paket-Header: Format, Felder

⚡ Intelligente Zusammenfassung

Der IP-Header sind die Metadaten, die am Anfang jedes IP-Pakets platziert werden und Felder wie Version, Headerlänge, Gesamtlänge, Gültigkeitsdauer, Protokoll, Prüfsumme sowie Quell- und Zieladresse enthalten, die Router zum Zustellen von Daten lesen.

  • 🧭 Zweck: Der IP-Header speichert Routing- und Zustellungsdetails, damit jedes Paket netzwerkübergreifend das richtige Ziel erreicht.
  • 📏 Größe Ein IPv4-Header hat eine Länge von 20 bis 60 Bytes, die durch das Feld „Internet Header Length“ gesteuert wird.
  • 🧱 Schlüsselfelder: Zu den Kernfeldern gehören Version, IHL, Diensttyp, Gesamtlänge, TTL, Protokoll, Prüfsumme und Adressen.
  • 🔀 Zersplitterung: Identifizierung, Flags und Fragment-Offset ermöglichen das korrekte Aufteilen und Wiederzusammensetzen großer Datagramme.
  • 🆚 IPv4 vs. IPv6: IPv6 ersetzt den variablen Header durch einen festen 40-Byte-Header und lässt das Prüfsummenfeld weg.
  • 🤖 KI-Unterstützung: KI-Paketanalysatoren analysieren IP-Header automatisch, um Anomalien zu erkennen und die Fehlersuche zu beschleunigen.

Format und Felder des IP-Paket-Headers

Was ist ein IP-Header?

Der IP-Header enthält Metainformationen am Anfang eines IP-Pakets. Er zeigt Informationen wie die IP-Version, die Paketlänge, die Quelle und das Ziel an.

Das IPv4-Header-Format ist 20 bis 60 Byte lang und enthält die für Routing und Zustellung notwendigen Informationen. Es besteht aus Feldern wie Version, Headerlänge, Gesamtlänge, Kennung, Flags, Prüfsumme, Quell-IP-Adresse und Ziel-IP-Adresse. Zusammen liefern diese Felder die wesentlichen Daten, die für die Zustellung benötigt werden. transmit das Paket zuverlässig von einem Host zum anderen senden.

IPv4-Header-Komponenten/Felder

Das folgende Diagramm zeigt das vollständige IPv4-Header-Format, wobei jedes Feld an seiner korrekten Position und Bitbreite dargestellt ist:

Diagramm des IPv4-Paketheaderformats, das alle Felder und ihre Bitpositionen zeigt.

Im Folgenden werden die verschiedenen Komponenten/Felder des IP-Paket-Headers aufgeführt:

  • Version: Das erste Feld im IP-Header ist ein 4-Bit-Versionsindikator. In IPv4 ist der Wert dieser vier Bits auf 0100 gesetzt, was binär 4 entspricht. Unterstützt der Router die angegebene Version nicht, wird das Paket verworfen.
  • Länge des Internet-Headers: Die Internet-Headerlänge (IHL) beträgt 4 Bit. Sie wird auch als HELEN (Headerlänge) bezeichnet. Diese IP-Komponente gibt an, wie viele 32-Bit-Wörter im Header enthalten sind.
  • Art der Leistung: Diese Art von Dienstleistung wird auch als differenzierte Dienstleistung bezeichnet. Code Der DSCP-Wert (Datagramm-Prioritätsindex) beschreibt die Dienstgüte (Quality of Service, QoS) für Datenstreaming oder VoIP-Anrufe. Die ersten drei Bits sind die Prioritätsbits. Außerdem legt er fest, wie ein Datagramm verarbeitet werden soll.
  • Gesamtlänge: Die Gesamtlänge wird in Bytes gemessen. Die minimale Größe eines IP-Datagramms beträgt 20 Bytes, die maximale 65,535 Bytes. Mithilfe von HELEN und der Gesamtlänge lässt sich die Größe der Nutzdaten berechnen. Alle Hosts müssen 576-Byte-Datagramme lesen können. Ist ein Datagramm jedoch zu groß für die Hosts im Netzwerk, wird häufig die Fragmentierungsmethode eingesetzt.
  • Identification: Das Identifikationsfeld dient zur eindeutigen Identifizierung der Fragmente eines IP-Datagramms. Es wurde auch vorgeschlagen, dieses Feld für andere Zwecke zu verwenden, beispielsweise um Informationen für Pakete hinzuzufügen. tracing.
  • IP-Flags: Das Flag-Feld ist ein Drei-Bit-Feld, mit dem Sie Fragmente steuern und identifizieren können. Folgende Konfigurationen sind möglich: Bit 0 ist reserviert und muss auf Null gesetzt werden; Bit 1 bedeutet, dass nicht fragmentiert wird; und Bit 2 bedeutet, dass mehr Fragmente erzeugt werden.
  • Fragmentversatz: Der Fragment-Offset gibt die Anzahl der Datenbytes vor einem bestimmten Fragment im jeweiligen Datagramm an. Er wird in Einheiten von 8 Bytes angegeben und hat einen Maximalwert von 65,528 Bytes.
  • Zeit zu leben: Dies ist ein 8-Bit-Feld, das die maximale Verweildauer eines Datagramms im Internetsystem angibt. Bei jeder Verarbeitung eines Datagramms wird sein TTL-Wert um eins verringert. Erreicht der TTL-Wert null, wird das Datagramm verworfen, um eine endlose Paketübermittlung zu verhindern. Der TTL-Wert kann zwischen 0 und 255 liegen.
  • Protokoll: Dieses IPv4-Headerfeld gibt an, welches Internetprotokoll im späteren Teil des Datagramms übertragen wird. Beispielsweise steht die Zahl 6 für TCP und 17 für UDP.
  • Header-Prüfsumme: Die nächste Komponente ist ein 16-Bit-Prüfsummenfeld im Header, mit dem der Header auf Fehler überprüft wird. Der IP-Header wird mit dem Wert seiner Prüfsumme verglichen. Stimmt die Prüfsumme nicht überein, wird das Paket verworfen.
  • Quelladresse: Die Quelladresse ist eine 32-Bit-Adresse der Quelle, die für das IPv4-Paket verwendet wird.
  • Zieladresse: Die Zieladresse ist ebenfalls 32 Bit groß und speichert die Adresse des Empfängers.
  • IP-Optionen: Dies ist ein optionales Feld des IPv4-Headers, das verwendet wird, wenn der Wert von IHL (Internet Header Length) größer als 5 ist. Es enthält Werte und Einstellungen zu Sicherheit, Routing, Zeitstempel und ähnlichen Optionen. Die Optionsliste endet üblicherweise mit einem EOL-Zeichen (End of Options List).
  • Datum: Dieses Feld speichert die Daten der Protokollschicht, die die Daten an die IP-Schicht übergeben hat.

Wie berechnet man die Länge des IPv4-Headers?

Das Feld „Internet Header Length“ (IHL) teilt einem Router die genaue Länge des Headers mit, sodass er weiß, wo der Header endet und die Daten beginnen. Da das Feld nur 4 Bit breit ist, speichert es die Länge nicht direkt in Bytes. Stattdessen zählt es den Header in 32-Bit-Wörtern, wobei jedes Wort 4 Bytes entspricht.

Um den IHL-Wert in Bytes umzurechnen, multiplizieren Sie ihn mit 4:

  • Minimum: Der kleinste zulässige IHL-Wert ist 5, also 5 × 4 = 20 Bytes. Dies ist ein Header ohne Optionen.
  • Maximum: Der größte IHL-Wert ist 15, also 15 × 4 = 60 Bytes. Die zusätzlichen 40 Bytes enthalten optionale Felder.

Betrachten wir ein Rechenbeispiel. Wenn ein Paket mit einem IHL-Wert von 6 ankommt, beträgt die Headerlänge 6 × 4 = 24 Byte. Das bedeutet, dass nach dem standardmäßigen 20-Byte-Header 4 Byte an Optionen folgen. Um die Größe der Nutzdaten zu ermitteln, subtrahieren SietracErmitteln Sie die Headerlänge aus dem Feld „Gesamtlänge“. Beträgt die Gesamtlänge 1,500 Byte und die Headerlänge 24 Byte, so ergibt sich eine Nutzlastlänge von 1,500 − 24 = 1,476 Byte.

Diese Berechnung ist bei der Fragmentierung wichtig, da ein Router die Headergröße kennen muss, um zu ermitteln, wie viele Daten jedes Fragment enthalten kann, ohne das maximale Netzwerkvolumen zu überschreiten. Transmission Einheit (MTU).

IPv4- vs. IPv6-Header

Der IPv6-Header wurde überarbeitet, um einfacher und schneller verarbeitet werden zu können als der IPv4-Header. Er verwendet eine feste Länge und lagert selten genutzte Optionen in separate Erweiterungsheader aus, sodass Router Pakete mit Leitungsgeschwindigkeit weiterleiten können. Die folgende Tabelle vergleicht die beiden Header Feld für Feld:

Funktion IPv4-Header IPv6-Header
Headergröße 20 bis 60 Bytes (variabel) 40 Bytes (fest)
Anzahl der Felder 13 Felder plus Optionen 8 Felder
Adresslänge 32-Bit-Quelle und -Ziel 128-Bit-Quelle und -Ziel
Header-Prüfsumme Gegenwart Entfernt
Fragmentierungsfelder Im Basis-Header (Identifikation, Flags, Offset) Verschoben in einen Fragment-Erweiterungsheader
Optionen Im Header enthalten In Erweiterungsköpfen enthalten
Längenfeld Gesamtlänge (Header plus Daten) Nutzlastlänge (nur Nutzlast)

Da IPv6 auf die Prüfsumme und die Optionen variabler Länge verzichtet, enthält sein Header weniger Felder und kann in Hardware ohne Neuberechnung pro Hop verarbeitet werden.

Warum der IP-Header wichtig ist

Jedes Feld im IP-Header dient dazu, dass Router und Hosts ein Datenpaket über viele Netzwerke hinweg weiterleiten können, ohne dass eine permanente Verbindung zwischen ihnen erforderlich ist. Der Header ist die Grundlage der Paketvermittlung.

  • Routing: Die Zieladresse teilt jedem Router mit, wohin das Paket weitergeleitet werden soll, während die Quelladresse es ermöglicht, dass Antworten und Fehlermeldungen zurückkommen.
  • Schleifenvermeidung: Das Time-to-Live-Feld wird bei jedem Hop verringert, sodass ein falsch weitergeleitetes Paket verworfen wird, anstatt ewig im Internet herumzuirren.
  • Zustellung an das richtige Protokoll: Das Feld „Protokoll“ teilt dem empfangenden Host mit, ob die Nutzdaten an TCP, UDP oder ein anderes Protokoll übergeben werden sollen.
  • Integrity und Wiederzusammenbau: Die Prüfsumme schützt den Header vor Beschädigung, und die Felder Identifikation, Flags und Fragment Offset ermöglichen es, ein fragmentiertes Datagramm in der richtigen Reihenfolge wiederherzustellen.

Für Netzwerktechniker ist das Lesen dieser Felder in einem TCP / IP Die Mitschnittfunktion ist oft der schnellste Weg, um Paketverluste, Routing-Schleifen und Fehlkonfigurationen zu diagnostizieren. IP-Adressen.

Häufig gestellte Fragen

Die Headerlänge (IHL) misst nur den Header in 32-Bit-Wörtern und liegt zwischen 20 und 60 Byte. Die Gesamtlänge misst das gesamte Datagramm – Header plus Daten – in Byte, bis zu 65,535.tracDie Differenz der beiden Werte ergibt die Nutzlastgröße.

Die Fragmentierung teilt ein Datagramm auf, das größer als die maximale Länge einer Verbindung ist. Transmission Das Paket wird in kleinere Teile zerlegt. Mithilfe der Felder „Identifikation“, „Flags“ und „Fragment-Offset“ kann das Zielnetzwerk die Teile wieder zusammensetzen. Dies geschieht immer dann, wenn ein Paket ein Netzwerk mit einer kleineren MTU (Maximum Transmission Unit) durchlaufen muss.

Ein IPv4-Header enthält 13 feste Felder: Version, IHL, Diensttyp, Gesamtlänge, Kennung, Flags, Fragment-Offset, TTL, Protokoll, Prüfsumme, Quelladresse und Zieladresse. Zusätzlich gibt es ein optionales Optionsfeld. Der nachfolgende Datenteil stellt die Nutzdaten dar und ist kein Headerfeld.

Nein. Die IPv4-Header-Prüfsumme deckt nur die Header-Felder ab, nicht die Nutzdaten. Protokolle höherer Schichten wie TCP und UDP verwenden eigene Prüfsummen zum Schutz der Daten. Da sich die Gültigkeitsdauer (TTL) bei jedem Hop ändert, berechnen Router die Header-Prüfsumme bei jeder Weiterleitung neu.

Wenn die TTL den Wert Null erreicht, verwirft der Router das Paket und sendet eine ICMP-Nachricht „Zeitüberschreitung“ an den Absender zurück. Dadurch wird verhindert, dass Pakete verloren gehen.ping endlos in einer Routing-Schleife. traceroute Das Tool nutzt dieses Verhalten, um jeden Schritt entlang eines Pfades abzubilden.

Das Feld „Protokoll“ gibt an, welches Protokoll der höheren Schicht die Nutzdaten am Zielort empfangen soll. Gängige Werte sind 6 für TCP, 17 für UDP und 1 für ICMP. Der empfangende Host liest diese Zahl, um die Daten an den richtigen Handler weiterzuleiten.

KI- und Machine-Learning-Tools analysieren erfasste IP-Header, um Anomalien wie gefälschte Quelladressen, ungewöhnliche TTL-Werte oder Fragmentierungsangriffe zu erkennen. Sie klassifizieren den Datenverkehr und kennzeichnen Bedrohungen schneller als eine manuelle Prüfung. Ein Techniker bestätigt die Ergebnisse jedoch weiterhin, bevor Maßnahmen ergriffen werden.

GitHub-Copilot kann Entwurf Python oder C-Code, der IP-Header-Felder entpackt, Flags dekodiert und Prüfsummen aus einem kurzen Kommentar validiert. RevÜberprüfen Sie die generierte Bitmaskierungslogik sorgfältig, da Off-by-One-Offsets eine häufige Ursache für Parsing-Fehler sind.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: