1. Introduction (はじめに)
あるIPv6ノードが別のノードに大量のデータを送信する場合、データは一連のIPv6パケットとして送信されます。これらのパケットは、Path MTU (PMTU)以下のサイズを持つことができます。あるいは、それらはより大きなパケットとして、PMTUの以下のサイズを持つ一連のフラグメントに分割されることもあります。
通常、これらのパケットは、IPv6フラグメンテーションを必要とせずに、送信元ノードから宛先ノードへのパスを正常に通過できる最大のサイズであることが望ましいです。このパケットサイズはPath MTUと呼ばれ、パス内のすべてのリンクの最小リンクMTUに等しくなります。本文書は、ノードが任意のパスのPMTUを発見するための標準的なメカニズムを定義します。
IPv6ノードは、IPv6最小リンクMTU [RFC8200] より大きいPMTUを持つパスを発見し、活用するために、Path MTU Discoveryを実装すべきです (should)。最小限のIPv6実装 (例えば、ブートROM内)は、Path MTU Discoveryの実装を省略することを選択できます。
Path MTU Discoveryを実装していないノードは、[RFC8200] で定義されているIPv6最小リンクMTUを最大パケットサイズとして使用しなければなりません (must)。ほとんどの場合、これにより必要以上に小さなパケットの使用が生じます。なぜなら、ほとんどのパスはIPv6最小リンクMTUよりも大きいPMTUを持つためです。Path MTUが許容するよりもはるかに小さいパケットを送信するノードは、ネットワークリソースを無駄にし、おそらく最適でないスループットを得ています。
Path MTU Discoveryを実装し、IPv6最小リンクMTUより大きいパケットを送信するノードは、ICMPv6 [ICMPv6] メッセージがブロックされたり送信されなかったりする場合、問題のある接続性の影響を受けやすくなります。例えば、これによりTCP 3ウェイハンドシェイクは正しく完了するが、データ転送時にハングする接続が発生します。この状態はブラックホール接続 (black-hole connection) [RFC2923] と呼ばれます。Path MTU Discoveryは、パスのMTUを決定するためにICMPv6 Packet Too Big (PTB)に依存しています。
本文書で定義されているPath MTU Discoveryの拡張は [RFC4821] で見つけることができます。RFC 4821は、ICMPv6メッセージのホストへの配信が保証されていないパス上で使用するために設計されたPacketization Layer Path MTU Discovery (PLPMTUD)の方法を定義しています。
注記: 本文書は、[RFC2119] が公開される前に公開された [RFC1981] の更新です。その結果、RFC 1981は大文字と小文字で「should/must」スタイルの言語を使用していましたが、本文書はRFC 2119の定義を引用せず、これらの単語には小文字のみを使用しています。