付録 A. マルチホームホスト (Multihomed Hosts)
この付録では、近隣探索を使用する際の、複数のインターフェースを持つホストまたは複数のネットワークに接続されたホスト(マルチホームホスト)に関する考慮事項について説明します。
A.1. 概要 (Overview)
マルチホームホストとは、以下を持つホストです:
- 複数の物理インターフェース(例:イーサネットと Wi-Fi)
- 単一の物理インターフェース上の複数の論理インターフェース
- 複数のネットワークまたはサブネットへの接続
マルチホーミングは、近隣探索に複雑さをもたらします。特に以下において:
- 送信元アドレス選択
- ルータ選択
- プレフィックス管理
- デフォルトルート選択
A.2. 送信元アドレス選択 (Source Address Selection)
マルチホームホストがパケットを送信する場合、適切な送信元アドレスを選択する必要があります。この選択は以下に影響します:
到達可能性 (Reachability): 選択された送信元アドレスは、ルーティングポリシーと入力フィルタリングを考慮して、宛先から到達可能でなければなりません。
パフォーマンス (Performance): 異なるインターフェースは異なる特性(帯域幅、レイテンシ、コスト)を持つ場合があります。
ポリシー (Policy): 管理ポリシーが特定の宛先に対してどのインターフェースを使用するかを指示する場合があります。
RFC 6724 は、以下のような要素を考慮したデフォルトの送信元アドレス選択アルゴリズムを定義しています:
- スコープマッチング
- 優先アドレス vs. 非推奨アドレス
- ホームアドレス vs. 気付アドレス(Mobile IPv6)
- ラベルマッチングとポリシーテーブル
A.3. 複数インターフェース上のルータ探索 (Router Discovery on Multiple Interfaces)
マルチホームホストは、複数のインターフェース上で Router Advertisement を受信します。主な考慮事項には以下が含まれます:
インターフェースごとのルータリスト (Per-Interface Router Lists): ホストは、あるインターフェース上のルータが別のインターフェースから到達できない可能性があるため、各インターフェースに対して個別のデフォルトルータリストを維持すべきです (SHOULD)。
デフォルトルータ選択 (Default Router Selection): デフォルトルータを選択する際、ホストは以下を考慮する必要があります:
- ルータがどのインターフェースを通じて到達可能か
- ルータの優先順位(RFC 4191 経由でアドバタイズされている場合)
- ローカルポリシーに基づくインターフェースの優先順位
プレフィックス情報 (Prefix Information): Router Advertisement 経由で学習されたプレフィックスは、それが受信されたインターフェースに関連付けられます。ホストは、明示的に設定されていない限り、あるインターフェースからのアドレスを別のインターフェース経由でパケットを送信するために使用すべきではありません (SHOULD NOT)。
A.4. オンリンク判定 (On-Link Determination)
マルチホームホストの場合、オンリンク判定はより複雑になります:
- アドレスは、あるインターフェース上ではオンリンクであるが、別のインターフェース上ではそうでない場合があります
- ホストは、どのプレフィックスがどのインターフェース上でオンリンクであるかを追跡する必要があります
- パケットを送信する際、ホストは送信元アドレスと送信インターフェースの両方を一貫して選択する必要があります
A.5. リダイレクト処理 (Redirect Processing)
Redirect メッセージは、それが受信されたインターフェースに固有です。マルチホームホストは:
- Redirect 情報を、Redirect が受信されたインターフェースに関連付けなければなりません (MUST)
- あるインターフェースからの Redirect 情報を、別のインターフェースのルーティング決定に適用してはなりません (MUST NOT)
A.6. 近隣非到達性検出 (Neighbor Unreachability Detection)
近隣非到達性検出は、各インターフェース上で独立して実行されます。あるインターフェース上で到達不可能な近隣は、別のインターフェース上では到達可能である可能性があります(それ自体がマルチホームである場合)。
A.7. インターフェースごとの複数アドレス (Multiple Addresses per Interface)
単一のインターフェースは複数のアドレスを持つ場合があります:
- リンクローカルアドレス(必須)
- 異なるプレフィックスからの1つ以上のグローバルアドレス
- プライバシーアドレス(RFC 4941)
- 一時アドレス
各アドレスには独自の Preferred および Valid Lifetime があり、個別に追跡する必要があります。
A.8. Mobile IPv6 との相互作用 (Interaction with Mobile IPv6)
Mobile IPv6 は、マルチホームホストに追加の複雑さをもたらします:
- ホームアドレス vs. 気付アドレスの選択
- 複数のインターフェースが利用可能な場合の複数の気付アドレス
- インターフェース間での動的ホームエージェント探索
Mobile IPv6 の相互作用の詳細については、RFC 3775 および関連文書を参照してください。
A.9. 実装の推奨事項 (Implementation Recommendations)
マルチホームホストの場合、実装は以下を行うべきです (SHOULD):
-
インターフェースごとの状態を維持 (Maintain Per-Interface State): 各インターフェースに対して個別の Neighbor Cache、Destination Cache、Prefix List、および Default Router List を保持します。
-
適切な送信元アドレス選択 (Proper Source Address Selection): RFC 6724 の送信元アドレス選択アルゴリズムを実装します。
-
インターフェース選択 (Interface Selection): 複数のインターフェースが宛先に到達できる場合、以下に基づいて選択します:
- 最長一致プレフィックス
- ルータの優先順位
- ローカルポリシー(管理者設定)
- インターフェース特性
-
インターフェース間の仮定を避ける (Avoid Cross-Interface Assumptions): あるインターフェース上で学習した情報が別のインターフェースに適用されると仮定しないでください。
-
インターフェース状態変更の処理 (Handle Interface State Changes): インターフェースの有効化/無効化イベントを適切に処理し、ルーティングとアドレス情報を適宜更新します。
-
すべてのインターフェースを監視 (Monitor All Interfaces): すべてのアクティブなインターフェース上で Router Advertisement を処理します。
A.10. 一般的な落とし穴 (Common Pitfalls)
落とし穴 1: 間違った送信元アドレスの使用 (Using Wrong Source Address) インターフェース B 経由で送信する際にインターフェース A からの送信元アドレスを使用すると、以下の結果になる可能性があります:
- 入力フィルタリングによるパケットのドロップ
- リターントラフィックが間違ったインターフェースに到達
- 接続の破損
落とし穴 2: インターフェース間リダイレクト (Cross-Interface Redirects) あるインターフェースからの Redirect 情報を、別のインターフェースでのルーティング決定に適用すること。
落とし穴 3: 単一のデフォルトルータリスト (Single Default Router List) すべてのインターフェースに対して単一のデフォルトルータリストを維持すると、間違ったインターフェース上でルータに到達しようとする結果になる可能性があります。
落とし穴 4: インターフェース優先順位の無視 (Ignoring Interface Preferences) ルートを選択する際に、インターフェース固有の特性(帯域幅、コスト、信頼性)を考慮しないこと。
A.11. 今後の作業 (Future Work)
マルチホームホストに関連する潜在的な将来の作業領域には以下が含まれます:
- インターフェース選択のためのより良いアルゴリズム
- インターフェース間で到達可能性情報を共有するメカニズム
- 複数のパスを考慮した強化されたルータ優先順位
- トラフィックエンジニアリングおよびサービス品質メカニズムとの統合