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

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

Dec 12, 2020 pm 02:24 PM
1

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 までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Common Linuxコマンドのキーワードの検索に関するチュートリアル Common Linuxコマンドのキーワードの検索に関するチュートリアル Mar 05, 2025 am 11:45 AM

Common Linuxコマンドのキーワードの検索に関するチュートリアル

Linuxの運用およびメンテナンスエンジニアの作業コンテンツLinux Operation and Maintenance Engineersは何をしていますか? Linuxの運用およびメンテナンスエンジニアの作業コンテンツLinux Operation and Maintenance Engineersは何をしていますか? Mar 05, 2025 am 11:37 AM

Linuxの運用およびメンテナンスエンジニアの作業コンテンツLinux Operation and Maintenance Engineersは何をしていますか?

Linuxのセキュリティを強化するようにSelinuxまたはApparmorを構成するにはどうすればよいですか? Linuxのセキュリティを強化するようにSelinuxまたはApparmorを構成するにはどうすればよいですか? Mar 12, 2025 pm 06:59 PM

Linuxのセキュリティを強化するようにSelinuxまたはApparmorを構成するにはどうすればよいですか?

Linuxシステムをバックアップして復元するにはどうすればよいですか? Linuxシステムをバックアップして復元するにはどうすればよいですか? Mar 12, 2025 pm 07:01 PM

Linuxシステムをバックアップして復元するにはどうすればよいですか?

一般的なLinuxコマンドのファイルをアップロードする方法 一般的なLinuxコマンドのファイルをアップロードする方法 Mar 05, 2025 am 11:42 AM

一般的なLinuxコマンドのファイルをアップロードする方法

TOP、HTOP、VMSTATなどのツールを使用してLinuxのシステムパフォーマンスを監視するにはどうすればよいですか? TOP、HTOP、VMSTATなどのツールを使用してLinuxのシステムパフォーマンスを監視するにはどうすればよいですか? Mar 17, 2025 pm 05:28 PM

TOP、HTOP、VMSTATなどのツールを使用してLinuxのシステムパフォーマンスを監視するにはどうすればよいですか?

OpenVPNまたはWireGuardを使用してLinuxで仮想プライベートネットワーク(VPN)を構成するにはどうすればよいですか? OpenVPNまたはWireGuardを使用してLinuxで仮想プライベートネットワーク(VPN)を構成するにはどうすればよいですか? Mar 12, 2025 pm 07:02 PM

OpenVPNまたはWireGuardを使用してLinuxで仮想プライベートネットワーク(VPN)を構成するにはどうすればよいですか?

LinuxでSSHに2要素認証(2FA)を実装するにはどうすればよいですか? LinuxでSSHに2要素認証(2FA)を実装するにはどうすればよいですか? Mar 17, 2025 pm 05:31 PM

LinuxでSSHに2要素認証(2FA)を実装するにはどうすればよいですか?

See all articles