ネットワークスペシャリスト IP パケット構成図

パケット構成図

セクション サイズ (バイト) 説明
Ethernet Header 14 宛先MACアドレス(6)、送信元MACアドレス(6)、EtherType(2)
IP Header 20 バージョン(1/2)、IHL(1/2)、Type of Service(1)、…
TCP Header 20 送信元ポート(2)、宛先ポート(2)、シーケンス番号(4)、…
データ (Payload) 可変 アプリケーションレイヤのデータ

Ethernet Header

  • 宛先MACアドレス: フレームを受信するデバイスのMACアドレス
  • 送信元MACアドレス: フレームを送信するデバイスのMACアドレス
  • EtherType: 上位層のプロトコルを示す

IP Header

  • バージョン: IPプロトコルのバージョン(IPv4かIPv6)
  • IHL (Internet Header Length): ヘッダの長さ
  • Type of Service: サービスの品質
  • …: その他多くのフィールド

TCP Header

  • 送信元ポート: 送信元のポート番号
  • 宛先ポート: 宛先のポート番号
  • シーケンス番号: データストリームの順序を保証するための番号
  • …: その他のコントロール情報

データ (Payload)

  • アプリケーションレイヤで定義されるデータ内容。サイズは送信するデータによって異なる。

IPヘッダー

フィールド サイズ (ビット) 説明
バージョン 4 IPプロトコルのバージョン。IPv4の場合は4。
IHL 4 インターネットヘッダー長。ヘッダーの長さを32ビットワード単位で示す。
Type of Service 8 通信の品質を制御するためのパラメータ。
Total Length 16 ヘッダーを含むパケット全体の長さをバイト単位で示す。
Identification 16 各フラグメントに割り当てられる識別子。
Flags 3 フラグメント化と再構築を制御するフラグ。
Fragment Offset 13 フラグメント化されたパケットの各部分が元のデータグラムのどの位置にあるかを示す。
Time to Live 8 パケットがネットワーク上で生存できる最大時間。TTLとしても知られる。
Protocol 8 上位層のプロトコルを示す。TCPは6、UDPは17。
Header Checksum 16 ヘッダーのエラーチェックサム。
Source Address 32 送信元のIPアドレス。
Destination Address 32 宛先のIPアドレス。
Options 可変 必要に応じて追加されるオプション。デフォルトではこのフィールドはない。
Padding 可変 オプションを含める場合、ヘッダーの長さを32ビット境界に合わせるためのパディング。

注意: このテーブルはIPv4ヘッダーを基にしています。IPv6ヘッダーは異なるフィールド構成を持っています。

TCP Header

TCPヘッダー

フィールド サイズ (ビット) 説明
Source Port 16 送信元のポート番号。
Destination Port 16 宛先のポート番号。
Sequence Number 32 送信データのシーケンス番号。最初のバイトのシーケンス番号。
Acknowledgment Number 32 受信確認のシーケンス番号。次に期待するバイトのシーケンス番号。
Data Offset 4 ヘッダーの長さ。オプションを含めた全体の長さを示す。
Reserved 3 予約済みフィールド。使用されない。
Flags 9 制御フラグ(例: URG, ACK, PSH, RST, SYN, FIN)。
Window 16 受信ウィンドウのサイズ。フロー制御に使用される。
Checksum 16 ヘッダーとデータの両方をカバーするチェックサム。
Urgent Pointer 16 URGフラグがセットされている場合に有効。緊急データのポインタを示す。
Options 可変 TCPオプション(最大セグメントサイズなど)。オプションがあれば、データオフセットが増加。
Padding 可変 オプションフィールドを32ビットワード境界に合わせるためのパディング。

UDPヘッダー

フィールド サイズ (ビット) 説明
Source Port 16 送信元のポート番号。
Destination Port 16 宛先のポート番号。
Length 16 ヘッダーとデータを合わせた全体の長さ。
Checksum 16 ヘッダーとデータの両方をカバーするチェックサム(任意)。

注意: UDPヘッダーはシンプルで、接続の状態やシーケンス番号を管理するフィールドは含まれていません。

関連記事