Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Wie sieht ein IP-Datagramm aus – Analyse des IP-Datagrammformats

Wie sieht ein IP-Datagramm aus – Analyse des IP-Datagrammformats

齐天大圣
齐天大圣Original
2020-12-12 14:24:04154Durchsuche

Durch das Format des IP-Datagramms können wir die Rolle des IP-Protokolls klarer verstehen. IPv4-Datagramme werden im Allgemeinen in 32-Bit-Einheiten beschrieben. Das folgende Bild ist ein Diagramm des IP-Datagrammformats:

Wir empfehlen, beim Erlernen des IP-Datagrammformats ein Paketerfassungstool (z. B. Wireshark) zu verwenden, um einige IP-Daten zu erfassen Berichten, genau beobachten und vergleichen.

Sehen wir uns nun die Rolle jedes Felds im IP-Datagramm-Header an:

(1) Version: belegt 4 Bits und bezieht sich auf die Version des IP-Protokolls.

(2)Header-Länge: 4 Bit, bezieht sich auf die Header-Länge (ohne Datenteil), die Einheit beträgt 4 Bytes. Da der feste Teil des Headers 20 Byte beträgt, beträgt der Mindestwert dieses Felds 5 (0101)

(3)Differenzierte Dienste: Es belegt 8 Bit und ist derzeit nutzlos.

(4)Gesamtlänge: 16 Bits, die Länge des Header-Längendatenteils, in Bytes. Theoretisch beträgt die maximale Länge eines IPv4-Datagramms 2 hoch 16 minus 1 Byte, also 65535 Byte. Die maximale Länge eines Datagramms wird jedoch durch die MTU (Maximum Transmission Unit) gesteuert und die Länge eines Datagramms darf den MTU-Einstellungswert nicht überschreiten. Dieser Einstellwert ist im Allgemeinen auf 1500 eingestellt. Da das Datagramm zu lang ist, verlangsamt sich die Weiterleitungsgeschwindigkeit des Routers. Wenn das Datagramm jedoch zu klein ist, erhöht sich die Weiterleitungseffizienz nicht. Wenn die Länge eines Datagramms die MTU überschreitet, muss ein langes Datagramm in mehrere Datagrammfragmente aufgeteilt werden.

(5)Identifikation: belegt 16 Bit. Immer wenn ein Datagramm generiert wird, erhöht sich dieser Zähler um 1. Der Wert des Identifikationsfeldes ist diese inkrementierte Zahl. Durch diesen Identifikationswert sowie das später erwähnte Flag-Feld und den Offset kann das Fragment wieder zum ursprünglichen Datagramm zusammengesetzt werden.

(6)Flag: belegt 3 Bits, aber derzeit sind nur die letzten beiden von Bedeutung:

  • mittleres Bit, Nicht fragmentieren: kann nicht fragmentiert werden. Nur wenn dieses Bit 0 ist, ist Fragmentierung zulässig

  • Das letzte Bit, Weitere Fragmente: Es gibt Fragmente. Wenn der Wert 0 ist, bedeutet dies, dass es das letzte Fragment ist, andernfalls bedeutet es, dass später noch Fragmente vorhanden sind.

(7)Offset: 13 Bits. Es stellt die relative Position eines Fragments innerhalb des Datenteils des Originalpakets dar. Die Einheit beträgt 8 Byte.

(8)Hop-Limit: belegt 8 Bit. Es soll verhindern, dass sich ein Datagramm uneingeschränkt im Netzwerk ausbreitet. Der Wert dieses Feldes gibt die maximale Anzahl von Routern an, die das Datagramm passieren kann. Wenn es einen Router passiert, wird der Wert um 1 verringert. Wenn der Wert 0 erreicht, wurde das Datagramm nicht erfolgreich zugestellt und der Router verwirft das Datagramm.

(9)Protokoll: Gibt an, welches Protokoll für die von diesem Datagramm übertragenen Daten verwendet wird:

  • ICMP: Der Wert ist 0

  • IP: Der Wert ist 4

  • TCP: Der Wert ist 6

  • UDP: Der Wert ist 17

(10)Header-Prüfsumme: Dieses Feld überprüft nur den Header des Datagramms, enthält jedoch nicht den Datenteil . Mit diesem Feld kann berechnet werden, ob Fehler im Datagramm vorliegen.

(11)Quelladresse: 32 Bit.

(12)Zieladresse: 32 Bit.

(13)Optionaler Teil: Kaum genutzt.

Das obige ist der detaillierte Inhalt vonWie sieht ein IP-Datagramm aus – Analyse des IP-Datagrammformats. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn