4.7. PIM Bootstrap and RP Discovery (PIM ブートストラップと RP 発見)
PIM-SM は, ドメイン内のすべてのルーターが各マルチキャストグループのランデブーポイント (Rendezvous Point, RP) アドレスを知るためのメカニズムを必要とします。このセクションでは RP 発見のメカニズムについて説明します。
RP 発見方法
PIM-SM は複数の RP 発見方法をサポートします:
- 静的設定: 管理者が各ルーターにグループから RP へのマッピングを手動で設定します
- Bootstrap Router (BSR) メカニズム: RP 情報を動的に配布します [RFC 5059]
- Embedded-RP: IPv6 マルチキャストアドレスに RP アドレスを埋め込みます [RFC 3956]
- Auto-RP: Cisco 独自の動的 RP 発見メカニズム
このセクションは BSR メカニズムとグループから RP へのマッピングの基本原理に焦点を当てています。
Bootstrap Router (BSR) メカニズムの概要
BSR メカニズムは RP 情報を配布するための動的でフォールトトレラントな方法を提供します:
- BSR 選出: ドメイン内のルーターが自動的に Bootstrap Router を選出します
- RP 候補アドバタイズ: RP 候補として設定されたルーターが BSR に Candidate-RP-Advertisement メッセージを送信します
- RP-Set 配布: BSR は候補情報を収集し, Bootstrap メッセージを介して RP-Set を配布します
- ホップバイホップフラッディング: Bootstrap メッセージはドメイン内をホップバイホップでフラッディングされます
4.7.1. Group-to-RP Mapping (グループから RP へのマッピング)
各ルーターはグループから RP へのマッピングテーブルを維持します。特定のグループ G に対して, ルーターはどの RP を使用するかを決定する必要があります。
マッピングプロセス:
- グループ G をカバーするすべての RP 候補を検索します
- ハッシュ関数を使用して特定の RP を選択します
- 効率を向上させるためにマッピングをキャッシュします
グループ範囲: RP は特定のグループ範囲に対して設定できます。例えば:
- RP1 が 239.1.0.0/16 をサービス
- RP2 が 239.2.0.0/16 をサービス
4.7.2. Hash Function (ハッシュ関数)
PIM-SM はハッシュ関数を使用して, グループアドレスを RP-Set 内の特定の RP にマッピングします。ハッシュ関数は次のように設計されています:
- 決定論的: すべてのルーターが同じグループに対して同じ RP を選択します
- 順序保存: RP-Set が変更されたときに再マッピングを最小限に抑えます
- 負荷分散: 複数の RP 間でグループを分散します
ハッシュアルゴリズム (簡略版):
1. RP-Set からそのグループをサービスする RP をフィルタリングします
2. 各 RP について:
value = 1103515245 * ((1103515245 * (G) + 12345) XOR RP) + 12345
3. value が最大の RP を選択します
4. 複数の RP が同じ value を持つ場合, 最大の IP アドレスを選択します
例:
Group: 239.1.1.1
RP-Set: {10.0.0.1 (239.0.0.0/8 をサービス), 10.0.0.2 (239.0.0.0/8 をサービス)}
ハッシュ値を計算:
- RP 10.0.0.1: hash(239.1.1.1, 10.0.0.1) = 0x12345678
- RP 10.0.0.2: hash(239.1.1.1, 10.0.0.2) = 0x23456789
選択: RP 10.0.0.2 (より大きいハッシュ値)
RP 状態維持
各ルーターは次の RP 関連状態を維持します:
- 現在の RP-Set: BSR から受信した RP 候補リスト
- グループから RP へのマッピングキャッシュ: 計算済みのマッピング結果
- RP 優先度: 各 RP の優先度値
RP-Set が変更されると:
- ルーターは影響を受けるグループの RP マッピングを再計算します
- RP が変更された場合, 状態再構築をトリガーします (古い RP に Prune を送信, 新しい RP に Join を送信)
その他の RP 発見メカニズム
Embedded-RP (IPv6):
- RP アドレスがマルチキャストグループアドレスに直接エンコードされます
- 形式: ff7x:0yz0:RIID::/96
- 追加の発見プロトコルは不要です
静的設定:
- シンプルで信頼性が高く, 小規模ネットワークに適しています
- 柔軟性とフォールトトレランスが欠けています
- 設定例:
ip pim rp-address 10.0.0.1 239.0.0.0/8
注記
BSR メカニズムの詳細な仕様については RFC 5059 を参照してください。Embedded-RP については RFC 3956 を参照してください。