この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、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 でフラッディングされます。
virtual Port Channel(vPC; 仮想ポート チャネル)ピアを設定している場合、2 台のデバイス間の IGMP スヌーピング設定オプションに相違があると、次のような結果になります。
一方のデバイスで IGMP スヌーピングをイネーブルにして、他方でディセーブルにすると、スヌーピングがディセーブルであるデバイスではすべてのマルチキャスト トラフィックがフラッディングします。
高速脱退、明示的な追跡、およびレポート抑制のオプションをトラフィックの転送に使用する場合、これらのオプションに相違が生じる可能性があります。
デバイス間でクエリー パラメータが異なると、一方のデバイスではマルチキャスト ステートが期限切れとなり、もう一方のデバイスでは転送が継続されます。この相違によって、トラフィック損失または転送の長時間化が発生します。
IGMP スヌーピング クエリアを両方のデバイスで設定している場合、クエリーがトラフィックで確認されると、IGMP スヌーピング クエリアはシャットダウンするので、一方のクエリアだけがアクティブになります。
ip igmp snooping group-timeout コマンドは、 ip igmp snooping proxy general-queries コマンドを使用する場合、イネーブルにする必要があります。これを「never」に設定することをお勧めします。そのようにしない場合、マルチキャスト パケットが損失する場合があります。
外部マルチキャスト ルータ ポート(静的構成、動的学習のいずれの場合も)では、すべてグローバル ltl インデックスが使用されます。結果として、両方のマルチキャスト ルータ ポート(Layer 2 トランク)に VLAN X と VLAN Y の両方が接続されている場合、VLAN X のトラフィックは、VLAN X と VLAN Y の両方のマルチキャスト ルータ ポートで送出されます。
(注) | Cisco IOS の CLI に慣れている場合、この機能の Cisco NX-OS コマンドは従来の Cisco IOS コマンドと異なる点があるため注意が必要です。 |
(注) | 他のコマンドを有効にする前に、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 スヌーピング グループ メンバーシップの期限切れ動作を変更するかディセーブルにします。
IGMP スヌーピング プロセスの動作を VLAN ごとに変更するには、各種オプションの IGMP スヌーピング パラメータを設定します。
(注) | このコンフィギュレーション モードを使用して目的の 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 configurationvlan-id
例: switch(config)# vlan configuration 2 switch(config-vlan-config)# VLAN に対して目的の IGMP スヌーピング パラメータを設定します。これらの設定は、指定した VLAN を作成するまで適用されません。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 4 | VLAN ごとに IGMP スヌーピング パラメータを設定するには、次のコマンドを使用します。
| ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 5 | copy running-config startup-config 例: switch(config)# copy running-config startup-config |
コマンド | 説明 |
---|---|
show ip igmp snooping groups [source [group] |group [source]][vlanvlan-id] [detail] |
|
次のコマンドを使用して、IGMP スヌーピング統計情報を表示できます。
コマンド |
|
---|---|
IGMP スヌーピング統計情報を表示します。この出力で、virtual Port Channel(vPC; 仮想ポート チャネル)の統計情報を確認できます。 |
|
show ip igmp snooping {report-policy | access-group} statistics [vlanvlan] |
次のコマンドを使用して、IGMP スヌーピング統計情報をクリアできます。
コマンド |
|
---|---|
clear ip igmp snooping {report-policy | access-group} statistics [vlanvlan] |
(注) | この項での設定は、指定された 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 を追加します。