IGMP スヌーピングの概要
レイヤ 2 スイッチは IGMP スヌーピングを使用して、レイヤ 2 インターフェイスを動的に設定し、マルチキャスト トラフィックが IP マルチキャスト デバイスと対応付けられたインターフェイスにだけ転送されるようにすることによって、マルチキャスト トラフィックのフラッディングを制限できます。名称が示すとおり、IGMP スヌーピングの場合は、LAN スイッチでホストとルータ間の IGMP 伝送をスヌーピングし、マルチキャスト グループとメンバ ポートを追跡する必要があります。特定のマルチキャスト グループについて、ホストから IGMP レポートを受信したスイッチは、ホストのポート番号を転送テーブル エントリに追加します。ホストから IGMP Leave Group メッセージを受信した場合は、テーブル エントリからホスト ポートを削除します。マルチキャスト クライアントから IGMP メンバーシップ レポートを受信しなかった場合にも、スイッチはエントリを定期的に削除します。
(注) IP マルチキャストおよび IGMP の詳細については、RFC 1112 および RFC 2236 を参照してください。
マルチキャスト ルータは、すべての VLAN に一般クエリーを定期的に送信します。このマルチキャスト トラフィックに関心のあるホストはすべて Join 要求を送信し、転送テーブルのエントリに追加されます。スイッチは、IGMP Join 要求の送信元となる各グループの IGMP スヌーピング IP マルチキャスト転送テーブルで、VLAN ごとに 1 つずつエントリを作成します。
スイッチは、MAC アドレスに基づくグループではなく、IP マルチキャスト グループに基づくブリッジングをサポートしています。マルチキャスト MAC アドレスに基づくグループの場合、設定されている IP アドレスを設定済みの MAC アドレス(エイリアス)または予約済みのマルチキャスト MAC アドレス(224.0.0.xxx の範囲内)に変換すると、コマンドがエラーになります。スイッチでは IP マルチキャスト グループを使用するので、アドレス エイリアスの問題は発生しません。
IGMP スヌーピングによって、IP マルチキャスト グループは動的に学習されます。ただし、 ip igmp snooping vlan vlan-id static ip_address interface interface-id グローバル コンフィギュレーション コマンドを使用すると、マルチキャスト グループを静的に設定できます。グループ メンバーシップをマルチキャスト グループ アドレスに静的に指定すると、その設定値は IGMP スヌーピングによる自動操作より優先されます。マルチキャスト グループ メンバーシップのリストは、ユーザが定義した設定値および IGMP スヌーピングによって学習された設定値の両方で構成できます。
マルチキャスト トラフィックはルーティングする必要がないのでマルチキャスト インターフェイスを使用せずに、サブネットの IGMP スヌーピングをサポートするよう IGMP スヌーピング クエリーを設定できます。IGMP スヌーピング クエリアの詳細については、「IGMP スヌーピング クエリアの設定」を参照してください。
ポート スパニングツリー、ポート グループ、または VLAN ID が変更された場合、VLAN 上のこのポートから IGMP スヌーピングで学習されたマルチキャスト グループは削除されます。
ここでは、IGMP スヌーピングの特性について説明します。
• 「IGMP のバージョン」
• 「マルチキャスト グループへの加入」
• 「マルチキャスト グループからの脱退」
• 「即時脱退」
• 「IGMP 脱退タイマーの設定」
• 「IGMP レポート抑制」
IGMP のバージョン
スイッチは、IGMP バージョン 1、IGMP バージョン 2、および IGMP バージョン 3 をサポートしています。これら 3 つのバージョンは、スイッチ上でそれぞれ相互運用できます。たとえば、IGMPv2 スイッチ上で IGMP スヌーピングがイネーブルの場合、このスイッチが IGMPv3 レポートをホストから受信すると、この IGMPv3 レポートをマルチキャスト ルータへ転送できます。
(注) スイッチは、宛先マルチキャスト MAC アドレスのみに基づいて IGMPv3 スヌーピングをサポートしています。送信元 MAC アドレスやプロキシ レポートに基づいてスヌーピングをサポートすることはありません。
IGMPv3 スイッチは、Basic IGMPv3 Snooping Support(BISS)をサポートしています。BISS は、IGMPv1 および IGMPv2 スイッチでのスヌーピング機能と、IGMPv3 メンバーシップ レポート メッセージをサポートしています。ネットワークに IGMPv3 ホストがある場合、BISS によりマルチキャスト トラフィックのフラッディングは抑制されます。トラフィックは、IGMPv2 または IGMPv1 ホストの IGMP スヌーピング機能の場合とほぼ同じポート セットに抑制されます。
(注) IGMP フィルタリングまたは MVR が実行されているスイッチは、IGMPv3 Join および Leave メッセージをサポートしていません。
IGMPv3 スイッチは、Source Specific Multicast(SSM)機能を実行しているデバイスとメッセージの送受信を行うことができます。IGMPv3 および IGMP を備えた Source Specific Multicast の詳細については、次の URL を参照してください。
http://www.cisco.com/en/US/products/sw/iosswrel/ps1834/products_feature_guide09186a008008048a. html
マルチキャスト グループへの加入
スイッチに接続したホストが IP マルチキャスト グループに加入し、なおかつそのホストが IGMP バージョン 2 クライアントの場合、ホストは加入する IP マルチキャスト グループを指定した非送信請求 IGMP Join メッセージを送信します。別の方法として、ルータから一般クエリーを受信したスイッチは、そのクエリーを VLAN 内のすべてのポートに転送します。IGMP バージョン 1 またはバージョン 2 のホストがマルチキャスト グループに加入する場合、ホストはスイッチに Join メッセージを送信することによって応答します。スイッチの CPU は、そのグループのマルチキャスト転送テーブル エントリがまだ存在していないのであれば、エントリを作成します。CPU はさらに、Join メッセージを受信したインターフェイスを転送テーブル エントリに追加します。そのインターフェイスと対応付けられたホストが、そのマルチキャスト グループ用のマルチキャスト トラフィックを受信します。図 23-1を参照してください。
図 23-1 最初の IGMP Join メッセージ
ルータ A がスイッチに一般クエリーを送り、スイッチはそのクエリーをポート 2 ~ 5、つまり同一 VLAN のすべてのメンバに転送します。ホスト 1 はマルチキャスト グループ 224.1.2.3 に加入するために、グループに IGMP メンバーシップ レポート(IGMP Join メッセージ)をマルチキャストします。スイッチの CPU は IGMP レポートの情報を使用して、転送テーブルのエントリを設定します( 表 23-1 を参照)。転送テーブルにはホスト 1 およびルータに接続しているポート番号が含まれます。
表 23-1 IGMP スヌーピング転送テーブル
|
|
|
224.1.2.3 |
IGMP |
1、2 |
スイッチのハードウェアは、マルチキャスト グループの他のパケットと IGMP 情報パケットを区別できます。テーブルの情報は、224.1.2.3 マルチキャスト IP アドレス宛ての、IGMP パケットではないフレームを、ルータおよびグループに加入したホストに対して送信するように、スイッチング エンジンに指示します。
別のホスト(たとえば、ホスト 4)が、同じグループ用に非送信請求 IGMP Join メッセージを送信する場合(図 23-2 を参照)、CPU がそのメッセージを受け取り、ホスト 4 のポート番号を転送テーブルに追加します( 表 23-2 を参照)。転送テーブルによって、CPU だけに IGMP メッセージが転送されるので、スイッチ上の他のポートにメッセージがフラッディングされることはありません。認識されているマルチキャスト トラフィックは、CPU 宛てではなくグループ宛てに転送されます。
図 23-2 2 番めのホストのマルチキャスト グループへの加入
表 23-2 更新された IGMP スヌーピング転送テーブル
|
|
|
224.1.2.3 |
IGMP |
1, 2, 5 |
マルチキャスト グループからの脱退
ルータはマルチキャスト一般クエリーを定期的に送信し、スイッチはそれらのクエリーを VLAN のすべてのポートを通じて転送します。関心のあるホストがクエリーに応答します。VLAN 内の少なくとも 1 つのホストがマルチキャスト トラフィックを受信しなければならない場合、ルータは VLAN に引き続き、マルチキャスト トラフィックを転送します。スイッチは、その IGMP スヌーピングによって維持された IP マルチキャスト グループの転送テーブルで指定されたホストに対してだけ、マルチキャスト グループ トラフィックを転送します。
ホストがマルチキャスト グループから脱退する場合、何も通知せずに脱退することも、Leave メッセージを送信することもできます。ホストから Leave メッセージを受信したスイッチは、グループ固有のクエリーを送信して、そのインターフェイスに接続された他のデバイスが所定のマルチキャスト グループのトラフィックに関与しているかどうかを学習します。スイッチはさらに、転送テーブルでその MAC グループの情報を更新し、そのグループのマルチキャスト トラフィックの受信に関心のあるホストだけが、転送テーブルに指定されるようにします。ルータが VLAN からレポートを受信しなかった場合、その VLAN 用のグループは IGMP キャッシュから削除されます。
即時脱退
即時脱退機能をサポートするのは、IGMP バージョン 2 が稼働しているホストだけです。
スイッチは IGMP スヌーピングの即時脱退を使用して、先にスイッチからインターフェイスにグループ固有のクエリーを送信しなくても、Leave メッセージを送信するインターフェイスを転送テーブルから削除できるようにします。VLAN インターフェイスは、最初の Leave メッセージで指定されたマルチキャスト グループのマルチキャスト ツリーからプルーニングされます。即時脱退によって、複数のマルチキャスト グループが同時に使用されている場合でも、スイッチド ネットワークのすべてのホストに最適な帯域幅管理が保証されます。
(注) 即時脱退機能を使用するのは、各ポートに接続されているホストが 1 つだけの VLAN に限定してください。1 つのポートに複数のホストが接続されている VLAN で即時脱退機能をイネーブルにすると、一部のホストが誤って切断される可能性があります。
設定手順については、「IGMP 即時脱退のイネーブル化」を参照してください。
IGMP 脱退タイマーの設定
Cisco IOS Release 12.2(25) SEA 以前のリリースでは、IGMP スヌーピング脱退時間は 5 秒に固定されていました。クエリーのクエリー応答時間が満了する前にスイッチがメンバーシップ レポートを受信しなかった場合、ポートはマルチキャスト グループ メンバーシップから削除されます。ところが、アプリケーションによっては 5 秒未満の Leave 遅延が必要です。
Cisco IOS Release 12.2(25)SEB 以降のリリースでは、ホストの特定マルチキャスト グループへの関心が続いているかどうかを判断するために、グループ固有のクエリーを送信したあとにスイッチが待機する時間を設定できます。IGMP 脱退応答時間は、100 ~ 5000 ミリ秒の間で設定できます。タイマーはグローバルにまたは VLAN 単位で設定できますが、 VLAN に脱退時間を設定すると、グローバルに設定した脱退時間は上書きされます。
設定手順については、「IGMP 脱退タイマーの設定」を参照してください。
IGMP レポート抑制
(注) IGMP レポート抑制は、マルチキャスト クエリーに IGMPv1 レポートと IGMPv2 レポートがある場合にだけサポートされます。この機能は、クエリーに IGMPv3 レポートが含まれている場合はサポートされません。
スイッチは、IGMP レポート抑制を使用して、1 つのマルチキャスト ルータ クエリーごとに IGMP レポートを 1 つだけマルチキャスト デバイスに転送します。IGMP ルータ抑制がイネーブル(デフォルト)である場合、スイッチは最初の IGMP レポートをグループのすべてのポートからすべてのマルチキャスト ルータに送信します。スイッチは、グループの残りの IGMP レポートをマルチキャスト ルータに送信しません。この機能により、マルチキャスト デバイスにレポートが重複して送信されることを防ぎます。
マルチキャスト ルータ クエリーに IGMPv1 および IGMPv2 レポートに対する要求だけが含まれている場合、スイッチは最初の IGMPv1 レポートまたは IGMPv2 レポートだけを、グループのすべてのホストからすべてのマルチキャスト ルータに送信します。
マルチキャスト ルータ クエリーに IGMPv3 レポートの要求も含まれる場合は、スイッチはグループのすべての IGMPv1、IGMPv2、および IGMPv3 レポートをマルチキャスト デバイスに転送します。
IGMP レポート抑制をディセーブルにすると、すべての IGMP レポートはマルチキャスト ルータに転送されます。設定手順については、「IGMP レポート抑制のディセーブル化」を参照してください。
IGMP スヌーピングの設定
IGMP スヌーピングにより、スイッチで IGMP パケットを調べたり、パケットの内容に基づいて転送先を決定したりできます。ここでは、次の設定について説明します。
• 「IGMP スヌーピングのデフォルト設定」
• 「IGMP スヌーピングのイネーブル化およびディセーブル化」
• 「スヌーピング方法の設定」
• 「マルチキャスト ルータ ポートの設定」
• 「グループに加入するホストの静的な設定」
• 「IGMP 即時脱退のイネーブル化」
• 「IGMP 脱退タイマーの設定」
• 「TCN 関連のコマンドの設定」
• 「IGMP スヌーピング クエリアの設定」
• 「IGMP レポート抑制のディセーブル化」
IGMP スヌーピングのデフォルト設定
表 23-3 に、IGMP スヌーピングのデフォルト設定を示します。
表 23-3 IGMP スヌーピングのデフォルト設定
|
|
IGMP スヌーピング |
グローバルおよび VLAN 単位でイネーブル |
マルチキャスト ルータ |
未設定 |
マルチキャスト ルータの学習(スヌーピング)方式 |
PIM-DVMRP |
IGMP スヌーピング即時脱退 |
ディセーブル |
スタティック グループ |
未設定 |
TCN フラッド クエリー カウント |
2 |
TCN クエリー送信要求 |
ディセーブル |
IGMP スヌーピング クエリア |
ディセーブル |
IGMP レポート抑制 |
イネーブル |
IGMP スヌーピングのイネーブル化およびディセーブル化
デフォルトでは、IGMP スヌーピングはスイッチ上でグローバルにイネーブルです。グローバルにイネーブルまたはディセーブルに設定されている場合、既存のすべての VLAN インターフェイスでもイネーブルまたはディセーブルです。デフォルトでは、IGMP スヌーピングはすべての VLAN でイネーブルですが、VLAN 単位で IGMP スヌーピングをイネーブルおよびディセーブルに設定できます。
グローバル IGMP スヌーピングは、VLAN IGMP スヌーピングよりも優先されます。グローバル スヌーピングがディセーブルの場合、VLAN スヌーピングをイネーブルに設定することはできません。グローバル スヌーピングがイネーブルの場合、VLAN スヌーピングをイネーブルまたはディセーブルに設定できます。
スイッチ上で IGMP スヌーピングをグローバルにイネーブルにするには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
ip igmp snooping |
既存のすべての VLAN インターフェイスで、IGMP スヌーピングをグローバルにイネーブルにします。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
すべての VLAN インターフェイス上で IGMP スヌーピングをグローバルにディセーブルにするには、 no ip igmp snooping グローバル コンフィギュレーション コマンドを使用します。
特定の VLAN インターフェイス上で IGMP スヌーピングをイネーブルにするには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
ip igmp snooping vlan vlan-id |
VLAN インターフェイス上で IGMP スヌーピングをイネーブルにします。VLAN ID の範囲は 1 ~ 1001 および 1006 ~ 4094 です。 (注) VLAN スヌーピングをイネーブルにするには、IGMP スヌーピングをグローバルにイネーブルに設定しておく必要があります。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
特定の VLAN インターフェイス上で IGMP スヌーピングをディセーブルにするには、 no ip igmp snooping vlan vlan-id グローバル コンフィギュレーション コマンドを、指定した VLAN 番号に対して使用します。
スヌーピング方法の設定
マルチキャスト対応のルータ ポートは、レイヤ 2 マルチキャスト エントリごとに転送テーブルに追加されます。スイッチは、次のいずれかの方法でポートを学習します。
• IGMP クエリー、Protocol Independent Multicast(PIM)パケット、および Distance Vector Multicast Routing Protocol(DVMRP)パケットのスヌーピング
• 他のルータからの Cisco Group Management Protocol(CGMP)パケットの待ち受け
• ip igmp snooping mrouter グローバル コンフィギュレーション コマンドによるマルチキャスト ルータ ポートへの静的な接続
IGMP クエリーおよび PIM パケットと DVMRP パケットのスヌーピング、または CGMP self-join パケットまたは proxy-join パケットのいずれかの待ち受けを行うように、スイッチを設定できます。デフォルトでは、スイッチはすべての VLAN 上の PIM パケットと DVMRP パケットをスヌーピングします。CGMP パケットだけでマルチキャスト ルータ ポートを学習するには、 ip igmp snooping vlan vlan-id mrouter learn cgmp グローバル コンフィギュレーション コマンドを使用します。このコマンドを入力すると、ルータは CGMP self-join パケットおよび CGMP proxy-join パケットだけを待ち受け、その他の CGMP パケットは待ち受けません。PIM パケットと DVMRP パケットだけでマルチキャスト ルータ ポートを学習するには、 ip igmp snooping vlan vlan-id mrouter learn pim-dvmrp グローバル コンフィギュレーション コマンドを使用します。
(注) 学習方法として CGMP を使用する場合で、なおかつ VLAN に CGMP プロキシ対応のマルチキャスト ルータがない場合は、ip cgmp router-only コマンドを入力し、ルータに動的にアクセスする必要があります。詳細については、を参照してください。
VLAN インターフェイスがマルチキャスト ルータに動的にアクセスする方法を変更するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
ip igmp snooping vlan vlan-id mrouter learn { cgmp | pim-dvmrp } |
VLAN で IGMP スヌーピングをイネーブルにします。指定できる VLAN ID の範囲は 1 ~ 1001 および 1006 ~ 4094 です。 マルチキャスト ルータの学習方式を指定します。 • cgmp :CGMP パケットを待ち受けます。この方法は、制御トラフィックを減らす場合に有用です。 • pim-dvmrp :IGMP クエリーおよび PIM パケットと DVMRP パケットをスヌーピングします。これはデフォルトです。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show ip igmp snooping |
設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
デフォルトの学習方式に戻すには、 no ip igmp snooping vlan vlan-id mrouter learn cgmp グローバル コンフィギュレーション コマンドを使用します。
次に、CGMP パケットを学習方式として使用するように IGMP スヌーピングを設定する例を示します。
Switch# configure terminal
Switch(config)# ip igmp snooping vlan 1 mrouter learn cgmp
マルチキャスト ルータ ポートの設定
マルチキャスト ルータ ポートを追加(マルチキャスト ルータに静的な接続を追加)するには、スイッチ上で ip igmp snooping vlan mrouter グローバル コンフィギュレーション コマンド を使用します。
(注) マルチキャスト ルータへのスタティック接続は、スイッチ ポートに限りサポートされます。
マルチキャスト ルータへの静的な接続をイネーブルにするには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
ip igmp snooping vlan vlan-id mrouter interface interface-id |
マルチキャスト ルータの VLAN ID およびマルチキャスト ルータに対するインターフェイスを指定します。 • 指定できる VLAN ID の範囲は 1 ~ 1001 および 1006 ~ 4094 です。 • このインターフェイスには物理インターフェイスまたはポート チャネルを指定できます。ポート チャネル範囲は 1 ~ 48 です。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show ip igmp snooping mrouter [ vlan vlan-id ] |
VLAN インターフェイス上で IGMP スヌーピングがイネーブルになっていることを確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
VLAN からマルチキャスト ルータ ポートを削除するには、 no ip igmp snooping vlan vlan-id mrouter interface interface-id グローバル コンフィギュレーション コマンドを使用します。
次に、マルチキャスト ルータへの静的な接続をイネーブルにする例を示します。
Switch# configure terminal
Switch(config)#
ip igmp snooping vlan 200 mrouter interface gigabitethernet0/2
グループに加入するホストの静的な設定
ホストまたはレイヤ 2 ポートは通常、マルチキャスト グループに動的に加入しますが、インターフェイス上にホストを静的に設定することもできます。
マルチキャスト グループのメンバとしてレイヤ 2 ポートを追加するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
ip igmp snooping vlan vlan-id static ip_address interface interface-id |
マルチキャスト グループのメンバとしてレイヤ 2 ポートを静的に設定します。 • vlan-id は、マルチキャスト グループの VLAN ID です。指定できる範囲は 1 ~ 1001 または 1006 ~ 4094 です。 • ip-address は、グループの IP アドレスです。 • interface-id は、メンバ ポートです。物理インターフェイスまたはポート チャネル(1 ~ 48)に設定できます。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show ip igmp snooping groups |
メンバ ポートおよび IP アドレスを確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
マルチキャスト グループからレイヤ 2 ポートを削除するには、 no ip igmp snooping vlan vlan-id static ip-address interface interface-id グローバル コンフィギュレーション コマンドを使用します。
次に、ポート上のホストを静的に設定する例を示します。
Switch# configure terminal
Switch(config)# ip igmp snooping vlan 105 static 224.2.4.12 interface gigabitethernet0/1
IGMP 即時脱退のイネーブル化
IGMP 即時脱退をイネーブルに設定すると、スイッチはポート上で IGMP バージョン 2 の Leave メッセージを検出した場合、ただちにそのポートを削除します。即時脱退機能を使用するのは、VLAN の各ポート上にレシーバが 1 つだけ存在する場合に限定してください。
(注) 即時脱退機能をサポートするのは、IGMP バージョン 2 が稼働しているホストだけです。
IGMP 即時脱退をイネーブルにするには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
ip igmp snooping vlan vlan-id immediate-leave |
VLAN インターフェイス上で、IGMP 即時脱退をイネーブルにします。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show ip igmp snooping vlan vlan-id |
VLAN インターフェイス上で即時脱退がイネーブルになっていることを確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
VLAN 上で IGMP 即時脱退をディセーブルにするには、 no ip igmp snooping vlan vlan-id immediate-leave グローバル コンフィギュレーション コマンドを使用します。
次に、VLAN 130 上で IGMP 即時脱退をイネーブルにする例を示します。
Switch# configure terminal
Switch(config)# ip igmp snooping vlan 130 immediate-leave
IGMP 脱退タイマーの設定
IGMP 脱退タイマーを設定するときには、次の注意事項に従ってください。
• 脱退時間はグローバルまたは VLAN 単位で設定できます。
• VLAN 上に脱退時間を設定すると、グローバルに設定された内容は上書きされます。
• デフォルトの脱退時間は 1000 ミリ秒です。
• IGMP の脱退時間の設定は、IGMP バージョン 2 が稼働しているホストでのみサポートされます。
• ネットワークで実際の脱退にかかる待ち時間は、通常、設定した脱退時間どおりになります。ただし、脱退時間は、リアルタイムの CPU の負荷の状態、およびネットワークの遅延状態、インターフェイスから送信されたトラフィック量によって、設定された時間を前後する ことがあります 。
IGMP 脱退タイマーの設定をイネーブルにするには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
ip igmp snooping last-member-query-interval time |
グローバルに IGMP 脱退タイマーを設定します。指定できる範囲は 100 ~ 5000 ミリ秒です。デフォルト値は 1000 秒です。 |
ステップ 3 |
ip igmp snooping vlan vlan-id last-member-query-interval time |
(任意)VLAN インターフェイス上で、IGMP 脱退タイマーを設定します。指定できる範囲は 100 ~ 5000 ミリ秒です。 (注) VLAN 上に脱退時間を設定すると、グローバルに設定された内容は上書きされます。 |
ステップ 4 |
end |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show ip igmp snooping |
(任意)設定された IGMP 脱退タイマーを表示します。 |
ステップ 6 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
IGMP 脱退タイマーをグローバルにリセットしてデフォルト設定に戻すには、 no ip igmp snooping last-member-query-interval グローバル コンフィギュレーション コマンドを使用します。
特定の VLAN から IGMP 脱退タイマーの設定を削除するには、 no ip igmp snooping vlan vlan-id last-member-query-interval グローバル コンフィギュレーション コマンド を使用します。
TCN イベント後のマルチキャスト フラッディング時間の制御
ip igmp snooping tcn flood query count グローバル コンフィギュレーション コマンドを使用して、TCN イベント後にフラッディングするマルチキャスト トラフィックの時間を制御できます。このコマンドは、TCN イベント後にフラッディングするマルチキャスト データのトラフィックに対し、一般クエリー数を設定します。クライアントが場所を変更することで同ポートの受信者がブロックされた後、現在転送中の場合、またはポートが Leave メッセージを送信せずにダウンした場合などが、TCN イベントに該当します。
ip igmp snooping tcn flood query count コマンドを使用して TCN フラッド クエリー カウントを 1 に設定した場合、1 つの一般的クエリーの受信後にフラッディングが停止します。カウントを 7 に設定した場合、一般クエリーを 7 つ受信するまでフラッディングが続きます。グループは、TCN イベント中に受信した一般的クエリーに基づいて学習されます。
TCN フラッディング クエリー カウントを設定するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
ip igmp snooping tcn flood query count count |
マルチキャスト トラフィックがフラッディングする IGMP の一般的クエリー数を指定します。指定できる範囲は 1 ~ 10 です。デフォルトのフラッディング クエリー カウントは 2 です。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show ip igmp snooping |
TCN の設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
デフォルトのフラッディング クエリー カウントに戻すには、 no ip igmp snooping tcn flood query count グローバル コンフィギュレーション コマンド を使用します。
フラッディング モードからの回復
トポロジの変更が発生した場合、スパニングツリーのルートは特別な IGMP Leave メッセージ(グローバル Leave メッセージ)をグループ マルチキャスト アドレス 0.0.0.0. に送信します。ただし、 ip igmp snooping tcn query solicit グローバル コンフィギュレーション コマンドをイネーブルにしている場合、スイッチはスパニングツリーのルートであるかどうかにかかわらず、グローバル Leave メッセージを送信します。ルータはこの特別な Leave メッセージを受信した場合、即座に一般クエリーを送信して、TCN 中のフラッディング モードからできるだけ早く回復するようにします。スイッチがスパニングツリーのルートであれば、このコンフィギュレーション コマンドに関係なく、Leave メッセージが常に送信されます。デフォルトでは、クエリー送信要求はディセーブルに設定されています。
スイッチがスパニングツリー ルートであるかどうかにかかわらず、グローバル Leave メッセージを送信するように設定するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
ip igmp snooping tcn query solicit |
TCN イベント中に発生したフラッド モードから回復するプロセスの速度を上げるために、IGMP Leave メッセージ(グローバル脱退)を送信します。デフォルトでは、クエリー送信要求はディセーブルに設定されています。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show ip igmp snooping |
TCN の設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
デフォルトのクエリー送信要求に戻すには、 no ip igmp snooping tcn query solicit グローバル コンフィギュレーション コマンド を使用します。
TCN イベント中のマルチキャスト フラッディングのディセーブル化
スイッチは TCN を受信すると、一般クエリーを 2 つ受信するまで、すべてのポートに対してマルチキャスト トラフィックをフラッディングします。異なるマルチキャスト グループのホストに接続しているポートが複数ある場合、リンク範囲を超えてスイッチによるフラッディングが行われ、パケット損失が発生する可能性があります。その場合、 ip igmp snooping tcn flood インターフェイス コンフィギュレーション コマンドを使用して、この状態を制御できます。
インターフェイス上でマルチキャスト フラッディングをディセーブルにするには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface interface-id |
設定するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 3 |
no ip igmp snooping tcn flood |
スパニングツリーの TCN イベント中に発生するマルチキャスト トラフィックのフラッディングをディセーブルにします。 デフォルトでは、インターフェイス上のマルチキャスト フラッディングはイネーブルです。 |
ステップ 4 |
exit |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show ip igmp snooping |
TCN の設定を確認します。 |
ステップ 6 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
インターフェイス上でマルチキャスト フラッディングを再度イネーブルにするには、 ip igmp snooping tcn flood インターフェイス コンフィギュレーション コマンドを使用します。
IGMP スヌーピング クエリアの設定
IGMP スヌーピング クエリアを設定するときには、次の注意事項に従ってください。
• VLAN をグローバル コンフィギュレーション モードに設定してください。
• IP アドレスおよび VLAN インターフェイスを設定してください。IGMP スヌーピング クエリアは、イネーブルの場合この IP アドレスをクエリーの送信元アドレスとして使用します。
• VLAN インターフェイス上で IP アドレスが設定されていない場合、IGMP スヌーピング クエリアは IGMP クエリア用に設定されたグローバル IP アドレスを使用しようとします。グローバル IP アドレスが指定されていない場合、IGMP クエリアは VLAN スイッチ仮想インターフェイス(SVI)IP アドレス(存在する場合)を使用しようとします。SVI IP アドレスが存在しない場合、スイッチはスイッチ上で設定された利用可能な最初の IP アドレスを使用します。利用可能な最初の IP アドレスは、 show ip interface 特権 EXEC コマンドの出力に表示されます。IGMP スヌーピング クエリアはスイッチ上で利用可能な IP アドレスを検出できない場合、IGMP 一般クエリーを生成しません。
• IGMP スヌーピング クエリアは IGMP バージョン 1 および 2 をサポートします。
• 管理上イネーブルである場合、IGMP スヌーピング クエリアはネットワークにマルチキャスト ルータの存在を検出すると、非クエリア ステートになります。
• 管理上イネーブルである場合、IGMP スヌーピング クエリアは操作上、次の状況でディセーブル ステートになります。
– IGMP スヌーピングが VLAN でディセーブルの場合
– PIM が、VLAN に対応する SVI でイネーブルの場合
特定の VLAN で IGMP スヌーピング クエリア機能をイネーブルにするには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
ip igmp snooping querier |
IGMP スヌーピング クエリア機能をイネーブルにします。 |
ステップ 3 |
ip igmp snooping querier address ip_address |
(任意)IGMP スヌーピング クエリアの IP アドレスを指定します。IP アドレスを指定しない場合、クエリアは IGMP クエリアに設定されたグローバル IP アドレスを使用します。 (注) IGMP スヌーピング クエリアはスイッチ上で IP アドレスを検出できない場合、IGMP 一般クエリーを生成しません。 |
ステップ 4 |
ip igmp snooping querier query-interval interval-count |
(任意)IGMP クエリアの間隔を設定します。指定できる範囲は 1 ~ 18000 秒です。 |
ステップ 5 |
ip igmp snooping querier tcn query [ count count | interval interval ] |
(任意)トポロジ変更通知(TCN)クエリーの間隔を設定します。指定できる count の範囲は 1 ~ 10 です。指定できる interval の範囲は 1 ~ 255 秒です。 |
ステップ 6 |
ip igmp snooping querier timer expiry timeout |
(任意)IGMP クエリアが期限切れになるまでの時間を設定します。指定できる範囲は 60 ~ 300 秒です。 |
ステップ 7 |
ip igmp snooping querier version version |
(任意)クエリア機能が使用する IGMP バージョン番号を選択します。選択できる番号は 1 または 2 です。 |
ステップ 8 |
end |
特権 EXEC モードに戻ります。 |
ステップ 9 |
show ip igmp snooping vlan vlan-id |
(任意)VLAN インターフェイス上で IGMP スヌーピング クエリアがイネーブルになっていることを確認します。指定できる VLAN ID の範囲は 1 ~ 1001 および 1006 ~ 4094 です。 |
ステップ 10 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
次に、IGMP スヌーピング クエリアの送信元アドレスを 10.0.0.64 に設定する例を示します。
Switch# configure terminal
Switch(config)# ip igmp snooping querier 10.0.0.64
次の例では、IGMP スヌーピング クエリアの最大応答時間を 25 秒に設定する方法を示します。
Switch# configure terminal
Switch(config)# ip igmp snooping querier query-interval 25
次の例では、IGMP スヌーピング クエリアのタイムアウトを 60 秒に設定する方法を示します。
Switch# configure terminal
Switch(config)# ip igmp snooping querier timeout expiry 60
次の例では、IGMP スヌーピング クエリア機能をバージョン 2 に設定する方法を示します。
Switch# configure terminal
Switch(config)# no ip igmp snooping querier version 2
IGMP レポート抑制のディセーブル化
(注) IGMP レポート抑制は、マルチキャスト クエリーに IGMPv1 レポートと IGMPv2 レポートがある場合にだけサポートされます。この機能は、クエリーに IGMPv3 レポートが含まれている場合はサポートされません。
IGMP レポート抑制はデフォルトでイネーブルです。IGMP レポート抑制がイネーブルの場合、スイッチは、マルチキャスト ルータ クエリーごとに IGMP レポートを 1 つだけ転送します。IGMP レポート抑制がディセーブルの場合、すべての IGMP レポートがマルチキャスト ルータに転送されます。
IGMP レポート抑制をディセーブルにするには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
no ip igmp snooping report-suppression |
IGMP レポート抑制をディセーブルにします。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show ip igmp snooping |
IGMP レポート抑制がディセーブルになっていることを確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
IGMP レポート抑制を再びイネーブルにするには、 ip igmp snooping report-suppression グローバル コンフィギュレーション コマンドを使用します。
MVR の概要
MVR は、イーサネット リング ベースのサービス プロバイダー ネットワークにおいて、マルチキャスト トラフィックを大規模展開する用途(サービス プロバイダー ネットワークによる複数のテレビ チャネルのブロードキャストなど)を想定して開発されました。MVR によってポート上の加入者は、ネットワークワイドなマルチキャスト VLAN 上のマルチキャスト ストリームに加入し、脱退できます。加入者は別個の VLAN 上にありながら、ネットワークで単一マルチキャスト VLAN を共有できます。MVR によって、マルチキャスト VLAN でマルチキャスト ストリームを連続送信する能力が得られますが、ストリームと加入者の VLAN は、帯域幅およびセキュリティ上の理由で分離されます。
MVR では、加入者ポートが IGMP Join および Leave メッセージを送信することによって、マルチキャスト ストリームへの加入および脱退(Join および Leave)を行うことが前提です。これらのメッセージは、イーサネットで接続され、IGMP バージョン 2 に準拠しているホストから発信できます。MVR は IGMP スヌーピングの基本メカニズムで動作しますが、この 2 つの機能はそれぞれ単独で動作します。それぞれ他方の機能の動作に影響を与えずに、イネーブルまたはディセーブルにできます。ただし、IGMP スヌーピングと MVR が両方ともイネーブルの場合、MVR は MVR 環境で設定されたマルチキャスト グループが送信した Join および Leave メッセージだけに反応します。他のマルチキャスト グループから送信された Join および Leave メッセージはすべて、IGMP スヌーピングが管理します。
スイッチの CPU は、MVR IP マルチキャストストリームとそれに対応するスイッチ転送テーブル内の IP マルチキャスト グループを識別し、IGMP メッセージを代行受信し、転送テーブルを変更して、マルチキャスト ストリームの受信側としての加入者を追加または削除します。受信側が送信元と異なる VLAN 上に存在している場合でも同じです。この転送動作により、異なる VLAN の間でトラフィックを選択して伝送できます。
スイッチの MVR 動作は、互換モードまたはダイナミック モードに設定できます。
• 互換モードの場合、MVR ホストが受信したマルチキャスト データはすべての MVR データ ポートに転送されます。MVR データ ポートの MVR ホスト メンバーシップは無関係です。マルチキャスト データは、IGMP レポートまたは静的な MVR 設定のどちらかによって、MVR ホストが加入しているレシーバ ポートだけに転送されます。MVR ホストから受信した IGMP レポートが、スイッチに設定された MVR データ ポートから転送されることはありません。
• ダイナミック モードの場合、スイッチ上の MVR ホストが受信したマルチキャスト データは、IGMP レポートまたは静的な MVR 設定のどちらかによって、MVR ホストが加入している MVR データおよびクライアント ポートから転送されます。それ以外のポートからは転送されません。MVR ホストから受信した IGMP レポートも、スイッチのすべての MVR データ ポートから転送されます。したがって、互換モードでスイッチを稼働させた場合と異なり、MVR データ ポート リンクで不要な帯域幅を使用しなくてすみます。
MVR に関与するのはレイヤ 2 ポートだけです。ポートを MVR 受信ポートとして設定する必要があります。各スイッチでサポートされる MVR マルチキャスト VLAN は、1 つだけです。
マルチキャスト TV アプリケーションで MVR を使用する場合
マルチキャスト TV アプリケーションでは、PC またはセットトップ ボックスを装備したテレビでマルチキャスト ストリームを受信できます。1 つの加入者ポートに複数のセットトップ ボックスまたは PC を接続できます。加入者ポートは、MVR 受信ポートとして設定されたスイッチ ポートです。図 23-3 に構成例を示します。Dynamic Host Configuration Protocol(DHCP)によって、セットトップ ボックスまたは PC に IP アドレスが割り当てられます。加入者がチャネルを選択すると、適切なマルチキャストに加入するために、セットトップ ボックスまたは PC からスイッチ A に IGMP レポートが送信されます。IGMP レポートが、設定されている IP マルチキャスト グループ アドレスの 1 つと一致すると、スイッチの CPU がハードウェア アドレス テーブルを変更して、指定のマルチキャスト ストリームをマルチキャスト VLAN から受信したときの転送先として、レシーバ ポートと VLAN を追加します。マルチキャスト VLAN との間でマルチキャスト データを送受信するアップリンク ポートを、MVR 送信元ポートと呼びます。
図 23-3 MVR の例
加入者がチャネルを切り替えた場合、またはテレビのスイッチを切った場合には、セットトップ ボックスからマルチキャスト ストリームに対する IGMP Leave メッセージが送信されます。スイッチの CPU は、レシーバ ポートの VLAN 経由で MAC ベースの一般クエリーを送信します。VLAN に、このグループに加入している別のセットトップ ボックスがある場合、そのセットトップ ボックスはクエリーに指定された最大応答時間内に応答しなければなりません。応答を受信しなかった場合、CPU はこのグループの転送先としての受信ポートを除外します。
即時脱退機能を使用しない場合、レシーバ ポートの加入者から IGMP Leave メッセージを受信したスイッチは、そのポートに IGMP クエリーを送信し、IGMP グループ メンバーシップ レポートを待ちます。設定された時間内にレポートを受信しなかった場合は、受信ポートがマルチキャスト グループ メンバーシップから削除されます。即時脱退機能がイネーブルの場合、IGMP Leave を受信したレシーバ ポートから IGMP クエリーが送信されません。Leave メッセージの受信後ただちに、受信ポートがマルチキャスト グループ メンバーシップから削除されるので、脱退遅延時間が短縮されます。即時脱退機能をイネーブルにするのは、接続されているレシーバ デバイスが 1 つだけのレシーバ ポートに限定してください。
MVR を使用すると、各 VLAN の加入者に対してテレビ チャネルのマルチキャスト トラフィックを重複して送信する必要がなくなります。すべてのチャネル用のマルチキャスト トラフィックは、マルチキャスト VLAN 上でのみ、VLAN トランクに 1 回だけ送信されます。IGMP Leave および Join メッセージは、加入者ポートが割り当てられている VLAN で送信されます。これらのメッセージは、レイヤ 3 デバイス上のマルチキャスト VLAN のマルチキャスト トラフィック ストリームに対して動的に登録されます。スイッチ B アクセス レイヤ スイッチ(スイッチ A)は、2 つの VLAN 間でのトラフィック伝送を選択的に許可し、マルチキャスト VLAN から別の VLAN 上の加入者ポートにトラフィックが転送されるように転送動作を変更します。
IGMP レポートは、マルチキャスト データと同じ IP マルチキャスト グループ アドレスに送信されます。スイッチ A の CPU は、レシーバ ポートから送られたすべての IGMP Join および Leave メッセージを取り込み、MVR モードに基づいて、送信元(アップリンク)ポートのマルチキャスト VLAN に転送しなければなりません。
MVR の設定
ここでは、次の設定について説明します。
• 「MVR のデフォルト設定」
• 「MVR 設定時の注意事項および制限事項」
• 「MVR グローバル パラメータの設定」
• 「MVR インターフェイスの設定」
MVR のデフォルト設定
表 23-5 に、MVR のデフォルト設定を示します。
表 23-5 MVR のデフォルト設定
|
|
MVR |
グローバルおよびインターフェイス単位でディセーブル |
マルチキャスト アドレス |
未設定 |
クエリーの応答時間 |
0.5 秒 |
マルチキャスト VLAN |
VLAN 1 |
モード |
compatible |
インターフェイスのデフォルト(ポート単位) |
受信ポートでも送信元ポートでもない |
即時脱退 |
すべてのポートでディセーブル |
MVR 設定時の注意事項および制限事項
MVR を設定するときには、次の注意事項に従ってください。
• 受信ポートはアクセス ポートでなければなりません。トランク ポートにはできません。スイッチのレシーバ ポートは異なる VLAN に属していてもかまいませんが、マルチキャスト VLAN に属することはできません。
• スイッチ上で設定できるマルチキャスト エントリ(MVR グループ アドレス)の最大数(受信できるテレビ チャネルの最大数)は 256 です。
• 送信元 VLAN で受信され、レシーバ ポートから脱退する MVR マルチキャスト データは、スイッチで存続可能時間(TTL)が 1 だけ少なくなります。
• スイッチ上の MVR は、MAC マルチキャスト アドレスではなく IP マルチキャスト アドレスを使用するので、スイッチ上でエイリアスの IP マルチキャスト アドレスを使用できます。ただし、スイッチが Catalyst 3550 または Catalyst 3500 XL スイッチと連携動作している場合は、それらの間でエイリアスとして使用される IP アドレスや予約済みの IP マルチキャスト アドレス(224.0.0.xxx 範囲内)を設定する必要はありません。
• プライベート VLAN ポートに MVR を設定しないでください。
• スイッチ上でマルチキャスト ルーティングがイネーブルの場合、MVR はサポートされません。MVR がイネーブルの場合に、マルチキャスト ルーティングおよびマルチキャスト ルーティング プロトコルをイネーブルにすると、MVR がディセーブルになり、警告メッセージが表示されます。マルチキャスト ルーティングおよびマルチキャスト ルーティング プロトコルがイネーブルの場合に、MVR をイネーブルにしようとすると、MVR をイネーブルにする操作が取り消され、エラー メッセージが表示されます。
• MVR はスイッチで IGMP スヌーピングと共存できます。
• MVR 受信ポートで受信した MVR データは、MVR 送信元ポートに転送されません。
• MVR は IGMPv3 メッセージをサポートしていません。
MVR グローバル パラメータの設定
デフォルト値を使用する場合は、オプションの MVR パラメータを設定する必要はありません。デフォルトのパラメータを変更する場合には(MVR VLAN 以外)、最初に MVR をイネーブルにする必要があります。
(注) ここで使用するコマンドの構文および使用方法の詳細については、このリリースに対応するコマンド リファレンスを参照してください。
MVR パラメータを設定するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
mvr |
スイッチ上で MVR をイネーブルに設定します。 |
ステップ 3 |
mvr group ip-address [ count ] |
スイッチ上で IP マルチキャスト アドレスを設定するか、または count パラメータを使用して、連続する MVR グループ アドレスを設定します( count の範囲は 1 ~ 256、デフォルトは 1)。このアドレスに送信されたマルチキャスト データは、スイッチ上のすべての送信元ポートおよびそのマルチキャスト アドレスのデータを受信するために選ばれた、すべてのレシーバ ポートに送信されます。マルチキャスト アドレスとテレビ チャネルは 1 対 1 の対応です。 |
ステップ 4 |
mvr querytime value |
(任意)マルチキャスト グループ メンバーシップからポートを削除する前に、レシーバ ポートで IGMP レポートのメンバーシップを待機する最大時間を設定します。この値は 10 分の 1 秒単位で設定します。範囲は 1 ~ 100、デフォルトは 10 分の 5 秒、つまり 0.5 秒です。 |
ステップ 5 |
mvr vlan vlan-id |
(任意)マルチキャスト データを受信する VLAN を指定します。すべての送信元ポートをこの VLAN に所属させる必要があります。VLAN の範囲は 1 ~ 1001 および 1006 ~ 4094 です。デフォルトは VLAN 1 です。 |
ステップ 6 |
mvr mode { dynamic | compatible } |
(任意)MVR の動作モードを指定します。 • dynamic :送信元ポートでダイナミック MVR メンバーシップを使用できます。 • compatible :Catalyst 3500 XL スイッチおよび Catalyst 2900 XL スイッチとの互換性が得られます。送信元ポートでのダイナミック IGMP Join はサポートされません。 デフォルトは compatible モードです。 |
ステップ 7 |
end |
特権 EXEC モードに戻ります。 |
ステップ 8 |
show mvr または show mvr members |
設定を確認します。 |
ステップ 9 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
スイッチをデフォルトの設定に戻すには、 no mvr [ mode | group ip-address | querytime | vlan ] グローバル コンフィギュレーション コマンドを使用します。
次に、MVR をイネーブルにして、MVR グループ アドレスを設定し、クエリー タイムを 1 秒(10 分の 10 秒)に設定し、MVR マルチキャスト VLAN を VLAN 22 として指定し、MVR モードをダイナミックに設定する例を示します。
Switch(config)# mvr group 228.1.23.4
Switch(config)# mvr querytime 10
Switch(config)# mvr vlan 22
Switch(config)# mvr mode dynamic
show mvr members 特権 EXEC コマンドを使用すると、スイッチ上の MVR マルチキャスト グループ アドレスを確認できます。
MVR インターフェイスの設定
レイヤ 2 MVR インターフェイスを設定するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
mvr |
スイッチ上で MVR をイネーブルに設定します。 |
ステップ 3 |
interface interface-id |
設定するレイヤ 2 ポートを指定し、インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 4 |
mvr typ e { source | receiver } |
MVR ポートを次のいずれかに設定します。 • source :マルチキャスト データを送受信するアップリンク ポートを送信元ポートとして設定します。加入者が送信元ポートに直接接続することはできません。スイッチ上のすべての送信元ポートは、単一マルチキャスト VLAN に所属します。 • receiver :加入者ポートであり、マルチキャスト データを受信するだけの場合、レシーバ ポートとしてポートを設定します。受信ポートは、スタティックな設定、または IGMP Leave および Join メッセージによってマルチキャスト グループのメンバーになるまでは、データを受信しません。受信ポートをマルチキャスト VLAN に所属させることはできません。 デフォルトでは、非 MVR ポートとして設定されます。非 MVR ポートに MVR 特性を設定しようとしても、エラーになります。 |
ステップ 5 |
mvr vlan vlan-id group [ ip-address ] |
(任意)マルチキャスト VLAN および IP マルチキャスト アドレスに送信されたマルチキャスト トラフィックを受信するポートを静的に設定します。グループ メンバとして静的に設定されたポートは、静的に削除されない限り、グループ メンバのままです。 (注) 互換モードでは、このコマンドが適用されるのはレシーバ ポートだけです。ダイナミック モードでは、レシーバ ポートおよび送信元ポートに適用されます。 レシーバ ポートは、IGMP Join および Leave メッセージを使用することによって、マルチキャスト グループに動的に加入することもできます。 |
ステップ 6 |
mvr immediate |
(任意)ポート上で MVR の即時脱退機能をイネーブルにします。 (注) このコマンドが適用されるのは、受信ポートだけです。また、イネーブルにするのは、単一の受信デバイスが接続されている受信ポートに限定してください。 |
ステップ 7 |
end |
特権 EXEC モードに戻ります。 |
ステップ 8 |
show mvr show mvr interface または show mvr members |
設定を確認します。 |
ステップ 9 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
インターフェイスをデフォルトの設定に戻すには、 no mvr [ type | immediate | vlan vlan-id | group ] インターフェイス コンフィギュレーション コマンドを使用します。
次に、ポートをレシーバ ポートとして設定し、マルチキャスト グループ アドレスに送信されたマルチキャスト トラフィックを受信するようにポートを静的に設定し、ポートに即時脱退機能を設定し、結果を確認する例を示します。
Switch(config)# interface gigabitethernet0/2
Switch(config-if)# mvr type receiver
Switch(config-if)# mvr vlan 22 group 228.1.23.4
Switch(config-if)# mvr immediate
Switch# show mvr interface
Port Type Status Immediate Leave
---- ---- ------- ---------------
Gi0/2 RECEIVER ACTIVE/DOWN ENABLED
IGMP フィルタリングおよびスロットリングの設定
都市部や Multiple-Dwelling Unit(MDU)などの環境では、スイッチ ポート上のユーザが属する一連のマルチキャスト グループを制御する必要があります。この機能を使用することにより、IP/TV などのマルチキャスト サービスの配信を、特定タイプの契約またはサービス計画に基づいて制御できます。また、マルチキャスト グループの数を、スイッチ ポート上でユーザが所属できる数に制限することもできます。
IGMP フィルタリング機能を使用すると、IP マルチキャスト プロファイルを設定し、それらを各スイッチ ポートに関連付けて、ポート単位でマルチキャスト加入をフィルタリングできます。IGMP プロファイルにはマルチキャスト グループを 1 つまたは複数格納して、グループへのアクセスを許可するか拒否するかを指定できます。マルチキャスト グループへのアクセスを拒否する IGMP プロファイルがスイッチ ポートに適用されると、IP マルチキャスト トラフィックのストリームを要求する IGMP Join レポートが廃棄され、ポートはそのグループからの IP マルチキャスト トラフィックを受信できなくなります。マルチキャスト グループへのアクセスがフィルタリング アクションで許可されている場合は、ポートからの IGMP レポートが転送されて、通常の処理が行われます。レイヤ 2 インターフェイスが加入できる IGMP グループの最大数も設定できます。
IGMP フィルタリングで制御されるのは、グループ固有のクエリーおよびメンバーシップ レポート(Join および Leave レポートを含む)だけです。一般 IGMP クエリーは制御されません。IGMP フィルタリングは、IP マルチキャスト トラフィックの転送を指示する機能とは無関係です。フィルタリング機能は、マルチキャスト トラフィックの転送に CGMP が使用されているか、または MVR が使用されているかに関係なく、同じように動作します。
IGMP フィルタリングが適用されるのは、IP マルチキャスト グループ アドレスを動的に学習する場合だけです。静的な設定には適用されません。
IGMP スロットリング機能を使用すると、レイヤ 2 インターフェイスが加入できる IGMP グループの最大数を設定できます。IGMP グループの最大数が設定され、IGMP スヌーピング転送テーブルに最大数のエントリが登録されていて、インターフェイスで IGMP Join レポートを受信する場合、インターフェイスを設定することにより、IGMP レポートを廃棄するか、あるいは受信した IGMP レポートでランダムに選択されたマルチキャスト エントリを上書きします。
(注) IGMP フィルタリングが実行されているスイッチは、IGMPv3 Join および Leave メッセージをサポートしていません。
ここでは、次の設定について説明します。
• 「IGMP フィルタリングおよび IGMP スロットリングのデフォルト設定」
• 「IGMP プロファイルの設定」(任意)
• 「IGMP プロファイルの適用」(任意)
• 「IGMP グループの最大数の設定」(任意)
• 「IGMP スロットリング アクションの設定」(任意)
IGMP フィルタリングおよび IGMP スロットリングのデフォルト設定
表 23-7 に、IGMP フィルタリングのデフォルト設定を示します。
表 23-7 IGMP フィルタリングのデフォルト設定
|
|
IGMP フィルタ |
適用されない |
IGMP グループの最大数 |
最大数は設定されない |
IGMP プロファイル |
未設定 |
IGMP プロファイル アクション |
範囲で示されたアドレスを拒否 |
転送テーブルに登録されているグループが最大数に達していると、デフォルトの IGMP スロットリング アクションは IGMP レポートを拒否します。設定時の注意事項については、「IGMP スロットリング アクションの設定」を参照してください 。
IGMP プロファイルの設定
IGMP プロファイルを設定するには、 ip igmp profile グローバル コンフィギュレーション コマンドおよびプロファイル番号を使用して、IGMP プロファイルを作成し、IGMP プロファイル コンフィギュレーション モードを開始します。ポートから送信される IGMP Join 要求をフィルタリングするために使用される IGMP プロファイルのパラメータは、このモードから指定できます。IGMP プロファイル コンフィギュレーション モードでは、次のコマンドを使用することでプロファイルを作成できます。
• deny :一致するアドレスを拒否します。デフォルトで設定されています。
• exit :IGMP プロファイル コンフィギュレーション モードを終了します。
• no :コマンドを否定するか、または設定をデフォルトに戻します。
• permit :一致するアドレスを許可します。
• range :プロファイルの IP アドレス範囲を指定します。単一の IP アドレス、または開始アドレスと終了アドレスで指定された IP アドレス範囲を入力できます。
デフォルトでは、スイッチには IGMP プロファイルが設定されていません。プロファイルが設定されており、 permit および deny キーワードがいずれも指定されていない場合、デフォルトでは、IP アドレス範囲へのアクセスが拒否されます。
IGMP プロファイルを作成するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
ip igmp profile profile number |
設定するプロファイルに番号を割り当て、IGMP プロファイル コンフィギュレーション モードを開始します。プロファイル番号の範囲は 1 ~ 4294967295 です。 |
ステップ 3 |
permit | deny |
(任意)IP マルチキャスト アドレスへのアクセスを許可または拒否するアクションを設定します。アクションを設定しないと、プロファイルのデフォルト設定はアクセス拒否になります。 |
ステップ 4 |
range ip multicast address |
アクセスが制御される IP マルチキャスト アドレスまたは IP マルチキャスト アドレス範囲を入力します。範囲を入力する場合は、IP マルチキャスト アドレスの下限値、スペースを 1 つ、IP マルチキャスト アドレスの上限値を入力します。 range コマンドを複数回入力すると、複数のアドレスまたはアドレス範囲を入力できます。 |
ステップ 5 |
end |
特権 EXEC モードに戻ります。 |
ステップ 6 |
show ip igmp profile profile number |
プロファイルの設定を確認します。 |
ステップ 7 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
プロファイルを削除するには、 no ip igmp profile profile number グローバル コンフィギュレーション コマンドを使用します。
IP マルチキャスト アドレスまたは IP マルチキャスト アドレス範囲を削除するには、 no range ip multicast address IGMP プロファイル コンフィギュレーション コマンドを使用します。
次に、単一の IP マルチキャスト アドレスへのアクセスを許可する IGMP プロファイル 4 を作成して、設定を確認する例を示します。アクションが拒否(デフォルト)である場合は、 show ip igmp profile の出力には表示されません。
Switch(config)# ip igmp profile 4
Switch(config-igmp-profile)# permit
Switch(config-igmp-profile)# range 229.9.9.0
Switch(config-igmp-profile)# end
Switch# show ip igmp profile 4
range 229.9.9.0 229.9.9.0
IGMP プロファイルの適用
IGMP プロファイルの定義に従ってアクセスを制御するには、 ip igmp filter インターフェイス コンフィギュレーション コマンドを使用して、プロファイルを該当するインターフェイスに適用します。IGMP プロファイルを適用できるのは、レイヤ 2 アクセス ポートだけです。ルーテッド ポートや SVI には適用できません。EtherChannel ポート グループに所属するポートに、プロファイルを適用することはできません。1 つのプロファイルを複数のインターフェイスに適用できますが、1 つのインターフェイスに適用できるプロファイルは 1 つだけです。
スイッチ ポートに IGMP プロファイルを適用するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface interface-id |
物理インターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。インターフェイスは、EtherChannel ポート グループに所属していないレイヤ 2 ポートでなければなりません。 |
ステップ 3 |
ip igmp filter profile number |
指定された IGMP プロファイルをインターフェイスに適用します。指定できる範囲は 1 ~ 4294967295 です。 |
ステップ 4 |
end |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show running-config interface interface-id |
設定を確認します。 |
ステップ 6 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
インターフェイスからプロファイルを削除するには、 no ip igmp filter profile number インターフェイス コンフィギュレーション コマンドを使用します。
次に、ポートに IGMP プロファイル 4 を適用する例を示します。
Switch(config)# interface gigabitethernet0/2
Switch(config-if)# ip igmp filter 4
IGMP グループの最大数の設定
レイヤ 2 インターフェイスが加入できる IGMP グループの最大数を設定するには、 ip igmp max-groups インターフェイス コンフィギュレーション コマンドを使用します。最大数をデフォルト設定(制限なし)に戻すには、このコマンドの no 形式を使用します。
この制限が適用されるのはレイヤ 2 ポートだけです。ルーテッド ポートや SVI には IGMP グループの最大数を設定できません。また、このコマンドを論理 EtherChannel インターフェイスでも使用することはできますが、EtherChannel ポート グループに属するポート上では、使用できません。
転送テーブルの IGMP グループの最大数を設定するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface interface-id |
設定するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。インターフェイスは、EtherChannel ポート グループに所属しないレイヤ 2 ポート、または EtherChannel インターフェイスのいずれかにできます。 |
ステップ 3 |
ip igmp max-groups number |
インターフェイスが加入できる IGMP グループの最大数を設定します。指定できる範囲は 0 ~ 4294967294 です デフォルトでは最大数は設定されません。 |
ステップ 4 |
end |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show running-config interface interface-id |
設定を確認します。 |
ステップ 6 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
グループの最大数に関する制限を削除し、デフォルト設定(制限なし)に戻すには、 no ip igmp max-groups インターフェイス コンフィギュレーション コマンドを使用します。
次に、ポートが加入できる IGMP グループ数を 25 に制限する例を示します。
Switch(config)# interface gigabitethernet0/2
Switch(config-if)# ip igmp max-groups 25
IGMP スロットリング アクションの設定
レイヤ 2 インターフェイスが加入できる IGMP グループの最大数を設定した後、 ip igmp max-groups action replace インターフェイス コンフィギュレーション コマンドを使用して受信した IGMP レポートの新しいグループで、既存のグループを上書きします。IGMP Join レポートを廃棄するデフォルトの設定に戻すには、このコマンドの no 形式を使用します。
IGMP スロットリング アクションを設定する場合には、次の注意事項に従ってください。
• この制限事項は、レイヤ 2 ポートにだけ適用されます。このコマンドは、論理 EtherChannel インターフェイスでは使用できますが、EtherChannel ポート グループに属するポートでは使用できません。
• グループの最大数に関する制限がデフォルト(制限なし)に設定されている場合、 ip igmp max-groups action { deny | replace } コマンドを入力しても効果はありません。
• インターフェイスによりマルチキャスト エントリが転送テーブルに追加されてから、スロットリング アクションを設定し、グループの最大数の制限を設定すると、転送テーブルのエントリは、スロットリング アクションに応じて期限切れになるか削除されます。
– スロットリング アクションを deny に設定すると、すでに転送テーブルに登録されていたエントリは、削除されることはありませんが期限切れになります。エントリが期限切れになり、最大数のエントリが転送テーブルに登録されていると、スイッチは、インターフェイスで受信した次の IGMP レポートを廃棄します。
– スロットリング アクションを replace に設定すると、すでに転送テーブルに登録されていたエントリは削除されます。転送テーブルのエントリが最大数まで達したら、スイッチはランダムに選択したエントリを受信した IGMP レポートで上書きします。
スイッチが転送テーブルのエントリを削除しないようにするには、インターフェイスにより転送テーブルにエントリが追加される前に、IGMP スロットリング アクションを設定します。
転送テーブルに最大数のエントリが登録されているときにスロットリング アクションを設定するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface interface-id |
設定する物理インターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。インターフェイスは、EtherChannel ポート グループに所属しないレイヤ 2 ポート、または EtherChannel インターフェイスのいずれかにできます。トランク ポートをインターフェイスにすることはできません。 |
ステップ 3 |
ip igmp max-groups action { deny | replace } |
インターフェイスが IGMP レポートを受信したときに、転送テーブルに最大数のエントリが登録されている場合は、次のいずれかのアクションをインターフェイスに指定します。 • deny :レポートを廃棄します。 • replace :既存のグループを、IGMP レポートを受信した新しいグループで上書きします。 |
ステップ 4 |
end |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show running-config interface interface-id |
設定を確認します。 |
ステップ 6 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
レポートの廃棄というデフォルトのアクションに戻すには、 no ip igmp max-groups action インターフェイス コンフィギュレーション コマンドを使用します。