http://itpro.nikkeibp.co.jp/word/page/10009063/
LANにある端末がマルチキャストで通信できることをルーターに対して通知する。マルチキャスト・パケットを受け取ったルーターは,IGMPで受信すると宣言した端末があった場合のみ,パケットを端末が接続するLANセグメントへ送出する。
http://www.infraexpert.com/study/multicast7.htm
フラッディングするレイヤ2スイッチの問題
例えば、192.168.0.4 が 224.10.200.1 のマルチキャストパケットが欲しいとIGMPでルータに通知するとします。
ルータは、192.168.0.0/24 のセグメントに 224.10.200.1 のマルチキャストパケットを欲しがっているメンバーが
いるこを認識し、宛先 224.10.200.1 のパケットを 192.168.0.0/24 のセグメントへ転送するようになります。ここまでは問題ないのですが、ルータからスイッチにそのパケットが転送された時、スイッチはどうするでしょうか。
スイッチは、宛先MACアドレスが 01-00-5E から始まるMACアドレスのエントリがないか各ポートを調べます。
そんなMACアドレスがエントリされているポートなんてない・・・よしっ全ポートにフラッディングしよう!となります。では、どうすればいいのでしょうか。ホストがルータに IGMP Joinメッセージ ( メンバーシップレポート ) を送る時に
スイッチがその中身をのぞき見(Snooping) すればいいのです。IGMPスヌーピングとは、IGMPメッセージの中身を
のぞき見することです。スイッチは、ルータとホストとの間でやりとりする IGMP joinメッセージをスヌーピングすることで、ホストが接続して
いるポートを、そのグループに対応するマルチキャストテーブルエントリに追加します。これにより、どこのポートに
どのマルチキャストグループのホストがいるのかを認識できるので、適切にトラフィックを転送できるようになります。注意事項として、スイッチは IGMPパケットと通常のマルチキャストパケットの違いを認識することができないので、
全てのマルチキャストパケットをのぞき見していくことになります。
めも
未検証