IPヘッダー
IPパケットの先頭に付く制御情報。宛先と送信元のIPアドレス、生存時間(TTL)、上位のプロトコルを示すプロトコル番号などを含む。オプションがない場合の長さは、IPv4で20バイト。
イマシルちゃんの解説
パケットは、データを入れた封筒みたいなものなんだ。
IPヘッダーは、その封筒の表に書く「宛先の住所」と「差出人の住所」、それから「中身の種類」や「配達期限」なんかの情報だよ。
ちなみに、封筒の中にはもう一枚、小さな封筒(TCPやUDPのヘッダー)が入っているんだ。
どの情報がどっちの封筒に書いてあるのかを区別できるようになると、ネットワークがぐっとわかりやすくなるよ!
より深い解説
定義
IPヘッダーは、ネットワーク層のプロトコルであるIPが、パケット(データグラム)の先頭に付ける制御情報である。ルータは、IPヘッダーの情報だけを見て、パケットを転送する。
IPv4ヘッダーの主なフィールド
| フィールド | 長さ | 内容 |
|---|---|---|
| バージョン | 4ビット | IPv4なら4 |
| ヘッダー長 | 4ビット | ヘッダーの長さ(4バイト単位) |
| ToS(DSCP、ECN) | 8ビット | 優先制御(QoS)のための情報 |
| 全長 | 16ビット | ヘッダーを含めたパケット全体の長さ |
| 識別子、フラグ、フラグメントオフセット | 32ビット | 分割(フラグメント)されたパケットを組み立て直すための情報 |
| TTL(生存時間) | 8ビット | パケットが通過できるルータの数の上限 |
| プロトコル番号 | 8ビット | データ部に入っている上位のプロトコル(TCPは6、UDPは17) |
| ヘッダーチェックサム | 16ビット | ヘッダーの誤りの検出 |
| 送信元IPアドレス | 32ビット | |
| 宛先IPアドレス | 32ビット | |
| オプション | 可変 | 通常は使わない |
層ごとのヘッダーに入っているもの
どの情報がどの層のヘッダーに入っているかを整理すると、次のようになる。
TCPとUDPの両方のヘッダーにあるのは、送信元ポート番号、宛先ポート番号、チェックサムである。IPアドレスやTTLはIPヘッダーに、MACアドレスはイーサネットのヘッダーに入っており、TCPやUDPのヘッダーには入っていない。
TCPとUDPのヘッダーの比較
| TCPヘッダー | UDPヘッダー | |
|---|---|---|
| 長さ | 20バイト(オプションなし) | 8バイト |
| フィールド | 送信元ポート番号、宛先ポート番号、シーケンス番号、確認応答番号、データオフセット、コントロールフラグ、ウィンドウサイズ、チェックサム、緊急ポインタ | 送信元ポート番号、宛先ポート番号、データ長、チェックサム |
UDPのヘッダーは、ポート番号と、長さとチェックサムだけのとても単純な構造である。
チェックサムと疑似ヘッダー
TCPとUDPのチェックサムは、自分のヘッダーとデータだけでなく、IPヘッダーの一部(送信元・宛先IPアドレス、プロトコル番号など)から作る疑似ヘッダーも含めて計算する。宛先を間違えて届いたパケットを検出するためである。このため、NATでIPアドレスを書き換えたときは、TCPやUDPのチェックサムも計算し直す必要がある。
IPv6ヘッダーとの違い
IPv6の基本ヘッダーは40バイトの固定長で、ヘッダーチェックサムがなく、分割の情報やオプションは拡張ヘッダーに分けられた。TTLに当たるフィールドは、ホップリミットという名前になっている。
実際の試験ではここに出る!
- ネットワークスペシャリスト 令和6年度 春期 午前Ⅱ 問10
- ネットワークスペシャリスト 令和5年度 春期 午前Ⅱ 問5
- ネットワークスペシャリスト 令和3年度 春期 午前Ⅱ 問7
- ネットワークスペシャリスト 令和3年度 春期 午前Ⅱ 問13
- ネットワークスペシャリスト 平成30年度 秋期 午前Ⅱ 問4