メインコンテンツへスキップ
  1. ネットワーク 記事一覧/
  2. IPv6 記事一覧/

IPv6パケットヘッダー構造

IPv6パケットヘッダー構造
#

IPv6(Internet Protocol version 6)のパケットは、固定長40バイトの基本ヘッダーと、その後に続く拡張ヘッダー(任意)およびペイロードから構成されています。IPv4のヘッダーと比較して、フィールド数が絞り込まれ、オプション情報は拡張ヘッダーとして分離されているのが特徴です。ここでは基本ヘッダーの各フィールドの役割について解説します。

各フィールドの説明
#

フィールド名サイズ説明
バージョン (Version)4 ビットIPのバージョンを示す。IPv6では固定値 6 が入る。
トラフィッククラス (Traffic Class)8 ビットIPv4のType of Serviceに相当するフィールド。パケットの優先度や輻輳通知を表し、DSCPとECNとして使用される。
フローラベル (Flow Label)20 ビット同一のフロー(一連の通信)に属するパケットを識別するための値。送信元がランダムに設定し、ルータはこの値を用いてパケットを再分類することなく優先制御やロードバランシングに利用できる。
ペイロード長 (Payload Length)16 ビット基本ヘッダーを除いた、拡張ヘッダーとデータを合わせたバイト数。基本ヘッダー自体の40バイトは含まない。
ネクストヘッダー (Next Header)8 ビットIPv4のProtocolフィールドに相当。直後に続くヘッダーの種別を示し、拡張ヘッダーが続く場合はその種別、なければ上位層プロトコル(TCP、UDPなど)の種別を示す。
ホップリミット (Hop Limit)8 ビットIPv4のTTLに相当。パケットが経由できるルータの最大ホップ数で、ルータを1つ経由するごとに1減算され、0になった時点で破棄される。
送信元アドレス (Source Address)128 ビットパケットの送信元IPv6アドレス。
宛先アドレス (Destination Address)128 ビットパケットの宛先IPv6アドレス。

IPv4ヘッダーとの主な違い
#

IPv6の基本ヘッダーは、IPv4ヘッダーに存在していた以下のフィールドが廃止・変更されています。

IPv4での扱いIPv6での扱い
ヘッダーチェックサム廃止。上位層(TCP/UDP)や下位層(Ethernetなど)で誤り検出を行うため、IPレベルでの再計算コストを削減。
識別子・フラグ・フラグメントオフセット基本ヘッダーから削除。フラグメンテーションが必要な場合はFragment拡張ヘッダーとして付加される。ルータによる経路上でのフラグメンテーションは行われず、送信元のみが実施する。
IHL(ヘッダー長)廃止。基本ヘッダーが常に40バイト固定長のため不要。
オプション廃止。拡張ヘッダー(Extension Headers)としてNext Headerフィールドを介して数珠つなぎに連結される方式に変更。

拡張ヘッダーの代表例
#

Next Headerフィールドの値は、拡張ヘッダーまたは上位層プロトコルの種別を示します。代表的な値は以下の通りです。

Next Header値種別
0Hop-by-Hop Options(ホップバイホップオプション拡張ヘッダー)
6TCP
17UDP
43Routing(経路制御拡張ヘッダー)
44Fragment(フラグメント拡張ヘッダー)
50ESP(IPsec)
51AH(IPsec)
58ICMPv6
59No Next Header(これ以降にヘッダーが存在しないことを示す)
60Destination Options(宛先オプション拡張ヘッダー)

拡張ヘッダーはNext Headerフィールドを用いて数珠つなぎに連結され、最終的に上位層プロトコルへとたどり着きます。プロトコル番号(Next Header値)はIANAが管理しており、割り当て済みの全一覧は以下で公開されています。

ヘッダーサイズ
#

IPv4のTotal LengthはIPヘッダーを含めたパケット全体の長さを表すが、IPv6のPayload Lengthは基本ヘッダー40バイトを含まない点に注意する。
項目サイズ備考
IPv6基本ヘッダー40 バイト固定フィールド構成が単純化され、常に固定長。
拡張ヘッダー可変長(0個以上)Next Headerフィールドで種別を示しながら連結される。
IPv6パケット全体最大65535 バイト(Jumbogramを除く)基本ヘッダー40バイト + Payload Lengthで示される長さ。

経路上のリンクのMTUよりもパケットサイズが大きい場合、IPv4と異なりルータはフラグメンテーションを行いません。送信元ホストがPath MTU Discoveryによって適切なサイズを把握し、必要であれば送信元自身でFragment拡張ヘッダーを用いて分割します。MTUを超えるパケットを受信したルータは、ICMPv6 Packet Too Bigメッセージを送信元へ返して破棄します。

関連RFC
#

RFCタイトル概要
RFC 8200Internet Protocol, Version 6 (IPv6) Specification現行のIPv6仕様。基本ヘッダー構造や拡張ヘッダーの連結方式などを定義。RFC 2460を置き換えたInternet Standard。
RFC 2460Internet Protocol, Version 6 (IPv6) SpecificationIPv6の旧版仕様。RFC 8200により廃止(Obsolete)されているが、歴史的経緯として参照されることが多い。