この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
目次
この章では、Cisco NX-OS デバイスにインターネット グループ管理プロトコル(IGMP)スヌーピングを設定する方法を説明します。
(注) |
デバイスの IGMP スヌーピングはディセーブルにしないことを推奨します。 IGMP スヌーピングをディセーブルにすると、デバイス内で不正なフラッディングが過度に発生し、マルチキャストのパフォーマンスが低下する場合があります。 |
IGMP スヌーピング ソフトウェアは、VLAN 内のレイヤ 2 IP マルチキャスト トラフィックを調べて、該当する受信側が入っているポートを検出します。 IGMP スヌーピングではポート情報を利用することにより、マルチアクセス LAN 環境における帯域幅消費量を削減し、VLAN 全体へのフラッディングを回避します。 IGMP スヌーピング機能は、マルチキャスト対応ルータに接続されたポートを追跡して、ルータによる IGMP メンバーシップ レポートの転送機能を強化します。 トポロジの変更通知には、IGMP スヌーピング ソフトウェアが応答します。 デバイスでは、IGMP スヌーピングがデフォルトでイネーブルになっています。
この図に、ホストと IGMP ルータ間に設置された IGMP スヌーピング スイッチを示します。 IGMP スヌーピング スイッチは、IGMP メンバーシップ レポートおよび Leave メッセージをスヌーピングして、必要な場合にだけ接続された IGMP ルータに転送します。
IGMP スヌーピング ソフトウェアは、IGMPv1、IGMPv2、および IGMPv3 コントロール プレーン パケットの処理に関与し、レイヤ 3 コントロール プレーン パケットを代行受信して、レイヤ 2 の転送処理を操作します。
Cisco NX-OS IGMP スヌーピング ソフトウェアには、次の独自機能があります。
IGMP スヌーピングの詳細については、RFC 4541 を参照してください。
IGMPv1 と IGMPv2 は両方とも、メンバーシップ レポート抑制をサポートします。つまり、同一サブネット上の 2 つのホストが同一グループのマルチキャスト データを受信する場合、他方のホストからメンバー レポートを受信するホストは、そのレポートを送信しません。 メンバーシップ レポート抑制は、同じポートを共有しているホスト間で発生します。
各 VLAN スイッチ ポートに接続されているホストが 1 つしかない場合は、IGMPv2 の高速脱退機能を設定できます。 高速脱退機能を使用すると、最終メンバのクエリー メッセージがホストに送信されません。 ソフトウェアは IGMP Leave メッセージを受信すると、ただちに該当するポートへのマルチキャスト データ転送を停止します。
IGMPv1 では、明示的な IGMP Leave メッセージが存在しないため、特定のグループについてマルチキャスト データを要求するホストが存続しないことを示すために、メンバーシップ メッセージ タイムアウトが利用されます。
(注) |
高速脱退機能がイネーブルになっている場合、他のホストの存在は確認されないため、最終メンバーのクエリー インターバル設定が無視されます。 |
Cisco NX-OS での IGMPv3 スヌーピングの実装では完全な IGMPv3 スヌーピングがサポートされています。これにより、IGMPv3 レポートの(S、G)情報に基づいて、抑制されたフラッディングが提供されます。 この送信元ベースのフィルタリングにより、デバイスは対象のマルチキャスト グループにトラフィックを送信する送信元に基づいて、マルチキャスト トラフィックの宛先ポートを制限できます。
ソフトウェアのデフォルト設定では、各 VLAN ポートに接続されたホストが追跡されます。 この明示的な追跡機能は、高速脱退メカニズムをサポートしています。 IGMPv3 ではすべてのホストがメンバーシップ レポートを送信するため、レポート抑制機能を利用すると、デバイスから他のマルチキャスト対応ルータに送信されるトラフィック量を制限できます。 レポート抑制をイネーブルにすると、過去にいずれの IGMPv1 ホストまたは IGMPv2 ホストからも対象のグループへの要求がなかった場合には、プロキシ レポートが作成されます。 プロキシ機能により、ダウンストリーム ホストが送信するメンバーシップ レポートからグループ ステートが構築され、アップストリーム クエリアからのクエリーに応答するためにメンバーシップ レポートが生成されます。
IGMPv3 メンバーシップ レポートには LAN セグメント上のグループ メンバの一覧が含まれていますが、最終ホストが脱退すると、メンバーシップ クエリーが送信されます。 最終メンバのクエリー インターバルについてパラメータを設定すると、 タイムアウトまでにどのホストからも応答がなかった場合に、グループ ステートが解除されます。
マルチキャスト トラフィックをルーティングする必要がないために、Protocol-Independent Multicast(PIM)がインターフェイス上でディセーブルになっている場合は、メンバーシップ クエリーを送信するように IGMP スヌーピング クエリアを設定する必要があります。 このクエリアは、マルチキャスト送信元と受信者を含み、その他のアクティブ クエリアを含まない VLAN で定義します。
VLAN の任意の IP ドレスを使用するようにクエリアを設定できます。
ベスト プラクティスとして、簡単にクエリアを参照するには、一意の IP アドレス(スイッチ インターフェイスまたは Hot Standby Router Protocol(HSRP)仮想 IP アドレスでまだ使用されていない)を設定する必要があります。
(注) |
クエリアの IP アドレスは、ブロードキャスト IP アドレス、マルチキャスト IP アドレス、または 0(0.0.0.0)にしないでください。 |
IGMP スヌーピング クエリアがイネーブルな場合は、定期的に IGMP クエリーが送信されるため、IP マルチキャスト トラフィックを要求するホストから IGMP レポート メッセージが発信されます。 IGMP スヌーピングはこれらの IGMP レポートを待ち受けて、適切な転送を確立します。
IGMP スヌーピング クエリアは、RFC 2236 に記述されているようにクエリア選択を実行します。 クエリア選択は、次の構成で発生します。
IGMP スヌーピングに対して、複数の仮想ルーティングおよび転送(VRF)インスタンスを定義できます。
show コマンドに VRF 引数を指定して実行すると、表示される情報のコンテキストを確認できます。 VRF 引数を指定しない場合は、デフォルト VRF が使用されます。
VRF の設定については、『Cisco Nexus 9000 Series NX-OS Unicast Routing Configuration Guide』を参照してください。
IGMP スヌーピングにはライセンスは不要です。 ライセンス パッケージに含まれていない機能は nx-os イメージにバンドルされており、無料で提供されます。 Cisco NX-OS ライセンス方式の詳細については、『Cisco NX-OS Licensing Guide』を参照してください。 |
IGMP スヌーピングの前提条件は、次のとおりです。
レイヤ 3 IPv6 マルチキャスト ルーティングはサポートされていません。
レイヤ 2 IPv6 マルチキャスト パケットは、着信 VLAN でフラッディングされます。
レイヤ 2 ネットワークでマルチキャスト転送を必要とする IPv6 マルチキャスト ネットワークに対して IGMP Optimized Multicast Flooding(OMF)をディセーブルにする必要があります。
IPv6 パケットの転送が必要な VLAN の IGMP 最適化マルチキャスト転送をディセーブルにする必要があります。
仮想ポート チャネル(vPC)ピアを設定している場合、2 台のデバイス間の IGMP スヌーピング設定オプションに相違があると、次のような結果になります。
一方のデバイスで IGMP スヌーピングをイネーブルにして、他方でディセーブルにすると、スヌーピングがディセーブルであるデバイスではすべてのマルチキャスト トラフィックがフラッディングします。
高速脱退、明示的な追跡、およびレポート抑制のオプションをトラフィックの転送に使用する場合、これらのオプションに相違が生じる可能性があります。
デバイス間でクエリー パラメータが異なると、一方のデバイスではマルチキャスト ステートが期限切れとなり、もう一方のデバイスでは転送が継続されます。 この相違によって、トラフィック損失または転送の長時間化が発生します。
IGMP スヌーピング クエリアを両方のデバイスで設定している場合、クエリーがトラフィックで確認されると、IGMP スヌーピング クエリアはシャットダウンするので、一方のクエリアだけがアクティブになります。
ip igmp snooping proxy general-queries コマンドを使用する場合は、ip igmp snooping group-timeout コマンドをイネーブルにする必要があります。 これを「never」に設定することをお勧めします。 そのようにしない場合、マルチキャスト パケットが損失する場合があります。
(注) |
Cisco IOS の CLI に慣れている場合、この機能の Cisco NX-OS コマンドは従来の Cisco IOS コマンドと異なる点があるため注意が必要です。 |
(注) |
他のコマンドを有効にする前に、IGMP スヌーピングをグローバルにイネーブルにする必要があります。 |
IGMP スヌーピング プロセスの動作をグローバルに変更するには、次の表に示すオプションの IGMP スヌーピング パラメータを設定します。
IGMP スヌーピング パラメータの注記
次に、IGMP スヌーピング パラメータの一部についての補足的な注記を示します。
IGMP スヌーピング プロキシ パラメータ
IGMP 一般クエリー(GQ)の各インターバルでスヌーピング スイッチにかかる負担を減らすために、Cisco NX-OS ソフトウェアには、マルチキャスト ルータに設定されたクエリー インターバルから、IGMP スヌーピング スイッチの定期的な一般クエリー動作を分離する方法が用意されています。
IGMP 一般クエリーをすべてのスイッチ ポートにフラッディングする代わりに、一般クエリーをマルチキャスト ルータから消費するようにデバイスを設定できます。 デバイスが一般クエリーを受信すると、現在アクティブなすべてのグループに対してプロキシ レポートを生成し、ルータのクエリーで指定される MRT で指定された期間でプロキシ レポートを配布します。 同時に、マルチキャスト ルータの一般クエリーのアクティビティに関係なく、デバイスは、ラウンドロビン方式で VLAN の各ポート上に IGMP 一般クエリーを送信します。 これは、次の式によって求められるレートで VLAN のすべてのインターフェイスを順に処理します。
レート = {VLAN 内のインターフェイスの数} * {設定された MRT} * {VLAN の数}
このモードでクエリーを実行する場合、デフォルト MRT 値は 5,000 ミリ秒(5 秒)です。 VLAN にスイッチポートが 500 個あるデバイスの場合、システムですべてのインターフェイスを一巡するには 2,500 秒(40 分)かかります。 これは、デバイス自体がクエリアの場合でも同様です。
この動作は、随時 1 台のホストだけが一般クエリーに応答し、デバイスのパケット/秒 IGMP 機能を下回るレートによる同時レポート レートを保持することを確実にします(約 3,000 ~ 4,000 pps)。
(注) |
このオプションを使用する場合は、ip igmp snooping group-timeout パラメータの値を大きくするか、タイムアウトにしないようにします。 |
ip igmp snooping proxy general-queries [mrt] コマンドを使用すると、スヌーピング機能はマルチキャスト ルータからの一般クエリーにプロキシ応答するようになる一方で、指定された MRT 値を持つ各スイッチポートに対するラウンドロビン一般クエリーの送信も行われます。 (デフォルトの MRT 値は 5 秒です。)
IGMP スヌーピング グループ タイムアウト パラメータ
グループ タイムアウト パラメータを設定すると 3 回連続で一般クエリーの処理できない事象に基づくメンバーシップの期限切れ動作がディセーブルになります。 グループ メンバーシップは、デバイスがそのポートで明示的に IGMP 脱退を受信するまで、特定のスイッチポートに残ります。
ip igmp snooping group-timeout {timeout | never} コマンドは 3 回連続で一般クエリーを受信しなかったときの IGMP スヌーピング グループ メンバーシップの期限切れ動作を変更するかディセーブルにします。
コマンドまたはアクション | 目的 | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
|||||||||||||||||||||
ステップ 2 |
|
次のコマンドを使用して、IGMP スヌーピングを設定できます。 |
||||||||||||||||||||
ステップ 3 |
copy running-config startup-config 例: switch(config)# copy running-config startup-config |
IGMP スヌーピング プロセスの動作を VLAN ごとに変更するには、この表に示すオプションの IGMP スヌーピング パラメータを設定します。
VLAN ごとに IGMP スヌーピングをイネーブルにします。 デフォルトではイネーブルになっています。
|
|||
アクセス グループ |
スヌーピング レイヤで IGMP パケットをフィルタ処理します。 デフォルトではディセーブルになっています。 |
||
各ポートに接続されたそれぞれのホストから送信される IGMPv3 メンバーシップ レポートを、VLAN 別に追跡します。 デフォルトではイネーブルになっています。 |
|||
ソフトウェアが IGMP Leave レポートを受信した場合に、IGMP クエリー メッセージを送信することなく、グループ ステートを解除できるようにします。 このパラメータは、IGMPv2 ホストに関して、各 VLAN ポート上のホストが 1 つしか存在しない場合に使用されます。 デフォルトではディセーブルになっています。 |
|||
IGMP クエリーの送信後に待機する時間を設定します。この時間が経過すると、ソフトウェアは、特定のマルチキャスト グループについてネットワーク セグメント上に受信要求を行うホストが存在しないと見なします。 いずれのホストからも応答がないまま、最終メンバのクエリー インターバルの期限が切れると、対応する VLAN ポートからグループが削除されます。 有効範囲は 1 ~ 25 秒です。 デフォルト値は 1 秒です。 |
|||
指定した VLAN で Optimized Multicast Flood(OMF)を設定します。 デフォルトではイネーブルになっています。 |
|||
レポート ポリシー |
スヌーピング レイヤで IGMP パケットをフィルタ処理します。 デフォルトではディセーブルになっています。 |
||
マルチキャスト トラフィックをルーティングする必要がないため、PIM をイネーブルにしていない場合に、インターフェイスにスヌーピング クエリアを設定します。 スヌーピング クエリアに次の値を設定することもできます。 |
|||
各 VLAN に対して、マルチキャスト対応ルータに送信されるメンバーシップ レポート トラフィックを制限します。 レポート抑制をディセーブルにすると、すべての IGMP レポートがそのままマルチキャスト対応ルータに送信されます。 デフォルトではイネーブルになっています。 |
|||
マルチキャスト ルータへのスタティック接続を設定します。 ルータと接続するインターフェイスが、選択した VLAN に含まれている必要があります。 |
|||
各 VLAN に対して、IGMPv3 レポート抑制およびプロキシ レポートを設定します。 デフォルトでは VLAN ごとに有効になっています。 |
|||
(注) |
このコンフィギュレーション モードを使用して目的の IGMP スヌーピング パラメータを設定します。ただし、この設定は指定した VLAN を明確に作成した後にのみ適用されます。 VLAN の作成については、『Cisco Nexus 9000 Series NX-OS Layer 2 Switching Configuration Guide』を参照してください。 |
コマンドまたはアクション | 目的 | |||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
|||||||||||||||||||||||||||||||||||||||||||||||
ステップ 2 | ip igmp snooping 例: switch(config)# ip igmp snooping |
IGMP スヌーピングをイネーブルにします。 デフォルトではイネーブルになっています。
|
||||||||||||||||||||||||||||||||||||||||||||||
ステップ 3 | vlan configuration vlan-id 例: switch(config)# vlan configuration 2 switch(config-vlan-config)# |
VLAN に対して目的の IGMP スヌーピング パラメータを設定します。 これらの設定は、指定した VLAN を作成するまで適用されません。 |
||||||||||||||||||||||||||||||||||||||||||||||
ステップ 4 |
|
これらのコマンドでは IGMP スヌーピング パラメータを設定します。 |
||||||||||||||||||||||||||||||||||||||||||||||
ステップ 5 |
copy running-config startup-config 例: switch(config)# copy running-config startup-config |
コマンド | 説明 |
---|---|
show ip igmp snooping groups [ source [ group ] | group [ source ]] [ vlan vlan-id] [ detail] |
|
次のコマンドを使用して、IGMP スヌーピング統計情報を表示できます。
コマンド |
|
---|---|
show ip igmp snooping {report-policy | access-group} statistics [vlan vlan] |
次のコマンドを使用して、IGMP スヌーピング統計情報をクリアできます。
コマンド |
|
---|---|
clear ip igmp snooping {report-policy | access-group} statistics [vlan vlan] |
(注) |
この項での設定は、指定された VLAN を作成した後にのみ適用されます。 VLAN の作成については、『Cisco Nexus 9000 Series NX-OS Layer 2 Switching Configuration Guide』を参照してください。 |
次に、IGMP スヌーピング パラメータの設定例を示します。
config t ip igmp snooping vlan configuration 2 ip igmp snooping ip igmp snooping explicit-tracking ip igmp snooping fast-leave ip igmp snooping last-member-query-interval 3 ip igmp snooping querier 172.20.52.106 ip igmp snooping report-suppression ip igmp snooping mrouter interface ethernet 2/1 ip igmp snooping static-group 230.0.0.1 interface ethernet 2/1 ip igmp snooping link-local-groups-suppression ip igmp snooping v3-report-suppression
次に、プレフィックス リストを設定し、これらを使用して IGMP スヌーピング レポートをフィルタ処理する例を示します。
ip prefix-list plist seq 5 permit 224.1.1.1/32 ip prefix-list plist seq 10 permit 224.1.1.2/32 ip prefix-list plist seq 15 deny 224.1.1.3/32 ip prefix-list plist seq 20 deny 225.0.0.0/8 eq 32 vlan configuration 2 ip igmp snooping report-policy prefix-list plist interface Ethernet 2/2 ip igmp snooping report-policy prefix-list plist interface Ethernet 2/3
上記の例では、プレフィックス リストは 224.1.1.1 と 224.1.1.2 を許可していますが、224.1.1.3 と 225.0.0.0/8 範囲でのすべてのグループを拒否しています。 プレフィックス リストは、一致がない場合は暗黙的な「拒否」になります。 その他すべてを許可する場合、ip prefix-list plist seq 30 permit 224.0.0.0/4 eq 32 を追加します。
次に、ルート マップを設定し、これらを使用して IGMP スヌーピング レポートをフィルタ処理する例を示します。
route-map rmap permit 10 match ip multicast group 224.1.1.1/32 route-map rmap permit 20 match ip multicast group 224.1.1.2/32 route-map rmap deny 30 match ip multicast group 224.1.1.3/32 route-map rmap deny 40 match ip multicast group 225.0.0.0/8 vlan configuration 2 ip igmp snooping report-policy route-map rmap interface Ethernet 2/4 ip igmp snooping report-policy route-map rmap interface Ethernet 2/5
上記の例では、ルート マップは 224.1.1.1 と 224.1.1.2 を許可していますが、224.1.1.3 と 225.0.0.0/8 範囲でのすべてのグループを拒否しています。 ルート マップは、一致がない場合は暗黙的な「拒否」になります。 その他すべてを許可する場合、route-map rmap permit 50 match ip multicast group 224.0.0.0/4 を追加します。
目次
- IGMP スヌーピングの設定
- IGMP スヌーピングについて
- IGMPv1 および IGMPv2
- IGMPv3
- IGMP スヌーピング クエリア
- 仮想化のサポート
- IGMP スヌーピングのライセンス要件
- IGMP スヌーピングの前提条件
- IGMP スヌーピングに関する注意事項と制限事項
- デフォルト設定
- IGMP スヌーピング パラメータの設定
- グローバル IGMP スヌーピング パラメータの設定
- VLAN ごとの IGMP スヌーピング パラメータの設定
- IGMP スヌーピング設定の検証
- IGMP スヌーピング統計情報の表示
- IGMP スヌーピング統計情報のクリア
- IGMP スヌーピングの設定例
- IGMP スヌーピングについて
- IGMP スヌーピングのライセンス要件
- IGMP スヌーピングの前提条件
- IGMP スヌーピングに関する注意事項と制限事項
- デフォルト設定
- IGMP スヌーピング パラメータの設定
- IGMP スヌーピング設定の検証
- IGMP スヌーピング統計情報の表示
- IGMP スヌーピング統計情報のクリア
- IGMP スヌーピングの設定例
IGMP スヌーピングについて
(注)
デバイスの IGMP スヌーピングはディセーブルにしないことを推奨します。 IGMP スヌーピングをディセーブルにすると、デバイス内で不正なフラッディングが過度に発生し、マルチキャストのパフォーマンスが低下する場合があります。
IGMP スヌーピング ソフトウェアは、VLAN 内のレイヤ 2 IP マルチキャスト トラフィックを調べて、該当する受信側が入っているポートを検出します。 IGMP スヌーピングではポート情報を利用することにより、マルチアクセス LAN 環境における帯域幅消費量を削減し、VLAN 全体へのフラッディングを回避します。 IGMP スヌーピング機能は、マルチキャスト対応ルータに接続されたポートを追跡して、ルータによる IGMP メンバーシップ レポートの転送機能を強化します。 トポロジの変更通知には、IGMP スヌーピング ソフトウェアが応答します。 デバイスでは、IGMP スヌーピングがデフォルトでイネーブルになっています。
この図に、ホストと IGMP ルータ間に設置された IGMP スヌーピング スイッチを示します。 IGMP スヌーピング スイッチは、IGMP メンバーシップ レポートおよび Leave メッセージをスヌーピングして、必要な場合にだけ接続された IGMP ルータに転送します。
IGMP スヌーピング ソフトウェアは、IGMPv1、IGMPv2、および IGMPv3 コントロール プレーン パケットの処理に関与し、レイヤ 3 コントロール プレーン パケットを代行受信して、レイヤ 2 の転送処理を操作します。
Cisco NX-OS IGMP スヌーピング ソフトウェアには、次の独自機能があります。
IGMP スヌーピングの詳細については、RFC 4541 を参照してください。
IGMPv1 および IGMPv2
IGMPv1 と IGMPv2 は両方とも、メンバーシップ レポート抑制をサポートします。つまり、同一サブネット上の 2 つのホストが同一グループのマルチキャスト データを受信する場合、他方のホストからメンバー レポートを受信するホストは、そのレポートを送信しません。 メンバーシップ レポート抑制は、同じポートを共有しているホスト間で発生します。
各 VLAN スイッチ ポートに接続されているホストが 1 つしかない場合は、IGMPv2 の高速脱退機能を設定できます。 高速脱退機能を使用すると、最終メンバのクエリー メッセージがホストに送信されません。 ソフトウェアは IGMP Leave メッセージを受信すると、ただちに該当するポートへのマルチキャスト データ転送を停止します。
IGMPv1 では、明示的な IGMP Leave メッセージが存在しないため、特定のグループについてマルチキャスト データを要求するホストが存続しないことを示すために、メンバーシップ メッセージ タイムアウトが利用されます。
(注)
高速脱退機能がイネーブルになっている場合、他のホストの存在は確認されないため、最終メンバーのクエリー インターバル設定が無視されます。
IGMPv3
Cisco NX-OS での IGMPv3 スヌーピングの実装では完全な IGMPv3 スヌーピングがサポートされています。これにより、IGMPv3 レポートの(S、G)情報に基づいて、抑制されたフラッディングが提供されます。 この送信元ベースのフィルタリングにより、デバイスは対象のマルチキャスト グループにトラフィックを送信する送信元に基づいて、マルチキャスト トラフィックの宛先ポートを制限できます。
ソフトウェアのデフォルト設定では、各 VLAN ポートに接続されたホストが追跡されます。 この明示的な追跡機能は、高速脱退メカニズムをサポートしています。 IGMPv3 ではすべてのホストがメンバーシップ レポートを送信するため、レポート抑制機能を利用すると、デバイスから他のマルチキャスト対応ルータに送信されるトラフィック量を制限できます。 レポート抑制をイネーブルにすると、過去にいずれの IGMPv1 ホストまたは IGMPv2 ホストからも対象のグループへの要求がなかった場合には、プロキシ レポートが作成されます。 プロキシ機能により、ダウンストリーム ホストが送信するメンバーシップ レポートからグループ ステートが構築され、アップストリーム クエリアからのクエリーに応答するためにメンバーシップ レポートが生成されます。
IGMPv3 メンバーシップ レポートには LAN セグメント上のグループ メンバの一覧が含まれていますが、最終ホストが脱退すると、メンバーシップ クエリーが送信されます。 最終メンバのクエリー インターバルについてパラメータを設定すると、 タイムアウトまでにどのホストからも応答がなかった場合に、グループ ステートが解除されます。
IGMP スヌーピング クエリア
マルチキャスト トラフィックをルーティングする必要がないために、Protocol-Independent Multicast(PIM)がインターフェイス上でディセーブルになっている場合は、メンバーシップ クエリーを送信するように IGMP スヌーピング クエリアを設定する必要があります。 このクエリアは、マルチキャスト送信元と受信者を含み、その他のアクティブ クエリアを含まない VLAN で定義します。
VLAN の任意の IP ドレスを使用するようにクエリアを設定できます。
ベスト プラクティスとして、簡単にクエリアを参照するには、一意の IP アドレス(スイッチ インターフェイスまたは Hot Standby Router Protocol(HSRP)仮想 IP アドレスでまだ使用されていない)を設定する必要があります。
(注)
クエリアの IP アドレスは、ブロードキャスト IP アドレス、マルチキャスト IP アドレス、または 0(0.0.0.0)にしないでください。
IGMP スヌーピング クエリアがイネーブルな場合は、定期的に IGMP クエリーが送信されるため、IP マルチキャスト トラフィックを要求するホストから IGMP レポート メッセージが発信されます。 IGMP スヌーピングはこれらの IGMP レポートを待ち受けて、適切な転送を確立します。
IGMP スヌーピング クエリアは、RFC 2236 に記述されているようにクエリア選択を実行します。 クエリア選択は、次の構成で発生します。
IGMP スヌーピングに関する注意事項と制限事項
レイヤ 3 IPv6 マルチキャスト ルーティングはサポートされていません。
レイヤ 2 IPv6 マルチキャスト パケットは、着信 VLAN でフラッディングされます。
レイヤ 2 ネットワークでマルチキャスト転送を必要とする IPv6 マルチキャスト ネットワークに対して IGMP Optimized Multicast Flooding(OMF)をディセーブルにする必要があります。
IPv6 パケットの転送が必要な VLAN の IGMP 最適化マルチキャスト転送をディセーブルにする必要があります。
仮想ポート チャネル(vPC)ピアを設定している場合、2 台のデバイス間の IGMP スヌーピング設定オプションに相違があると、次のような結果になります。
一方のデバイスで IGMP スヌーピングをイネーブルにして、他方でディセーブルにすると、スヌーピングがディセーブルであるデバイスではすべてのマルチキャスト トラフィックがフラッディングします。
高速脱退、明示的な追跡、およびレポート抑制のオプションをトラフィックの転送に使用する場合、これらのオプションに相違が生じる可能性があります。
デバイス間でクエリー パラメータが異なると、一方のデバイスではマルチキャスト ステートが期限切れとなり、もう一方のデバイスでは転送が継続されます。 この相違によって、トラフィック損失または転送の長時間化が発生します。
IGMP スヌーピング クエリアを両方のデバイスで設定している場合、クエリーがトラフィックで確認されると、IGMP スヌーピング クエリアはシャットダウンするので、一方のクエリアだけがアクティブになります。
ip igmp snooping proxy general-queries コマンドを使用する場合は、ip igmp snooping group-timeout コマンドをイネーブルにする必要があります。 これを「never」に設定することをお勧めします。 そのようにしない場合、マルチキャスト パケットが損失する場合があります。
IGMP スヌーピング パラメータの設定
(注)
Cisco IOS の CLI に慣れている場合、この機能の Cisco NX-OS コマンドは従来の Cisco IOS コマンドと異なる点があるため注意が必要です。
(注)
他のコマンドを有効にする前に、IGMP スヌーピングをグローバルにイネーブルにする必要があります。
グローバル IGMP スヌーピング パラメータの設定
手順IGMP スヌーピング プロセスの動作をグローバルに変更するには、次の表に示すオプションの IGMP スヌーピング パラメータを設定します。
IGMP スヌーピングをイネーブルにします。 デフォルトではイネーブルになっています。
(注) グローバルな設定がディセーブルになっている場合は、すべての VLAN が、イネーブルかどうかに関係なくディセーブルと見なされます。
デバイス上のすべての VLAN で Optimized Multicast Flood(OMF)を設定します。 デフォルトではイネーブルになっています。
デバイスのマルチキャスト対応ルータに送信されるメンバーシップ レポート トラフィックを制限します。 レポート抑制をディセーブルにすると、すべての IGMP レポートがそのままマルチキャスト対応ルータに送信されます。 デフォルトではイネーブルになっています。
デバイスの IGMPv3 レポート抑制およびプロキシ レポートを設定します。 デフォルトではディセーブルになっています。
IGMP スヌーピング パラメータの注記
次に、IGMP スヌーピング パラメータの一部についての補足的な注記を示します。
IGMP スヌーピング プロキシ パラメータ
IGMP 一般クエリー(GQ)の各インターバルでスヌーピング スイッチにかかる負担を減らすために、Cisco NX-OS ソフトウェアには、マルチキャスト ルータに設定されたクエリー インターバルから、IGMP スヌーピング スイッチの定期的な一般クエリー動作を分離する方法が用意されています。
IGMP 一般クエリーをすべてのスイッチ ポートにフラッディングする代わりに、一般クエリーをマルチキャスト ルータから消費するようにデバイスを設定できます。 デバイスが一般クエリーを受信すると、現在アクティブなすべてのグループに対してプロキシ レポートを生成し、ルータのクエリーで指定される MRT で指定された期間でプロキシ レポートを配布します。 同時に、マルチキャスト ルータの一般クエリーのアクティビティに関係なく、デバイスは、ラウンドロビン方式で VLAN の各ポート上に IGMP 一般クエリーを送信します。 これは、次の式によって求められるレートで VLAN のすべてのインターフェイスを順に処理します。
レート = {VLAN 内のインターフェイスの数} * {設定された MRT} * {VLAN の数}
このモードでクエリーを実行する場合、デフォルト MRT 値は 5,000 ミリ秒(5 秒)です。 VLAN にスイッチポートが 500 個あるデバイスの場合、システムですべてのインターフェイスを一巡するには 2,500 秒(40 分)かかります。 これは、デバイス自体がクエリアの場合でも同様です。
この動作は、随時 1 台のホストだけが一般クエリーに応答し、デバイスのパケット/秒 IGMP 機能を下回るレートによる同時レポート レートを保持することを確実にします(約 3,000 ~ 4,000 pps)。
(注)
このオプションを使用する場合は、ip igmp snooping group-timeout パラメータの値を大きくするか、タイムアウトにしないようにします。
ip igmp snooping proxy general-queries [mrt] コマンドを使用すると、スヌーピング機能はマルチキャスト ルータからの一般クエリーにプロキシ応答するようになる一方で、指定された MRT 値を持つ各スイッチポートに対するラウンドロビン一般クエリーの送信も行われます。 (デフォルトの MRT 値は 5 秒です。)
IGMP スヌーピング グループ タイムアウト パラメータ
グループ タイムアウト パラメータを設定すると 3 回連続で一般クエリーの処理できない事象に基づくメンバーシップの期限切れ動作がディセーブルになります。 グループ メンバーシップは、デバイスがそのポートで明示的に IGMP 脱退を受信するまで、特定のスイッチポートに残ります。
ip igmp snooping group-timeout {timeout | never} コマンドは 3 回連続で一般クエリーを受信しなかったときの IGMP スヌーピング グループ メンバーシップの期限切れ動作を変更するかディセーブルにします。
コマンドまたはアクション 目的 ステップ 1 configure terminal
例:switch# configure terminal switch(config)#ステップ 2
オプション 説明 ip igmp snooping switch(config)# ip igmp snoopingデバイスの IGMP スヌーピングをイネーブルにします。 デフォルトではイネーブルになっています。
(注) このコマンドの no 形式により、グローバル設定がディセーブルになっている場合は、個々の VLAN で IGMP スヌーピングがイネーブルであるかどうかに関係なく、すべての VLAN で IGMP スヌーピングがディセーブルになります。 IGMP スヌーピングをディセーブルにすると、レイヤ 2 マルチキャスト フレームがすべてのモジュールにフラッディングします。
ip igmp snooping event-history switch(config)# ip igmp snooping event-historyイベント履歴バッファのサイズを設定します。 デフォルトは small です。
ip igmp snooping group-timeout {minutes | never} switch(config)# ip igmp snooping group-timeout neverデバイス上のすべての VLAN のグループ メンバーシップ タイムアウト値を設定します。
ip igmp snooping link-local-groups-suppression switch(config)# ip igmp snooping link-local-groups-suppressionデバイス全体のリンクローカル グループ抑制を設定します。 デフォルトではイネーブルになっています。
ip igmp snooping optimise-multicast-flood switch(config)# ip igmp snooping optimise-multicast-floodデバイス上のすべての VLAN で OMF を最適化します。 デフォルトではイネーブルになっています。
ip igmp snooping proxy general-inquiries [mrt seconds] switch(config)# ip igmp snooping proxy general-inquiriesデバイスの IGMP スヌーピング プロキシを設定します。 デフォルトは 5 秒です。
ip igmp snooping v3-report-suppression switch(config)# ip igmp snooping v3-report-suppressionマルチキャスト対応ルータに送信されるメンバシップ レポート トラフィックを制限します。 レポート抑制をディセーブルにすると、すべての IGMP レポートがそのままマルチキャスト対応ルータに送信されます。 デフォルトではイネーブルになっています。
ip igmp snooping report-suppression switch(config)# ip igmp snooping report-suppressionIGMPv3 レポート抑制およびプロキシ レポートを設定します。 デフォルトではディセーブルになっています。
次のコマンドを使用して、IGMP スヌーピングを設定できます。
ステップ 3 copy running-config startup-config
例:switch(config)# copy running-config startup-configVLAN ごとの IGMP スヌーピング パラメータの設定
手順IGMP スヌーピング プロセスの動作を VLAN ごとに変更するには、この表に示すオプションの IGMP スヌーピング パラメータを設定します。
VLAN ごとに IGMP スヌーピングをイネーブルにします。 デフォルトではイネーブルになっています。
(注) グローバルな設定がディセーブルになっている場合は、すべての VLAN が、イネーブルかどうかに関係なくディセーブルと見なされます。
アクセス グループ
スヌーピング レイヤで IGMP パケットをフィルタ処理します。 デフォルトではディセーブルになっています。
各ポートに接続されたそれぞれのホストから送信される IGMPv3 メンバーシップ レポートを、VLAN 別に追跡します。 デフォルトではイネーブルになっています。
ソフトウェアが IGMP Leave レポートを受信した場合に、IGMP クエリー メッセージを送信することなく、グループ ステートを解除できるようにします。 このパラメータは、IGMPv2 ホストに関して、各 VLAN ポート上のホストが 1 つしか存在しない場合に使用されます。 デフォルトではディセーブルになっています。
IGMP クエリーの送信後に待機する時間を設定します。この時間が経過すると、ソフトウェアは、特定のマルチキャスト グループについてネットワーク セグメント上に受信要求を行うホストが存在しないと見なします。 いずれのホストからも応答がないまま、最終メンバのクエリー インターバルの期限が切れると、対応する VLAN ポートからグループが削除されます。 有効範囲は 1 ~ 25 秒です。 デフォルト値は 1 秒です。
指定した VLAN で Optimized Multicast Flood(OMF)を設定します。 デフォルトではイネーブルになっています。
レポート ポリシー
スヌーピング レイヤで IGMP パケットをフィルタ処理します。 デフォルトではディセーブルになっています。
マルチキャスト トラフィックをルーティングする必要がないため、PIM をイネーブルにしていない場合に、インターフェイスにスヌーピング クエリアを設定します。 スヌーピング クエリアに次の値を設定することもできます。
各 VLAN に対して、マルチキャスト対応ルータに送信されるメンバーシップ レポート トラフィックを制限します。 レポート抑制をディセーブルにすると、すべての IGMP レポートがそのままマルチキャスト対応ルータに送信されます。 デフォルトではイネーブルになっています。
マルチキャスト ルータへのスタティック接続を設定します。 ルータと接続するインターフェイスが、選択した VLAN に含まれている必要があります。
各 VLAN に対して、IGMPv3 レポート抑制およびプロキシ レポートを設定します。 デフォルトでは VLAN ごとに有効になっています。
(注)
このコンフィギュレーション モードを使用して目的の IGMP スヌーピング パラメータを設定します。ただし、この設定は指定した VLAN を明確に作成した後にのみ適用されます。 VLAN の作成については、『Cisco Nexus 9000 Series NX-OS Layer 2 Switching Configuration Guide』を参照してください。
コマンドまたはアクション 目的 ステップ 1 configure terminal
例:switch# configure terminal switch(config)#ステップ 2 ip igmp snooping
例:switch(config)# ip igmp snoopingIGMP スヌーピングをイネーブルにします。 デフォルトではイネーブルになっています。
(注) このコマンドの no 形式により、グローバル設定がディセーブルになっている場合は、個々の VLAN で IGMP スヌーピングがイネーブルであるかどうかに関係なく、すべての VLAN で IGMP スヌーピングがディセーブルになります。 IGMP スヌーピングをディセーブルにすると、レイヤ 2 マルチキャスト フレームがすべてのモジュールにフラッディングします。
ステップ 3 vlan configuration vlan-id
例:switch(config)# vlan configuration 2 switch(config-vlan-config)#VLAN に対して目的の IGMP スヌーピング パラメータを設定します。 これらの設定は、指定した VLAN を作成するまで適用されません。
ステップ 4
オプション 説明 ip igmp snooping switch(config-vlan-config)# ip igmp snoopingip igmp snooping access-group {prefix-list | route-map} policy-name interface interface slot/port switch(config-vlan-config)# ip igmp snooping access-group prefix-list plist interface ethernet 2/2プレフィックス リストまたはルート マップ ポリシーをベースとする IGMP スヌーピング レポートにフィルタを設定します。
ip igmp snooping explicit-tracking switch(config-vlan-config)# ip igmp snooping explicit-tracking各ポートに接続されたそれぞれのホストから送信される IGMPv3 メンバーシップ レポートを、VLAN 別に追跡します。 デフォルトは、すべての VLAN でイネーブルです。
ip igmp snooping fast-leave switch(config-vlan-config)# ip igmp snooping fast-leaveIGMPv2 プロトコルのホスト レポート抑制メカニズムのために、明示的に追跡できない IGMPv2 ホストをサポートします。 高速脱退がイネーブルの場合、IGMP ソフトウェアは、各 VLAN ポートに接続されたホストが 1 つだけであると見なします。 デフォルトは、すべての VLAN でディセーブルです。
ip igmp snooping group-timeout {minutes | never} switch(config-vlan-config)# ip igmp snooping group-timeout never指定した VLAN のグループ メンバーシップ タイムアウトを設定します。
ip igmp snooping last-member-query-interval seconds switch(config-vlan-config)# ip igmp snooping last-member-query-interval 3いずれのホストからも IGMP クエリー メッセージへの応答がないまま、最終メンバのクエリー インターバルの期限が切れた場合に、対応する VLAN ポートからグループを削除します。 有効範囲は 1 ~ 25 秒です。 デフォルト値は 1 秒です。
ip igmp snooping optimise-multicast-flood switch(config-vlan-config)# ip igmp snooping optimise-multicast-flood選択された VLAN の OMF を最適化します。 デフォルトではイネーブルになっています。
ip igmp snooping proxy general-queries [mrt seconds] switch(config-vlan-config)# ip igmp snooping proxy general-queries指定した VLAN の IGMP スヌーピング プロキシを設定します。 デフォルトは 5 秒です。
ip igmp snooping querier ip-address switch(config-vlan-config)# ip igmp snooping querier 172.20.52.106マルチキャスト トラフィックをルーティングする必要がないため、PIM をイネーブルにしていない場合に、スヌーピング クエリアを設定します。 IP アドレスは、メッセージの送信元として使用します。
ip igmp snooping querier-timeout seconds switch(config-vlan-config)# ip igmp snooping querier-timeout 300マルチキャスト トラフィックをルーティングする必要がないため、PIM をイネーブルにしていない場合に、IGMPv2 のスヌーピング クエリア タイムアウト値を設定します。 デフォルト値は 255 秒です。
ip igmp snooping query-interval seconds switch(config-vlan-config)# ip igmp snooping query-interval 120マルチキャスト トラフィックをルーティングする必要がないため、PIM をイネーブルにしていない場合に、スヌーピング クエリー インターバルを設定します。 デフォルト値は 125 秒です。
ip igmp snooping query-max-response-time seconds switch(config-vlan-config)# ip igmp snooping query-max-response-time 12マルチキャスト トラフィックをルーティングする必要がないため、PIM をイネーブルにしていない場合に、クエリー メッセージのスヌーピング MRT を設定します。 デフォルト値は 10 秒です。
ip igmp snooping report-policy {prefix-list | route-map} policy-name interface interface slot/port switch(config-vlan-config)# ip igmp snooping report-policy route-map rmap interface ethernet 2/4プレフィックス リストまたはルート マップ ポリシーをベースとする IGMP スヌーピング レポートにフィルタを設定します。
ip igmp snooping startup-query-count value switch(config-vlan-config)# ip igmp snooping startup-query-count 5マルチキャスト トラフィックをルーティングする必要がないため、PIM をイネーブルにしていない場合に、起動時に送信されるクエリー数に対してスヌーピングを設定します。
ip igmp snooping startup-query-interval seconds switch(config-vlan-config)# ip igmp snooping startup-query-interval 15000マルチキャスト トラフィックをルーティングする必要がないため、PIM をイネーブルにしていない場合に、起動時のスヌーピング クエリー インターバルを設定します。
ip igmp snooping robustness-variable value switch(config-vlan-config)# ip igmp snooping robustness-variable 5指定した VLAN のロバストネス値を設定します。 デフォルト値は 2 です。
ip igmp snooping report-suppression switch(config-vlan-config)# ip igmp snooping report-suppressionマルチキャスト対応ルータに送信されるメンバシップ レポート トラフィックを制限します。 レポート抑制をディセーブルにすると、すべての IGMP レポートがそのままマルチキャスト対応ルータに送信されます。 デフォルトではイネーブルになっています。
ip igmp snooping mrouter interface interface switch(config-vlan-config)# ip igmp snooping mrouter interface ethernet 2/1マルチキャスト ルータへのスタティック接続を設定します。 ルータと接続するインターフェイスが、選択した VLAN に含まれている必要があります。 ethernet slot/port のように、インターフェイスをタイプおよび番号で指定できます。
ip igmp snooping static-group group-ip-addr [source source-ip-addr] interface interface switch(config-vlan-config)# ip igmp snooping static-group 230.0.0.1 interface ethernet 2/1VLAN のレイヤ 2 ポートをマルチキャスト グループのスタティック メンバーとして設定します。 ethernet slot/port のように、インターフェイスをタイプおよび番号で指定できます。
ip igmp snooping link-local-groups-suppression switch(config-vlan-config)# ip igmp snooping link-local-groups-suppression指定した VLAN のリンクローカル グループ抑制を設定します。 デフォルトではイネーブルになっています。
ip igmp snooping v3-report-suppression switch(config-vlan-config)# ip igmp snooping v3-report-suppression指定した VLAN の IGMPv3 レポート抑制およびプロキシ レポートを設定します。 デフォルトでは VLAN ごとに有効になっています。
ip igmp snooping version value switch(config-vlan-config)# ip igmp snooping version 2指定した VLAN の IGMP バージョン番号を設定します。
これらのコマンドでは IGMP スヌーピング パラメータを設定します。
ステップ 5 copy running-config startup-config
例:switch(config)# copy running-config startup-configIGMP スヌーピング設定の検証
IGMP スヌーピングの設定例
(注)
この項での設定は、指定された VLAN を作成した後にのみ適用されます。 VLAN の作成については、『Cisco Nexus 9000 Series NX-OS Layer 2 Switching Configuration Guide』を参照してください。次に、IGMP スヌーピング パラメータの設定例を示します。
config t ip igmp snooping vlan configuration 2 ip igmp snooping ip igmp snooping explicit-tracking ip igmp snooping fast-leave ip igmp snooping last-member-query-interval 3 ip igmp snooping querier 172.20.52.106 ip igmp snooping report-suppression ip igmp snooping mrouter interface ethernet 2/1 ip igmp snooping static-group 230.0.0.1 interface ethernet 2/1 ip igmp snooping link-local-groups-suppression ip igmp snooping v3-report-suppression次に、プレフィックス リストを設定し、これらを使用して IGMP スヌーピング レポートをフィルタ処理する例を示します。
ip prefix-list plist seq 5 permit 224.1.1.1/32 ip prefix-list plist seq 10 permit 224.1.1.2/32 ip prefix-list plist seq 15 deny 224.1.1.3/32 ip prefix-list plist seq 20 deny 225.0.0.0/8 eq 32 vlan configuration 2 ip igmp snooping report-policy prefix-list plist interface Ethernet 2/2 ip igmp snooping report-policy prefix-list plist interface Ethernet 2/3上記の例では、プレフィックス リストは 224.1.1.1 と 224.1.1.2 を許可していますが、224.1.1.3 と 225.0.0.0/8 範囲でのすべてのグループを拒否しています。 プレフィックス リストは、一致がない場合は暗黙的な「拒否」になります。 その他すべてを許可する場合、ip prefix-list plist seq 30 permit 224.0.0.0/4 eq 32 を追加します。
次に、ルート マップを設定し、これらを使用して IGMP スヌーピング レポートをフィルタ処理する例を示します。
route-map rmap permit 10 match ip multicast group 224.1.1.1/32 route-map rmap permit 20 match ip multicast group 224.1.1.2/32 route-map rmap deny 30 match ip multicast group 224.1.1.3/32 route-map rmap deny 40 match ip multicast group 225.0.0.0/8 vlan configuration 2 ip igmp snooping report-policy route-map rmap interface Ethernet 2/4 ip igmp snooping report-policy route-map rmap interface Ethernet 2/5上記の例では、ルート マップは 224.1.1.1 と 224.1.1.2 を許可していますが、224.1.1.3 と 225.0.0.0/8 範囲でのすべてのグループを拒否しています。 ルート マップは、一致がない場合は暗黙的な「拒否」になります。 その他すべてを許可する場合、route-map rmap permit 50 match ip multicast group 224.0.0.0/4 を追加します。