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

1. はじめに (Introduction)

1. はじめに (Introduction)

IPv6 アドレス指定アーキテクチャ [RFC4291] では、複数のユニキャストアドレスをインターフェースに割り当てることができます。これらのアドレスは異なる到達可能性スコープ(リンクローカル、サイトローカル、またはグローバル)を持つ場合があります。また、「優先 (preferred)」または「非推奨 (deprecated)」[RFC4862] の場合もあります。プライバシーの考慮から「パブリックアドレス (public addresses)」と「一時アドレス (temporary addresses)」の概念が導入されました [RFC4941]。モビリティアーキテクチャでは「ホームアドレス (home addresses)」と「気付アドレス (care-of addresses)」が導入されました [RFC6275]。さらに、マルチホーミング (multi-homing) の状況では各ノードにより多くのアドレスが割り当てられます。

最終的に、IPv6 実装は通信を開始する際に複数の可能な送信元アドレスと宛先アドレスに直面することが多くなります。開発者と管理者がシステムの動作を推論・予測できるよう、すべての実装に共通するデフォルトアルゴリズムが期待されます。

また、IPv6 と IPv4 の両方をサポートするデュアルスタックまたはハイブリッドスタック実装は、通信を開始する際に IPv6 と IPv4 の間で選択する必要があることが多くあります。例えば、DNS 名前解決が IPv6 と IPv4 の両方のアドレスを返し、ネットワークスタックが IPv6 と IPv4 の両方の送信元アドレスを持つ場合です。このような状況では、常に IPv6 を優先するか常に IPv4 を優先するという単純なポリシーは望ましくない動作を引き起こす可能性があります。

本文書のアルゴリズムは、利用可能なアドレスの集合に対して部分順序 (partial ordering) を定義する一連のルールとして規定されています。送信元アドレス選択の場合、ノードは通常インターフェースに複数のアドレスが割り当てられており、第 5 節の送信元アドレス順序付けルールが使用する「最良」のアドレスを定義します。宛先アドレス選択の場合、DNS は特定の名前に対してアドレスのセットを返す場合があり、アプリケーションはどのアドレスを最初に使用するか、最初のアドレスに到達できない場合に他のアドレスをどの順序で試みるかを決定する必要があります。

本文書は送信元アドレス選択と宛先アドレス選択を別々に規定していますが、共通のコンテキストを使用することで、両アルゴリズムが連携して有用な結果を生み出します。アルゴリズムは適切なスコープと設定状態(RFC 4862 の意味での「優先」または「非推奨」)を持つ送信元アドレスと宛先アドレスを選択しようとします。

本文書はまた、管理者がデフォルト動作を上書きできるポリシーフック (policy hooks) を規定します。例えば、これらのフックを使用して、管理者は宛先プレフィックスに使用する優先送信元プレフィックスを指定したり、あるプレフィックスを持つ宛先アドレスを別のプレフィックスを持つアドレスより優先したりできます。

本文書で規定される選択ルールは、アプリケーションや上位層が正当な宛先または送信元アドレスを明示的に選択した場合にそれを上書きするものとして解釈されてはなりません。