メインコンテンツまでスキップ

8. Upper-Layer Protocol Issues (上位層プロトコルの問題)

8.1 Upper-Layer Checksums (上位層チェックサム)

IPv6を介して送信される上位層プロトコル (TCP、UDP等) のチェックサムを計算する際に使用される疑似ヘッダー (pseudo-header) は、IPv4 [RFC0793] で使用されるものとは異なります。疑似ヘッダーは次のものから構成されます:

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Source Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Destination Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Upper-Layer Packet Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| zero | Next Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • 送信元アドレス (Source Address) は、IPv6ヘッダーの128ビットの送信元アドレスです。

  • 宛先アドレス (Destination Address) は、パケットの最終宛先の128ビットのIPv6アドレスです。

  • 上位層パケット長 (Upper-Layer Packet Length) は、上位層ヘッダーとデータの長さです (8バイト単位で表される32ビットの値)。

  • ゼロ (zero) は、ゼロで埋められた24ビットのフィールドです。

  • 次ヘッダー (Next Header) は、上位層プロトコルを識別する8ビットのフィールドです (例: TCPの場合は6、UDPの場合は17)。

上位層プロトコルがチェックサムを計算または検証する場合、拡張ヘッダーは疑似ヘッダーに含まれてはなりません (MUST NOT)。

8.2 Maximum Packet Lifetime (最大パケット生存期間)

IPv4とは異なり、IPv6ノードは、受信したパケットのホップリミット (Hop Limit) が0以下であるかどうかをチェックする必要はありません (NEED NOT)。これは、ホップリミットフィールドが、パケットが送信先に到達する前に経由できるホップ数の制限として機能することを意図しているためです。

ただし、上位層プロトコルは、自身が設定した最大パケット生存期間 (Maximum Packet Lifetime) に依存している可能性があります。そのような上位層プロトコルを使用するIPv6実装は、IPv4で使用されているのと同じ最大パケット生存期間の値を使用すべきです (SHOULD)。

8.3 Maximum Upper-Layer Payload Size (最大上位層ペイロードサイズ)

ペイロード長 (Payload Length) フィールドが16ビットであることを考えると、上位層プロトコルは、IPv6パケットで転送できるデータの最大量が65,535オクテットであると想定してはなりません (MUST NOT)。[RFC2675]で定義されているジャンボペイロードオプション (Jumbogram option) を使用すると、より大きなペイロードを転送できます。

8.4 Responding to Packets Carrying Routing Headers (ルーティングヘッダーを含むパケットへの応答)

ルーティングヘッダー (Routing Header) を含むパケットを受信し、そのパケットに応答して上位層出力を生成するノードは、応答パケットの送信元アドレスフィールドを、受信したパケットの宛先アドレスフィールドの最終値にすべきではありません (SHOULD NOT)。代わりに、応答パケットの送信元アドレスは、受信したパケットの最初 (最終ではない) 宛先アドレスであるべきです (SHOULD)。ただし、ルーティングヘッダーがセグメントルーティングヘッダー (SRH) [RFC8754] の場合を除きます。