この章では、Catalyst 3550 マルチレイヤ スイッチに Multicast Source Discovery Protocol(MSDP)を設定する方法について説明します。MSDPによって、複数のProtocol-Independent Multicast Sparse-Mode(PIM-SM)ドメインが接続されます。
このCisco IOSリリースでは、MSDPと連携して動作するMulticast Border Gateway Protocol(MBGP)がサポートされていないため、MSDPは完全にはサポートされていません。ただし、MBGPが動作していない場合、MSDPと連携して動作するデフォルト ピアを作成できます。
この機能を使用するには、IP サービス イメージ(以前は Enhanced Multilayer Software Image[EMI; 拡張マルチレイヤ ソフトウェア イメージ])をスイッチにインストールする必要があります。
MSDP の概要
MSDP を使用すると、さまざまなドメイン内のすべての Rendezvous Point(RP; ランデブー ポイント)に、グループのマルチキャスト送信元を通知できます。各 PIM-SM ドメインでは独自の RP が使用され、他のドメインの RP には依存しません。RPはTransmission Control Protocol(TCP)を通じてMSDPを実行し、他のドメイン内のマルチキャスト送信元を検出します。
PIM-SMドメイン内のRPは、他のドメイン内のMSDP対応デバイスとMSDPピアリング関係にあります。ピアリング関係はTCP接続を通じて発生します。交換されるのは、主にマルチキャスト グループを送信する送信元のリストです。RP間のTCP接続は、基本的なルーティング システムによって実現されます。受信側のRPでは、送信元リストを使用して送信元のパスが確立されます。
このトポロジーの目的は、ドメインから、他のドメイン内のマルチキャスト送信元を検出することです。マルチキャスト送信元がレシーバーのあるドメインを対象としている場合、マルチキャスト データはPIM-SMの通常の送信元ツリー構築メカニズムを通じて配信されます。MSDPは、グループを送信する送信元のアナウンスにも使用されます。これらのアナウンスは、ドメインRPで発信する必要があります。
MSDPのドメイン間動作は、Border Gateway Protocol(BGP)またはMBGPに大きく依存します。ドメイン内のRP(インターネットへのアナウンス対象であるグローバル グループを送信する送信元用のRP)で、MSDPを実行してください。
MSDPの動作
図36-1 に、2 つの MSDP ピア間での MSDP の動作を示します。PIMでは、ドメインのRPに送信元を登録するための標準メカニズムとして、MSDPが使用されます。MSDPが設定されている場合は、次のシーケンスが発生します。
送信元が最初のマルチキャスト パケットを送信すると、送信元に直接接続された先頭ホップ ルータ(指定ルータまたは RP)によって RP に PIM Register メッセージが送信されます。RPはRegisterメッセージを使用し、アクティブな送信元を登録したり、ローカル ドメイン内の共有ツリーの下方向にマルチキャスト パケットを転送したりします。MSDP が設定されている場合は、Source-Active(SA)メッセージもすべての MSDP ピアに転送されます。送信元、送信元からの送信先であるグループ、およびRPのアドレスまたは発信元ID(RPアドレスとして使用されるインターフェイスのIPアドレス)が設定されている場合は、SAメッセージによってこれらが識別されます。
各MSDPピアはSAメッセージを発信元のRPから受信および転送し、ピア Reverse-Path Forwarding(RPF)フラッディングを実現します。MSDPデバイスは、BGPまたはMBGPルーティング テーブルを調べ、どのピアがSAメッセージの発信元RPへのネクスト ホップであるかを判別します。このようなピアは RPF ピア と呼ばれます。MSDPデバイスでは、RPFピア以外のすべてのMSDPピアにメッセージが転送されます。BGP および MBGP がサポートされていない場合に MSDP を設定する方法については、 デフォルトの MSDP ピアの設定 を参照してください。
MSDPピアは、非RPFピアから発信元RPへ向かう同じSAメッセージを受信すると、そのメッセージを廃棄します。それ以外の場合、そのMSDPピアはすべてのMSDPピアにメッセージを転送します。
ドメインのRPがMSDPピアからのSAメッセージを受信すると、RPはSAメッセージにグループの参加要求が記述されているかどうかを判別します。空でない発信インターフェイス リストに(*,G)エントリが含まれている場合、そのグループはドメインの対象となり、RPから送信元方向に(S,G)Joinメッセージが送信されます。(S,G)Joinメッセージが送信元のDRに到達すると、送信元からリモート ドメイン内のRPへの送信元ツリーのブランチが構築されます。この結果、マルチキャスト トラフィックを送信元から送信元ツリーを経由してRPへ、そしてリモート ドメイン内の共有ツリーを下ってレシーバーへと送信できます。
図36-1 RP ピア間で動作する MSDP
MSDPの利点
- ・ 共有されたマルチキャスト配信ツリーが分割され、共有ツリーがドメインに対してローカルになるように設定できます。ローカル メンバーはローカル ツリーに加わります。共有ツリーへのJoinメッセージをドメイン外へ送信する必要はありません。
- ・ PIM SMドメインは独自のRPのみを信頼するため、他のドメインのRPに対する信頼度が低下します。このため、送信元の情報がドメイン外部に漏れないようにすることができ、セキュリティが高まります。
- ・ レシーバーのみが配置されているドメインは、グループ メンバーシップをグローバルにアドバタイズしなくても、データを受信できます。
- ・ グローバルな送信元マルチキャスト ルーティング テーブル ステートが不要になり、コストが削減されます。
MSDP の設定
- ・ MSDP のデフォルト設定
- ・ デフォルトの MSDP ピアの設定 (必須)
- ・ SA ステートのキャッシング (任意)
- ・ MSDP ピアからの送信元情報の要求 (任意)
- ・ スイッチから発信される送信元情報の制御 (任意)
- ・ スイッチで転送される送信元情報の制御 (任意)
- ・ スイッチで受信される送信元情報の制御 (任意)
- ・ MSDP メッシュ グループの設定 (任意)
- ・ MSDP ピアのシャットダウン (任意)
- ・ MSDP への境界 PIM DM 領域の追加 (任意)
- ・ RP アドレス以外の発信元アドレスの設定 (任意)
MSDP のデフォルト設定
MSDPはイネーブルになっていません。デフォルトのMSDPピアはありません。
デフォルトの MSDP ピアの設定
このリリースでは、BGP および MBGP がサポートされていないため、 ip msdp peer グローバル コンフィギュレーション コマンドを使用して、ローカルなマルチレイヤ スイッチに MSDP ピアを設定できません。その代わり、デフォルトの MSDP ピアを定義し、そこから送信されるマルチレイヤ スイッチのすべての SA メッセージを受信できます(そのためには、 ip msdp default-peer グローバル コンフィギュレーション コマンドを使用します)。デフォルトのMSDPピアは、事前に設定しておく必要があります。マルチレイヤ スイッチでMSDPピアによるBGPまたはMBGPピアリングが行われない場合は、デフォルトのMSDPピアを設定します。単一のMSDPピアが設定されている場合、マルチレイヤ スイッチでは常にそのピアからのすべてのSAメッセージが受信されます。
図36-2 に、デフォルトの MSDP ピアを使用できるネットワークを示します。 図36-2 では、マルチレイヤ スイッチ B を所有するカスタマーが、2 つの Internet Service Provider(ISP)に接続されています。一方の ISP はルータ A、もう一方の ISP はルータ C を所有しています。これらの ISP 間で、BGP または MBGP は動作していません。ISP のドメイン内、または他のドメイン内の送信元を判別するため、カスタマー サイトのマルチレイヤ スイッチ B はルータ A をデフォルトの MSDP ピアとして識別します。マルチレイヤ スイッチ B はルータ A とルータ C の両方に SA メッセージをアドバタイズしますが、受信するのはルータ A からの SA メッセージ、またはルータ C からの SA メッセージだけです。ルータ A がコンフィギュレーション ファイルの最初に記述されている場合、ルータ A が動作していれば、ルータ A が使用されます。ルータAが動作していない場合のみ、マルチレイヤ スイッチBはルータCからのSAメッセージを受信します。これが、プレフィクス リストがない場合のデフォルトの動作です。
プレフィクス リストを指定すると、ピアはリスト内のプレフィクス専用のデフォルト ピアになります。プレフィクス リストがそれぞれ関連付けられている場合は、複数のアクティブなデフォルト ピアを設定できます。プレフィクス リストがない場合も、複数のデフォルト ピアを設定できますが、アクティブなデフォルト ピアになるのは最初のピアのみです(このピアにルータが接続されていて、ピアがアクティブの場合に限ります)。最初に設定されたデフォルト ピアに障害が発生した場合、またはこのピアが正常に接続されていない場合は、2番めに設定されているピアがアクティブなデフォルト ピアになります。以下同様に処理されます。
通常の場合、ISP はプレフィクス リストを使用して、カスタマーのルータから受信するプレフィクスを定義します。
図36-2 デフォルトの MSDP ピア ネットワーク
デフォルトのMSDPピアを指定するには、イネーブルEXECモードで次の手順を実行します。この手順は必須です。
デフォルト ピアを削除するには、 no ip msdp default-peer グローバル コンフィギュレーション コマンドを使用します。
次に、 図36-2 のルータ A およびルータ C の設定の一部を示します。それぞれの ISP には、デフォルト ピア(BGP または MBGP 以外)を使用する複数のカスタマーが存在します( 図36-2 のカスタマーと同様)。この場合、両方のISPで類似した設定となります。つまり、両方のISPでは、対応するプレフィクス リストでSAが許可されている場合、デフォルト ピアからのSAのみが受信されます。
Router(config)# ip msdp default-peer 10.1.1.1
Router(config)# ip msdp default-peer 10.1.1.1 prefix-list site-a
Router(config)# ip prefix-list site-b permit 10.0.0.0/8
Router(config)# ip msdp default-peer 10.1.1.1 prefix-list site-a
Router(config)# ip prefix-list site-b permit 10.0.0.0/8
SA ステートのキャッシング
デフォルトでは、マルチレイヤ スイッチで受信されたSAメッセージ内の送信元とグループのペアは、キャッシュに格納されません。また、MSDP SA情報が転送される場合、この情報はメモリに格納されません。したがって、ローカルRPでSAメッセージが受信された直後にメンバーがグループに参加した場合、次のSAメッセージによって送信元に関する情報が取得されるまでそのメンバーは待機する必要があります。この遅延は参加遅延と呼ばれます。
メモリを消費して送信元情報の遅延を短縮する場合は、SAメッセージをキャッシュに格納するようにスイッチを設定できます。
送信元とグループのペアのキャッシングをイネーブルにするには、イネーブルEXECモードで次の手順を実行します。この手順は任意です。
デフォルト設定(SA ステートが作成されていない状態)に戻すには、 no ip msdp cache-sa-state グローバル コンフィギュレーション コマンドを使用します。
次に、グループ224.2.0.0/16への送信元である171.69.0.0/16のすべての送信元のキャッシュ ステートをイネーブルにする例を示します。
Switch(config)# ip msdp cache-sa-state 100
Switch(config)# access-list 100 permit ip 171.69.0.0 0.0.255.255 224.2.0.0 0.0.255.255
MSDP ピアからの送信元情報の要求
ローカルRPでは、SA要求を送信し、指定されたグループに対するすべてのアクティブな送信元の要求をすぐに取得できます。デフォルトでは、新しいメンバーがグループに参加してマルチキャスト トラフィックを受信する必要が生じた場合、マルチレイヤ スイッチはMSDPピアにSA要求メッセージを送信しません。新しいメンバーは次の定期的なSAメッセージを受信する必要があります。
グループへの送信元である接続PIM SMドメイン内のアクティブなマルチキャスト送信元を、グループの新しいメンバーが学習する必要がある場合は、新しいメンバーがグループに参加したときに、指定されたMSDPピアにSA要求メッセージを送信するようにスイッチを設定します。ピアはSAキャッシュ内の情報に応答します。ピアにキャッシュが設定されていない場合、このコマンドを実行しても何も起こりません。この機能を設定すると加入遅延は短縮されますが、メモリが消費されます。
新しいメンバーがグループに加入し、マルチキャスト トラフィックを受信する必要が生じた場合、MSDPピアにSA要求メッセージを送信するようにスイッチを設定するには、イネーブルEXECモードで次の手順を実行します。この手順は任意です。
|
指定されたMSDPピアにSA要求メッセージを送信するように、スイッチを設定します。 ip-address | name には、グループの新しいメンバーがアクティブになるときにローカル スイッチの SA メッセージの要求元になる MSDP ピアの IP アドレス、または名前を入力します。 |
||
デフォルト設定に戻すには、 no ip msdp sa-request { ip-address | name } グローバル コンフィギュレーション コマンドを使用します。
次に、171.69.1.1のMSDPピアにSA要求メッセージを送信するように、スイッチを設定する例を示します。
Switch(config)# ip msdp sa-request 171.69.1.1
スイッチから発信される送信元情報の制御
スイッチから発信されるマルチキャスト送信元情報を制御できます。
詳細については、 送信元の再配信 および SA 要求メッセージのフィルタリング を参照してください。
送信元の再配信
SAメッセージは、送信元が登録されているRPで発信されます。デフォルトでは、RPに登録されているすべての送信元がアドバタイズされます。送信元が登録されている場合は、RP に A フラグ が設定されています。このフラグは、フィルタリングされる場合を除き、送信元が SA に格納されてアドバタイズされることを意味します。
アドバタイズされる登録済みの送信元を制限するには、イネーブルEXECモードで次の手順を実行します。この手順は任意です。
フィルタを削除するには、 no ip msdp redistribute グローバル コンフィギュレーション コマンドを使用します。
SA 要求メッセージのフィルタリング
デフォルトでは、SA情報をキャッシングしているマルチレイヤ スイッチのみが、SA要求に応答します。このようなスイッチでは、デフォルトでMSDPピアからのすべてのSA要求メッセージが採用され、アクティブな送信元のIPアドレスが取得されます。
ただし、MSDPピアからのSA要求をすべて無視するように、スイッチを設定できます。標準アクセス リストに記述されたグループのピアからのSA要求メッセージのみを採用することもできます。アクセス リスト内のグループが指定された場合は、そのグループのピアからのSA要求メッセージが受信されます。他のグループのピアからの他のメッセージは、すべて無視されます。
これらの方法のいずれかを設定するには、イネーブルEXECモードで次の手順を実行します。この手順は任意です。
デフォルト設定に戻すには、 no ip msdp filter-sa-request { ip-address | name } グローバル コンフィギュレーション コマンドを使用します。
次に、171.69.2.2のMSDPピアからのSA要求メッセージをフィルタリングするように、スイッチを設定する例を示します。ネットワーク192.4.22.0の送信元からのSA要求メッセージはアクセス リスト1を通過して、受信されます。その他のすべてのメッセージは無視されます。
Switch(config)# ip msdp filter sa-request 171.69.2.2 list 1
Switch(config)# access-list 1 permit 192.4.22.0 0.0.0.255
スイッチで転送される送信元情報の制御
デフォルトでは、マルチレイヤ スイッチで受信されたすべてのSAメッセージが、すべてのMSDPピアに転送されます。ただし、フィルタリングするか、またはTime To Live(TTL)値を設定し、発信メッセージがピアに転送されないようにできます。次では、この方法について説明します。
フィルタの使用法
フィルタを適用するには、イネーブルEXECモードで次の手順を実行します。
フィルタを削除するには、 no ip msdp sa-filter out { ip-address | name } [ list access-list-number ] [ route-map map-tag ] グローバル コンフィギュレーション コマンドを使用します。
次に、アクセス リスト 100 を通過する(S,G)ペアのみが SA メッセージに格納され、 switch.cisco.com という名前のピアに転送されるように設定する例を示します。
Switch(config)# ip msdp peer switch.cisco.com connect-source gigabitethernet0/1
Switch(config)# ip msdp sa-filter out switch.cisco.com list 100
Switch(config)# access-list 100 permit ip 171.69.0.0 0.0.255.255 224.20 0 0.0.255.255
SAメッセージに格納されて送信されるマルチキャスト データのTTLによる制限
TTL値を使用して、各送信元の最初のSAメッセージにカプセル化されるデータを制御できます。IP ヘッダー TTL 値が ttl 引数以上であるマルチキャスト パケットのみが、指定された MSDP ピアに送信されます。たとえば、内部トラフィックの TTL 値を 8 に制限できます。他のグループを外部に送信する場合は、これらのパケットの TTL を 8 より大きく設定して送信する必要があります。
TTL スレッシュホールドを確立するには、イネーブル EXEC モードで次の手順を実行します。この手順は任意です。
デフォルト設定に戻すには、 no ip msdp ttl-threshold { ip-address | name } グローバル コンフィギュレーション コマンドを使用します。
スイッチで受信される送信元情報の制御
デフォルトでは、マルチレイヤ スイッチは、MSDPのRPFピアによって送信されたすべてのSAメッセージを受信します。ただし、着信SAメッセージをフィルタリングし、MSDPピアから受信する送信元情報を制御できます。つまり、特定の着信SAメッセージを受信しないようにスイッチを設定できます。
フィルタを適用するには、イネーブルEXECモードで次の手順を実行します。この手順は任意です。
フィルタを削除するには、 no ip msdp sa-filter in { ip-address | name } [ list access-list-number ] [ route-map map-tag ] グローバル コンフィギュレーション コマンドを使用します。
次に、 switch.cisco.com という名前のピアからのすべての SA メッセージをフィルタリングする例を示します。
Switch(config)# ip msdp peer switch.cisco.com connect-source gigabitethernet0/1
Switch(config)# ip msdp sa-filter in switch.cisco.com
MSDP メッシュ グループの設定
MSDPメッシュ グループは、MSDPによってフルメッシュ型に相互接続されたMSDPスピーカーのグループです。メッシュ グループ内のピアから受信されたSAメッセージは、同じメッシュ グループ内の他のピアに転送されません。したがって、SAメッセージのフラッディングが削減され、ピアRPFフラッディングが簡素化されます。ドメイン内に複数の RP がある場合は、 ip msdp mesh-group グローバル コンフィギュレーション コマンドを使用します。特に、ドメインにわたってSAメッセージを送信する場合に使用します。単一のマルチレイヤ スイッチに複数のメッシュ グループを(異なる名前で)設定できます。
メッシュ グループを作成するには、イネーブルEXECモードで次の手順を実行します。この手順は任意です。
メッシュ グループから MSDP ピアを削除するには、 no ip msdp mesh-group name { ip-address | name } グローバル コンフィギュレーション コマンドを使用します。
MSDP ピアのシャットダウン
複数のMSDPコマンドが設定された単一のピアをアクティブにしない場合は、ピアをシャットダウンしてから、あとで起動できます。ピアがシャットダウンすると、TCP接続が終了し、再起動されません。ピアの設定情報を保持したまま、MSDPセッションをシャットダウンすることもできます。
ピアをシャットダウンするには、イネーブルEXECモードで次の手順を実行します。この手順は任意です。
|
設定情報を保持したまま、指定されたMSDPピアを管理上のシャットダウン状態にします。 peer-name | peer address には、シャットダウンする MSDP ピアの IP アドレスまたは名前を入力します。 |
||
ピアを再起動するには、 no ip msdp shutdown { peer-name | peer address } グローバル コンフィギュレーション コマンドを使用します。TCP接続が再確立されます。
MSDP への境界 PIM DM 領域の追加
Dense-Mode(DM; dense [密]モード)領域とPIM SM領域の境界となるマルチレイヤ スイッチにMSDPを設定します。デフォルトでは、DM領域のアクティブな送信元はMSDPに参加しません。
DM領域でアクティブな送信元のSAメッセージをMSDPピアに送信するように境界ルータを設定するには、イネーブルEXECモードで次の手順を実行します。この手順は任意です。
|
DM領域内のアクティブな送信元に関するSAメッセージを送信するように、DM領域とSM領域の境界スイッチを設定します。 type number には、SA メッセージ内の RP アドレスとして使用される、IP アドレスの配信元となるインターフェイス タイプおよび番号を指定します。 インターフェイスのIPアドレスは、SAメッセージ内のRPフィールド[Originator-ID]の値として使用されます。 |
||
|
ip msdp redistribute [ list access-list-name ] [ asn aspath-access-list-number ] [ route-map map ] |
SAメッセージに格納されてアドバタイズされる、マルチキャスト ルーティング テーブル内の(S,G)エントリを設定します。 詳細については、 送信元の再配信 を参照してください。 |
|
ip msdp originator-id グローバル コンフィギュレーション コマンドを実行すると、RP アドレスとして使用されるインターフェイス タイプと番号も識別されます。 ip msdp border sa-address と ip msdp originator-id の両方のグローバル コンフィギュレーション コマンドが設定されている場合、 ip msdp originator-id コマンドから取得されたアドレスによって RP アドレスが指定されます。
デフォルト設定(DM 領域内のアクティブな送信元が MSDP に参加しない設定)に戻すには、 no ip msdp border sa-address type number グローバル コンフィギュレーション コマンドを使用します。
RP アドレス以外の発信元アドレスの設定
SA メッセージの発信元である MSDP スピーカーで、インターフェイスの IP アドレスを SA メッセージ内の RP アドレスとして使用する場合は、送信元 ID を変更します。次のいずれかの場合に送信元 ID を変更できます。
- ・ MSDPメッシュ グループ内の複数のマルチレイヤ スイッチで、ローカルなRPを設定する場合
- ・ PIM SMドメインとDMドメインの境界となるマルチレイヤ スイッチがある場合。サイトのDMドメインの境界となるスイッチがあり、SMがその外部で使用されている場合は、DMの送信元を外部に通知する必要があります。このスイッチはRPでないため、SAメッセージで使用されるRPアドレスはありません。したがって、このコマンドではインターフェイスのアドレスを指定し、RPアドレスを提供します。
SAメッセージの発信元であるMSDPスピーカーで、インターフェイスのIPアドレスをSAメッセージ内のRPアドレスとして使用できるようにするには、イネーブルEXECモードで次の手順を実行します。この手順は任意です。
ip msdp border sa-address と ip msdp originator-id の両方のグローバル コンフィギュレーション コマンドが設定されている場合、 ip msdp originator-id コマンドから取得されたアドレスによって RP アドレスが指定されます。
この方法で RP アドレスが取得されないようにするには、 no ip msdp originator-id type number グローバル コンフィギュレーション コマンドを使用します。
MSDP のモニタおよびメンテナンス
MSDP SA メッセージ、ピア、ステート、またはピア ステートをモニタするには、 表36-1 に示すイネーブル EXEC コマンドを 1 つまたは複数使用します。
MSDP 接続、統計情報、または SA キャッシュ エントリをクリアするには、 表36-2 に示すイネーブル EXEC コマンドを使用します。
|
すべてのエントリの SA キャッシュ エントリ、特定のグループのすべての送信元、または特定の送信元とグループのペアのすべてのエントリをクリアします。 |
