IGMP Snooping


1 機能概要

IGMP Snoopingは、VLAN環境において余分なマルチキャストのフラッディングを制御することで、ネットワークの帯域幅の消費を抑える機能です。
L2スイッチでは、マルチキャストパケットはVLAN単位で配送されるため、VLAN内に1つでもマルチキャストパケットを受信したい端末が存在すると、
同一VLAN内のすべてのポートにパケットが配送されてしまいます。

IGMP Snooping機能を使用すると、受信端末とマルチキャストルーター間で交換されるIGMPメッセージを監視 (Snooping) することで、
マルチキャストパケットを受信したい端末が接続されたポートのみに該当グループのパケットを配信することができます。


2 用語の定義

IGMP (Internet Group Management Protocol)

マルチキャストグループを制御するためのプロトコル。
マルチキャストルーターはLAN上のどのホストがマルチキャストグループのメンバーであるか判断でき、ホストは自分がどのマルチキャストグループのメンバーかを伝えることができます。
3つのバージョンがあり、 IGMPv1 (RFC1112)IGMPv2 (RFC2236)IGMPv3 (RFC3376) で規定されます。

マルチキャストルーターポート

マルチキャストルーターが接続されているLAN/SFPポートのこと。
IGMPジェネラルクエリーを受信したLAN/SFPポートをマルチキャストルーターポートとして自動で学習します。

IGMPレポート抑制機能

マルチキャストルーターとホスト間で行われる通信負荷をL2スイッチで抑制する機能。
抑制するために本L2スイッチがまとめるメッセージは、以下となります。

レポート抑制機能は、IGMPv1/v2/v3に対して動作します。

IGMPv2 Fast Leave (高速脱退) 機能

IGMP Leaveメッセージを受信したLAN/SFPポートを即座にマルチキャスト受信ポートから外す(転送に必要なFDBエントリーを削除する)機能。
本来、IGMPv2の離脱処理では、IGMP Leaveメッセージを受信した際、グループスペシフィッククエリーを送信し、レシーバーの存在確認が行われますが、
高速脱退機能が 有効 な場合、本動作を行いません。
このため、高速脱退機能は LAN/SFPポート配下に1つのレシーバーが接続されている場合にのみ効果的な機能 です。

IGMP クエリー送信機能 (IGMP Querier)

IGMP ジェネラルクエリー、スペシフィッククエリーを送信する機能。
マルチキャストルーターがいない環境でIGMP Snoopingを機能させる場合に使用します。


3 機能詳細

IGMP Snoopingの動作仕様について以下に示します。

  1. 本L2スイッチは、 IGMP v1/v2/v3 に対応したSnooping機能を提供します。
    本L2スイッチで機能させる上位バージョンを igmp snooping versionコマンド で設定できます。
    バージョン設定は VLANインターフェース に対して行い、初期設定は v3 となっています。
    設定バージョンと受信フレームのバージョンの違いによる動作は以下となります。
  2. IGMP Snoopingの 有効 / 無効 設定は、 VLANインターフェース に対して行います。
    デフォルトVLAN (VLAN #1)に対する初期設定、VLAN 生成後の初期設定どちらも 有効 となっています。

  3. IGMP Snoopingの機能として、以下の4つに対応します。
  4. IGMP Snoopingが 有効 に設定されているVLANインターフェースでは、 マルチキャストルーターポート自動で学習 しますが、
    igmp snooping mrouter interface コマンドで静的に設定することもできます。
    なお、VLANインターフェースに設定されているマルチキャストルーターポートは、show igmp snooping mrouterコマンドで確認します。

  5. IGMP Snoopingが 有効 に設定されているVLANインターフェースでは、 IGMPレポート抑制機能 が自動で 有効 となります。
    IGMPレポート抑制機能を 無効 にすることはできません。
    レポート抑制機能により、IGMPレポート、IGMP leaveメッセージを送信する場合、送信元IPv4アドレスには、VLANインターフェースに割り振られているIPv4アドレスを使用します。
    (割り振られていない場合は、0.0.0.0を設定して送信します。)

  6. IGMPv2 Fast-Leave(高速脱退)機能 は、VLANインターフェースに対して igmp snooping fast-leaveコマンド で設定します。
    デフォルトVLAN (VLAN #1)に対する初期設定、VLAN 生成後の初期設定どちらも 無効 となっています。

  7. マルチキャストルーターが存在しない環境でIGMP Snoopingを使用するために、 IGMP クエリー送信機能 に対応します。
    IGMP クエリー送信機能は、以下の2つのパラメータで制御します。
  8. VLAN内に複数の機器がクエリーを送信する場合、VLAN内で最も小さいIPv4アドレスを持つ機器がクエリー送信を行います。
    本L2スイッチは、自身のIPv4アドレスより小さなIPv4アドレスを持つ機器からのクエリーを受信した場合、クエリー送信機能を停止します。
    なお、クエリー送信時に設定する送信元IPv4アドレスは、VLANインターフェースに割り振られているIPv4アドレスを使用しますが、割り振られていない場合は、
    他のVLANインターフェースに割り振られているIPv4アドレスを使用します。(すべてのVLANインターフェースにIPv4アドレスが割り当てられていない場合は、
    0.0.0.0を設定して送信します。)

  9. 本L2スイッチでは、受信したIGMPパケットのTTL値が不正(1以外)だった場合、破棄をしないで強制的に"1"に変更する機能を提供します。
    本機能を "TTLチェック機能" と定義し、VLANインターフェースに対して igmp snooping check ttl コマンド で設定を行うことができます。
    TTLチェック機能 は、デフォルトVLAN (VLAN #1)に対する初期設定、VLAN 生成後の初期設定どちらも 有効(TTL不正値のパケットを破棄) となっています。


4 関連コマンド

関連コマンドについて、以下に示します。
コマンドの詳細は、コマンドリファレンスを参照願います。



5 コマンド実行例

5.1 IGMP Snooping の設定(マルチキャストルーターあり)

マルチキャストルーターがある環境でIGMP Snooping機能を有効にして、マルチキャストグループに参加している
PC1、PC3にのみデータが配信されるようにします。


  1. VLAN #10 を定義して、IGMP Snoopingの設定を行います。
    L2SW(config)# vlan database
    L2SW(config-vlan)#vlan 10                ... (VLAN #10 の定義)
    L2SW(config-vlan)#exit
    L2SW(config)#interface vlan0.10
    L2SW(config-if)#igmp snooping            ... (VLAN #10 のIGMP Snoopingを有効にする)
    L2SW(config-if)#no igmp snooping querier ... (VLAN #10 のIGMP クエリー送信機能を無効にする)
    L2SW(config-if)#igmp snooping fast-leave ... (VLAN #10 のIGMP Fast-leave機能を有効にする)
    
  2. LANポート #1 ~ #4 を アクセスポートに設定し、VLAN #10 に所属させます。
    L2SW(config)# interface ge1
    L2SW(config-if)# switchport mode access
    L2SW(config-if)# switchport access vlan 10
    (上記設定をLANポート #2 ~ #4に対しても行います。)
    
  3. マルチキャストルーターポートの情報を確認します。(LANポート #1 につながっている)
    L2SW#show igmp snooping mrouter vlan0.10
    VLAN     Interface
    10        ge1
    
  4. マルチキャスト受信者の情報を確認します。
    L2SW#show igmp snooping groups
    IGMP Connected Group Membership
    Group Address    Interface            Uptime   Expires  Last Reporter
    239.0.0.1        ge2                  00:00:13 00:00:41 192.168.100.2
    239.0.0.1        ge4                  00:00:02 00:00:48 192.168.100.4
    


5.2 IGMP Snooping の設定(マルチキャストルーターなし)

マルチキャストルーターがいない環境でIGMP Snooping機能を有効にして、マルチキャストグループに参加している
PC1、PC3にのみデータが配信されるようにします。


  1. [スイッチ#A] VLAN #10 を定義して、IGMP Snoopingの設定を行います。
    L2SW(config)# vlan database
    L2SW(config-vlan)#vlan 10                       ... (VLAN #10 の定義)
    L2SW(config-vlan)#exit
    L2SW(config)#interface vlan0.10
    L2SW(config-if)#igmp snooping                   ... (VLAN #10 のIGMP Snoopingを有効にする)
    L2SW(config-if)#igmp snooping querier           ... (VLAN #10 のIGMP クエリー送信機能を有効にする)
    L2SW(config-if)#igmp snooping query-interval 20 ... (VLAN #10 のIGMP クエリーの送信間隔を20秒にする)
    
  2. [スイッチ#A] LANポート #1 ~ #2 を アクセスポートに設定し、VLAN #10 に所属させます。
    L2SW(config)# interface ge1
    L2SW(config-if)# switchport mode access
    L2SW(config-if)# switchport access vlan 10
    (上記設定をLANポート #2に対しても行います。)
    
  3. [スイッチ#B] VLAN #10 を定義して、IGMP Snoopingの設定を行います。
    L2SW(config)# vlan database
    L2SW(config-vlan)#vlan 10                   ... (VLAN #10 の定義)
    L2SW(config-vlan)#exit
    L2SW(config)#interface vlan0.10
    L2SW(config-if)#igmp snooping               ... (VLAN #10 のIGMP Snoopingを有効にする)
    L2SW(config-if)#no igmp snooping querier    ... (VLAN #10 のIGMP クエリー送信機能をに無効する)
    L2SW(config-if)#no igmp snooping check ttl  ... (VLAN #10 のTTLチェック機能を無効にする)
    L2SW(config-if)#igmp snooping fast-leave    ... (VLAN #10 のIGMP Fast-leave機能を有効にする)
    
  4. [スイッチ#B] LANポート #1 ~ #4 を アクセスポートに設定し、VLAN #10 に所属させます。
    L2SW(config)# interface ge1
    L2SW(config-if)# switchport mode access
    L2SW(config-if)# switchport access vlan 10
    (上記設定をLANポート #2 ~ #4に対しても行います。)
    
  5. [スイッチ#B] マルチキャストルーターポートの情報を確認します。(LANポート #1 につながっている)
    L2SW#show igmp snooping mrouter vlan0.10
    VLAN     Interface
    10        ge1
    
  6. [スイッチ#B] マルチキャスト受信者の情報を確認します。
    L2SW#show igmp snooping groups
    IGMP Connected Group Membership
    Group Address    Interface            Uptime   Expires  Last Reporter
    239.0.0.1        ge2                  00:00:13 00:00:41 192.168.100.2
    239.0.0.1        ge4                  00:00:02 00:00:48 192.168.100.4
    



6 注意事項

以下の機能については、Rev.2.00.05 から使用することができます。
本バージョンより古いバージョンでは使用できませんので、注意ください。


7 関連文書


トップへ戻る