Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

例:リバース パス転送の設定

マルチキャストリバースパスフォワーディングについて

ユニキャスト転送の決定は、通常、ルーターに到着するパケットの宛先アドレスに基づいて行われます。ユニキャスト ルーティング テーブルは、宛先サブネット別に編成され、主にパケットを宛先に転送するように設定されています。

マルチキャストでは、ルーターがパケットを送信元から転送して配信ツリーに沿って進行し、ルーティングループを防ぎます。ルーターのマルチキャスト転送状態は、受信側からディストリビューションツリーのルートまで、リバースパスに基づいてテーブルを整理することで、より論理的に実行されます。このプロセスは、リバース パス フォワーディング(RPF)と呼ばれます。

ルーターは、マルチキャスト グループからのトラフィック要求がリバース パス転送チェック(RPF チェック)に合格するかどうかに応じて、ディストリビューション ツリーにブランチを追加します。受信したすべてのマルチキャストパケットは、RPFチェックに合格する前に、任意のインターフェイスで複製または転送できるようになります。

RPFチェックは、すべてのルーターのマルチキャスト実装に不可欠です。マルチキャスト パケットがインターフェイスで受信されると、ルーターはマルチキャスト IP パケットの送信元アドレスをユニキャスト IP パケットの宛先アドレスと解釈します。送信元マルチキャスト アドレスがユニキャスト ルーティング テーブルで検出され、発信インターフェイスが決定されます。ユニキャスト ルーティング テーブルで見つかった発信インターフェイスが、マルチキャスト パケットを受信したインターフェイスと同じ場合、パケットは RPF チェックに合格します。RPF チェックに失敗したマルチキャスト パケットは、着信インターフェイスが送信元に戻る最短パスではないために破棄されます。

図 1 は、マルチキャスト ルーターがユニキャスト ルーティング テーブルを使用して RPF チェックを実行する方法と、各ルーターで得られた結果によってジョイン メッセージの送信先を決定する方法を示しています。

図 1: マルチキャスト ルーターと RPF チェック Multicast Routers and the RPF Check

ルーターは、RPF の目的で個別のテーブルを構築および維持できます。ルーターには、トポロジー的にルートに最も近いインターフェイスであるグループのRPFインターフェイスを決定するための何らかの方法が必要です。効率を最大にするため、ディストリビューション ツリーは最短パス ツリー トポロジに従います。RPF チェックは、このツリーの構築に役立ちます。

RPFテーブル

RPF テーブルは、マルチキャスト ルーターで重要な役割を果たします。RPF テーブルは、RPF チェックごとに参照され、マルチキャスト ルーターに入るマルチキャスト パケットに対して間隔を置いて実行されます。すべてのタイプのディストリビューション ツリーは、RPF テーブルに依存して適切に形成され、マルチキャスト転送状態も RPF テーブルに依存します。

RPF チェックは、マルチキャスト送信元または RP のアップストリーム インターフェイスを見つけるために、ユニキャスト アドレスでのみ実行されます。

RPF チェックに使用するルーティング テーブルは、ユニキャスト IP パケットの転送に使用するルーティング テーブルと同じにすることも、マルチキャスト RPF チェックにのみ使用する別のルーティング テーブルにすることもできます。RPF チェックはマルチキャスト グループの宛先アドレスではなく、マルチキャスト パケットの送信元アドレスに対して実行され、IP パケット ヘッダーの送信元アドレス フィールドにマルチキャスト アドレスが表示されないため、いずれの場合も RPF テーブルにはユニキャスト ルートのみが含まれます。ユニキャスト アドレスを RPF チェックに使用できるのは、マルチキャスト グループ アドレスの IP マルチキャスト コンテンツの特定のストリームに対して送信元ホストが 1 つしかないためですが、同じ内容を複数の送信元から入手することもできます。

ユニキャスト パケットの転送に使用するのと同じルーティング テーブルを RPF チェックにも使用する場合、ルーティング テーブルは、BGP、IS-IS、OSPF、ルーティング情報プロトコル(RIP)などの従来のユニキャスト ルーティング プロトコルによって設定および維持されます。専用のマルチキャスト RPF テーブルを使用する場合、このテーブルに他の方法でデータを追加する必要があります。一部のマルチキャスト ルーティング プロトコル(DVMRP(ディスタンス ベクター マルチキャスト ルーティング プロトコル)など)は、基本的にユニキャスト ルーティング プロトコルの動作を複製し、専用の RPF テーブルにデータを取り込みます。PIM などの他の製品は、ルーティング プロトコルの機能と重複せず、他のルーティング プロトコルに依存してこのテーブルを設定する必要があります。これが、PIM がプロトコルに依存しない理由です。.

BGPやIS-ISなどの一部の従来のルーティングプロトコルには、ユニキャストとマルチキャストのためにルーター間で送信されるルーティング情報の異なるセットを区別するための拡張機能が追加されました。たとえば、IS-IS(M-IS-IS)にはマルチプロトコルBGP(MBGP)とマルチポロジールーティングがあります。IS-IS ルートは、トラフィック制御や「ショートカット」などの特別な機能がオンになっている場合でも、RPF テーブルに追加できます。MOSPF(マルチキャスト オープン最短パス ファースト)も、マルチキャスト用に OSPF を拡張しますが、MBGP や M-IS-IS よりもさらに進んでおり、MOSPF をそれ自体が完全なマルチキャスト ルーティング プロトコルにします。これらのルーティング プロトコルを使用すると、ルートをマルチキャスト RPF ルーターとしてタグ付けし、ユニキャスト ルーティング情報とは異なる方法で受信ルーターで使用できる可能性があります。

RPF チェックにメインのユニキャスト ルーティング テーブルを使用すると、簡素化が実現します。RPF チェック専用のルーティング テーブルにより、ネットワーク管理者はユニキャスト トラフィックとマルチキャスト トラフィックに別々のパスとルーティング ポリシーを設定でき、マルチキャスト ネットワークをユニキャスト ネットワークから独立して機能させることができます。

マルチキャスト RPF 設定ガイドライン

マルチキャスト RPF チェックは、マルチキャスト ルーティング ループを防ぐために使用します。マルチキャストアプリケーションでは、ルーティングループを回るたびにパケットが複製されるため、ルーティングループは特に衰弱を招きます。

一般に、ルーターがマルチキャストパケットを転送するのは、送信元ホストかランデブーポイント(RP)かにかかわらず、パケットの発信元に最も近いインターフェイス(ユニキャストルーティングプロトコルで定義)に到着した場合のみです。つまり、ユニキャスト パケットが、マルチキャスト パケットが到着したインターフェイス上の「宛先」(リバース パス)に送信される場合、パケットは RPF チェックに合格して処理されます。RPF チェックに失敗したマルチキャスト(またはユニキャスト)パケットは転送されません(これがデフォルトの動作です)。ジュニパーネットワークス ルーターがテーブルによる RPF チェックを実装する方法の概要については、 マルチキャストリバースパス転送についてを参照してください。

ただし、RPF チェックに失敗したマルチキャスト パケットを転送する必要があるネットワーク ルーター構成もあります。例えば、ポイントツーマルチポイントのラベルスイッチパス(LSP)を使用して、マルチキャストトラフィックをエグレスルーターから下流のPIM「アイランド」に分散する場合、マルチキャストトラフィックが到着するインターフェイスは必ずしもRPFインターフェイスとは限りません。これは、LSPが独立パケットルーティングの通常のネクストホップルールに従わないためです。

このような場合は、PE ルーターでポリシーを設定して、デフォルトの RPF チェックから除外するマルチキャスト グループと送信元を決定できます。

例:専用 PIM RPF ルーティング テーブルの設定

この例では、専用の PIM(プロトコル非依存マルチキャスト)RPF(リバース パス フォワーディング)ルーティング テーブルを設定する方法を説明します。

要件

始める前に:

この例では、次のソフトウェア コンポーネントを使用しています。

  • Junos OS リリース 7.4 以降

概要

デフォルトでは、PIM は RPF ルーティング テーブルとして inet.0 ルーティング テーブルを使用します。PIM は、RPF ルーティング テーブルを使用して、特定のマルチキャスト送信元アドレスの RPF ネイバーを解決し、ランデブー ポイント(RP)アドレスの RPF ネイバーを解決します。PIM では、オプションで RPF ルーティング テーブルとして inet.2 を使用できます。 inet.2 ルーティングテーブルは、この目的専用です。

PIM は RPF チェックに単一のルーティング テーブルを使用するため、プレフィックスが最も長く一致するルートが RPF ルートとして選択されます。

マルチキャストルートが、マルチプロトコルボーダーゲートウェイプロトコルMP-BGPまたはマルチトポロジIS-ISによって交換される場合、デフォルトで inet.2 に配置されます。

RPFルーティングテーブルとして inet.2 を使用することで、通常のユニキャストルーティングテーブルから独立したマルチキャスト用のコントロールプレーンを持つことができます。次のいずれかの理由で、 inet.2 を RPF ルーティング テーブルとして使用することが考えられます。

  • トラフィック制御を使用している場合、またはショートカット用に内部ゲートウェイプロトコル(IGP)が設定されている場合、ルーターには inet.2のネクストホップとしてインストールされたLSP(ラベルスイッチパス)があります。ポリシーを適用することで、ルーターに 、inet.2 ルーティングテーブルに非MPLSネクストホップのルートをインストールさせることができます。

  • LSP トンネル経由のマルチキャスト トラフィックをサポートしていない MPLS ネットワークを使用している場合、 inet.0 以外のルーティング テーブルを使用するようにルーターを設定する必要があります。 inet.2 ルーティング テーブルには、RPF に使用できるネイティブ IGP、BGP、およびインターフェイス ルートを読み込むことができます。

PIM RPF テーブルにデータを読み込むには、rib グループを使用します。rib グループは、階層レベルで ステートメント[edit routing-options]を使用してrib-groups定義されます。rib グループは、 階層レベルで ステートメント[edit pim]を含めるrib-groupことで、PIM プロトコルに適用されます。rib グループは、複数のルーティング テーブルにルートを配置する場合に最もよく使用されます。

PIM の rib グループを設定するときは、次の点に注意してください。

  • ステートメントは import-rib 、プロトコルからルーティングテーブルにルートをコピーします。

  • この export-rib ステートメントは PIM には影響しません。しかし、同じrib-groupをBGPに適用することができ、BGPはドメイン間ネットワーキングの場合、export-ribテーブルを使用してルートをソースとし、ピアにアドバタイズすることができます。

  • PIM は、 ステートメントで指定された import-rib 最初の rib ルーティング テーブルのみを RPF チェックに使用します。

また、IS-IS または OSPF を設定して、通常の IP ネクストホップを持つルートを inet.2 に入力することもできます。これにより、MPLS がトラフィック制御用に設定されている場合や、IS-IS または OSPF がローカル トラフィックに「ショートカット」を使用するように設定されている場合でも、RPF は正しく動作することができます。

また、仮想プライベート ネットワーク(VPN)ルーティング インスタンスで、RPF チェックに rib グループを使用するように PIM プロトコルを設定することもできます。この場合、rib グループは引き続き [edit routing-options] 階層レベルで定義されます。

構成

インターフェイス ルートを使用した PIM RPF ルーティング テーブル グループの設定

CLIクイック構成

この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルでCLI [edit] にコピーアンドペーストして、設定モードから を入力します commit

手順

この例では、ネットワーク管理者が RPF チェックに inet.2 ルーティング テーブルを使用することを決定しました。このプロセスでは、ローカル ルートはインターフェイス rib グループを使用してこのテーブルにコピーします。

インターフェイス ルーティング テーブル グループを定義し、それを使用して RPF チェック用の inet.2 にデータを入力するには、次の手順に従います。

  1. show multicast rpfコマンドを使用して、マルチキャスト RPF テーブルにルートが入力されていないことを確認します。

  2. mcast-rpf-rib という名前のマルチキャスト ルーティング テーブル グループを作成します。

    各ルーティングテーブルグループには、ルートをインポートするときにJunos OSが使用するルーティングテーブルが1つ以上含まれている必要があります(ステートメントで import-rib 指定)。

    import-ribステートメントを含め、 階層レベルでinet.2ルーティングテーブル[edit routing-options rib-groups]を指定します。

  3. mcast-rpf-rib rib グループを使用するように PIM を設定します。

    PIM の rib グループは、グローバルに適用することも、ルーティング インスタンスに適用することもできます。この例では、グローバル コンフィギュレーションが示されています。

    rib-groupステートメントをインクルードし、 階層レベルで mcast-rpf-rib RIB グループ[edit protocols pim]を指定します。

  4. if-rib という名前のインターフェイス rib グループを作成します。

    rib-groupステートメントを含め、 階層レベルで inet アドレスファミリー[edit routing-options interface-routes]を指定します。

  5. inet.0およびinet.2ルーティングテーブルからルートをインポートするように、if-rib ribグループを設定します。

    import-ribステートメントを含め、 階層レベルでinet.0とinet.2のルーティングテーブル[edit routing-options rib-groups]を指定します。

  6. 設定をコミットします。

マルチキャスト RPF テーブルの検証

目的

マルチキャスト RPF テーブルにルートが読み込まれていることを確認します。

アクション

コマンド show multicast rpf を使用します。

意味

サンプル出力の 1 行目は、 inet.2 テーブルが使用されており、テーブルに 10 個のルートがあることを示しています。サンプル出力の残りの部分には、 inet.2 ルーティングテーブルに入力されるルートがリストされています。

例:PIM RPF ルーティング テーブルの設定

この例では、PIM RPF ルーティング テーブルを設定および適用する方法を示します。

要件

始める前に:

  1. ルーターがマルチキャスト ソースに直接接続されているかどうかを確認します。受信機はこれらのソースを特定できなければなりません。

  2. ルーターがマルチキャストグループの受信者に直接接続されているかどうかを確認します。受信機が存在する場合は、IGMPが必要です。

  3. マルチキャストをスパース モード、デンス モード、またはスパースデンス モードのいずれを使用するように構成するかを決定します。各モードには、異なる構成上の考慮事項があります。

  4. スパース モードまたはスパース デンス モードが使用されている場合は、RP のアドレスを決定します。

  5. スタティック設定、BSR、または自動RP方式でRPを見つけるかどうかを決定します。

  6. PIM をスパース、デンス、またはスパースデンスモードで設定するときに、RPF ルーティング テーブルを使用するようにマルチキャストを設定するかどうかを決定します。

  7. マルチキャスト セッションのアナウンスをリッスンするように SAP プロトコルと SDP プロトコルを構成します。 セッションアナウンスプロトコルの設定を参照してください。

  8. IGMP を設定します。 IGMPの設定を参照してください。

  9. PIM スタティック RP を設定します。 スタティック RP の設定を参照してください。

  10. 不正なグループおよび送信元からの PIM 登録メッセージをフィルタリングします。 例:RP ルータでの着信 PIM 登録メッセージの拒否および 例:指定ルータでの発信 PIM 登録メッセージの停止を参照してください。

概要

この例では、新しいRPFルーティングテーブルグループにmulticast-rfp-ribという名前を付け、そのエクスポートとインポートルーティングテーブルにinet.2を使用します。次に、インターフェイスルート用のルーティングテーブルグループを作成し、RPFにif-ribという名前を付けます。最後に、インポートルーティングテーブルにinet.2とinet.0を使用し、新しいインターフェイスルーティングテーブルグループをインターフェイスルートに追加します。

構成

手順

CLIクイック構成

この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、 階層レベルのCLI [edit] にコマンドをコピーして貼り付けます。

手順

次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の説明については、 Junos OS CLIユーザーガイド設定モードでCLIエディターを使用するを参照してください。

PIM RPF ルーティング テーブルを設定するには、次の手順に従います。

  1. ルーティングオプションとグループを設定します。

  2. 名前を設定します。

  3. RPFルーティングテーブルの新しいグループを作成します。

  4. 新しい RPF ルーティング テーブルを適用します。

  5. インターフェイスルートのルーティングテーブルグループを作成します。

  6. インポートルーティングテーブルの名前を設定します。

  7. グループをインターフェイスルートに設定します。

結果

設定モードから、 および show routing-options コマンドを入力してshow protocols設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定モードから コミット を入力します。

検証

設定が正常に機能していることを確認するには、次のタスクを実行します。

SAPおよびSDPのアドレスとポートの検証

目的

SAP と SDP が正しいグループ アドレスとポートでリッスンするように構成されていることを確認します。

アクション

動作モードから コマンド show sap listen を入力します。

IGMP バージョンの検証

目的

IGMP バージョン 2 が、該当するすべてのインターフェイスで設定されていることを確認します。

アクション

動作モードから コマンド show igmp interface を入力します。

PIM モードとインターフェイス設定の確認

目的

PIM スパース モードが、該当するすべてのインターフェイスで設定されていることを確認します。

アクション

動作モードから コマンド show pim interfaces を入力します。

PIM RP 設定の確認

目的

PIM RP が正しい IP アドレスで静的に設定されていることを確認します。

アクション

動作モードから コマンド show pim rps を入力します。

RPFルーティングテーブル設定の検証

目的

PIM RPF ルーティング テーブルが正しく設定されていることを確認します。

アクション

動作モードから コマンド show multicast rpf を入力します。

例:RPF ポリシーの設定

マルチキャスト RPF ポリシーは、特定のマルチキャスト(S,G)ペアの RPF チェックを無効にします。ポイントツーマルチポイント LSP エグレス ルーターでマルチキャスト トラフィックを受信するインターフェイスが常に RPF インターフェイスであるとは限らないため、通常は、ポイントツーマルチポイント LSP(ラベルスイッチ パス)のエグレス ルーティング デバイスで RPF チェックを無効にします。

この例では、 disable-RPF-on-PEという名前のRPFチェックポリシーを設定する方法を示しています。 disable-rpf-on-pe ポリシーは、グループ 228.0.0.0/8 または送信元アドレス 196.168.25.6 から到着するパケットの RPF チェックを無効にします。

要件

始める前に:

概要

RPF ポリシーは、インポート ポリシーと同様に動作します。入力パケットに一致するポリシー条件がない場合、デフォルトのアクションは 受け入れ(つまり、RPF チェックの実行)です。ルートフィルター ステートメントはグループアドレスをフィルターし、送信元アドレスフィルターステートメントは送信元アドレスをフィルターします。

この例では、各条件を個別のポリシーとして設定し、 rpf-check-policy ステートメントで両方のポリシーを参照する方法を示します。これにより、一方のポリシーでグループを関連付け、もう一方のポリシーでソースを関連付けることができます。

メモ:

マルチキャスト トラフィックの RPF チェックを無効にする場合は注意してください。一部の設定でRPFチェックを無効にすると、マルチキャストループが発生する可能性があります。

RPF チェック ポリシーの変更は、ただちに有効になります。

  • 以前にポリシーが設定されていない場合、ポリシーはすぐに有効になります。

  • ポリシー名が変更された場合、新しいポリシーはただちに有効になり、フィルタリングされなくなったパケットはRPFチェックの対象となります。

  • ポリシーが削除された場合、以前にフィルタリングされたすべてのパケットがRPFチェックの対象となります。

  • 基礎となるポリシーが変更されても、同じ名前を保持している場合、新しい条件は直ちに有効になり、フィルタリングされなくなったパケットはRPFチェックの対象となります。

構成

手順

CLIクイック構成

この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルでCLI [edit] にコピーアンドペーストして、設定モードから を入力します commit

手順

次の例では、設定階層のいくつかのレベルに移動する必要があります。CLI のナビゲーションについては、『Junos OS CLIユーザーガイド』の「 コンフィギュレーション・モードで CLI エディタを使用する」を参照してください。

RPF ポリシーを設定するには、次の手順に従います。

  1. グループアドレスのポリシーを設定します。

  2. 送信元アドレスのポリシーを設定します。

  3. ポリシーを適用します。

  4. デバイスの設定が完了したら、設定をコミットします。

結果

show policy-optionsコマンドとshow routing-optionsコマンドを入力して、設定を確認します。

検証

設定を確認するには、 show multicast rpf コマンドを実行します。

例:PIM RPF 選択の設定

この例では、グループまたは(S,G)ペアのマルチキャストPIM RPFネクストホップネイバー選択を設定および確認する方法を示します。

要件

始める前に:

概要

マルチキャスト PIM RPF ネイバー選択では、プレフィックス リストを使用して、単一グループまたは複数グループの RPF ネイバー(ネクスト ホップ)と送信元アドレスを指定できます。RPF ネイバー選択は、VPN ルーティングおよび転送(VRF)インスタンスに対してのみ設定できます。

受信側 VRF が同じ送信元またはランデブー ポイント(RP)アドレスを学習できるサービス VRF が複数ある場合、PIM RPF チェックは通常、すべてのマルチキャスト フローに対してユニキャスト プロトコルによって決定される最適なパスを選択します。ただし、RPF ネイバー選択が設定されている場合、RPF チェックはユニキャスト ルーティング プロトコルではなく、設定に基づきます。

この静的な RPF 選択は、特定のアプリケーションのビルディングブロックとして使用できます。たとえば、エクストラネットなどです。マルチキャスト フローをパラレル PIM リンク間で分割するか、1 つのマルチキャスト フローを特定の PIM リンクに割り当てるとします。スタティック RPF 選択が設定されている場合、ルータは設定に基づいて join およびプルーニング メッセージを送信します。

ワイルドカードを使用して送信元アドレスを指定できます。ワイルドカードを使用するかどうかは、PIM 結合の動作に影響します。

  • グループにソースプレフィックスのみを設定した場合、すべての(*,G)ジョインはユニキャストプロトコルで選択されたネクストホップネイバーに送信され、(S,G)ジョインはソースに指定されたネクストホップネイバーに送信されます。

  • グループにワイルドカードソースのみを設定すると、すべての(*,G)および(S,G)ジョインが、ワイルドカードソースのネクストホップネイバーを指すアップストリームインターフェイスに送信されます。

  • グループの送信元プレフィックスとワイルドカード ソースの両方を設定した場合、すべての(S,G)ジョインはソース プレフィックスに定義されたネクストホップ ネイバーに送信され、(*,G)ジョインはワイルドカード ソースに指定されたネクストホップ ネイバーに送信されます。

トポロジ

図 2 に、この例で使用するトポロジを示します。

図 2: PIM RPF の選択 PIM RPF Selection

この例では、RPF 選択は受信側プロバイダ エッジ ルーター(PE2)で設定されています。

構成

手順

CLIクイック構成

この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルでCLI [edit] にコピーアンドペーストして、設定モードから を入力します commit

手順

次の例では、設定階層のいくつかのレベルに移動する必要があります。CLI のナビゲーションについては、『Junos OS CLIユーザーガイド』の「 コンフィギュレーション・モードで CLI エディタを使用する」を参照してください。

PIM RPF の選択を設定するには、次のようにします。

  1. PE2 で、ルーティング インスタンスで RFP 選択を設定します。

  2. PE2で、ポリシーを設定します。

  3. デバイスの設定が完了したら、設定をコミットします。

結果

設定モードから、show policy-optionsコマンドとshow routing-instancesコマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。

検証

設定を確認するには、次のコマンドを実行して、アップストリームインターフェイスとアップストリームネイバーを確認します。

  • PIM JOIN EXTENSIVEを表示

  • マルチキャストルートを表示