# IPマルチキャスト / IGMP Snooping

IGMP Snoopingは、VLAN環境において不要なマルチキャストトラフィックをフィルタリングする機能です（IGMPv1/v2/v3対応）。
IGMP Snoopingを使わない場合、マルチキャストパケットはサブネット（VLAN）単位で配送されます。すなわち、VLAN内にグループメンバーが1台でもいると、同一VLAN内のすべてのポートにパケットが転送されてしまいます。
IGMP Snoopingを有効にすると、本製品は各ポートで交換されるIGMPメッセージ（Membership Report、Query、Leave）を監視して、メンバーの存在するポートにだけ該当グループのトラフィックを配送するようになります。
Note

L2環境でマルチキャスト通信を行っている場合、最初のホストがグループに参加するときと、最後のホストがグループを脱退するときに、該当グループのIPマルチキャストパケットが一瞬フラッディングされます。これを防ぐにはplatform stop-unreg-mc-floodingコマンドを有効にしてください。

Note

マルチキャストグループ数が最大まで登録されるような環境においては、ルーターポートをあらかじめ登録してください。

Note

送信元のIPアドレスが、自身のVLANインターフェースとは異なるネットワークアドレスのIGMPメッセージ（Membership Report、Query、Leave）を受信した場合は破棄します。

## 基本設定

IGMP Snoopingは、初期状態で有効になっています。
IGMP Snoopingはレイヤー2の機能であるため、本製品をレイヤー2スイッチとして使用する場合でも利用できます。次図のように、上位にマルチキャスト対応のIPルーターが存在する場合、特別な設定をすることなくIGMP Snoopingを利用できます。

ただし、初期設定ではReport抑制機能が有効化されているため、図の「グループA受信者」から送信されたReportメッセージはそのままマルチキャストルーターに転送されるのではなく、本製品が自身のIPアドレスでReportメッセージを作成し、マルチキャストルーターに代理送信する形となります。このとき、本製品はReportメッセージやLeave Groupメッセージをまとめることで、ルーターポートに無駄なIGMPメッセージを出さないようにします。

- Report抑制機能有効時、該当VLANインターフェースにIPアドレスが設定されていないと、代理送信するIGMPパケットの始点IPアドレスが0.0.0.0になります。代理送信するIGMPパケットの始点アドレスを0.0.0.0以外のアドレスにするには、該当VLANインターフェースに適切なIPアドレスを設定してください。これには、ip addressコマンドを使います。

      awplus(config)# interface vlan1
      awplus(config-if)# ip address 192.168.10.254/24

- 代理送信するIGMPパケットの形式（バージョン）は、ip igmp versionコマンドで調整できます。同コマンドの初期値はバージョン3ですが、この場合ルーターポートに接続されている上位ルーター（Querier）からバージョン3のIGMPパケットを受信したときはバージョン3で応答し、バージョン2のIGMPパケットを受信したときはバージョン2で応答します。同コマンドでバージョン2に設定した場合は、上位ルーターからバージョン3のIGMPパケットを受信しても、バージョン2で応答するようになります。

      awplus(config)# interface vlan1
      awplus(config-if)# ip igmp version 2

- 初期設定で有効になっているReport抑制機能は、ホストを接続する末端スイッチ用です。直接ホストを接続しないスイッチでは、Report抑制機能を無効化してください。これには、ip igmp snooping report-suppressionコマンドをno形式で実行します。
  これにより、本製品によるIGMPパケットの代理送信が停止され、IGMPメッセージが通常どおり転送されるようになります。

      awplus(config)# interface vlan1
      awplus(config-if)# no ip igmp snooping report-suppression

IGMP SnoopingのReport抑制機能有効時には、あるポートでLeaveメッセージを受信しても、他ポートに同一グループのメンバーが存在していると、Leaveメッセージを受信したポートがメンバーリストから削除されず、該当グループ宛てのマルチキャストトラフィックが送信され続けます。
これは下記仕様によるものですが、ip igmp snooping report-suppressionコマンドをno形式で実行し、Report抑制機能を無効化することにより回避可能です。

1. Report抑制機能では、Leaveメッセージを受信しても、他ポートに同一グループのメンバーが存在する場合はルーターポートからLeaveメッセージを送信しません。
2. IGMP Snooping機能では、Leaveメッセージの受信後すぐにメンバーリストからポートを削除するのではなく、Leaveメッセージを受信したQuerierが送信するGroup-specific Queryに応答がないポートのみメンバーリストから削除します。
   したがって、仕様(1)によりルーターポートからLeaveメッセージが送信されない場合、QuerierはLeaveメッセージを受信しないためGroup-specific Queryを送信せず、結果としてLeaveメッセージの受信ポートがメンバーリストから削除されません。

IGMP Snoopingを無効にするには、グローバルコンフィグモードのip igmp snoopingコマンドをno形式で実行します。再度有効にするには、同コマンドを通常形式で実行してください。

    awplus(config)# no ip igmp snooping

Note

IGMP Snoopingをいったん無効にし、再度有効にする場合は、システムを再起動してください。

特定のインターフェースでIGMP Snoopingを無効にするには、該当インターフェースのインターフェースモードに移動し、ip igmp snoopingコマンドをno形式で実行してください。

    awplus(config)# interface vlan10
    awplus(config-if)# no ip igmp snooping

IGMP Snoopingの状態はshow ip igmp interfaceコマンドで確認できます。

## 注意事項

### 使用できないグループアドレス

IGMP/IGMP Snoopingで以下の範囲のIPアドレスは、予約されたマルチキャストMACアドレスにマッピングされるため、グループアドレスとして利用できません。

表 1：マルチキャスト用IPアドレスとMACアドレスの対応表
IPアドレス | MACアドレス
224.0.0.0/24 | 01-00-5E-00-00-xx
224.128.0.0/24 | 01-00-5E-00-00-xx
225.0.0.0/24 | 01-00-5E-00-00-xx
225.128.0.0/24 | 01-00-5E-00-00-xx
226.0.0.0/24 | 01-00-5E-00-00-xx
226.128.0.0/24 | 01-00-5E-00-00-xx
227.0.0.0/24 | 01-00-5E-00-00-xx
227.128.0.0/24 | 01-00-5E-00-00-xx
228.0.0.0/24 | 01-00-5E-00-00-xx
228.128.0.0/24 | 01-00-5E-00-00-xx
229.0.0.0/24 | 01-00-5E-00-00-xx
229.128.0.0/24 | 01-00-5E-00-00-xx
230.0.0.0/24 | 01-00-5E-00-00-xx
230.128.0.0/24 | 01-00-5E-00-00-xx
231.0.0.0/24 | 01-00-5E-00-00-xx
231.128.0.0/24 | 01-00-5E-00-00-xx
232.0.0.0/24 | 01-00-5E-00-00-xx
232.128.0.0/24 | 01-00-5E-00-00-xx
233.0.0.0/24 | 01-00-5E-00-00-xx
233.128.0.0/24 | 01-00-5E-00-00-xx
234.0.0.0/24 | 01-00-5E-00-00-xx
234.128.0.0/24 | 01-00-5E-00-00-xx
235.0.0.0/24 | 01-00-5E-00-00-xx
235.128.0.0/24 | 01-00-5E-00-00-xx
236.0.0.0/24 | 01-00-5E-00-00-xx
236.128.0.0/24 | 01-00-5E-00-00-xx
237.0.0.0/24 | 01-00-5E-00-00-xx
237.128.0.0/24 | 01-00-5E-00-00-xx
238.0.0.0/24 | 01-00-5E-00-00-xx
238.128.0.0/24 | 01-00-5E-00-00-xx
239.0.0.0/24 | 01-00-5E-00-00-xx
239.128.0.0/24 | 01-00-5E-00-00-xx

また、同一セグメント（VLAN）内では下位23ビットが異なるマルチキャストグループ（IP）アドレスを使用してください。
たとえば、229.10.10.10（MACアドレス：01-00-5E-0A-0A-0A）と230.74.10.10（MACアドレス：01-00-5E-4A-0A-0A）は同一セグメント内で利用できますが、229.10.10.10（MACアドレス：01-00-5E-0A-0A-0A）と229.138.10.10（MACアドレス：01-00-5E-0A-0A-0A）は下位23ビットが等しく、同じMACアドレスにマッピングされるため、同一セグメント内では利用できません。