PIM に関する情報
マルチキャスト対応ルータ間で使用される PIM は、マルチキャスト配信ツリーを構築して、ルーティング ドメイン内にグループ メンバーシップをアドバタイズします。PIM は、複数の送信元からのパケットが転送される共有配信ツリーと、単一の送信元からのパケットが転送される送信元配信ツリーを構築します。マルチキャストの詳細については、「マルチキャストに関する詳細」セクションを参照してください。
Cisco NX-OS は、IPv4 ネットワーク(PIM)対応の PIM スパース モードをサポートします。(PIM スパース モードでは、ネットワーク上の要求元だけにマルチキャスト トラフィックが伝送されます。)ルータ上で同時に実行するように PIM を構成できます。PIM グローバル パラメータを使用すると、ランデブー ポイント(RP)、メッセージ パケット フィルタリング、および統計情報を設定できます。PIM インターフェイス パラメータを使用すると、マルチキャスト機能のイネーブル化、PIM の境界の識別、PIM hello メッセージ インターバルの設定、および指定ルータ(DR)のプライオリティ設定を実行できます。詳細については、「PIM スパース モードの構成」セクションを参照してください。
(注) |
Cisco NX-OS は PIM デンス モードをサポートしていません。 |
Cisco NX-OS でマルチキャスト機能を有効化するには、各ルータで PIM 機能を有効化してから、マルチキャストに参加する各インターフェイスで、PIM スパース モードを有効化する必要があります。PIM は IPv4 ネットワーク用に設定できます。IPv4 ネットワーク上のルータで IGMP がイネーブルになっていない場合は、PIM によって自動的にイネーブルにされます。IGMP の構成については、IGMP の設定 を参照してください。
PIM グローバル コンフィギュレーション パラメータを使用すると、マルチキャスト グループ アドレスの範囲を設定して、次に示す 2 つのツリー 配信モードで利用できます。
-
Any Source Multicast(ASM):マルチキャスト送信元の検出機能を提供します。ASM では、マルチキャスト グループの送信元と受信者間に共有ツリーを構築し、新しい受信者がグループに追加された場合は、送信元ツリーに切り替えることができます。ASM モードを利用するには、RP を設定する必要があります。
-
送信元固有マルチキャスト(SSM)は、マルチキャスト送信元への加入要求を受信する LAN セグメント上の代表ルータを起点として、送信元ツリーを構築します。SSM モードでは、RP を設定する必要がありません。送信元の検出は、その他の方法で実行する必要があります。
モードを組み合わせて、さまざまな範囲のグループ アドレスに対応することができます。詳細については、PIM の設定 を参照してください。ASM モードで使用される PIM スパース モードと共有配信ツリーの詳細については、「RFC 4601」を参照してください。
SSM モードの PIM の詳細については、RFC 3569 を参照してください。
PIM-Bidir の詳細については、RFC5015 を参照してください。
(注) |
Cisco Nexus 3548 シリーズ デバイス対応の Cisco NX-OS では、マルチキャストの等コスト マルチパス(ECMP)がデフォルトでオンになっています。ECMP をオフにすることはできません。プレフィックスに対し複数のパスが存在する場合は、PIM がルーティング テーブル内で最も低いアドミニストレーティブ ディスタンスを持つパスを選択します。Cisco NX-OS は、宛先までの 16 のパスをサポートします。 |
Hello メッセージ
ルータがマルチキャスト アドレス 224.0.0.13 に PIM hello メッセージを送信して、PIM ネイバー ルータとの隣接関係を確立すると、PIM プロセスが開始されます。hello メッセージは 30 秒間隔で定期的に送信されます。PIM ソフトウェアはすべてのネイバーからの応答を確認すると、各 LAN セグメント内でプライオリティが最大のルータを指定ルータ(DR)として選択します。DR 優先順位は、PIM hello メッセージの DR 優先順位値に基づいて決まります。全ルータの DR プライオリティ値が不明、またはプライオリティが等しい場合は、IP アドレスが最上位のルータが DR として選定されます。
注意 |
PIM hello 間隔を低い値(10 秒未満、またはネットワーク環境に応じて)に変更すると、マルチキャスト トラフィックが失われる可能性があります。 |
hello メッセージには保持時間の値も含まれています。通常、この値は hello インターバルの 3.5 倍です。ネイバーから後続の hello メッセージがないまま保持時間を経過すると、スイッチはそのリンクで PIM エラーを検出します。
PIM ソフトウェアで、PIM ネイバーとの PIM hello メッセージの認証に MD5 ハッシュ値を使用するよう設定すると、セキュリティを高めることができます。
(注) |
スイッチで PIM がディセーブルである場合は、IGMP スヌーピング ソフトウェアが PIM hello メッセージを処理します。 |
hello メッセージ認証の構成に関する詳細は、「PIM スパース モードの構成」セクションを参照してください。
Join-Prune メッセージ
受信者から送信された、新しいグループまたは送信元に対する IGMP メンバーシップ レポート メッセージを受信すると、DR は、インターフェイスからランデブー ポイント方向(ASM モード)または送信元方向(SSM モード)に PIM Join メッセージを送信して、受信者と送信元を接続するツリーを作成します。ランデブー ポイント(RP)は共有ツリーのルートであり、ASM モードで PIM ドメイン内のすべての送信元およびホストによって使用されます。SSM では RP を使用せず、送信元と受信者間の最小コスト パスである最短パス ツリー(SPT)を構築します。PIM Bidir モードでは、Designated Forwarder(DF)が DR の代わりに PIM Join メッセージの送信を実行します。
DR はグループまたは送信元から最後のホストが脱退したことを認識すると、PIM Prune メッセージを送信して、配信ツリーから該当するパスを削除します。各ルータは、マルチキャスト配信ツリーの上流方向のホップに Join または Prune アクションを次々と転送し、パスを作成(Join)または削除(Prune)します。
(注) |
「PIM-Bidir の詳細」セクション で説明されているように、PIM-Bidir はランデブー ポイント(RP)を使用して双方向ツリーを形成します。 |
(注) |
このマニュアル内の「PIM join メッセージ」および「PIM prune メッセージ」という用語は、PIM join-prune メッセージに関して、Join または Prune アクションのうち実行されるアクションのみをわかりやすく示すために使用しています。 |
Join/Prune メッセージは、ソフトウェアからできるだけ短時間で送信されます。Join/Prune メッセージをフィルタリングするには、ルーティング ポリシーを定義します。join-prune メッセージ ポリシーの構成に関する詳細は、「PIM スパース モードの構成 」セクションを参照してください。
PIM Join を上流に発信してルーティング テーブルに含まれる既知のすべての(S、G)に対して SPT を事前に構築できます。受信者が存在しない場合でも、PIM Join を上流に発信してルーティング テーブルに含まれる既知のすべての(S、G)に対する SPT を事前に構築するには、ip pim pre-build-spt コマンドを使用します。デフォルトで PIM(S、G)Join が上流に発信されるのは、(S、G)の OIF リストが空でない場合だけです。
ステートのリフレッシュ
PIM では、3.5 分のタイムアウト間隔でマルチキャスト エントリをリフレッシュする必要があります。ステートをリフレッシュすると、トラフィックがアクティブなリスナーだけに配信されるため、ルータで不要なリソースが使用されなくなります。
PIM ステートを維持するために、最終ホップである DR は、Join/Prune メッセージを 1 分に 1 回送信します。次に、(*、G)ステートおよび(S、G)ステートの構築例を示します。
-
(*、G)ステートの構築例:IGMP(*、G)レポートを受信すると、DR は (*、G)PIM Join メッセージを RP 方向に送信します。
-
(S、G)ステートの構築例:IGMP(S、G)レポートを受信すると、DR は(S、G)PIM Join メッセージを送信元方向に送信します。
ステートがリフレッシュされていない場合、PIM ソフトウェアは、上流ルータのマルチキャスト発信インターフェイス リストから転送パスを削除し、配信ツリーを再構築します。
ランデブー ポイント
ランデブー ポイント(RP)は、マルチキャスト ネットワーク ドメイン内にあるユーザが指定したルータで、マルチキャスト共有ツリーの共有ルートとして動作します。必要に応じて複数の RP を設定し、さまざまなグループ範囲をカバーすることができます。
スタティック RP
マルチキャスト グループ範囲の RP は静的に設定できます。この場合、ドメイン内のすべてのルータに RP のアドレスを設定する必要があります。
スタティック RP を定義するのは、次のような場合です。
-
ルータに Anycast RP アドレスを設定する場合
-
スイッチに手動で RP を設定する場合
スタティック RP の構成に関する詳細は、「スタティック RP の構成 」セクションを参照してください。
BSR
ブートストラップ ルータ(BSR)を使用すると、PIM ドメイン内のすべてのルータで、BSR と同じ RP キャッシュが保持されるようになります。BSR では、BSR 候補 RP から RP セットを選択するよう設定できます。BSR は、ドメイン内のすべてのルータに RP セットをブロードキャストする役割を果たします。ドメイン内の RP を管理するには、1 つまたは複数の候補 BSR を選択します。候補 BSR の 1 つが、ドメインの BSR として選定されます。
注意 |
同じネットワーク内では、Auto-RP プロトコルと BSR プロトコルを同時に設定できません。 |
図 1 は、BSR メカニズム、ソフトウェアによって選択された BSR であるルータ A が、イ有効になっているすべてのインターフェイスから BSR メッセージを送信する場所を示しています(図の実線で表示)。 このメッセージには RP セットが含まれており、ネットワーク内のすべてのルータに次々とフラッディングされます。ルータ B および C は 候補 RP であり、選定された BSR に候補 RP アドバタイズメントを直接送信しています(図の破線部分)。
選定された BSR は、ドメイン内のすべての候補 RP から候補 RP メッセージを受信します。BSR から送信されるブートストラップ メッセージには、すべての候補 RP に関する情報が格納されています。各ルータでは共通のアルゴリズムを使用することにより、各マルチキャスト グループに対応する同一の RP アドレスが選択されます。
RP 選択プロセスの実行中、ソフトウェアは最も優先順位が高い RP アドレスを特定します。2 つ以上の RP アドレスのプライオリティが等しい場合は、選択プロセスで RP ハッシュを使用することもできます。1 つのグループに割り当てられる RP アドレスは 1 つだけです。
デフォルトでは、ルータは BSR メッセージの受信や転送を行えません。BSR メカニズムによって、PIM ドメイン内のすべてのルータに対して、マルチキャスト グループ範囲に割り当てられた RP セットが動的に通知されるようにするには、BSR リスニング機能および転送機能をイネーブルにする必要があります。
(注) |
BSR メカニズムは、サードパーティ製ルータで使用可能な、ベンダー共通の RP 定義方式です。 |
BSR および候補 RP の構成に関する詳細は、「BSR の構成」セクションを参照してください。
Auto-RP
Auto-RP は、インターネット標準であるブートストラップ ルータ メカニズムに先立って導入されたシスコのプロトコルです。Auto-RP を設定するには、候補マッピング エージェントおよび候補 RP を選択します。候補 RP は、サポート対象グループ範囲を含んだ RP-Announce メッセージを Cisco RP-Announce マルチキャスト グループ 224.0.1.39 に送信します。Auto-RP マッピング エージェントは候補 RP からの RP-Announce メッセージを受信して、グループと RP 間のマッピング テーブルを形成します。マッピング エージェントは、このグループと RP 間の マッピング テーブルを RP-Discovery メッセージに格納して、Cisco RP-Discovery マルチキャスト グループ 224.0.1.40 にマルチキャストします。
注意 |
同じネットワーク内では、Auto-RP プロトコルと BSR プロトコルを同時に設定できません。 |
図 2 では、Auto-RP のメカニズムを示します。RP マッピング エージェントは、受信した RP 情報を、定期的に Cisco RP-Discovery グループ 224.0.1.40 にマルチキャストします(図の実線部分)。
デフォルトでは、ルータは Auto-RP メッセージの受信や転送を行いません。Auto-RP メカニズムによって、PIM ドメイン内のルータに対して、グループと RP 間のマッピング情報が動的に通知されるようにするには、Auto-RP リスニング機能および転送機能をイネーブルにする必要があります。
Auto-RP の構成に関する詳細は、Auto-RP の設定 セクションを参照してください。
Anycast-RP
Anycast-RP には 2 つの実装方法があります。1 つ目はマルチキャスト ソース検出プロトコル(MSDP)、もう 1 つは RFC 4610 に基づいています。ここでは、PIM Anycast-RP の設定方法について説明します。
PIM Anycast-RP を使用すると、Anycast-RP セットというルータ グループを、複数のルータに設定された単一の RP アドレスに割り当てることができます。Anycast-RP セットとは、Anycast-RP として設定された一連のルータを表します。各マルチキャスト グループで複数の RP をサポートし、セット内のすべての RP に負荷を分散させることができるのは、この RP 方式だけです。Anycast-RP はすべてのマルチキャスト グループをサポートします。
ユニキャスト ルーティング プロトコルの機能に基づいて、PIM Register メッセージが最も近い RP に送信され、PIM Join/Prune メッセージが最も近い RP の方向に送信されます。いずれかの RP がダウンすると、これらのメッセージは、ユニキャスト ルーティングを使用して次に最も近い RP の方向へと送信されます。
PIM Anycast-RP の詳細については、RFC 4610 を参照してください。
Anycast-RP の構成方法については、「PIM Anycast-RP 設定の構成」セクションを参照してください。
PIM 登録メッセージ
PIM Register メッセージは、マルチキャスト送信元に直接接続された指定ルータ(DR)から RP にユニキャストされます。PIM Register メッセージには次の機能があります。
-
マルチキャスト グループに対する送信元からの送信がアクティブであることを RP に通知する
-
送信元から送られたマルチキャスト パケットを RP に配信し、共有ツリーの下流に転送する
DR は RP から Register-Stop メッセージを受信するまで、PIM Register メッセージを RP 宛に送信し続けます。RP が Register-Stop メッセージを送信するのは、次のいずれかの場合です。
-
RP が送信中のマルチキャスト グループに、受信者が存在しない場合
-
RP が送信元への SPT に加入しているにもかかわらず、送信元からのトラフィックの受信が開始されていない場合
ip pim register-source コマンドを使用して、登録メッセージの送信元 IP アドレスが、RP がパケットを送信できる一意のルーテッド アドレスではない場合に、登録メッセージの送信元 IP アドレスを設定するために使用します。このような状況は、受信したパケットが転送されないように送信元アドレスがフィルタリングされる場合、または送信元アドレスがネットワークに対して一意でない場合に発生します。このような場合、RP から送信元アドレスへ送信される応答は DR に到達せず、Protocol Independent Multicast Sparse Mode(PIM-SM)プロトコル障害が発生します。
次に、登録メッセージの IP 送信元アドレスを DR のループバック 3 インターフェイスに設定する例を示します。
switch # configuration terminal
switch(config)# vrf context Enterprise
switch(config-vrf)# ip pim register-source ethernet 2/3
switch(config-vrf)#
(注) |
Cisco NX-OS では RP の処理の停滞を防ぐため、PIM Register メッセージのレート制限が行われます。 |
PIM Register メッセージをフィルタリングするには、ルーティング ポリシーを定義します。PIM レジスタ メッセージ ポリシーの構成に関する詳細は、「メッセージ フィルタリングの構成」セクションを参照してください。
指定ルータ
PIM の ASM モードおよび SSM モードでは、各ネットワーク セグメント上のルータの中から指定ルータ(DR)が選択されます。DR は、セグメント上の指定グループおよび送信元にマルチキャスト データを転送します。
LAN セグメントごとの DR は、「Hello メッセージ」セクションに記載された手順で決定されます。
ASM モードの場合、DR は RP に PIM Register パケットをユニキャストします。DR が、直接接続された受信者からの IGMP メンバーシップ レポートを受信すると、DR を経由するかどうかに関係なく、RP への最短パスが形成されます。これにより、同じマルチキャスト グループ上で送信を行うすべての送信元と、そのグループのすべての受信者を接続する共有ツリーが作成されます。
SSM モードの場合、DR は送信元方向に(*、G)または(S、G)PIM Join メッセージを発信します。受信者から送信元へのパスは、各ホップで決定されます。この場合、送信元が受信者または DR で認識されている必要があります。
DR 優先順位の構成に関する詳細は、「PIM スパース モードの構成」セクションを参照してください。
管理用スコープの IP マルチキャスト
管理用スコープの IP マルチキャスト方式を使用すると、マルチキャスト データの配信先に境界を設定することができます。詳細については、「RFC 2365 」を参照してください。
インターフェイスを PIM 境界として設定し、PIM メッセージがこのインターフェイスから送信されないようにできます。ドメイン境界パラメータの構成に関する詳細は、「メッセージ フィルタリングの構成」セクションを参照してください。
Auto-RP スコープ パラメータを使用すると、存続可能時間(TTL)値を設定できます。詳細については、「Auto-RP の構成」セクションを参照してください。
仮想化のサポート
複数の仮想ルーティングおよびフォワーディング(VRF)インスタンスを定義することができます。各 VRF では、MRIB を含む独立マルチキャスト システム リソースが維持されます。
PIM show コマンドに VRF 引数を指定して実行すると、表示される情報のコンテキストを確認できます。VRF 引数を指定しない場合は、デフォルト VRF が使用されます。
VRF の構成に関する詳細は、『Cisco Nexus 3548 スイッチ NX-OS ユニキャスト ルーティング構成ガイド』を参照してください。