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: