ホームページ  >  記事  >  運用・保守  >  IP データグラムはどのようなものですか - IP データグラム形式の分析

IP データグラムはどのようなものですか - IP データグラム形式の分析

齐天大圣
齐天大圣オリジナル
2020-12-12 14:24:04154ブラウズ

IP データグラムの形式を通じて、IP プロトコルの役割をより明確に理解できます。 IPv4 データグラムは通常 32 ビット単位で記述されます。次の図は IP データグラム形式の図です:

IP データグラム形式を学習するときは、パケット キャプチャ ツール (wireshark など) を使用して IP データをキャプチャできることをお勧めします。報告し、注意深く観察し、比較します。

ここで、IP データグラム ヘッダーの各フィールドの役割を見てみましょう:

(1) Version: 4 ビットを占め、IP プロトコルのバージョンを参照します。

(2)ヘッダ長: 4ビット、ヘッダ長(データ部分を除く)を指し、単位は4バイトです。ヘッダーの固定部分は 20 バイトであるため、このフィールドの最小値は 5 (0101) です

(3)Differentiated Services: 8 ビットを占有しており、現在は役に立ちません。

(4)全長: 16 ビット、ヘッダー長データ部分の長さ (バイト単位)。理論上、IPv4 データグラムの最大長は、2 の 16 乗マイナス 1 バイト、つまり 65535 バイトです。ただし、データグラムの最大長は MTU (最大送信単位) によって制御され、データグラムの長さは MTU 設定値を超えることはできません。この設定値は通常 1500 に設定されます。データグラムが長すぎるとルーターの転送速度が遅くなりますが、データグラムが小さすぎると転送効率が上がりません。データグラムの長さが MTU を超える場合、長いデータグラムをいくつかのデータグラム フラグメントに分割する必要があります。

(5)識別: システムにはカウンターがあり、データグラムが生成されるたびに、このカウンターは 1 ずつ増加します。識別フィールドの値は、この増加した数値です。この識別値と、後述するフラグ フィールドおよびオフセットを通じて、フラグメントを元のデータグラムに再構築することができます。

(6)flag: 3 ビットを占有しますが、現在意味があるのは最後の 2 つだけです:

  • 中間ビット、フラグメント化しない: フラグメント化できません。このビットが 0 の場合のみ、断片化が許可されます

  • 最後のビット、その他の断片: 断片があります。値が 0 の場合は、それが最後のフラグメントであることを意味し、それ以外の場合は、後にまだフラグメントが存在することを意味します。

(7)オフセット: 13 ビット。これは、元のパケットのデータ部分内のフラグメントの相対位置を表します。単位は8バイトです。

(8)ホップ制限: 8ビットを占有し、データグラムがネットワーク内で無制限に拡散するのを防ぎます。このフィールドの値は、データグラムが通過できるルーターの最大数を示します。データグラムがルーターを通過すると、値は 1 ずつ減ります。値が 0 になると、データグラムは正常に配信されず、ルーターは破棄します。データグラム。

(9)プロトコル: このデータグラムによって伝送されるデータにどのプロトコルが使用されるかを示します。一般的に使用されるプロトコルは次のとおりです。

  • ICMP: 値は 0

  • IP: 値は 4

  • TCP: 値は 6

  • UDP: 値は 17

(10)ヘッダーチェックサム: このフィールドはデータグラムのヘッダーのみをチェックしますが、データ部分は含まれません。 。このフィールドは、データグラムにエラーがあるかどうかを計算するために使用できます。

(11)ソースアドレス: 32 ビット。

(12)宛先アドレス: 32 ビット。

(13)オプションパーツ: ほとんど使用されません。

以上がIP データグラムはどのようなものですか - IP データグラム形式の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。