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