IPv6ヘッダフォーマット

IPv6もIPv4と同様にあるホストから別のホストまでデータを送り届けるエンドツーエンド通信を実現することが主な役割です。送り届けるデータには、IPv6ヘッダを付加してネットワーク上に送り出します。

データを送り届けるためのIPv6基本ヘッダのヘッダフォーマットは以下のようになります。

図 IPv6ヘッダフォーマット
図 IPv6ヘッダフォーマット

IPv4ヘッダは20バイトで、IPv6基本ヘッダは40バイトです。ヘッダサイズ自体は増えていますが、ヘッダに含まれているフィールドはシンプルになっています。

IPv6ヘッダの各フィールド

「バージョン(Version)」(4ビット)

 バージョンには、バージョン番号が入ります。IPv6では、「6」です。

「トラフィッククラス(Traffic Class)」(8ビット)

IPv4ヘッダのTOS(Type Of Service)フィールドに相当します。トラフィッククラスフィールドでIPv6パケットの優先度をつけることができます。

「フローラベル(Flow Label)」(20ビット)

フローラベルは、IPv6で新たに定義されたフィールドで、アプリケーションフローを識別します。

「ペイロード長(Payload Length)」(16ビット)

ペイロード長は、ヘッダを除いたパケットの残りのサイズを表します。IPv4ではデータグラム長として、ヘッダ+データの長さを表していました。しかし、IPv6ではヘッダを除いたデータの長さをペイロード長としてヘッダに記述しています。

「次ヘッダ(Next Header)」(8ビット)

IPv4のプロトコル番号に相当するフィールドです。IPv6ヘッダの次のヘッダ、つまり、上位のプロトコルのヘッダ、またはIPv6拡張ヘッダを表します。

「ホップリミット(Hop Limit)」(8ビット)

IPv4ヘッダのTTLに相当するフィールドです。ルータやレイヤ3スイッチでIPv6パケットがルーティングされるたびに1減らされ、0になるとパケットが破棄されます。

「送信元アドレス(Source Address)」(128ビット)

パケットの送信元IPv6アドレスです。

「宛先アドレス(Destination Address)」(128ビット)

パケットの宛先IPv6アドレスです。IPv4の場合と同じように、たいていはDNSによって宛先IPv6アドレスを解決します。

以上の8つのフィールドがIPv6ヘッダで、必要に応じて、拡張ヘッダが付加されます。拡張ヘッダによって、送信先までに経由する経路を指定したり、フラグメント処理を行ったりすることができます。

IPv6ヘッダフォーマットなどIPv6の仕様は、以下のRFCで定義されています。