Ciscoの「Catalyst スイッチで同一 VLAN 内でのマルチキャストが機能しない」のページが日本語が変で、
どうも理解できないので、整理したいと思います。
https://www.cisco.com/c/ja_jp/support/docs/switches/catalyst-6500-series-switches/68131-cat-multicast-prob.html
ただ、重要なポイントのみを抜粋しているため、詳細な内容や正確な内容はCiscoのページを確認してください。
このページは、Ciscoのページの理解することをサポートするページです。
IGMP | エンド ホスト(レシーバ)がそのエンド ホストのマルチキャスト ルータ(IGMP クエリア)に、特定のマルチキャスト トラフィックを受信するということを通知できるようにするプロトコル ■IGMP クエリー ルータは、エンド ホストに、特定のマルチキャスト ストリームが必要かどうかを問い合せることができます ■IGMP レポート エンド ホストは、ルータに、特定のマルチキャスト ストリームを要求するかどうかを通知または応答できます |
IGMP スヌーピング | レシーバが取り付けられているポートだけにマルチキャスト トラフィックを制限するためのメカニズム レイヤ2スイッチはマルチキャストパケットを必要とするポートのみに選択的に送出できるため、効率が向上します。 スイッチは、ルータとエンド ホストによる IGMP メッセージの交換を「リッスン」します。 このようにして、スイッチは IGMP スヌーピング テーブルを作成します。 |
mrouter ポート | スイッチから見ると単にマルチキャスト ルータに接続しているポートのことです。 IGMP スヌーピングの動作がスイッチ間で機能するためには、少なくとも 1 つの mrouter ポートが存在することが必要不可欠です。 |
同じ VLAN 内であっても、マルチキャスト トラフィックが Catalyst スイッチを通過しないように見えます。
マルチキャストソースはスイッチ1に接続されています。
レシーバ1はスイッチ1に接続され、レシーバ2はスイッチ2に接続されます。
スイッチ2はCatalyst 3750です。スイッチ1とスイッチ2の間には、アクセスまたはトランクのいずれかのレイヤ2リンクがあります。
このセットアップでは、ソースと同じスイッチに接続されている Receiver 1 は、マルチキャスト ストリームを問題なく受け取ります。
しかし、Receiver 2 はマルチキャスト トラフィックをまったく受け取りません。
Catalyst スイッチの IGMP スヌーピングは、デフォルトで有効になっています。IGMP スヌーピングでは、スイッチはすべてのポートで IGMP メッセージをスヌープ(リッスン)します。スイッチは、基本的にマルチキャスト グループをそのグループを要求したすべてのスイッチ ポートにマッピングする、IGMP スヌーピング テーブルを作成します。
スイッチ1の送信元がマルチキャストトラフィックのストリームを開始すると、スイッチ1はレシーバ1からのIGMPレポートを「見た」ため、スイッチ1はポートGigabit Ethernet 2/48をマルチキャストアウトします
スイッチ2はIGMPスヌーピングプロセスの一部としてIGMPレポート(マルチキャスト要求)を見ません(ギガビットイーサネット2/46)。その結果、スイッチ1はスイッチ2にマルチキャストトラフィックを送信しません。したがって、レシーバ2が同じVLANにあっても、マルチキャストの送信元とは異なるスイッチ上にあっても、レシーバ2はマルチキャストトラフィックを受信しません。
この問題の原因は、IGMP スヌーピングは、mrouter のない Catalyst プラットフォームでは実際にはサポートされないということです。メカニズムは mrouter ポートがないと正常に機能しません。
この問題を解決するには、スイッチに何らかの方法で mrouter ポートを学習または認識させる必要があります。
スイッチは、IGMP レポートをレシーバから mrouter ポートに「リレー」します。つまり、IGMP レポートはマルチキャスト ルータの方向に進みます。
マルチキャスト ルータが知る必要があるのは、まだマルチキャストを要求しているレシーバがダウンストリームに 1 つでも存在するかどうかということです。
これを判断するため、マルチキャスト ルータは、IGMP クエリーに応答する IGMP レポートを定期的に受信します。
スイッチが mrouter ポートを認識していると、Switch 2 は Receiver 2 から受信した IGMP レポートを mrouter ポートにリレーします。
このポートはファストイーサネット1/0/33です。
スイッチ1はスイッチポートのギガビットイーサネット2/46でこのIGMPレポートを取得します。
レイヤ3ルータ/VLANインターフェイスで、PIMを有効にして、動的にmrouterを学習させる方法です。
※L3スイッチの話しです。
すべての Catalyst プラットフォームは、mrouter ポートを動的に学習する機能を備えています。
スイッチは、マルチキャスト ルータが定期的に送信する Protocol Independent Multicast(PIM)の hello または IGMP クエリー メッセージを、受動的にリッスンします。
ip pim sparse-dense-mode を使用して Catalyst 1 上の VLAN 6500 Switched Virtual Interface(SVI; スイッチ仮想インターフェイス)を設定します。
Switch1#show run interface vlan 1 ! interface Vlan1 ip address 1.1.1.1 255.255.255.0 ip pim sparse-dense-mode end Switch 1 now reflects itself (Actually the internal router port) as an Mrouter port. Switch1#show ip igmp snooping mrouter vlan ports -----+---------------------------------------- 1 Router Switch 2 receives the same PIM hellos on its Fa 1/0/33 interface. So it assigns that port as its Mrouter port. Switch2#show ip igmp snooping mrouter Vlan ports ---- ----- 1 Fa1/0/33(dynamic)
マルチキャスト ルータとして動作し、スイッチの mrouter ディスカバリを提供できるルータがネットワークや VLAN にない場合は、IGMP クエリア機能を有効にできます。
この機能により、レイヤ2スイッチはマルチキャストルータのプロキシとなり、そのネットワークで定期的なIGMPクエリを送信できます。
この動作によって、スイッチは自身を mrouter ポートと認識します。
Switch2(config)#ip igmp snooping querier Switch2#show ip igmp snooping querier Vlan IP Address IGMP Version Port ------------------------------------------------------------- 1 1.1.1.2 v2 Switch
スイッチ1は、スイッチ2にリンクしているポートGig 2/46をmrouterポートと見なします。
Switch1#show ip igmp snooping mrouter vlan ports -----+---------------------------------------- 1 Gi2/46
スイッチ1の送信元がマルチキャストトラフィックのストリームを開始すると、
スイッチ1はIGMPスヌーピング(ポートGig 2/48)を介して見つかったレシーバ1とルータポート(ポートGig 2/46)に
マルチキャストトラフィックを転送します。
スイッチにmrouterポートがないため、同じレイヤ2 VLAN内でマルチキャストトラフィックが失敗します。
すべてのスイッチに mrouter ポートを固定的に設定すると、IGMP レポートはその VLAN 内のすべてのスイッチにリレーされます。
その結果、マルチキャストが可能になります。
Switch2(config)#ip igmp snooping vlan 1 mrouter interface fastethernet 1/0/33 Switch2#show ip igmp snooping mrouter Vlan ports ---- ----- 1 Fa1/0/33(static)
knowledge