パケット構成図
セクション | サイズ (バイト) | 説明 |
---|---|---|
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ヘッダーはシンプルで、接続の状態やシーケンス番号を管理するフィールドは含まれていません。