IPv6 プロトコルは、基本 IPv6 ヘッダー、IPv6 拡張ヘッダーを含むヘッダーセットを定義します。次の図は、IPv6 ヘッダーに使用されるフィールドとその順序を示します。
次のリストは、各ヘッダーフィールドの機能について説明します。
バージョン – 4 ビットインターネットプロトコルバージョン番号。IPv6 では 6 です。
トラフィッククラス – 8 ビットトラフィッククラスフィールド。
フローラベル – 20 ビットフィールド。
ペイロードの長さ – オクテット単位で表す 16 ビット符号なし整数。IPv6 ヘッダーに続くパケットの残りです。
次のヘッダー – 8 ビットセレクタ。IPv6 ヘッダーのすぐ後ろに続くヘッダーのタイプを識別します。IPv4 プロトコルフィールドと同じ値を使用します。
ホップ制限 – 8 ビット符号なし整数。パケットを送信するノードごとに値が 1 ずつ減ります。ホップ制限がゼロになるとパケットが廃棄されます。
ソースアドレス – 128 ビット。パケットの初期送信側のアドレス。
宛先アドレス – 128 ビット。パケットの予定受信側のアドレス。オプションの経路制御ヘッダーがある場合、必ずしも受信側とは限りません。
IPv6 オプションは、IPv6 ヘッダーとトランスポート層の間の独立した拡張ヘッダーにあります。パケットが最終的な宛先に到着するまで、その配送パスに存在するルーターは、ほとんどの場合 IPv6 拡張ヘッダーを確認または処理しません。そのため、オプションを含むパケットを処理するルーターの性能が大幅に改善されました。IPv4 では、オプションがある場合、ルーターですべてのオプションを調べる必要がありました。
IPv4 オプションとは異なり、IPv6 拡張ヘッダーの長さは任意です。またパケットに組み込むことのできるオプションの合計数が 40 バイト以内に限定されない点があります。この機能とその処理方法によって、IPv4 では非現実的であった機能を IPv6 オプションが使用できるようになりました。
後続のオプションヘッダー (およびそのあとのトランスポートプロトコル) を処理する際の性能を強化するため、IPv6 オプションは常に 8 オクテットの整数倍の長さです。この 8 オクテットの整数倍という長さにより、後続ヘッダーのバイト境界が維持されます。
次の IPv6 拡張ヘッダーが現在、定義されています。
経路制御 – 拡張経路制御 (IPv4 ルーズソースルートにあたる)
断片化 – 断片化および再結合
認証 – 整合性および認証、セキュリティー
セキュリティーペイロードのカプセル化 – 機密性
ホップバイホップオプション – ホップごとの処理が必要な特別なオプション
宛先オプション – 宛先ノードが判断するオプション情報