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

4.7. PIM Bootstrap and RP Discovery (PIM ブートストラップと RP 発見)

PIM-SM は, ドメイン内のすべてのルーターが各マルチキャストグループのランデブーポイント (Rendezvous Point, RP) アドレスを知るためのメカニズムを必要とします。このセクションでは RP 発見のメカニズムについて説明します。

RP 発見方法

PIM-SM は複数の RP 発見方法をサポートします:

  1. 静的設定: 管理者が各ルーターにグループから RP へのマッピングを手動で設定します
  2. Bootstrap Router (BSR) メカニズム: RP 情報を動的に配布します [RFC 5059]
  3. Embedded-RP: IPv6 マルチキャストアドレスに RP アドレスを埋め込みます [RFC 3956]
  4. Auto-RP: Cisco 独自の動的 RP 発見メカニズム

このセクションは BSR メカニズムとグループから RP へのマッピングの基本原理に焦点を当てています。

Bootstrap Router (BSR) メカニズムの概要

BSR メカニズムは RP 情報を配布するための動的でフォールトトレラントな方法を提供します:

  1. BSR 選出: ドメイン内のルーターが自動的に Bootstrap Router を選出します
  2. RP 候補アドバタイズ: RP 候補として設定されたルーターが BSR に Candidate-RP-Advertisement メッセージを送信します
  3. RP-Set 配布: BSR は候補情報を収集し, Bootstrap メッセージを介して RP-Set を配布します
  4. ホップバイホップフラッディング: Bootstrap メッセージはドメイン内をホップバイホップでフラッディングされます

4.7.1. Group-to-RP Mapping (グループから RP へのマッピング)

各ルーターはグループから RP へのマッピングテーブルを維持します。特定のグループ G に対して, ルーターはどの RP を使用するかを決定する必要があります。

マッピングプロセス:

  1. グループ G をカバーするすべての RP 候補を検索します
  2. ハッシュ関数を使用して特定の RP を選択します
  3. 効率を向上させるためにマッピングをキャッシュします

グループ範囲: 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 が変更されると:

  1. ルーターは影響を受けるグループの RP マッピングを再計算します
  2. 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 を参照してください。