概要
・IGMP(Internet Group Management Protocol)はルータと端末間において、マルチキャストグループへの参加と脱退手続きを行うプロトコル。過去問では、IGMPに関して「ホストがマルチキャストグループへの参加や離脱を通知したり、ルータがマルチキャストグループへ参加しているホストの有無をチェックするときに使用するプロトコル(H20NW午前 問30)」と述べている。
・IGMPでは、参加メッセージを送信したホストを、マルチキャストのグループごとに管理している。
※ただ、実際に管理しているのは1台のホストのみ(Ciscoの場合?Last Reporter)
なぜ1台かというと、1台以上あるかどうかが重要。すべてのホストを管理する必要がない。1台以上あれば、マルチキャストパケットを受信し、0台であれば破棄する。
・ホストはIGMPの参加メッセージを送るし、マルチキャストのルータもホストに送信し、メンバの参加状態を確認する。ここはversionによっても異なり(たぶん)、動作も複雑なので、ここでの説明は割愛する。
ネットワークスペシャリスト_IGMP1

IGMPスヌーピング
せっかくマルチキャストしていても、ルータ配下ではブロードキャストされてしまう。
これを、該当ホストのみに送るための機能がIGMPスヌーピングである。
IGMP snoopingに対応した装置(特にL2スイッチがポイント)であれば、該当のグループによみパケットを転送するので、無駄なトラフィックが流れない。マルチキャストの本来の概念だと思う。
※snoopとは「のぞき見する」の意。IGMPパケットをのぞき見(IGMP joinを確認)して、該当ポートにのみマルチキャストパケットを転送する。
ネットワークスペシャリスト_IGMP2