例:PIM RPT および SPT カットオーバーの設定
RP とレシーバー間の RPT の構築
RPT は、マルチキャスト グループ内の RP と受信者(ホスト)間のパスです( 図 1 を参照)。RPT は、受信側の DR からの PIM join メッセージによって構築されます。
受信者が、インターネット グループ管理プロトコル(IGMP)ホスト メンバーシップ レポートでグループ(G)への参加要求を送信します。PIM スパース モード ルーター(受信者の DR)は、直接接続されたサブネットに関するレポートを受信し、対象のマルチキャスト グループの RPT ブランチを作成します。
受信側の DR は、RPF ネイバー、RPF テーブルのネクストホップ アドレス、またはユニキャスト ルーティングテーブルに PIM join メッセージを送信します。
PIM join メッセージはツリーを上に移動し、ALL-PIM-ROUTERS グループ(224.0.0.13)にマルチキャストされます。ツリー内の各ルーターは、RPFテーブルまたはユニキャスト ルーティングテーブルのいずれかを使用して、RPFネイバーを検出します。これは、メッセージが RP に到達して RPT を形成するまで行われます。 パスに沿ったルーターは、要求されたマルチキャスト トラフィックを RPT から受信側に転送するために、マルチキャスト転送状態を設定します。

PIM スパース モード ソース登録
RPT は単方向ツリーであり、トラフィックが RP から受信者に一方向に流れ落ちることを許可します。マルチキャスト トラフィックが送信元から受信者に到達するには、最短パス ツリーと呼ばれる配信ツリーの別のブランチを、送信元の DR から RP まで構築する必要があります。
最短パスツリーは、以下の方法で作成されます。
送信元がアクティブになり、接続されているLAN上にマルチキャストパケットを送信します。送信元の DR はパケットを受信し、PIM レジスタ メッセージにカプセル化して、RP ルータに送信します( 図 2 を参照)。
RP ルーターは、送信元から PIM 登録メッセージを受信すると、PIM join メッセージを送信元に送り返します。
図 2: PIM 登録メッセージと PIM Join メッセージの交換送信元の DR は PIM join メッセージを受信し、SPT から RP ルーターに向けてトラフィックの送信を開始します( 図 3 を参照)。
RPルーターがトラフィックを受信すると、送信元のDRに登録停止メッセージを送信して登録プロセスを停止します。
図 3:送信元から RP ルーターに送信されたトラフィックRP ルーターは、マルチキャスト トラフィックを RPT から受信者に向けて送信します( 図 4 を参照)。
図 4:RP ルーターからレシーバーに向けて送信されたトラフィック
マルチキャスト最短パス ツリー
マルチキャストに使用される配信ツリーは、送信元をルートとし、SPT(Shortest-Path Tree)でもあります。特定のグループに対してアクティブなマルチキャストトラフィックがない(つまり、そのグループのマルチキャスト転送状態がない)マルチキャストルーターのセットを考えてみましょう。ルーターは、そのグループの対象受信者が直接接続されたサブネットの 1 つ上にあることを知ると、そのグループのツリーへの参加を試みます。
配信ツリーに参加するために、ルーターはそのグループの送信元のユニキャストIPアドレスを決定します。このアドレスは、ルーター上の単純な静的構成にすることも、プロトコルのセットのように複雑なものにすることもできます。
そのグループの SPT を構築するために、ルーターは、そのルーティングテーブル内の送信元アドレスに対して RPF(リバース パス フォワーディング)チェックを実行します。RPF チェックでは、送信元に最も近いインターフェイスが生成されます。このインターフェイスは、このグループのこの送信元からのマルチキャスト パケットがルータに流入する必要がある場所です。
次に、ルーターは、適切なマルチキャスト プロトコルを使用してこのインターフェイス上でジョイン メッセージを送信し、そのグループのディストリビューション ツリーに参加したいことをアップストリーム ルーターに通知します。S と G の両方が既知であるため、このメッセージは(S,G)ジョイン メッセージです。(S,G)ジョイン メッセージを受信したルーターは、メッセージを受信したインターフェイスをグループの出力インターフェイス リスト(OIL)に追加し、送信元アドレスに対して RPF チェックも実行します。次に、アップストリーム ルーターは、RPF インターフェイス上で(S,G)ジョイン メッセージを送信元に向けて送信し、アップストリーム ルーターにもグループへの参加を通知します。
各アップストリーム ルーターはこのプロセスを繰り返し、RPF インターフェイス上でジョインを伝搬して、SPT を構築します。プロセスは、参加メッセージが次の 2 つのいずれかを行うと停止します。
送信元のホストに直接接続されているルーターに到達します。
この送信元グループ ペアのマルチキャスト転送状態が既にあるルーターに到達します。
いずれの場合も、ブランチが作成され、各ルーターは送信元グループペアのマルチキャスト転送状態になり、パケットは送信元から受信者に配信ツリーを流れ落ちることができます。各ルータの RPF チェックでは、ツリーが SPT であることを確認します。
SPT は常に最短パスですが、必ずしも短いとは限りません。つまり、送信元と受信側はルーターネットワークのバックボーンではなく周辺に配置する傾向があり、マルチキャスト配信ツリーはネットワーク内のほぼすべてのルーターに広がる傾向があります。マルチキャスト トラフィックは遅いインターフェイスを圧倒する可能性があり、1 つのパケットがバックボーンの反対側で 100 または 1000 になりやすいため、マルチキャスト ソースをネットワークのより中央、バックボーンに配置できるように、共有ツリーを配信ツリーとして提供することは理にかなっています。コアネットワークにルートを持つディストリビューションツリーの共有は、マルチキャストランデブーポイントによって実現されます。RP の詳細については、 マルチキャスト ランデブー ポイント、共有ツリー、およびランデブー ポイント ツリーについてを参照してください。
SPT カットオーバー
SPT を RP に、RPT を受信者に使用し続ける代わりに、送信元と受信者の間で直接 SPT が次のように作成されます。
受信側の DR は、送信元から最初のマルチキャスト パケットを受信すると、その RPF ネイバーに PIM join メッセージを送信します( 図 5 を参照)。
送信元の DR は PIM join メッセージを受信し、追加の(S,G)ステートが作成されて SPT が形成されます。
その特定の送信元からのマルチキャスト パケットは、送信元の DR から開始され、新しい SPT を受信者の DR に流れ落ちます。受信者の DR は、送信元から送信された各マルチキャスト パケットの 2 つのコピー(RPT から 1 つ、新しい SPT から 1 つ)を受信します。
図 5:受信側 DR が送信元に PIM Join メッセージを送信する
マルチキャスト パケットの重複を停止するために、受信側の DR は PIM prune メッセージを RP ルーターに送信し、RPT から着信するこの特定の送信元からのマルチキャスト パケットが不要になったことを通知します( 図 6 を参照)。
図 6:PIM Prune メッセージが受信者の DR から RP ルーターに送信される
PIM prune メッセージは RP ルーターによって受信され、受信者の DR へのマルチキャスト パケットの送信を停止します。受信者の DR は、新しい SPT を介して、この特定の送信元のマルチキャスト パケットのみを取得します。ただし、送信元からのマルチキャスト パケットは、送信元の DR から RP ルーターに到達しています( 図 7 を参照)。
図 7:RP ルーターが PIM Prune メッセージ受信
この特定の送信元からの不要なマルチキャスト パケットを停止するために、RP ルータは送信元の DR に PIM prune メッセージを送信します( 図 8 を参照)。
図 8: RP ルーターが送信元 DRに PIM Prune メッセージを送信する
受信者の DR は、SPT から特定の送信元のマルチキャスト パケットのみを受信するようになりました( 図 9 を参照)。
図9:送信元のDRがRPルーターへの重複マルチキャストパケットの送信を停止する
SPTカットオーバー制御
場合によっては、最終ホップ ルータが RP への共有ツリーにとどまり、送信元への直接 SPT に移行しないようにする必要があります。たとえば、低帯域幅のマルチキャスト ストリームが RP から最終ホップ ルーターに転送される場合など、最終ホップ ルーターを遷移させたくない場合があります。ラスト ホップと送信元の間のすべてのルーターは、SPT 状態を維持し、更新する必要があります。これはリソースを大量に消費するアクティビティとなり、送信元グループアドレスとマルチキャストグループアドレスの特定のペアのネットワーク効率にはあまり貢献しません。
このような場合は、ラストホップ ルーターで SPT しきい値ポリシーを設定して、ダイレクト SPT への移行を制御します。送信元グループ アドレス ペアに適用される無限の SPT カットオーバーしきい値は、最終ホップ ルーターが直接 SPT に移行しないことを意味します。他のすべての送信元とグループのアドレス ペアの場合、最終ホップ ルーターは、送信元 DR をルートとする直接 SPT にただちに移行します。
例:PIM アサート タイムアウトの設定
この例では、PIM アサート フォワーダーのタイムアウト期間を設定する方法を示しています。
必要条件
開始する前に、以下を実行します。
ルーター インターフェイスを設定します。
内部ゲートウェイ プロトコルまたはスタティック ルーティングを設定します。 ルーティングデバイス用 Junos OSルーティングプロトコルライブラリ を参照してください。
インターフェイスに PIM スパース モードを設定します。 PIM スパース モードの有効化を参照してください。
概要
PIM アサート メッセージの役割は、複数のルータを持つネットワーク上のフォワーダを決定することです。フォワーダーは、マルチキャスト グループ メンバーを持つネットワークにマルチキャスト パケットを転送するルーターです。フォワーダは、通常、PIM DR と同じです。
ルーターは、一致するルーティング エントリの発信インターフェイス リストにリストされているインターフェイスでマルチキャスト パケットを受信すると、アサート メッセージを送信します。発信インターフェイスでメッセージを受信することは、複数のルーターが同じマルチキャストパケットをネットワークに転送していることを示しています。
図 10 では、ルーティング デバイス R1 と R2 の両方が、ネットワーク上の同じ(S,G)エントリーに対してマルチキャスト パケットを転送しています。両方のデバイスがこの状況を検出し、両方のデバイスがイーサネットネットワーク上でアサートメッセージを送信します。アサートメッセージには、送信元アドレスとグループアドレスに加えて、送信元にパケットを送信するためのユニキャストコストメトリックと、ユニキャストコストの優先メトリックが含まれています。プリファレンスメトリックは、ユニキャストルーティングプロトコル間のプリファレンスを表します。プリファレンスメトリックが最も小さいルーティングデバイスがフォワーダー(アサート勝者とも呼ばれる)となります。プリファレンスメトリックが等しい場合、最も低いユニキャストコストメトリックを送信したデバイスがフォワーダーになります。ユニキャストメトリックも等しい場合、最も大きいIPアドレスを持つルーティングデバイスがフォワーダとなります。アサート メッセージの送信後、フォワーダーのみがネットワーク上でメッセージを転送し続けます。
アサートメッセージを受信し、RPFネイバーがアサート勝者に変更されると、アサートタイマーはアサートタイムアウト期間に設定されます。アサート タイムアウト期間は、ルート エントリーの後続のアサート メッセージが受信インターフェイスで受信されるたびに再開されます。アサート タイマーが終了すると、ルーティング デバイスはユニキャスト ルーティング ルーティングテーブルに従って RPF ネイバーをリセットします。その後、複数のフォワーダーがまだ存在する場合、フォワーダーはアサートメッセージサイクルに再度入ります。実際には、アサート タイムアウト期間によって、マルチキャスト ルーティング デバイスが PIM アサート メッセージ サイクルに入る頻度が決まります。
範囲は 5 から 210 秒からです。デフォルトは 180 秒です。
アサートメッセージは、複数のルーティングデバイスを接続し、ホストを接続しないLANに役立ちます。
構成
プロシージャ
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。CLIのナビゲーションについては、Junos OS CLIユーザーガイドの 設定モードでCLIエディターを使用する を参照してください。
アサートタイムアウトを設定するには、次のようにします。
タイムアウト期間を秒単位で設定します。
[edit protocols pim] user@host# set assert-timeout 60
(オプション)アサート メッセージをトレースします。
[edit protocols pim] user@host# set traceoptions file PIM.log user@host# set traceoptions flag assert detail
デバイスの設定が完了したら、設定をコミットします。
user@host# commit
設定を確認するには、次のコマンドを実行します。
show pim join
show pim statistics
例:PIM SPT しきい値ポリシーの設定
この例では、RP をルートとするランデブーポイント ツリー(RPT)から、送信元をルートとする最短パス ツリー(SPT)への移行を抑制するポリシーを適用する方法を示します。
必要条件
開始する前に、以下を実行します。
ルーター インターフェイスを設定します。
内部ゲートウェイ プロトコルまたはスタティック ルーティングを設定します。 ルーティングデバイス用 Junos OSルーティングプロトコルライブラリ を参照してください。
インターフェイスに PIM スパース モードを設定します。 PIM スパース モードの有効化を参照してください。
概要
PIM スパース モードを実行するマルチキャスト ルーティング デバイスは、RP をルートとする RPT または送信元をルートとする SPT を介して、マルチキャスト パケットの同じストリームを同じ LAN に転送できます。場合によっては、最終ホップ ルーティング デバイスは、RP への共有 RPT にとどまり、送信元への直接 SPT に移行しない必要があります。SPT でマルチキャスト データ トラフィックを受信するのは最適ですが、ネットワークにより多くの状態が発生するため、一部のマルチキャスト展開では望ましくない場合があります。理想的には、低帯域幅のマルチキャスト ストリームを RPT で転送し、高帯域幅のストリームで SPT を使用できます。この例では、このようなポリシーを設定する方法を示しています。
この例には、次の設定が含まれています。
-
spt-threshold—ラストホップ ルーティング デバイスで SPT 閾値ポリシーを設定し、ダイレクト SPT への移行を制御できます。メイン PIM インスタンスにこのステートメントを含めると、PE ルーターは制御トラフィックのために RPT にとどまります。
-
infinity—ラストホップ ルーティング デバイスが直接 SPT に移行しないように、送信元グループ アドレス ペアに無限の SPT カットオーバーしきい値を適用します。他のすべての送信元とグループのアドレス ペアの場合、最終ホップ ルーティング デバイスは、送信元 DR をルートとする直接 SPT に直ちに移行します。このステートメントは、適切に設定されたポリシーを参照して、特定のソースとグループのペアの SPT カットオーバーしきい値を無限に設定する必要があります。SPT しきい値に無限大以外の値を使用することはサポートされていません。複数のポリシーを設定できます。
-
policy-statement:ポリシーを設定します。最も単純なタイプの SPT 閾値ポリシーでは、ルート フィルタと送信元アドレス フィルタを使用して、マルチキャスト グループと送信元アドレスを指定し、そのアドレス ペアの SPT 閾値を無限大に設定します。ポリシーがメインの PIM インスタンスに適用されます。
この例では、送信元グループ ペア 10.10.10.1 および 224.1.1.1 の SPT 遷移値を無限大に設定します。ポリシーがラストホップ ルーターに適用されると、この送信元とグループのペアからのマルチキャスト トラフィックは、送信元への直接 SPT に移行しません。トラフィックは引き続き RP を介して到着します。ただし、このルーターでのその他の送信元とグループ アドレスの組み合わせのトラフィックは、送信元への直接 SPT に移行します。
SPT しきい値ポリシーを設定する場合は、次の点に注意してください。
-
SPT 閾値ポリシーに対する設定変更は、ルーティング デバイスが SPT 遷移を処理する方法に影響します。
-
ポリシーが初めて設定されるとき、ルーティング デバイスは、 clear pim join コマンドで PIM join 状態がクリアされるまで、送信元グループ アドレス ペアの 直接 SPT に移行し続けます。
-
インフィニティ ポリシー設定を初めて適用するときに PIM join ステートをクリアしない場合は、PE ルーターを起動する前に適用する必要があります。
-
送信元グループ アドレス ペアのポリシーが初めて削除された場合、clear pim join コマンドで PIM join 状態がクリアされるまで、ルーティング デバイスはその送信元グループ アドレス ペアの直接 SPT に移行しません。
-
送信元グループ アドレス ペアのポリシーが初めて変更された場合、 clear pim join コマンドで PIM join 状態がクリアされるまで、ルーティング デバイスは新しいポリシーを使用しません。
位相幾何学
構成
プロシージャ
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit]
階層レベルで CLI にコピー アンド ペーストして、設定モードから commit
を入力します。
[edit] set policy-options policy-statement spt-infinity-policy term one from route-filter 224.1.1.1/32 exact set policy-options policy-statement spt-infinity-policy term one from source-address-filter 10.10.10.1/32 exact set policy-options policy-statement spt-infinity-policy term one then accept set policy-options policy-statement spt-infinity-policy term two then reject set protocols pim spt-threshold infinity spt-infinity-policy
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。CLIのナビゲーションについては、 Junos OS CLIユーザーガイドを参照してください。
SPT しきい値ポリシーを設定するには、次の手順を実行します。
ポリシーを適用します。
[edit] user@host# edit protocols pim [edit protocols pim] user@host# set spt-threshold infinity spt-infinity-policy [edit protocols pim] user@host# exit
ポリシーを設定します。
[edit] user@host# edit policy-options policy-statement spt-infinity-policy [edit policy-options policy-statement spt-infinity-policy] user@host# set term one from route-filter 224.1.1.1/32 exact [edit policy-options policy-statement spt-infinity-policy] user@host# set term one from source-address-filter 10.10.10.1/32 exact [edit policy-options policy-statement spt-infinity-policy] user@host# set term one then accept [edit policy-options policy-statement spt-infinity-policy] user@host# set term two then reject [edit policy-options policy-statement spt-infinity-policy] user@host# exit policy-statement {
デバイスの設定が完了したら、設定をコミットします。
[edit] user@host# commit
PIM ジョイン キャッシュをクリアして、設定を強制的に有効にします。
[edit] user@host# run clear pim join
業績
設定モードから show policy-options コマンドと show protocols コマンドを入力して、設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
user@host# show policy-options policy-statement spt-infinity-policy { term one { from { route-filter 224.1.1.1/32 exact; source-address-filter 10.10.10.1/32 exact; } then accept; } term two { then reject; } }
user@host# show protocols pim { spt-threshold { infinity spt-infinity-policy; } }
検証
設定を確認するには、 show pim join コマンドを実行します。