IGMPスヌーピングとは

IGMPスヌーピングとは、レイヤ2スイッチでのマルチキャストのフラッディングを制御して、レシーバが接続されていないポートの余計な帯域消費を防ぐための機能です。

レイヤ2スイッチは、ブロードキャストとマルチキャストを同じように取り扱うため、マルチキャストパケットはVLAN内すべてにフラッディングされます。そのため、マルチキャストレシーバではないホストにもマルチキャストが届いてしまいます。レシーバでなければ、マルチキャストが届いたとしてもNICで破棄されホスト自体には負荷がかかりません。しかし、レシーバではないホストが接続されているポートで余計な帯域の消費が起こってしまいます。

図 レイヤ2スイッチのマルチキャストのフラッディング
図 レイヤ2スイッチのマルチキャストのフラッディング

こうしたレイヤ2スイッチのマルチキャストのフラッディングを制御し、レシーバが接続されていないポートの余計な帯域消費を防ぐために次の2つの機能
が利用できます。

  • CGMP(Cisco Group Management Protocol)
  • IGMPスヌーピング

これらを利用すると、マルチキャストのフラッディングは該当するグループのレシーバが存在するポートのみに限定し、余計な帯域消費を防ぐことができます。CGMPはCisco独自のプロトコルで、CiscoルータとCatalystスイッチ間でのみ使えます。IGMPスヌーピングは他のベンダの機器でも利用できます。

IGMPスヌーピングの仕組み

CGMPおよびIGMPスヌーピングは、動作の仕組みは違っていますが、最終的な結果は同じです。CGMPまたはIGMPスヌーピングによって、レイヤ2スイッチは「01-00-5E」ではじまるIPマルチキャストに対応したMACアドレスをMACアドレステーブルに登録するようになります。

そうすると、マルチキャストパケットをフラッディングしません。MACアドレステーブルにしたがってレシーバが接続されているポートにのみマルチキャストを転送するようになります。次の図はIGMPスヌーピングの例です。

図 IGMPスヌーピング
図 IGMPスヌーピング

「スヌーピング」とは覗き見るという意味です。本来、レイヤ2スイッチはイーサネットヘッダしか見ませんが、IGMPスヌーピングによってIGMPメッセージの中身を確認します。IGMPレポートメッセージから、どのホストがどのようなマルチキャストグループに参加するかがわかりますので、その情報をMACアドレステーブルに登録します。これにより、マルチキャストパケットをレシーバが接続されているポートにのみ限定して転送することができるようになります。

IGMPスヌーピングの設定と確認

CatalystスイッチではデフォルトでIGMPスヌーピングが有効化されています。IGMPスヌーピングはVLANごとの設定です。次のコマンドでIGMPスヌーピングを有効化/無効化することができます。

IGMPスヌーピングの有効化

(config)# [no] ip igmp snooping vlan < vlan-number >

< vlan-number > : VLAN番号

また、IGMPスヌーピングの有効/無効を確認するために、show ip igmp snoopingコマンドがあります。show ip igmp snoopingコマンドの例は下記のとおりです。

Switch#sh ip igmp snooping
Global IGMP Snooping configuration:
-----------------------------------
IGMP snooping              : Enabled
IGMPv3 snooping (minimal)  : Enabled
Report suppression         : Enabled
TCN solicit query          : Disabled
TCN flood query count      : 2
Last member query interval : 1000

Vlan 1:
--------
IGMP snooping                       : Enabled
Immediate leave                     : Disabled
Multicast router learning mode      : pim-dvmrp
Source only learning age timer      : 10
Last member query interval          : 1000
CGMP interoperability mode          : IGMP_ONLY

IPマルチキャストの仕組み