IGMP の設定

この章では、IPv4 ネットワークの Cisco NX-OS デバイスに対するインターネット グループ管理プロトコル(IGMP)の設定方法を説明します。

IGMP について

IGMP は、ホストが特定のグループにマルチキャスト データを要求するために使用する IPv4 プロトコルです。ソフトウェアは、IGMP を介して取得した情報を使用し、マルチキャスト グループまたはチャネル メンバーシップのリストをインターフェイス単位で保持します。これらの IGMP パケットを受信したシステムは、既知の受信者が含まれるネットワーク セグメントに、要求されたグループまたはチャネルに関する受信データをマルチキャスト送信します。

IGMP プロセスはデフォルトで実行されています。インターフェイスでは IGMP を手動でイネーブルにできません。IGMP は、インターフェイスで次のいずれかの設定作業を行うと、自動的にイネーブルになります。

  • Protocol-Independent Multicast(PIM)のイネーブル化

  • ローカル マルチキャスト グループの静的なバインディング

  • リンクローカル グループ レポートのイネーブル化

IGMP のバージョン

デバイスでは、IGMPv2 と IGMPv3、および IGMPv1 のレポート受信がサポートされています。

デフォルトでは、ソフトウェアが IGMP プロセスを起動する際に、IGMPv2 がイネーブルになります。必要に応じて、各インターフェイスでは IGMPv3 をイネーブルにできます。

IGMPv3 には、次に示す IGMPv2 からの重要な変更点があります。

  • 次の機能を提供し、各受信者から送信元までの最短パス ツリーを構築可能な Source-Specific Multicast(SSM)をサポートします。

    • グループおよび送信元を両方指定できるホスト メッセージ

    • IGMPv2 ではグループについてのみ保持できたマルチキャスト ステートを、グループおよび送信元について保持可能

  • ホストによるレポート抑制が行われなくなり、IGMP クエリー メッセージを受信するたびに IGMP メンバーシップ レポートが送信されるようになりました。


(注)  


Cisco Nexus 9000 シリーズ スイッチは、Cisco NX-OS リリース 7.0(3)I2(1) までは SSM をサポートしていません。


IGMPv2 の詳細については、RFC 2236 を参照してください。

IGMPv3 の詳細については、RFC 5790 を参照してください。

IGMP の基礎

次の図に、ルータが IGMP を使用し、マルチキャスト ホストを検出する基本的なプロセスを示します。ホスト 1、2、および 3 は要求外の IGMP メンバーシップ レポート メッセージを送信して、グループまたはチャネルに関するマルチキャスト データの受信を開始します。

この IGMPv3 機能では、SSM がサポートされます。IGMPv1 ホストおよび IGMPv2 ホストが SSM をサポートするよう、SSM を変換する方法については、IGMP SSM 変換の設定を参照してください。

図 1. IGMPv1 および IGMPv2 クエリ応答プロセス

下の図では、ルータ A(サブネットの代表 IGMP クエリア)は、すべてのホストが含まれる 224.0.0.1 ホスト マルチキャスト グループに定期的にクエリ メッセージを送信して、マルチキャスト データを受信するホストを検出します。グループ メンバーシップ タイムアウト値を設定できます。指定したタイムアウト値が経過すると、ルータはサブネット上にグループのメンバーまたは送信元が存在しないと見なします。

IP アドレスが最小のルータが、サブネットの IGMP クエリアとして選出されます。ルータは、自身よりも下位の IP アドレスを持つルータからクエリー メッセージを継続的に受信している間、クエリア タイムアウト値をカウントするタイマーをリセットします。ルータのクエリア タイマーが期限切れになると、そのルータは代表クエリアになります。そのあとで、このルータが、自身よりも下位の IP アドレスを持つルータからのホスト クエリー メッセージを受信すると、ルータは代表クエリアとしての役割をドロップしてクエリア タイマーを再度設定します。

この図では、ホスト 1 からのメンバーシップ レポートの送出が止められており、最初にホスト 2 からグループ 224.1.1.1 に関するメンバーシップ レポートが送信されます。ホスト 1 はホスト 2 からレポートを受信します。ルータに送信する必要があるメンバーシップ レポートは、グループにつき 1 つだけであるため、その他のホストではレポートの送出が止められ、ネットワーク トラフィックが軽減されます。レポートの同時送信を防ぐため、各ホストではランダムな時間だけレポート送信が保留されます。クエリの最大応答時間パラメータを設定すると、ホストが応答をランダム化する間隔を制御できます。


(注)  


IGMPv1 および IGMPv2 メンバーシップ レポートが抑制されるのは、同じポートに複数のホストが接続されている場合だけです。


この図のルータ A は、IGMPv3 グループ/ソース固有のクエリを LAN に送信します。ホスト 2 および 3 は、アドバタイズされたグループおよび送信元からデータを受信することを示すメンバーシップ レポートを送信して、そのクエリーに応答します。この IGMPv3 機能では、SSM がサポートされます。

図 2. IGMPv3 グループ/ソース固有のクエリ

(注)  


IGMPv3 ホストでは、IGMP メンバーシップ レポートの抑制が行われません。


代表クエリアから送信されるメッセージの存続可能時間(TTL)値は 1 です。つまり、サブネット上の直接接続されたルータからメッセージが転送されることはありません。IGMP の起動時に送信されるクエリ メッセージの頻度および回数を個別に設定したり、スタートアップ クエリ インターバルを短く設定したりすることで、グループ ステートの確立時間を最小限に抑えることができます。通常は不要ですが、起動後のクエリー インターバルをチューニングすることで、ホスト グループ メンバーシップ メッセージへの応答性と、ネットワーク上のトラフィック量のバランスを調整できます。


注意    


クエリー インターバルを変更すると、マルチキャスト転送能力が著しく低下することがあります。


マルチキャスト ホストがグループを脱退する場合、IGMPv2 以上を実行するホストでは、IGMP Leave メッセージを送信します。このホストがグループを脱退する最後のホストであるかどうかを確認するために、IGMP クエリ メッセージが送信されます。そして、最終メンバーのクエリ応答インターバルと呼ばれる、ユーザーが設定可能なタイマーが起動されます。タイマーが切れる前にレポートが受信されない場合は、ソフトウェアによってグループ ステートが解除されます。ルータはグループ ステートが解除されないかぎり、このグループにマルチキャスト トラフィックを送信し続けます。

輻輳ネットワークでのパケット損失を補正するには、ロバストネス値を設定します。ロバストネス値は、IGMP ソフトウェアがメッセージ送信回数を確認するために使用されます。

224.0.0.0/24 内に含まれるリンク ローカル アドレスは、インターネット割り当て番号局(IANA)によって予約されています。ローカル ネットワーク セグメント上のネットワーク プロトコルでは、これらのアドレスが使用されます。これらのアドレスは TTL が 1 であるため、ルータからは転送されません。IGMP プロセスを実行すると、デフォルトでは、非リンク ローカル アドレスにだけメンバーシップ レポートが送信されます。ただし、リンク ローカル アドレスにレポートが送信されるよう、ソフトウェアの設定を変更することができます。

IGMP の前提条件

IGMP の前提条件は、次のとおりです。

  • デバイスにログインしている。

  • 現在の仮想ルーティングおよびフォワーディング(VRF)モードが正しい(グローバル コンフィギュレーション コマンドの場合)。この章の例で示すデフォルトのコンフィギュレーション モードは、デフォルト VRF に適用されます。

IGMP に関する注意事項と制限事項

IGMP に関する注意事項および制限事項は次のとおりです。

  • Cisco NX-OS リリース 10.2(1q)F 以降、IGMP ホスト プロキシは Cisco Nexus N9K-C9332D-GX2B プラットフォーム スイッチでサポートされます。

  • Cisco NX-OS リリース 10.3(1)F 以降、Cisco Nexus 9808 プラットフォーム スイッチで IGMP のサポートが提供されます。

    • Cisco NX-OS リリース 10.4(1)F 以降、IGMP は、Cisco Nexus 9808 スイッチを搭載した Cisco Nexus X98900CD-A および X9836DM-A ライン カードでサポートされます。

  • Cisco NX-OS リリース 10.4(1)F 以降、IGMP は Cisco Nexus 9804 プラットフォーム スイッチ、Cisco Nexus X98900CD-A および X9836DM-A ライン カードでサポートされます。

  • IGMP ホスト SG プロキシは、vPC ではサポートされていません。

  • IGMPv3(RFC 5790)に従って送信元のリストを除外またはブロックすることはサポートされていません。

  • Cisco Nexus 9200 シリーズ スイッチでは、IGMP または送信元トラフィックが同じ IP アドレスから発信されている場合、S、G ルートは期限切れになりません。

  • IGMP は、Nexus 9300-FX プラットフォーム スイッチでサポートされています。

  • igmp static-oif でのルート マップの設定は、255 の範囲に制限されています。ルート マップが /8 や /4 などの /24 より大きい範囲で設定されている場合、次のログが表示されます。

    
    2020 May 13 10:10:58 LO5S-NSWDDNGEF01B %IGMP-3-GROUP_RANGE_IGNORE: igmp [29534] Too many Groups in Group Range 224.4.1.0 - 224.4.13.255
    2020 May 13 12:26:13 LO5S-NSWDDNGEF01B %IGMP-3-GROUP_RANGE_IGNORE: igmp [29534] Too many Groups in Group Range 224.4.1.0 - 224.4.13.255
    2020 May 13 12:47:01 LO5S-NSWDDNGEF01B %IGMP-3-GROUP_RANGE_IGNORE: igmp [29534] Too many Groups in Group Range 224.4.0.64 - 224.4.3.64

    この制限を回避するには、必要な範囲を複数の 255 以下の範囲に分割し、範囲ごとに複数のルート マップ シーケンスを使用します。

  • デフォルト以外の IGMP 関連タイマーの設定は、L3 物理インターフェイスおよび SVI で行うことができます。またはクエリア IP が VLAN 構成モードで設定されている場合は VLAN 構成モードで行うことができます。その VLAN に PIM 対応の SVI がある場合、VLAN 構成モードでクエリア IP を構成することはお勧めしません。

    クエリの最大応答時間(query-max-response-time)と IGMP クエリ間隔(query-interval)が L3 物理インターフェイスまたは SVI、IGMP クエリアで変更されると、タイムアウトはクエリ間隔の 2 倍に MRT を加えた値に自動的に調整されます。さらに変更するには、L3 物理インターフェイスに対して ip igmp querier-timeout コマンドを使用します。

    ただし、SVI の場合、予想されるシェルの現在のクエリアが使用できなくなったときにクエリアの選択が行われるようにするには、 VLAN 構成モードで、show ip igmp interface vlan X コマンドの出力に表示された値を、ip igmp snooping querier-timeout コマンドによって設定する必要があります。

    L3 物理インターフェイスの場合は、show ip igmp interface <intf> コマンドを使用します。SVI の場合は、show ip igmp snooping querier <VLAN> コマンドを使用して、IGMP スヌーピング クエリアに関する情報を表示します。両方の構成コマンドは、正しい構成のための同じクエリア タイムアウトを表示するはずです。

    PIM hello 間隔は、PIM ネイバーがピアの可用性を決定する速さを決定します。使用できない PIM ネイバーがたまたま IGMP クエリアでもあった場合、新しいクエリアの選択が、ネイバーの期限切れと同時に発生します(90 秒:30 秒の PIM hello 間隔の 3 倍)。同時に、L2 スヌーピング クエリア タイマーは、新しいクエリア選択がいつ行われるかを指示します(デフォルトではクエリ間隔の 2 倍に MRT を加えた値)。

IGMP のデフォルト設定

次の表に、IGMP パラメータのデフォルト設定を示します。

表 1. IGMP パラメータのデフォルト設定

パラメータ

デフォルト

IGMP のバージョン

2

スタートアップ クエリー インターバル

30 秒

スタートアップ クエリーの回数

2

ロバストネス値

2

クエリア タイムアウト

255 秒

クエリー タイムアウト

255 秒

クエリーの最大応答時間

10 秒

クエリー インターバル

125 秒

最終メンバーのクエリー応答インターバル

1 秒

最終メンバーのクエリー回数

2

グループ メンバーシップ タイムアウト

260 秒

リンク ローカル マルチキャスト グループのレポート

無効

ルータ アラートの実施

無効

即時離脱

無効化

IGMP パラメータの設定

IGMP グローバル パラメータおよびインターフェイス パラメータを設定すると、IGMP プロセスの動作を変更できます。


(注)  


Cisco IOS の CLI に慣れている場合、この機能の Cisco NX-OS コマンドは従来の Cisco IOS コマンドと異なる点があるため注意が必要です。


IGMP インターフェイス パラメータの設定

次の表に、設定可能なオプションの IGMP インターフェイス パラメータを示します。

表 2. IGMP インターフェイス パラメータ

パラメータ

説明

IGMP のバージョン

インターフェイスでイネーブルにする IGMP のバージョン。有効な IGMP バージョンは 2 または 3 です。デフォルトは 2 です。

スタティック マルチキャスト グループ

インターフェイスに静的にバインドされるマルチキャスト グループ。(*, G) というステートでインターフェイスの加入先グループを設定するか、グループに加入する送信元 IP を、(S, G) というステートで指定します。match ip multicast コマンドで、使用するグループ プレフィックス、グループ範囲、および送信元プレフィックスを示すルートマップ ポリシー名を指定できます。

(注)  

 

(S, G) ステートで設定しても、送信元ツリーが構築されるのは IGMPv3 がイネーブルな場合だけです。

ネットワーク上の全マルチキャスト対応ルータを含むマルチキャスト グループを設定すると、このグループに ping 要求を送信することで、すべてのルータから応答を受け取ることができます。SSM 変換の詳細については、IGMP SSM 変換の設定を参照してください。

発信インターフェイス(OIF)上のスタティック マルチキャスト グループ

発信インターフェイスに静的にバインドされるマルチキャスト グループ。(*, G) というステートで発信インターフェイスの加入先グループを設定するか、グループに加入する送信元 IP を、(S, G) というステートで指定します。match ip multicast コマンドで、使用するグループ プレフィックス、グループ範囲、および送信元プレフィックスを示すルートマップ ポリシー名を指定できます。

(注)  

 

(S, G) ステートで設定しても、送信元ツリーが構築されるのは IGMPv3 がイネーブルな場合だけです。SSM 変換の詳細については、IGMP SSM 変換の設定を参照してください。

スタートアップ クエリー インターバル

スタートアップ クエリー インターバル。デフォルトでは、ソフトウェアができるだけ迅速にグループ ステートを確立できるように、このインターバルはクエリー インターバルより短く設定されています。有効範囲は 1 ~ 18,000 秒です。デフォルト値は 31 秒です。

スタートアップ クエリーの回数

スタートアップ クエリー インターバル中に送信される起動時のクエリー数。有効範囲は 1 ~ 10 です。デフォルトは 2 です。

ロバストネス値

輻輳ネットワークでのパケット損失を許容範囲内に抑えるために使用される、調整可能なロバストネス変数。ロバストネス変数を大きくすれば、パケットの再送信回数を増やすことができます。有効範囲は 1 ~ 7 です。デフォルトは 2 です。

クエリア タイムアウト

前クエリアがクエリーを停止してから、自身がクエリアとして処理を引き継ぐまで、ソフトウェアが待機する秒数。有効範囲は 1 ~ 65,535 秒です。デフォルト値は 255 秒です。

クエリーの最大応答時間

IGMP クエリーでアドバタイズされる最大応答時間。大きな値を設定すると、ホストの応答時間が延長されるため、ネットワークの IGMP メッセージを調整できます。この値は、クエリー インターバルよりも短く設定する必要があります。有効範囲は 1 ~ 25 秒です。デフォルトは 10 秒です。

クエリー インターバル

IGMP ホスト クエリー メッセージの送信頻度。大きな値を設定すると、ソフトウェアによる IGMP クエリーの送信頻度が低くなるため、ネットワーク上の IGMP メッセージ数を調整できます。有効範囲は 1 ~ 18,000 秒です。デフォルト値は 125 秒です。

最終メンバーのクエリー応答インターバル

サブネット上の既知のアクティブ ホストから最後にホスト Leave メッセージを受信したあと、ソフトウェアが IGMP クエリーへの応答を送信するインターバル。このインターバル中に応答が受信されない場合、グループ ステートは解除されます。この値を使用すると、サブネット上でソフトウェアがトラフィックの送信を停止するタイミングを調整できます。この値を小さく設定すると、グループの最終メンバーまたは送信元が脱退したことを、より短時間で検出できます。有効範囲は 1 ~ 25 秒です。デフォルト値は 1 秒です。

最終メンバーのクエリー回数

サブネット上の既知のアクティブ ホストから最後にホスト Leave メッセージを受信したあと、最終メンバーのクエリー応答インターバル中に、ソフトウェアが IGMP クエリーを送信する回数。有効範囲は 1 ~ 5 です。デフォルトは 2 です。

この値を 1 に設定すると、いずれかの方向でパケットが検出されなくなると、クエリー対象のグループまたはチャネルのマルチキャスト ステートが解除されます。次のクエリー インターバルが開始されるまでは、グループを再度関連付けることができます。

グループ メンバーシップ タイムアウト

ルータによって、ネットワーク上にグループのメンバーまたは送信元が存在しないと見なされるまでのグループ メンバーシップ インターバル。有効範囲は 3 ~ 65,535 秒です。デフォルト値は 260 秒です。

リンク ローカル マルチキャスト グループのレポート

224.0.0.0/24 内のグループにレポートを送信できるようにするためのオプション。リンク ローカル アドレスは、ローカル ネットワーク プロトコルだけで使用されます。非リンク ローカル グループには、常にレポートが送信されます。デフォルトではディセーブルになっています。

レポート ポリシー

ルートマップ ポリシーに基づく、IGMP レポートのアクセス ポリシー。

1

アクセス グループ

インターフェイスが接続されたサブネット上のホストについて、加入可能なマルチキャスト グループを制御するためのルートマップ ポリシーを設定するオプション。

(注)  

 

match ip multicast group コマンドだけがこのルート マップ ポリシーでサポートされます。ACL を照合するための match ip address コマンドはサポートされていません。

即時離脱

デバイスからグループ固有のクエリーが送信されないため、所定の IGMP インターフェイスで IGMPv2 グループ メンバーシップの脱退のための待ち時間を最小限にできるオプション。即時脱退をイネーブルにすると、デバイスではグループに関する Leave メッセージの受信後、ただちにマルチキャスト ルーティング テーブルからグループ エントリが削除されます。デフォルトではディセーブルになっています。

(注)  

 

このコマンドは、所定のグループに対するインターフェイスの背後に 1 つの受信者しか存在しない場合に使用します。

1

ルートマップ ポリシーの設定方法については、Cisco Nexus 9000 Series NX-OS Unicast Routing Configuration Guide を参照してください。

手順の概要

  1. configure terminal
  2. interface interface
  3. ip igmp version value
  4. ip igmp join-group {group [source source] | route-map policy-name}
  5. ip igmp static-oif {group [source source] | route-map policy-name}
  6. ip igmp startup-query-interval seconds
  7. ip igmp startup-query-count count
  8. ip igmp robustness-variable value
  9. ip igmp querier-timeout seconds
  10. ip igmp query-timeout seconds
  11. ip igmp query-max-response-time seconds
  12. ip igmp query-interval interval
  13. ip igmp last-member-query-response-time seconds
  14. ip igmp last-member-query-count count
  15. ip igmp group-timeout seconds
  16. ip igmp report-link-local-groups
  17. ip igmp report-policy ポリシー
  18. ip igmp access-group ポリシー
  19. ip igmp immediate-leave
  20. (任意) show ip igmp interface [interface] [vrf vrf-name | all] [brief]
  21. (任意) copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

グローバル コンフィギュレーション モードを開始します

ステップ 2

interface interface

例:

switch(config)# interface ethernet 2/1
switch(config-if)#

インターフェイス設定モードを開始します。

(注)  

 

ステップ 3 でリストされているコマンドを使用して、IGMP インターフェイス パラメータを設定します。

ステップ 3

ip igmp version value

例:

switch(config-if)# ip igmp version 3

IGMP バージョンを指定値に設定します。有効な値は 2 または 3 です。デフォルトは 2 です。

このコマンドの no 形式を使用すると、バージョンは 2 に設定されます。

ステップ 4

ip igmp join-group {group [source source] | route-map policy-name}

例:

switch(config-if)# ip igmp join-group 230.0.0.0

指定したグループまたはチャネルに参加するようにデバイス上のインターフェイスを設定します。デバイスは CPU 消費用のマルチキャスト パケットのみを受け入れます。

注意    

 

このコマンドを使用して生成されたトラフィックは、デバイス CPU で処理可能である必要があります。CPU の負荷制約のため、このコマンドを使用することは(特に形式を問わずスケーリングで使用することは)推奨されません。代わりに ip igmp static-oif コマンドの使用を検討してください。

ステップ 5

ip igmp static-oif {group [source source] | route-map policy-name}

例:

switch(config-if)# ip igmp static-oif 230.0.0.0

マルチキャスト グループを発信インターフェイスに静的にバインドし、デバイス ハードウェアで処理します。グループ アドレスのみを指定した場合は、(*, G)ステートが作成されます。送信元アドレスを指定した場合は、(S, G)ステートが作成されます。match ip multicast コマンドで、使用するグループ プレフィックス、グループ範囲、および送信元プレフィックスを示すルートマップ ポリシー名を指定できます。

(注)  

 

IGMPv3 をイネーブルにした場合にのみ、(S, G)ステートに対して送信元ツリーが作成されます。

ステップ 6

ip igmp startup-query-interval seconds

例:

switch(config-if)# ip igmp startup-query-interval 25

ソフトウェアの起動時に使用されるクエリー インターバルを設定します。有効範囲は 1 ~ 18,000 秒です。デフォルト値は 31 秒です。

ステップ 7

ip igmp startup-query-count count

例:

switch(config-if)# ip igmp startup-query-count 3

ソフトウェアの起動時に使用されるクエリー数を設定します。有効範囲は 1 ~ 10 です。デフォルトは 2 です。

ステップ 8

ip igmp robustness-variable value

例:

switch(config-if)# ip igmp robustness-variable 3

ロバストネス変数を設定します。有効値の範囲は、1 ~ 7 です。デフォルトは 2 です。

ステップ 9

ip igmp querier-timeout seconds

例:

switch(config-if)# ip igmp querier-timeout 300

クエリアとして処理を引き継ぐかどうかをソフトウェアが判断するための、クエリア タイムアウト値を設定します。有効範囲は 1 ~ 65,535 秒です。デフォルト値は 255 秒です。

ステップ 10

ip igmp query-timeout seconds

例:

switch(config-if)# ip igmp query-timeout 300

クエリアとして処理を引き継ぐかどうかをソフトウェアが判断するための、クエリー タイムアウト値を設定します。有効範囲は 1 ~ 65,535 秒です。デフォルト値は 255 秒です。

(注)  

 

このコマンドの機能は、ip igmp querier-timeout コマンドと同じです。

ステップ 11

ip igmp query-max-response-time seconds

例:

switch(config-if)# ip igmp query-max-response-time 15

IGMP クエリーでアドバタイズされる応答時間を設定します。有効範囲は 1 ~ 25 秒です。デフォルトは 10 秒です。

ステップ 12

ip igmp query-interval interval

例:

switch(config-if)# ip igmp query-interval 100

IGMP ホスト クエリー メッセージの送信頻度を設定します。有効範囲は 1 ~ 18,000 秒です。デフォルト値は 125 秒です。

ステップ 13

ip igmp last-member-query-response-time seconds

例:

switch(config-if)# ip igmp last-member-query-response-time 3

メンバーシップ レポートを送信してから、ソフトウェアがグループ ステートを解除するまでのクエリー インターバルを設定します。有効範囲は 1 ~ 25 秒です。デフォルト値は 1 秒です。

ステップ 14

ip igmp last-member-query-count count

例:

switch(config-if)# ip igmp last-member-query-count 3

ホストの Leave メッセージを受信してから、IGMP クエリーが送信される回数を設定します。有効範囲は 1 ~ 5 です。デフォルトは 2 です。

ステップ 15

ip igmp group-timeout seconds

例:

switch(config-if)# ip igmp group-timeout 300

IGMPv2 のグループ メンバーシップ タイムアウトを設定します。有効範囲は 3 ~ 65,535 秒です。デフォルト値は 260 秒です。

ステップ 16

ip igmp report-link-local-groups

例:

switch(config-if)# ip igmp report-link-local-groups

224.0.0.0/24 に含まれるグループに対して、レポート送信をイネーブルにします。非リンク ローカル グループには、常にレポートが送信されます。デフォルトでは、リンク ローカル グループにレポートは送信されません。

ステップ 17

ip igmp report-policy ポリシー

例:

switch(config-if)# ip igmp report-policy my_report_policy

ルートマップ ポリシーに基づく、IGMP レポートのアクセス ポリシーを設定します。

ステップ 18

ip igmp access-group ポリシー

例:

switch(config-if)# ip igmp access-group my_access_policy

インターフェイスが接続されたサブネット上のホストについて、加入可能なマルチキャスト グループを制御するためのルートマップ ポリシーを設定します。

(注)  

 

match ip multicast group コマンドだけがこのルート マップ ポリシーでサポートされます。ACL を照合するための match ip address コマンドはサポートされていません。

ステップ 19

ip igmp immediate-leave

例:

switch(config-if)# ip igmp immediate-leave

デバイスが、グループに関する Leave メッセージの受信後、ただちにマルチキャスト ルーティング テーブルからグループ エントリを削除できるようにします。このコマンドを使用すると、デバイスからグループ固有のクエリが送信されないため、所定の IGMP インターフェイスで IGMPv2 グループ メンバーシップの脱退のための待ち時間が最小限になります。デフォルトではディセーブルになっています。

(注)  

 

このコマンドは、所定のグループに対するインターフェイスの背後に 1 つの受信者しか存在しない場合に使用します。

ステップ 20

(任意) show ip igmp interface [interface] [vrf vrf-name | all] [brief]

例:

switch(config)# show ip igmp interface
(任意)

インターフェイスに関する IGMP 情報を表示します。

ステップ 21

(任意) copy running-config startup-config

例:


switch(config)# copy running-config startup-config
(任意)

実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

IGMP SSM 変換の設定

SSM 変換を設定すると、IGMPv1 または IGMPv2 によるメンバーシップ レポートを受信したルータで、SSM がサポートされるようになります。メンバーシップ レポートでグループおよび送信元アドレスを指定する機能を備えているのは、IGMPv3 だけです。グループ プレフィックスのデフォルト範囲は、232.0.0.0/8 です。

マルチキャスト ホストが IGMPv3 をサポートしない場合、またはレイヤ 2 スイッチと相互運用するための(S,G)レポートではなくグループ結合を強制的に送信する場合に、IGMP SSM 変換機能は SSM ベースのマルチキャスト コア ネットワークを配置できるようにします。IGMP SSM 変換機能には、同じ SSM グループに対して複数の送信元を設定する機能があります。SSM 変換を設定する前に、プロトコル独立マルチキャスト(PIM)をデバイスで設定する必要があります。

次の表に、SSM 変換の例を示します。

表 3. SSM 変換の例

グループ プレフィックス

送信元アドレス

232.0.0.0/8

10.1.1.1

232.0.0.0/8

10.2.2.2

232.1.0.0/16

10.3.3.3

232.1.1.0/24

10.4.4.4

次の表に、IGMP メンバーシップ レポートに SSM 変換を適用した場合に、IGMP プロセスによって構築される MRIB ルートを示します。複数の変換を行う場合は、各変換内容に対して (S, G) ステートが作成されます。

表 4. SSM 変換適用後の例

IGMPv2 メンバーシップ レポート

作成される MRIB ルート

232.1.1.1

(10.4.4.4, 232.1.1.1)

232.2.2.2

(10.1.1.1、232.2.2.2) (10.2.2.2、232.2.2.2)

手順の概要

  1. configure terminal
  2. ip igmp ssm-translate group-prefix source-addr
  3. (任意) show running-configuration igmp
  4. (任意) copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

グローバル コンフィギュレーション モードを開始します。

ステップ 2

ip igmp ssm-translate group-prefix source-addr

例:

switch(config)# ip igmp ssm-translate 232.0.0.0/8 10.1.1.1

ルータが IGMPv3 メンバーシップ レポートを受信したときと同様に、(S,G) ステートが作成されるよう、IGMP プロセスによる IGMPv1 または IGMPv2 メンバーシップ レポートの変換を設定します。

ステップ 3

(任意) show running-configuration igmp

例:

switch(config)# show running-configuration igmp
(任意)

ssm-translate コマンド ラインを含む、実行コンフィギュレーション情報を表示します。

ステップ 4

(任意) copy running-config startup-config

例:

switch(config)# copy running-config startup-config
(任意)

実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

ルータ アラートの適用オプション チェックの設定

IGMPv2 パケットと IGMPv3 パケットに対するルータ アラートの適用オプション チェックを設定できます。

手順の概要

  1. configure terminal
  2. [no] ip igmp enforce-router-alert
  3. (任意) show running-configuration igmp
  4. (任意) copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

グローバル設定モードを開始します。

ステップ 2

[no] ip igmp enforce-router-alert

例:

switch(config)# ip igmp enforce-router-alert

IGMPv2 パケットと IGMPv3 パケットに対するルータ アラートの適用オプション チェックをイネーブルまたはディスエーブルにします。デフォルトでは、ルータ アラートの適用オプション チェックはイネーブルです。

ステップ 3

(任意) show running-configuration igmp

例:

switch(config)# show running-configuration igmp
(任意)

実行コンフィギュレーション情報を表示します。

ステップ 4

(任意) copy running-config startup-config

例:

switch(config)# copy running-config startup-config
(任意)

実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

IGMP ホスト プロキシの設定

ここでは、次の内容について説明します。

IGMP ホスト プロキシの概要

IGMP ホスト プロキシ サポートは、ポート チャネル(L3)アップリンクを備えた Cisco Nexus 9300 EX/FX/FX2/FX3/GX/GX2 スイッチのアンダーレイ マルチキャストに提供されます。この機能は、Cisco NX-OS Release 9.3(4) で導入されました。IGMP ホスト プロキシ機能は、PIM 対応のマルチキャスト ネットワーク ドメインを、PIM を認識しないドメインに接続するのに役立ちます。この機能は、インターフェイスをプロキシ インターフェイスとして設定し、内部 PIM ネットワークで受信した PIM の加入/プルーニングを、IGMP の加入/脱退に置き換えます。

IGMP の加入処理

ホストがマルチキャスト グループに加入するとき、ホストは、加入するマルチキャスト グループに 1 つ以上の送信要求されていないメンバーシップ レポートを送信します。さらに、IGMP ジョインがデフォルトで IGMP クエリの受信時に送信されます。非要求モードは、レポートを定期的に送信するように構成できます。IGMPv2 レポートのみがアップストリームに送信されます。

IGMP の脱退処理

IGMPv2 Leave は、マルチキャスト ネットワークの最後のホストが脱退するときに送信されます。したがって、最後のホストから PIM プルーニングを受信すると、IGMPv2 Leaveがアップストリームに送信され、これ以上関心がないことを示します。

IGMP ホスト プロキシの設定方法

IGMP ホスト プロキシを構成するには、次の手順を実行します。

表 5. IGMP ホスト プロキシの設定

ステップ

コマンド

目的

ステップ 1

configure terminal

例:

switch# configure terminal 
switch(config)#

コンフィギュレーション モードに入ります。

ステップ 2

interface interface-name

例:

switch(config)# interface port-channel 1

インターフェイス コンフィギュレーション モードを開始します。

ステップ 3:

no shutdown

例:

switch(config-if)# no shutdown

インターフェイスを no shutdown モードに設定します。

ステップ 4:

ip address ip address

例:

switch(config-if)# ip address 10.1.1.1

IP アドレスを設定します。

ステップ 5

[no] ip igmp host-proxy [unsolicited time | route-map route-map-name [unsolicited time] | prefix-list prefix-list-name [unsolicited time]]

例:

switch(config-if)# ip igmp host-proxy unsolicited 6

ルート マップの IGMP ホスト プロキシを設定します。

ステップ 7

show ip igmp groups

例:

switch(config)# show ip igmp groups

IGMPv2 ホスト プロキシ グループだけを表示します(IGMPv3 は表示しません)。

ステップ 8

show ip igmp interface-name interface-number

例:

switch(config)# show ip igmp port-channel 1

VRF の IGMP インターフェイスを表示します。

ステップ 9

show ip igmp local-groups interface-name interface-number

例:

switch(config)# show ip igmp local-groups port-channel 1

VRF のための、IGMP ローカル ジョイン グループ メンバーシップを表示します。

ステップ 10

show ip pim host-proxy

例:

switch(config)# show ip pim host-proxy

PIM ホスト プロキシ インターフェイスを表示します。

IGMP SG プロキシの構成

ここでは、次の内容について説明します。

IGMP SG プロキシ

NX-OS リリース 10.2(2)F から、IGMP SG プロキシ機能がメディア ファブリックに導入されました。メディア ファブリックは、コントローラがファブリック内のルートをプログラムするパッシブ モードを使用します。このようなファブリックでは、PIM はパッシブ モードで動作します。パッシブ ファブリックが外部リンクを介してファブリックの外部からマルチキャスト ソースをプルした場合、IGMPv3 プロキシ レポートが、パッシブ ファブリック マルチキャスト ルートによって選択された RPF () インターフェイスに送信されます。このようなルートの RPF は、外部リンク経由です。これらの外部インターフェイスは、IGMP プロキシとして動作するように構成されます。IGMP SG ホスト プロキシ機能を機能させるには、RPF インターフェイスを新しいノブでプロビジョニングする必要があります。

IGMP SG プロキシの構成

IGMP SG プロキシを構成するには、次の手順を実行します。

手順の概要

  1. configure terminal
  2. interface interface-name
  3. no shutdown
  4. ip address ip address
  5. [no] ip igmp host-proxy sg-proxy [unsolicited time | route-map route-map-name [unsolicited time] | prefix-list prefix-list-name [unsolicited time]]

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

コンフィギュレーション モードに入ります。

ステップ 2

interface interface-name

例:

switch(config)# interface port-channel 1

インターフェイス設定モードを開始します。

ステップ 3

no shutdown

例:

switch(config-if)# no shutdown

インターフェイスを no shutdown モードに設定します。

ステップ 4

ip address ip address

例:

switch(config-if)# ip address 10.1.1.1

IP アドレスを設定します。

ステップ 5

[no] ip igmp host-proxy sg-proxy [unsolicited time | route-map route-map-name [unsolicited time] | prefix-list prefix-list-name [unsolicited time]]

例:

switch(config-if)# ip igmp host-proxy sg-proxy unsolicited 4

IGMP SG プロキシを設定します。

IGMP プロセスの再起動

IGMP プロセスを再起動し、オプションとして、すべてのルートをフラッシュすることができます。

手順の概要

  1. restart igmp
  2. configure terminal
  3. ip igmp flush-routes
  4. (任意) show running-configuration igmp
  5. (任意) copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

restart igmp

例:

switch# restart igmp

IGMP プロセスを再起動します。

ステップ 2

configure terminal

例:


switch# configure terminal
switch(config)#

グローバル コンフィギュレーション モードを開始します。

ステップ 3

ip igmp flush-routes

例:

switch(config)# ip igmp flush-routes

IGMP プロセスの再起動時に、ルートを削除します。デフォルトでは、ルートはフラッシュされません。

ステップ 4

(任意) show running-configuration igmp

例:

switch(config)# show running-configuration igmp
(任意)

実行コンフィギュレーション情報を表示します。

ステップ 5

(任意) copy running-config startup-config

例:

switch(config)# copy running-config startup-config
(任意)

実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

IGMP 構成の確認

IGMP の設定情報を表示するには、次の作業のいずれかを行います。

コマンド

説明

show ip igmp interface [interface] [vrf vrf-name | all] [brief]

すべてのインターフェイスまたは選択されたインターフェイス、デフォルト VRF、選択された VRF、またはすべての VRF について、IGMP 情報を表示します。IGMP が vPC モードの場合、vPC 統計情報を表示するには、このコマンドを使用します。

show ip igmp groups [{source [group]}] | {group [source]}] [interface] [summary] [vrf vrf-name | all]

グループまたはインターフェイス、デフォルト VRF、選択された VRF、またはすべての VRF について、IGMP で接続されたグループのメンバーシップを表示します。

show ip igmp route [{source [group]}] | {group [source]}] [interface] [summary] [vrf vrf-name | all]

グループまたはインターフェイス、デフォルト VRF、選択された VRF、またはすべての VRF について、IGMP で接続されたグループのメンバーシップを表示します。

show ip igmp local-groups

IGMP ローカル グループ メンバーシップを表示します。

show running-configuration igmp

IGMP 実行コンフィギュレーション情報を表示します。

show startup-configuration igmp

IGMP スタートアップ コンフィギュレーション情報を表示します。

IGMP の設定例

次に、IGMP パラメータの設定例を示します。


configure terminal
  ip igmp ssm-translate 232.0.0.0/8 10.1.1.1
  interface ethernet 2/1
    ip igmp version 3
    ip igmp join-group 230.0.0.0
    ip igmp startup-query-interval 25
    ip igmp startup-query-count 3
    ip igmp robustness-variable 3
    ip igmp querier-timeout 300
    ip igmp query-timeout 300
    ip igmp query-max-response-time 15
    ip igmp query-interval 100
    ip igmp last-member-query-response-time 3
    ip igmp last-member-query-count 3
    ip igmp group-timeout 300
    ip igmp report-link-local-groups
    ip igmp report-policy my_report_policy
    ip igmp access-group my_access_policy

次に、IGMP SG プロキシを設定した場合の出力例を示します。

switch# show ip igmp internal host-proxy sg-cache
IGMP Total Host proxy routes: 2
IGMP Host proxy routes for context default count: 2
Group Address       Source Address       RPF iif
231.1.1.1           80.80.80.1           Eth1/17
232.9.9.9           80.80.80.1           Eth1/18

switch# show ip pim host-proxy
PIM host proxy interfaces
==========================
Type: SG - Host SG Proxy, H - Host Proxy
Vlan500 (SG)         loopback1 (SG)    loopback3 (SG)    loopback4 (SG)
  loopback10 (SG)   Ethernet1/17 (SG)   Ethernet1/18 (SG) Ethernet1/19 (SG)
Ethernet1/20 (SG)

switch# show ip igmp local-groups
IGMP Locally Joined Group Membership for VRF "default"
Group Address    Source Address      Type     Interface      Last Reported
231.1.1.1        80.80.80.1          Local     Lo0           00:01:53
232.9.9.9        80.80.80.1          Local     Lo0           00:01:53
231.1.1.1        80.80.80.1          H-proxy   Eth1/17       00:01:14
232.9.9.9        80.80.80.1          H-proxy   Eth1/18       00:01:24
231.1.1.1        80.80.80.1          H-proxy   Eth1/19       03:10:30
232.9.9.9        80.80.80.1          H-proxy   Eth1/20       03:10:27