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