ヘッダー・フォーマットの単純化

IPv6 では、ヘッダー全体を除去するか、IPv4 ヘッダーにあるフィールドの一部を拡張ヘッダーに移動することで、IP ヘッダーを単純化します。 これは、オプションの情報 (拡張ヘッダー) に対して柔軟なフォーマットを定義します。

特に、次の項目がないことに注意してください。

  • header length (長さは固定)
  • identification
  • flags
  • fragment offset (フラグメント化拡張ヘッダーに移動)
  • header checksum (上位層のプロトコルまたはセキュリティー拡張ヘッダーがデータ保全性を処理)
表 1. IPv4 ヘッダー
項目 説明 説明 説明 説明
Version IHL Type of Service Total Length  
Identification Identification Identification Flags Fragment Offset
Time to Live Time to Live Protocol Header Checksum Header Checksum
Source Address Source Address Source Address Source Address Source Address
Destination Address Destination Address Destination Address Destination Address Destination Address
Options Options Options Options Padding
表 2. IPv6 ヘッダー
項目 説明 説明 説明 説明
Version Prio   Flow Label  
Payload Length Payload Length Payload Length Next Header Hop Limit
Source Address Source Address Source Address Source Address Source Address
Destination Address Destination Address Destination Address Destination Address Destination Address

IPng のオプション・メカニズムは IPv4 に比べて改善されています。 IPv6 のオプションは、パケットの IPv6 ヘッダーとトランスポート層ヘッダーの間に置かれた別々の拡張ヘッダーに入れられます。 ほとんどの拡張ヘッダーは、最終宛先に到達するまで、パケットの送達パス上で、どのルーターからも検査を受けず、処理もされません。 このようなメカニズムによって、オプションを含むパケットを処理するルーターのパフォーマンスを、大幅に改善することができます。 IPv4 では、どのようなオプションもすべてルーターによる検査を必要とします。

また別な改善点として、IPv4 のオプションとは異なり、IPv6 の拡張ヘッダーは長さが不定で、パケットで運ばれるオプションの総数が 40 バイトに限定されません。 この機能とオプションの処理方法によって、IPv6 のオプションは IPv4 では実用的でない機能に使用することができます。例えば、IPv6 の認証オプションやセキュリティーのカプセル化オプションなどです。

後続するオプション・ヘッダー、およびトランスポート・プロトコルの処理時のパフォーマンスを向上するために、IPv6 のオプションは必ず長さを 8 オクテットの整数倍にして、後続するヘッダーのためにこの位置合わせを保ちます。

プロトコル指定子とオプション・フィールドの代わりに拡張ヘッダーを使用することにより、新しく定義した拡張機能の組み込みがさらに容易になります。

現行の仕様では、拡張ヘッダーは次のように定義されます。

  • パス上の各ホップ (ルーター) に適用する hop-by-hop オプション。
  • 疎/密送信元経路指定に対する経路指定ヘッダー (まれに使用)。
  • フラグメントは、パケットをフラグメントとして定義し、フラグメントの情報を含みます (IPv6 ルーターはフラグメント化を行いません)。
  • 認証 (セキュリティーの『TCP/IP のセキュリティー』を参照)
  • 暗号化 (セキュリティーの『TCP/IP のセキュリティー』を参照)
  • 宛先ノード用の宛先オプション (ルーターは無視)。