IGMP スヌーピングの情報
IGMP スヌーピング ソフトウェアは、VLAN 内の IGMP プロトコル メッセージを調べて、このトラフィックの受信に関連のあるホストまたはその他のデバイスに接続されているのはどのインターフェイスかを検出します。IGMP スヌーピングは、インターフェイス情報を使用して、マルチアクセス ローカル エリア ネットワーク(LAN)環境での帯域幅消費を減らすことができ、これによって VLAN 全体のフラッディングを防ぎます。IGMP スヌーピング機能は、どのポートがマルチキャスト対応ルータに接続されているかを追跡して、IGMP メンバーシップ レポートの転送管理を支援します。トポロジの変更通知には、IGMP スヌーピング ソフトウェアが応答します。
Note |
IGMP スヌーピングは、すべてのイーサネット インターフェイスでサポートされます。ただし、PVLAN ではサポートされていません。[スヌーピング(snooping)]という用語が使用されるのは、レイヤ 3 コントロール プレーン パケットが代行受信され、レイヤ 2 の転送判断に影響を与えるためです。 |
Cisco NX-OS は、IGMPv2 と IGMPv3 をサポートします。IGMPv2 は IGMPv1 をサポートし、IGMPv3 は IGMPv2 をサポートします。以前のバージョンの IGMP のすべての機能がサポートされるわけではありませんが、メンバーシップ クエリとメンバーシップ レポートに関連した機能はすべての IGMP バージョンについてサポートされます。
次の図に、ホストと IGMP ルータの間に置かれた IGMP スヌーピング スイッチを示します。IGMP スヌーピング スイッチは、IGMP メンバーシップ レポートと脱退メッセージをスヌーピングし、それらを必要な場合にだけ、接続されている IGMP ルータに転送します。
Cisco NX-OS IGMP スヌーピング ソフトウェアは、最適化されたマルチキャスト フラッディング(OMF)をサポートします。これは、不明トラフィックをルータだけに転送し、データ駆動の状態生成は一切実行しません。IGMP スヌーピングの詳細については、http://tools.ietf.org/wg/magma/draft-ietf-magma-snoop/rfc4541.txt を参照してください。
IGMPv1 および IGMPv2
IGMPv1 と IGMPv2 は両方とも、メンバーシップ レポート抑制をサポートします。つまり、同一サブネット上の 2 つのホストが同一グループのマルチキャスト データを受信する場合、他方のホストからメンバー レポートを受信するホストは、そのレポートを送信しません。メンバーシップ レポート抑制は、同じポートを共有しているホスト間で発生します。
各 VLAN スイッチ ポートに接続されているホストが 1 つしかない場合は、IGMPv2 の高速脱退機能を設定できます。高速脱退機能を使用すると、最終メンバーのクエリー メッセージがホストに送信されません。ソフトウェアは IGMP Leave メッセージを受信すると、ただちに該当するポートへのマルチキャスト データ転送を停止します。
IGMPv1 では、明示的な IGMP Leave メッセージが存在しないため、特定のグループについてマルチキャスト データを要求するホストが存続しないことを示すために、メンバーシップ メッセージ タイムアウトが利用されます。
Note |
Cisco NX-OS高速脱退機能がイネーブルになっている場合、他のホストの存在は確認されないため、最終メンバーのクエリ インターバル構成が無視されます。 |
IGMPv3
スイッチ上の IGMPv3 スヌーピングの実装は、アップストリーム マルチキャスト ルータが送信元に基づいたフィルタリングを行えるように、IGMPv3 レポートを転送します。
ソフトウェアのデフォルト設定では、各 VLAN ポートに接続されたホストが追跡されます。この明示的なトラッキング機能は、高速脱退メカニズムをサポートしています。
IGMPv3 メンバーシップ レポートには LAN セグメント上のグループ メンバの一覧が含まれていますが、最終ホストが脱退すると、メンバーシップ クエリーが送信されます。最終メンバーのクエリー インターバルについてパラメータを設定すると、タイムアウトまでにどのホストからも応答がなかった場合に、グループ ステートが解除されます。
IGMPスヌーピングクエリア
クエリーを発生させる VLAN 内にマルチキャスト ルータが存在しない場合、IGMP スヌーピング クエリアを設定して、メンバーシップ クエリーを送信させる必要があります。
IGMP スヌーピング クエリアがイネーブルな場合は、定期的に IGMP クエリーが送信されるため、IP マルチキャスト トラフィックを要求するホストから IGMP レポート メッセージが発信されます。IGMP スヌーピングはこれらの IGMP レポートを待ち受けて、適切な転送を確立します。
現在は、スイッチ クエリアと IGMP スヌーピング クエリアに対して同じ SVI IP アドレスを設定できます。そうすれば、両方のクエリアが同時にアクティブになって、一般的なクエリーを定期的に VLAN に送信するようになります。これを回避するには、IGMP スヌーピング クエリアとスイッチ クエリアで別々の IP アドレスを使用します。
IGMP フォワーディング
Cisco Nexus deviceのコントロール プレーンは、IP アドレスを検出できますが、転送は [MAC アドレス(MAC address)] だけを使用して発生します。
スイッチに接続されているホストは、IP マルチキャスト グループに参加する場合に、参加する IP マルチキャスト グループを指定して、要求されていない IGMP 参加メッセージを送信します。それとは別に、スイッチは、接続されているルータから一般クエリーを受信したら、そのクエリーを、物理インターフェイスか仮想インターフェイスかにかかわらず、VLAN 内のすべてのインターフェイスに転送します。マルチキャスト グループに参加するホストは、スイッチに参加メッセージを送信することにより応答します。スイッチの CPU が、そのグループ用のマルチキャスト転送テーブル エントリを作成します(まだ存在しなかった場合)。また、CPU は、参加メッセージを受信したインターフェイスを、転送テーブルのエントリに追加します。そのインターフェイスと対応付けられたホストが、そのマルチキャスト グループ用のマルチキャスト トラフィックを受信します。
ルータはマルチキャスト一般クエリーを定期的に送信し、スイッチはそれらのクエリーを VLAN のすべてのポートを通じて転送します。関心のあるホストがクエリーに応答します。VLAN 内の少なくとも 1 つのホストがマルチキャスト トラフィックを受信するようなら、ルータは、その VLAN へのマルチキャスト トラフィックの転送を続行します。スイッチは、そのマルチキャスト グループの転送テーブルにリストされているホストだけにマルチキャスト グループ トラフィックを転送します。
ホストがマルチキャスト グループから脱退するときには、ホストは、通知なしで脱退することもできれば、脱退メッセージを送信することもできます。スイッチは、ホストから脱退メッセージを受信したら、グループ固有のクエリーを送信して、そのインターフェイスに接続されているその他のデバイスの中に、そのマルチキャスト グループのトラフィックを受信するものがあるかどうかを調べます。スイッチはさらに、転送テーブルでその [MAC グループ(MAC group)] の情報を更新し、そのグループのマルチキャスト トラフィックの受信に関心のあるホストだけが、転送テーブルに指定されるようにします。ルータが VLAN からレポートを受信しなかった場合、その VLAN 用のグループは IGMP キャッシュから削除されます。