例:PIM RPT および SPT カットオーバーの設定
RP と受信者間の RPT の構築
RPT は、マルチキャスト グループ内の RP と受信側(ホスト)間のパスです( 図 1 を参照)。RPT は、受信者の DR からの PIM 参加メッセージによって構築されます。
受信者は、インターネット グループ管理プロトコル(IGMP)ホスト メンバーシップ レポート内のグループ(G)への参加要求を送信します。受信者の DR である PIM スパース モード ルーターは、直接接続されたサブネットに関するレポートを受信し、対象のマルチキャスト グループの RPT ブランチを作成します。
受信側の DR は、PIM ジョイン メッセージを RPF ネイバー、RPF テーブルのネクストホップ アドレス、またはユニキャスト ルーティング テーブルに送信します。
PIM ジョイン メッセージはツリーの上位を移動し、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 ジョイン メッセージの交換送信元の DR は PIM Join メッセージを受信し、SPT を介して RP ルータに向けてトラフィックの送信を開始します( 図 3 を参照)。
RP ルータはトラフィックを受信すると、送信元の DR に登録停止メッセージを送信して登録プロセスを停止します。
図 3: 送信元から RP ルータ に送信されるトラフィックRP ルーターは、マルチキャスト トラフィックを RPT を下って受信者に送信します( 図 4 を参照)。
図 4: RP ルータから受信側に送信されるトラフィック
マルチキャスト最短パス ツリー
マルチキャストに使用されるディストリビューションツリーは、ソースをルートとし、最短パスツリー(SPT)でもあります。あるグループのアクティブなマルチキャスト トラフィックがない(つまり、そのグループのマルチキャスト転送状態がない)一連のマルチキャスト ルーターがあるとします。ルーターは、そのグループの関心のある受信者が直接接続されたサブネットの 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 カットオーバー
RP に対して SPT を使用し、受信者に対して RPT を使用し続ける代わりに、次の方法で送信元と受信者の間に直接 SPT が作成されます。
受信側の DR が送信元から最初のマルチキャスト パケットを受信すると、DR は RPF ネイバーに PIM 参加メッセージを送信します( 図 5 を参照)。
ソースの DR は PIM 参加メッセージを受信し、SPT を形成するために追加の (S,G) 状態が作成されます。
その特定の送信元からのマルチキャストパケットは、送信元のDRから送信され始め、新しいSPTを下って受信者のDRに流れ始めます。受信側の DR は、送信元から送信された各マルチキャスト パケットの 2 つのコピー (RPT から 1 つと新しい SPT から 1 つ) を受信しています。
図 5: 受信側 DR がソース に PIM Join メッセージを送信するマルチキャスト パケットの重複を阻止するために、受信者の DR は RP ルーターに向けて PIM プルーニング メッセージを送信し、RPT から着信するこの特定の送信元からのマルチキャスト パケットが不要になったことを通知します( 図 6 を参照)。
図 6: PIM プルーニング メッセージが受信者の DR から RP ルータに送信されますPIM プルーニング メッセージは RP ルーターで受信され、受信側の DR へのマルチキャスト パケットの送信を停止します。受信者のDRは、新しいSPTを介して、この特定のソースに対してのみマルチキャストパケットを取得しています。ただし、送信元からのマルチキャスト パケットは、送信元の DR から RP ルータに向かって到着しています( 図 7 を参照)。
図 7: RP ルータが PIM プルーニング メッセージを受信この特定の送信元からの不要なマルチキャスト パケットを停止するために、RP ルータは送信元の DR に PIM プルーニング メッセージを送信します( 図 8 を参照)。
図 8: RP ルータがソース DR に PIM プルーン メッセージを送信する受信側の 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
構成を確認するには、次のコマンドを実行します。
PIM JOINを表示
PIM 統計情報の表示
例: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 しきい値に無限大以外の値を使用することはサポートされていません。複数のポリシーを設定できます。
ポリシーステートメント:ポリシーを設定します。最も単純なタイプの SPT しきい値ポリシーは、ルート フィルターと送信元アドレス フィルターを使用して、マルチキャスト グループと送信元アドレスを指定し、そのアドレス ペアの SPT しきい値を無限に設定します。ポリシーはメインの PIM インスタンスに適用されます。
この例では、ソースグループのペア 10.10.10.1 と 224.1.1.1 の SPT 遷移値を無限大に設定します。ポリシーが最終ホップ ルーターに適用されると、この送信元グループ ペアからのマルチキャスト トラフィックが送信元への直接 SPT に移行することはありません。トラフィックは引き続き RP を経由して到着します。ただし、このルーターにおける他の送信元グループ アドレスの組み合わせに対するトラフィックは、送信元への直接 SPT に移行します。
SPTしきい値ポリシーを設定する際は、以下の点に注意してください。
SPT閾値ポリシーの構成変更は、ルーティング・デバイスがSPT遷移を処理する方法に影響を与えます。
SPTしきい値ポリシーを設定する際は、以下の点に注意してください。
SPT閾値ポリシーの構成変更は、ルーティング・デバイスがSPT遷移を処理する方法に影響を与えます。
SPTしきい値ポリシーを設定する際は、以下の点に注意してください。
SPT閾値ポリシーの構成変更は、ルーティング・デバイスがSPT遷移を処理する方法に影響を与えます。
ポリシーが初めて設定されると、ルーティング デバイスは、 clear pim join コマンドで PIM-join 状態がクリアされるまで、送信元とグループのアドレス ペアの直接 SPT に移行し続けます。
無限ポリシーの設定を初めて適用するときに PIM 参加状態をクリアしない場合は、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 コマンドを実行します。