ルータとスイッチにおけるマルチキャストパケットの転送処理の違いについて、お詳しい方がおられましたらご指南・ご意見をいただきたく投稿しました。
まず、Catalyst 3850 や 9000シリーズのような一般的なL3/L2スイッチの場合の話です。
ある一つのVLAN内(同じブロードキャストドメイン内)において、マルチキャストのSenderと複数のReceiverが存在します。PIMは動作させておらず、マルチキャストルーティング機能も無効化してありますが、IGMP Snoopingはデフォルトで有効になっています。
このような環境の場合、当初はマルチキャストを受信したい端末、つまりIGMP Joinを送信している端末が接続されているポートにのみマルチキャストが転送されると思っていました。なぜならIGMP Snoopingの機能が働くからです。
しかし、実際はあらゆるポートにマルチキャストパケットが転送されていました。
よく考えてみたところ、マルチキャストルーティングが行われておらずPIMも設定していないので、IGMP クエリアが存在せず、IGMP Membership Queryが送出されないので、IGMP Snoopingによる盗み見が出来ないから、スイッチは全ポートにマルチキャストパケットを転送している、つまりフラッディングしているのだと理解しました。
まずここまでの当方の考えが正しいかどうかについてご意見をいただけると助かります。
次に、同じようなL2環境をルータを使って作成しました。
機種はASR920でIOS版数はIOS-XE17.3.4です。ルータのインターフェースはルーテッドポートなので、L2SWのようにするためにBridge DomainとEVC(イーサネット仮想回線)のEFP(イーサネットフローポイント)を組み合わせて作成しました。
マルチキャストルーティング機能を無効化し、PIMは未設定ですが、IGMP Snoopingはデフォルトで有効になっています。そして同じようにこの環境にマルチキャストのSenderと複数のReceiverが存在しますが、IGMPクエリアは存在しません。
当初はL2/L3スイッチと同じように全てのEFP/TrunkEFPポートにマルチキャストパケットがフラッディングされると思っていましたが、実際はどのReceiverでも、その他ポートでもマルチキャストパケットは受信できませんでした。
※一時的にIGMP Snoopingを無効化(no ip igmp snooping)するとマルチキャストパケットは受信できます。ユニキャストパケットのやり取りはIGMP Snooping機能の有効化/無効化に関係なく正常に行えるので、到達性には問題が無い認識です。
IGMP Snoopingを無効化するとマルチキャストパケットが受信できることから次のように推測しました。
ルータの場合はL2/L3スイッチと違って、IGMP Snoopingを有効化した環境でマルチキャストパケットを転送させる場合は、必ずIGMPクエリアが存在してIGMP Membership Queryを送出し、それに対するIGMP Membership ReportでReceiverの存在を確認出来ない限りはパケットを転送しない、つまりマルチキャストをフラッディングしないのは期待動作(仕様)ではないだろうか。
このルータの処理動作についての考え方は正しいでしょうか。
文章ばかりで非常に分かり辛いかと思いますが、IGMP Snoopingとマルチキャスト転送におけるルータとスイッチの処理の違いについて、ご教授いただけますと助かります。