この章では、ローカル Internet Group Management Protocol(IGMP)スヌーピングのアプリケーションである Multicast VLAN Registration(MVR)など、Catalyst 3550 スイッチに IGMP スヌーピングを設定する方法について説明します。また、IGMP フィルタリングを使用してマルチキャスト グループ メンバーシップを制御する手順および IGMP スロットリング動作の設定手順についても説明します。
- ・ IGMP スヌーピングの概要
- ・ IGMP スヌーピングの設定
- ・ IGMP スヌーピング情報の表示
- ・ MVR の概要
- ・ MVR の設定
- ・ MVR 情報の表示
- ・ IGMP フィルタリングおよびスロットリングの設定
- ・ IGMP フィルタリングおよびスロットリング設定の表示
IGMP スヌーピングの概要
レイヤ 2 スイッチは、IGMP スヌーピングを使用してレイヤ 2 インターフェイスを動的に設定することにより、マルチキャスト トラフィックのフラッディングを抑制するため、マルチキャスト トラフィックが IP マルチキャスト デバイスに対応付けられたインターフェイスにだけ転送されます。名前が示すとおり、IGMP スヌーピングでは、LAN スイッチはホストとルータの間で IGMP 伝送をスヌーピングし、マルチキャスト グループとメンバー ポートを追跡する必要があります。スイッチは、特定のマルチキャスト グループのホストから IGMP レポートを受け取ると、転送テーブル エントリにホストのポート番号を追加します。また、ホストから IGMP Leave Group メッセージを受け取ると、テーブル エントリからホスト ポートを削除します。また、マルチキャスト クライアントから IGMP メンバーシップ レポートを受信しない場合、定期的にエントリの削除も行います。
マルチキャスト ルータ(Enhanced Multilayer Software Image[EMI; 拡張マルチレイヤ ソフトウェア イメージ] 搭載の Catalyst 3550 スイッチも含む)は、すべての VLAN(仮想 LAN)に定期的に一般クエリーを送出します。このマルチキャスト トラフィックを必要とするすべてのホストは、Join 要求を送信し、これによって転送テーブルのエントリに追加されます。スイッチは、マルチキャスト ルータに対し、IP マルチキャスト グループごとに 1 つだけ Join 要求を転送します。IGMP Join 要求の送信元である各 MAC グループについて、レイヤ 2 転送テーブルの VLAN ごとに 1 つのエントリを作成します。
IGMP スヌーピングを通じて学習するレイヤ 2 マルチキャスト グループは、ダイナミックです。ただし、 ip igmp snooping vlan static グローバル コンフィギュレーション コマンドを使用すると、MAC マルチキャスト グループをスタティックに設定できます。マルチキャスト グループ アドレスのグループ メンバーシップをスタティックに設定すると、その設定は IGMP スヌーピングによるどの自動操作よりも優先されます。マルチキャスト グループ メンバーシップのリストは、ユーザ側の定義した設定と IGMP スヌーピングにより学習された設定の両方で構成されます。
ポート スパニングツリー、ポート グループ、または VLAN ID が変更された場合、VLAN 上のこのポートから IGMP スヌーピングで学習されたマルチキャスト グループは削除されます。
ここでは、スイッチの IGMP スヌーピングの特性について説明します。
- ・ IGMP バージョン
- ・ マルチキャスト グループへの加入
- ・ マルチキャスト グループからの脱退
- ・ 即時脱退処理
- ・ IGMP 設定変更可能な leave タイマー
- ・ IGMP レポート抑制
- ・ 送信元専用ネットワーク
IGMP バージョン
スイッチは、 IGMP バージョン 1、IGMP バージョン 2、IGMP バージョン 3 をサポートします。これらのバージョンは、スイッチではインターオペラビリティがあります。たとえば、IGMPv2 スイッチで IGMP スヌーピングがイネーブルで、スイッチが IGMPv3 レポートをホストから受信する場合、スイッチは IGMPv3 レポートをマルチキャスト ルータへ転送できます。
IGMPv3 スイッチは、Basic IGMPv3 Snooping Support(BISS)をサポートします。BISS には、IGMPv1 および IGMPv2 スイッチのスヌーピング機能のサポートと、IGMPv3 メンバーシップ レポート メッセージのサポートが含まれます。ネットワークに IGMPv3 ホストが含まれる場合、BISS はマルチキャスト トラフィックのフラッディングを抑制します。BISS は、IGMPv2 または IGMPv1 ホストの IGMP スヌーピング機能とほぼ同じ一連のポートにまで、トラフィックを抑制します。
IGMPv3 スイッチは、Source Specific Multicast(SSM)機能を実行するデバイスとの間でメッセージを受信したり、メッセージを転送したりします。詳細については、『 Catalyst 4500 Series Switch Cisco IOS Software Configuration Guide 』 Cisco IOS Release 12.1(12c)EW の「Configuring IP Multicast Layer 3 Switching」の章を参照してください。URL は次のとおりです。
http://www.cisco.com/univercd/cc/td/doc/product/lan/cat4000/12_1_12/config/mcastmls.htm
マルチキャスト グループへの加入
スイッチに接続されたホストが IP マルチキャスト グループに加入しようとする場合、加入したい IGMP マルチキャスト グループを指定して非送信請求の IGMP Join メッセージを送信します。また、スイッチはルータから一般クエリーを受信すると、VLAN 内のすべてのポートにそのクエリーを転送します。マルチキャスト グループに加入しようとするホストは、スイッチに Join メッセージを送信して応答します。スイッチの CPU は、グループのマルチキャスト転送テーブル エントリがまだ作成されていないと、これを作成します。また、Join メッセージを受信したインターフェイスの転送テーブル エントリへの追加も行います。そのインターフェイスに関連付けられているホストは、マルチキャスト グループのマルチキャスト トラフィックを受信します。 図21-1 を参照してください。
図21-1 最初の IGMP Join メッセージ
ルータ A がスイッチに一般クエリーを送信し、スイッチがそのクエリーを同じ VLAN のすべてのメンバーであるポート 2 〜 5 に転送します。ホスト 1 はマルチキャスト グループ 224.1.2.3 に加入を希望し、該当する MAC 宛先アドレス 0x0100.5E01.0203 を持つグループに IGMP メンバーシップ レポート(IGMP Join メッセージ)をマルチキャストします。CPU はホスト 1 による IGMP レポート マルチキャストを受け取ると、IGMP レポート内の情報を使用して転送テーブルのエントリを設定します( 表21-1 を参照)。このエントリには、ホスト 1 のポート番号、ルータ、およびスイッチ内蔵 CPU が含まれます。
スイッチのハードウェアが IGMP 情報パケットをマルチキャスト グループのその他のパケットと区別できることに注意してください。
- ・ テーブルの最初のエントリでは、スイッチ CPU だけに IGMP パケットを送信するように、スイッチング エンジンに指示します。これにより、CPU がマルチキャスト フレームによって過負荷になることはありません。
- ・ 2 番めのエントリは、0x0100.5E01.0203 マルチキャスト MAC アドレス宛の、IGMP パケットではない(!IGMP)フレームを、ルータおよびグループに加入しているホストに送信するように、スイッチング エンジンに指示します。
別のホスト(たとえば、ホスト 4)が同じグループに非送信請求の IGMP Join メッセージを送信する場合( 図21-2 を参照)、CPU はメッセージを受信して、転送テーブルにホスト 4 のポート番号を追加します( 表21-2 を参照)。転送テーブルは CPU にだけ向けて IGMP メッセージを送るため、メッセージはスイッチのその他のポートにはフラッディングしないことに注意してください。既知のマルチキャスト トラフィックはグループには転送されますが、CPU には転送されません。
図21-2 2 番めのホストのマルチキャスト グループへの加入
マルチキャスト グループからの脱退
ルータは定期的にマルチキャスト一般クエリーを送信し、スイッチはこのクエリーを VLAN のすべてのポートを通じて転送します。このクエリーを必要とするホストがこれに応答します。VLAN にマルチキャスト トラフィックを必要とするホストが 1 つでもあれば、ルータは VLAN にマルチキャスト トラフィックを転送し続けます。スイッチがマルチキャスト グループ トラフィックを転送するのは、そのレイヤ 2 マルチキャスト グループの転送テーブルにリストされているホストに限られます。
ホストは、マルチキャスト グループを脱退する場合、メッセージを送信せずに脱退することも、Leave メッセージを送信することもできます。スイッチは、ホストから Leave メッセージを受信すると、グループ固有のクエリーを送出して、そのインターフェイスに接続しているその他のデバイスが、特定のマルチキャスト グループのトラフィックを必要としているかどうかを調べます。次に、その MAC グループの転送テーブルをアップデートして、そのグループのマルチキャスト トラフィックを必要とするホストだけが転送テーブルにリストされるようにします。ルータは、VLAN からのレポートを受信しなかった場合は、IGMP キャッシュからその VLAN のグループを削除します。
即時脱退処理
即時脱退は、IGMPv2 のホストについてのみサポートされます。
IGMP スヌーピングの即時脱退処理を使用して、スイッチは、グループ固有のクエリーをインターフェイスに送信することなく、転送テーブルから Leave メッセージを送信したインターフェイスを削除します。VLAN インターフェイスは、最初の Leave メッセージで指定されたマルチキャスト グループのマルチキャスト ツリーから削除されます。即時脱退処理によって、複数のマルチキャスト グループを同時に使用する場合でも、スイッチド ネットワーク上のすべてのホストに対して最適な帯域幅管理を行うことができます。
IGMP 設定変更可能な leave タイマー
Cisco IOS Release 12.2(25)SEA より前のリリースでは、IGMP スヌーピング脱退時間は 5 秒に固定されていました。クエリーの応答時間が満了する前に、メンバーシップ レポートがスイッチによって受信されない場合、ポートはマルチキャスト グループ メンバーシップから削除されました。ただし、一部のアプリケーションでは 5 秒以内の脱退遅延時間を必要とします。
Cisco IOS Release 12.2(25)SEB 以降のリリースでは、ホストが特定のマルチキャスト グループと関係しているかを判別するために、グループ固有のクエリーを送信したあとスイッチが待機する時間を設定できます。IGMP 脱退応答時間は 100 〜 5000 ミリ秒で設定できます。タイマーはグローバルに、または VLAN 単位で設定できます。脱退時間の VLAN 設定は、グローバル設定より優先されます。
IGMP レポート抑制
スイッチは、IGMP レポート抑制を使用して、マルチキャスト ルータ クエリー単位で 1 つの IGMP レポートのみをマルチキャスト デバイスに転送します。IGMP ルータ抑制がイネーブルの場合(デフォルト)、スイッチは最初の IGMP レポートをグループのすべてのホストからすべてのマルチキャスト ルータに送信します。スイッチは、グループの残りの IGMP レポートはマルチキャスト ルータに送信しません。この機能は、レポートが重複して マルチキャスト デバイスに送信されるのを防止します。
マルチキャスト ルータ クエリーに IGMPv1 および IGMPv2 レポート専用の要求が含まれている場合、スイッチは最初に IGMPv1 または IGMPv2 レポートのみをグループのすべてのホストからすべてのマルチキャスト ルータに転送します。
マルチキャスト ルータ クエリーに IGMPv3 レポートの要求も含まれている場合、スイッチはグループの IGMPv1、IGMPv2、および IGMPv3 レポートすべてをマルチキャスト デバイス に転送します。
IGMP レポート抑制をディセーブルにする場合、すべての IGMP レポートがマルチキャスト ルータ に転送されます。
送信元専用ネットワーク
送信元専用ネットワークでは、スイッチ ポートがマルチキャスト送信元ポートおよびマルチキャスト ルータ ポートに接続しています。スイッチ ポートは、IGMP Join または Leave メッセージを 送信するホストには接続していません。
スイッチは、送信元専用学習方式を使用して、IP マルチキャスト データ ストリームからの予約済み、宛先、マルチキャスト IP アドレス(224.0.0.x) によりエイリアスになる IP マルチキャスト グループについて学習します。スイッチは、 これらのマルチキャスト アドレスでエイリアスになるトラフィックをマルチキャスト ルータ ポートにのみ転送します。
トラフィック(エイリアスが予約済み、宛先、マルチキャスト IP アドレス) に対するデフォルトの学習方式は、IP マルチキャスト送信元専用学習方式です。 これらのマルチキャスト アドレスでエイリアスにならないトラフィックは、マルチキャスト送信元ポートおよびマルチキャスト ルータ ポートの両方に転送されます。予約済み、宛先、マルチキャスト IP アドレスによるトラフィックの IP マルチキャスト送信元専用学習をディセーブルにすることはできません。
デフォルトでは、送信元専用学習方式により学習されて、現在は使用されていない転送テーブル エントリでのスイッチの有効期限は切れています。エージング タイムが長すぎる、またはディセーブルの場合、スイッチが送信元専用学習または IGMP Join メッセージで学習した未使用のエントリで転送テーブルがいっぱいになります。スイッチが新しい IP マルチキャスト グループのトラフィックを受信すると、同じ VLAN 内のすべてのポートにパケットをフラッディングさせます。この不必要なフラッディングによって、スイッチのパフォーマンスに影響を与える可能性があります。
エージングがディセーブルで、スイッチが送信元専用学習を使用して学習したマルチキャスト アドレスを削除する場合は、転送テーブル エントリのエージングを再度イネーブルにします。これによりスイッチは送信元専用学習方式により学習されて、現在は使用されていないマルチキャスト アドレスを期限切れにします。
IGMP スヌーピングの設定
IGMP スヌーピングを使用すると、スイッチは、IGMP パケットを調べたり、その内容に基づいて転送を判断できるようになります。 スイッチで IGMP スヌーピングをイネーブルにして、外部マルチキャスト ルータを検出するには、VLAN 内のルータのレイヤ 3 インターフェイスがマルチキャスト ルーティング用に設定されている必要があります。詳細については、 第35章 「IP マルチキャスト ルーティングの設定」 を参照してください。
ここでは、IGMP スヌーピングを設定する方法について説明します。
- ・ IGMP スヌーピングのデフォルト設定
- ・ IGMP スヌーピングのイネーブル化またはディセーブル化
- ・ スヌーピング方式の設定
- ・ マルチキャスト ルータ ポートの設定
- ・ グループに加入するホストのスタティックな設定
- ・ IGMP 即時脱退処理のイネーブル化
- ・ IGMP leave タイマーの設定
- ・ TCN 関連コマンドの設定
- ・ IGMP レポート抑制のディセーブル化
- ・ エージング タイムの設定
- ・ IGMP スヌーピング情報の表示
IGMP スヌーピングのデフォルト設定
表21-3 に、IGMP スヌーピングのデフォルト設定を示します。
|
Topology Change Notification(TCN; トポロジー変更通知)フラッディング クエリー カウント |
|
IGMP スヌーピングのイネーブル化またはディセーブル化
デフォルトでは、IGMP スヌーピングはスイッチでグローバルにイネーブルです。グローバルにイネーブルまたはディセーブルに設定されていると、既存のすべての VLAN インターフェイスでもイネーブルまたはディセーブルになっています。IGMP スヌーピングは、デフォルトですべての VLAN でイネーブルになっていますが、VLAN 単位でイネーブルおよびディセーブルに設定することもできます。マルチキャスト ルーティング用に VLAN インターフェイスを設定しておくと、スイッチが IGMP スヌーピングを使用して、外部マルチキャスト ルータにダイナミックにアクセスするための設定は必要ありません。
グローバル IGMP スヌーピングは、VLAN IGMP スヌーピングに優先します。グローバル スヌーピングがディセーブルになっている場合は、VLAN スヌーピングをイネーブルにできません。グローバル スヌーピングがイネーブルの場合、VLAN スヌーピングはイネーブルまたはディセーブルのどちらにも設定できます。
スイッチで IGMP スヌーピングをグローバルにイネーブルにするには、イネーブル EXEC モードで次の手順を実行します。
すべての VLAN インターフェイスで IGMP スヌーピングをグローバルにディセーブルにするには、 no ip igmp snooping グローバル コンフィギュレーション コマンドを使用します。
VLAN インターフェイスで IGMP スヌーピングをイネーブルにするには、イネーブル EXEC モードで次の手順を実行します。
VLAN インターフェイスで IGMP スヌーピングをディセーブルにするには、指定された VLAN 番号について no ip igmp snooping vlan vlan-id グローバル コンフィギュレーション コマンドを使用します。
スヌーピング方式の設定
マルチキャスト対応ルータ ポートは、すべてのレイヤ 2 マルチキャスト エントリごとに転送テーブルに追加されます。スイッチは、次のいずれか 1 つの方式でそれらのポートを学習します。
- ・ 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 または proxy-join パケットのみを待ち受け、その他の CGMP パケットは待ち受けません。PIM/DVMRP パケットからのみマルチキャスト ルータ ポートを学習させるには、 ip igmp snooping vlan vlan-id mrouter learn pim-dvmrp グローバル コンフィギュレーション コマンドを使用します。
VLAN インターフェイスがマルチキャスト ルータにダイナミックにアクセスする方法を変更するには、イネーブル EXEC モードで次の手順を実行します。
|
ip igmp snooping vlan vlan-id mrouter learn { cgmp | pim-dvmrp } |
VLAN で IGMP スヌーピングをイネーブルにします。指定できる VLAN ID の範囲は 1 〜 4094 です。 |
|
次に、学習方式として CGMP パケットを使用するように IGMP スヌーピングを設定する例を示します。
Switch(config)# ip igmp snooping vlan 1 mrouter learn cgmp
デフォルトの学習方式に戻すには、 no ip igmp snooping vlan vlan-id mrouter learn cgmp グローバル コンフィギュレーション コマンドを使用します。
マルチキャスト ルータ ポートの設定
マルチキャスト ルータ ポートを追加する(マルチキャスト ルータにスタティック接続を追加する)には、スイッチで ip igmp snooping vlan mrouter グローバル コンフィギュレーション コマンドを使用します。
マルチキャスト ルータへのスタティック接続をイネーブルに設定するには、イネーブル EXEC モードで次の手順を実行します。
|
ip igmp snooping vlan vlan-id mrouter interface interface-id |
マルチキャスト ルータの VLAN ID を指定し、マルチキャスト ルータへのインターフェイスを指定します。指定できる VLAN ID の範囲は 1 〜 4094 です。 |
|
VLAN からマルチキャスト ルータ ポートを削除するには、 no ip igmp snooping vlan vlan-id mrouter interface interface-id グローバル コンフィギュレーション コマンドを使用します。
次に、マルチキャスト ルータへのスタティック接続をイネーブルに設定し、その設定を確認する例を示します。
Switch (config)# ip igmp snooping vlan 200 mrouter interface gigabitethernet0/1
グループに加入するホストのスタティックな設定
ホストまたはレイヤ 2 ポートは、通常はマルチキャスト グループにダイナミックに加入しますが、インターフェイスでホストをスタティックに設定することもできます。
マルチキャスト グループのメンバーとしてレイヤ 2 ポートを追加するには、イネーブル EXEC モードで次の手順を実行します。
|
ip igmp snooping vlan vlan-id static mac-address interface interface-id |
||
マルチキャスト グループからレイヤ 2 ポートを削除するには、 no ip igmp snooping vlan vlan-id static mac-address interface interface-id グローバル コンフィギュレーション コマンドを使用します。
次に、インターフェイスにスタティックにホストを設定し、その設定を確認する例を示します。
Switch(config)# ip igmp snooping vlan 1 static 0100.5e00.0203 interface gigabitethernet0/1
IGMP 即時脱退処理のイネーブル化
IGMP 即時脱退処理をイネーブルにすると、スイッチは、ポートで IGMPv2 Leave メッセージを検出してそのポートを削除します。即時脱退処理機能を使用するのは、VLAN の各ポートごとにレシーバーが 1 つ存在する場合だけにしてください。
IGMP 即時脱退処理をイネーブルにするには、イネーブル EXEC モードで次の手順を実行します。
VLAN 上で IGMP 即時脱退をディセーブルにするには、 no ip igmp snooping vlan vlan-id immediate-leave グローバル コンフィギュレーション コマンドを使用します。
次に、VLAN 130 で IGMP 即時脱退処理をイネーブルにする例を示します。
Switch(config)# ip igmp snooping vlan 130 immediate-leave
IGMP leave タイマーの設定
IGMP leave タイマー の設定時は、次の注意事項に従ってください。
- ・ 脱退時間はグローバルに、または VLAN 単位で設定できます。
- ・ VLAN に脱退時間を設定すると、グローバル設定より優先されます。
- ・ デフォルトの脱退時間は 1000 ミリ秒です。
- ・ IGMP 設定変更可能な脱退時間は IGMPv2 が稼働しているホストでのみサポートされます。
- ・ ネットワークの実際の脱退遅延時間は通常、設定された脱退時間です。ただし、脱退時間はリアルタイム CPU ロード条件、ネットワーク遅延、インターフェイスを介して送信されるトラフィック量に依存するので、設定時間とは異なる 場合があります。
IGMP 設定変更可能な leave タイマーをイネーブルにするには、イネーブル EXEC モードで次の手順を実行します。
|
ip igmp snooping vlan vlan-id last-member-query-interval time |
(任意)VLAN インターフェイスに IGMP 脱退時間を設定します。指定できる範囲は 100 〜 5000 ミリ秒です。
|
|
IGMP leave タイマーをグローバルにデフォルト設定(1000 ミリ秒)にリセットするには、 no ip igmp snooping last-member-query-interval グローバル コンフィギュレーション コマンドを使用します。
設定した IGMP 脱退時間設定を指定の VLAN から削除するには、 no ip igmp snooping vlan vlan-id last-member-query-interval グローバル コンフィギュレーション コマンドを使用します。
TCN 関連コマンドの設定
ここでは、TCN イベント中にフラッディングされるマルチキャスト トラフィックの制御方法について説明します。
TCN イベント後のマルチキャスト フラッディング タイムの制御
ip igmp snooping tcn flood query count グローバル コンフィギュレーション コマンドを使用して、TCN イベントの後にマルチキャスト トラフィックがフラッディングされている時間を制御できます。このコマンドは、TCN イベント後にマルチキャスト データ トラフィックがフラッディングされる一般的なクエリーの数を設定します。TCN イベントの例としては、クライアントが場所を変更したためレシーバーと同じポートになり、そのポートがブロックされていたのに現在は転送中の場合や、Leave メッセージなしにポートがダウンした場合などがあります。
ip igmp snooping tcn flood query count コマンドを使用して TCN フラッディング クエリー カウントを 1 に設定した場合、フラッディングは 1 つの一般的なクエリーを受信した後に停止します。カウントを 7 に設定した場合、TCN イベントによるマルチキャスト トラフィックのフラッディングは 7 つの一般的なクエリーを受信するまで継続されます。グループは、TCN イベント中に受信した一般的なクエリーに基づいて再学習されます。
TCN フラッディング クエリー カウントを設定するには、イネーブル EXEC モードで次の手順を行います。
|
マルチキャスト トラフィックがフラッディングされる IGMP 一般的クエリーの数を指定します。指定できる範囲は 1 〜 10 です。デフォルトではフラッディング クエリー カウントは 2 です。 |
||
デフォルトのフラッディング クエリー カウントに戻すには、 no ip igmp snooping tcn flood query count グローバル コンフィギュレーション コマンドを使用します。
フラッディング モードからの回復
トポロジーの変更が発生した場合、スパニングツリー ルートは、グループ マルチキャスト アドレスが 0.0.0.0 である特殊な IGMP Leave メッセージ(グローバル Leave メッセージとも呼ばれる)を送信します。ただし、 ip igmp snooping tcn query solicit グローバル コンフィギュレーション コマンドをイネーブルにすると、スパニングツリー ルートであるかどうかに関係なくスイッチはグローバル Leave メッセージを送信します。ルータがこの特殊な Leave メッセージを受信すると、即座に一般的なクエリーを送信します。これは TCN イベント中にフラッディング モードから回復するプロセスを迅速化するものです。このコンフィギュレーション コマンドに関係なく、スイッチがスパニングツリー ルートである場合、Leave メッセージは常に送信されます。デフォルトでは、クエリー送信請求はディセーブルに設定されています。
スパニングツリー ルートであるかどうかに関係なくスイッチでグローバル Leave メッセージを送信できるようにするには、イネーブル EXEC モードで次の手順を実行します。
|
IGMP Leave メッセージ(グローバル Leave メッセージ)を送信して、TCN イベント中のフラッディング モードからの回復プロセスを高速化します。デフォルトでは、クエリー送信請求はディセーブルに設定されています。 |
||
デフォルトのクエリー送信請求に戻すには、 no ip igmp snooping tcn query solicit グローバル コンフィギュレーション コマンドを使用します。
TCN イベント中のマルチキャスト フラッディングのディセーブル化
スイッチが TCN を受信すると、2 つの一般的なクエリーを受信するまでマルチキャスト トラフィックはすべてのポートにフラッディングされます。異なるマルチキャスト グループに加入するホストに接続されているポートがスイッチに数多くある場合、このフラッディングによってリンクの容量が超過しパケット損失が発生する可能性があります。 ip igmp snooping tcn flood インターフェイス コンフィギュレーション コマンドを使用してこの動作を制御できます。
インターフェイスでマルチキャスト フラッディングをディセーブルにするには、イネーブル EXEC モードで次の手順を実行します。
マルチキャスト フラッディングを再度イネーブルにするには、 ip igmp snooping tcn flood インターフェイス コンフィギュレーション コマンドを使用します。
IGMP レポート抑制のディセーブル化
デフォルトでは、IGMP レポート抑制はディセーブルです。IGMP レポート抑制をイネーブルにすると、スイッチはマルチキャスト ルータ クエリー単位で 1 つの IGMP レポートのみを転送します。レポート抑制をディセーブルにすると、すべての IGMP レポートがマルチキャスト ルータに転送されます。
IGMP レポート抑制をディセーブルにするには、イネーブル EXEC モードで次の手順を実行します。
IGMP レポート抑制を再度イネーブルにするには、 ip igmp snooping report-suppression グローバル コンフィギュレーション コマンドを使用します。
エージング タイムの設定
スイッチが、マルチキャスト送信元専用学習方式を使用して学習する転送テーブル エントリのエージング タイムを設定できます。
エージング タイムを設定するには、イネーブルEXECモードで次の手順を実行します。
|
エージング タイムを設定します。指定できる範囲は 0 〜 2880 秒です。デフォルト値は 600 秒(10 分)です。 |
||
転送テーブル エントリのエージングをディセーブルにするには、 ip igmp snooping source-only-learning age-timer 0 グローバル コンフィギュレーション コマンドを入力します。
IGMP スヌーピング情報の表示
ダイナミックに学習された、あるいはスタティックに設定されたルータ ポートおよび VLAN インターフェイスの IGMP スヌーピング情報を表示できます。IGMP スヌーピング用に設定した VLAN の MAC アドレス マルチキャスト エントリの表示もできます。
IGMP スヌーピング情報を表示するには、 表21-4 に示す 1 つまたは複数のイネーブル EXEC コマンドを使用します。
コマンドのキーワードおよびオプションの詳細については、このリリースのコマンド リファレンスを参照してください。
表21-4 のコマンドからの出力例については、このリリースのコマンド リファレンスを参照してください。
MVR の概要
MVR は、イーサネット リングベースのサービス プロバイダー ネットワークで、マルチキャスト トラフィックを広範囲に配信するアプリケーション(サービス プロバイダー ネットワークでの複数の TV チャネルのブロードキャストなど)用に設計された機能です。MVR により、ポート上の加入者は、ネットワーク全般のマルチキャスト VLAN のマルチキャスト ストリームに対して、加入または非加入を設定できます。ネットワーク上で 1 つのマルチキャスト VLAN を共有しながら、加入者は異なる VLAN に存続できます。 MVR を使用すると、マルチキャスト VLAN 内でマルチキャスト ストリームを継続的に送信しながら、帯域幅およびセキュリティを確保するために、加入者 VLAN からストリームを隔離できます。
MVR では、加入者ポートが、IGMP Join または Leave メッセージを送信することによって、マルチキャスト ストリームへの加入または非加入(Join または Leave)を実行することを前提にしています。このメッセージは、イーサネット接続の IGMPv2 互換ホストから発信できます。MVR は IGMP スヌーピングの基本メカニズムで動作しますが、2 つの機能は相互に独立して動作します。それぞれ、もう一方の動作に影響を与えることなくイネーブルまたはディセーブルにできます。ただし、IGMP スヌーピングと MVR がともにイネーブルの場合は、MVR は、MVR 上で設定されたマルチキャスト グループからの Join および Leave メッセージに対してのみ反応します。残りすべてのマルチキャスト グループからの Join および Leave メッセージは、IGMP スヌーピングによって管理されます。
スイッチの CPU は、MVR IP マルチキャスト ストリームおよびスイッチ転送テーブル上の関連 MAC アドレスを識別し、IGMP メッセージを代行受信します。また、レシーバーが送信元とは別の VLAN にいる場合でも、マルチキャスト ストリームのレシーバーとして加入者をテーブルに追加したりテーブルから削除したりするように転送テーブルを書き換えます。この転送動作は、さまざまな VLAN 間で通信されるトラフィックを選択的に許可します。
スイッチには、ダイナミック モードと互換モードという 2 つの MVR 動作モードがあります。
- ・ MVR ダイナミック モードで動作するときは、スイッチは標準 IGMP スヌーピングを実行します。IGMP 情報パケットはスイッチ CPU に送信されますが、マルチキャスト データ パケットは CPU に送信されません。ダイナミック モードでは、マルチキャスト ルータは正常に実行できます。これは、スイッチが IGMP Join メッセージをルータに送信し、ルータが、特定グループのインターフェイスから Join メッセージを受信した場合に限って、そのグループへのマルチキャスト ストリームをインターフェイスに転送するためです。受信ポートは、MVR マルチキャスト制御およびデータ トラフィックのマルチキャスト VLAN からのメンバーとして扱われます。MVR グループの IGMP レポートはマルチキャスト VLAN の送信元ポートから送出されます。
- ・ MVR 互換モードでは、Catalyst 3550 スイッチの MVR は、Catalyst 3500 XL および Catalyst 2900 XL スイッチの MVR と連動します。すべてのマルチキャスト データ パケット、および IGMP クエリーと脱退パケットについて、ダイナミック モードと同じ動作をします。ただし、受信された MVR グループの IGMP レポート パケットは、マルチキャスト VLAN の送信元ポートから送出されません。ダイナミック モードとは対照的に、スイッチはルータに Join メッセージを送信しません。ルータは、インターフェイスに対してマルチキャスト ストリームを受信するようスタティックに設定する必要があります。したがって、このモードでは、MVR は送信元ポートでのダイナミック メンバーシップ加入をサポートしません。
マルチキャスト TV アプリケーションでの MVR の使用方法
マルチキャスト TV アプリケーションでは、PC またはセットトップ ボックスを装備した TV で、マルチキャスト ストリームを受信できます。複数のセットトップ ボックスまたは複数の PC は、MVR のレシーバー ポートとして設定されたスイッチ ポートである、1 つの加入者ポートに接続できます。 図21-3 に、設定例を示します。セットトップ ボックスまたは PC には、DHCP によって IP アドレスが割り当てられます。 加入者がチャネルを選択すると、対応するマルチキャストに加入するために、セットトップ ボックスまたは PC からスイッチ A に対して IGMP レポートが送信されます。IGMP レポートが、設定済みのマルチキャスト MAC アドレスの 1 つと一致すると、スイッチの CPU は、ハードウェアのアドレス テーブルを変更し、指定されたマルチキャスト ストリームをマルチキャスト VLAN から受信した場合にそのマルチキャスト ストリームを転送する宛先として、このレシーバー ポートと VLAN をアドレス テーブルに追加します。マルチキャスト VLAN との間でマルチキャスト データを送受信するアップリンク ポートを、MVR 送信元ポートと呼びます。
加入者がチャネルを変更するか、TV をオフにすると、セットトップ ボックスからマルチキャスト ストリームの IGMP Leave メッセージが送信されます。スイッチの CPU は、レシーバー ポートの VLAN を介して、IGMP グループ別クエリーを送信します。VLAN 内に、このグループに加入しているほかのセットトップ ボックスがある場合には、そのセットトップ ボックスは最大応答時間の範囲内に応答しなければなりません。応答を受信しない場合、CPU は、このグループの転送宛先からレシーバー ポートを除外します。
即時脱退機能がイネーブルになっていない場合、スイッチはレシーバー ポートの加入者から IGMP Leave メッセージを受信すると、そのポートに IGMP クエリーを送信して IGMP グループ メンバーシップ レポートを待ちます。設定された時間内にレポートを受信しなかった場合は、マルチキャスト グループ メンバーシップからレシーバー ポートが削除されます。即時脱退機能を使用する場合、IGMP クエリーは、IGMP Leave メッセージを受信したレシーバー ポートから送信されません。Leave メッセージを受信するとただちに、レシーバー ポートがマルチキャスト グループ メンバーシップから削除されるため、脱退遅延時間が短縮されます。即時脱退機能は、1 つのレシーバー デバイスを接続したレシーバー ポートでだけイネーブルにしてください。
図21-3 MVR の例
MVR では、各 VLAN の複数の加入者に対して TV チャネルのマルチキャスト トラフィックを重複して送信する必要がありません。すべてのチャネルに対するマルチキャスト トラフィックが、VLAN トランクで 1 回だけ送信されます(マルチキャスト VLAN 上のみ)。IGMP Leave および Join メッセージは、加入者ポートが割り当てられている VLAN 内で送信されます。これらのメッセージによって、レイヤ 3 デバイス上でマルチキャスト VLAN のマルチキャスト トラフィック ストリームが、ダイナミックに登録されます。アクセス レイヤ スイッチ(スイッチ A)は、マルチキャスト VLAN から別の VLAN 上の加入者ポートにトラフィックが転送されるように転送動作を変更し、2 つの VLAN 間で伝送されるトラフィックを選択的に許可します。
IGMP レポートは、マルチキャスト データと同じ MAC アドレス宛に送信されます。スイッチ A の CPU は、レシーバー ポートからのすべての IGMP Join および Leave メッセージを取り込み、送信元(アップリンク)ポートのマルチキャスト VLAN に転送する必要があります。
MVR の設定
MVR のデフォルト設定
表21-5 に、MVR のデフォルト設定を示します。
MVR 設定時の注意事項および制限事項
- ・ レシーバー ポートをトランクポートにすることはできません。スイッチのレシーバー ポートは別の VLAN に属していてもかまいませんが、マルチキャスト VLAN に属することはできません。
- ・ スイッチに設定できるマルチキャスト エントリの最大数(受信できる TV チャネルの最大数)は 256 です。
- ・ 各チャネルは、一意の IP マルチキャスト アドレスに宛てられた 1 つのマルチキャスト ストリームになります。これらの IP アドレスは、IP アドレス間でも、または予約済み IP マルチキャスト アドレス(224.0.0.xxx の範囲)でもエイリアス割り当てできません。
- ・ マルチキャスト ルーティングおよび MVR は、スイッチでは共存できません。MVR がイネーブルの場合に、マルチキャスト ルーティングおよびマルチキャスト ルーティング プロトコルをイネーブルにすると、MVR がディセーブルになり、警告メッセージが表示されます。マルチキャスト ルーティングおよびマルチキャスト ルーティング プロトコルがイネーブルの場合に、MVR をイネーブルにしようとすると、MVR をイネーブルにする操作が取り消され、エラー メッセージが表示されます。
- ・ MVR は、IGMPv3 メッセージをサポートしません。
MVR グローバル パラメータの設定
デフォルト設定を使用する場合には、オプションの MVR パラメータを設定する必要はありません。デフォルトのパラメータ値を変更する場合(MVR VLAN を除く)には、先に MVR をイネーブルにする必要があります。
MVR パラメータを設定するには、イネーブル EXEC モードで次の手順を実行します。
スイッチをデフォルト設定に戻すには、 no mvr [ mode | group ip-address | querytime | vlan ] グローバル コンフィギュレーション コマンドを使用します。
次に、MVR をイネーブルにして、MVR グループ アドレスを設定し、クエリー時間を 1 秒(10 × 1/10)に設定し、MVR マルチキャスト VLAN を VLAN 22 として指定し、MVR モードを dynamic に設定して、結果を確認する方法を示します。
Switch(config)# mvr group 228.1.23.4
Switch(config)# mvr querytime 10
Switch(config)# mvr mode dynamic
MVR Current multicast groups: 1
MVR Global query response time: 10 (tenths of sec)
show mvr members イネーブル EXEC コマンドを使用すると、スイッチの MVR マルチキャスト グループ アドレスを確認できます。
MVR インターフェイスの設定
レイヤ 2 MVR インターフェイスを設定するには、イネーブル EXEC モードで次の手順を実行します。
インターフェイスをデフォルト設定に戻すには、 no mvr [ type | immediate | vlan vlan-id | group ] インターフェイス コンフィギュレーション コマンドを使用します。
次に、ポートをレシーバー ポートとして設定し、マルチキャスト グループ アドレスに送信されたマルチキャスト トラフィックを受信するようにポートをスタティックに設定し、インターフェイスに即時脱退機能を設定して、結果を確認する方法を示します。
Switch(config)# interface gigabitethernet0/1
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 gigabitethernet0/1
Type: RECEIVER Status: ACTIVE Immediate Leave: ENABLED
MVR 情報の表示
スイッチまたは指定されたインターフェイスの MVR 情報を表示できます。MVR 設定を表示するには、イネーブル EXEC モードで 表21-6 のコマンドを実行します。
IGMP フィルタリングおよびスロットリングの設定
一部の環境(たとえば、メトロポリタンまたは Multiple-Dwelling Unit [MDU] インストレーション)では、スイッチ ポート上のユーザが所属するマルチキャスト グループを管理する必要があります。契約やサービス計画のタイプに基づいて IP/TV などのマルチキャスト サービスの配信を制御できます。また、スイッチ ポート上のユーザが属するマルチキャスト グループの数も制限できます。
IGMP フィルタリング機能を使用すると、IP マルチキャスト プロファイルを設定して個々のスイッチ ポートに対応付けることにより、ポート単位でマルチキャスト加入をフィルタリングできます。IGMP プロファイルには 1 つまたは複数のマルチキャスト グループを格納できます。また、IGMP プロファイルによって、このグループへのアクセスを許可するか拒否するかを指定できます。マルチキャスト グループへのアクセスを拒否する IGMP プロファイルがスイッチ ポートに適用された場合、IP マルチキャスト トラフィックのストリームを要求する IGMP 加入レポートは廃棄され、ポートはそのグループから IP マルチキャスト トラフィックを受信できません。フィルタリング アクションによってマルチキャスト グループへのアクセスが許可された場合、ポートからの IGMP レポートが転送され、通常の処理が行われます。
IGMP フィルタリングが制御するのは、Join および Leave レポートなど、グループ固有のクエリーやメンバーシップ レポートだけです。一般的な IGMP クエリーは制御しません。IGMP フィルタリングは、IP マルチキャスト トラフィックの転送指示機能には関係しません。フィルタリング機能は、マルチキャスト トラフィックの転送に、CGMP または MVR のどちらを使用しても同様に動作します。
レイヤ 2 インターフェイスが加入できる IGMP グループの最大数を設定することもできます。
IGMP スロットリング機能を使用すると、レイヤ 2 インターフェイスが加入できる IGMP グループの最大数を設定することもできます。IGMP グループの最大数が設定されていて、IGMP スヌーピング転送テーブルに最大数のエントリが含まれ、インターフェイスが IGMP Join レポートを受信する場合、IGMP レポートを廃棄、またはランダムに選択されたマルチキャスト エントリを受信した IGMP レポートで置き換えるようインターフェイスを設定できます。
ここでは、IGMP フィルタリングおよびスロットリングを設定する方法について説明します。
- ・ IGMP フィルタリングおよびスロットリングのデフォルト設定
- ・ IGMP プロファイルの設定 (任意)
- ・ IGMP プロファイルの適用 (任意)
- ・ IGMP グループの最大数の設定 (任意)
- ・ IGMP スロットリング動作の設定 (任意)
IGMP フィルタリングおよびスロットリングのデフォルト設定
表21-7 に、IGMP フィルタリングのデフォルト設定を示します。
グループの最大数が転送テーブルにある場合、デフォルトの IGMP スロットリング動作は IGMP レポートを拒否します。設定時の注意事項については、 IGMP スロットリング動作の設定 を参照してください。
IGMP プロファイルの設定
IGMP プロファイルを設定するには、プロファイル番号を指定して ip igmp profile グローバル コンフィギュレーション コマンドを使用し、IGMP プロファイル コンフィギュレーション モードを開始して、IGMP プロファイルを作成します。このモードでは、ポートからの IGMP Join 要求をフィルタリングするのに使用する、IGMP プロファイルのパラメータを指定できます。IGMP プロファイル コンフィギュレーション モードにある場合は、次のコマンドでプロファイルを作成できます。
- ・ deny :一致アドレスを拒否するように指定します。これがデフォルトです。
- ・ exit :IGMP プロファイル コンフィギュレーション モードを終了します。
- ・ no :コマンドを無効にするか、そのデフォルトを設定します。
- ・ permit :一致アドレスを許可するよう指定します。
- ・ range :そのプロファイルの IP アドレスの範囲を指定します。1 つの IP アドレスまたは、開始アドレスおよび終了アドレスで指定した範囲を設定することもできます。
デフォルトでは、IGMP プロファイルが未設定です。プロファイルの設定時に、 permit または deny のどちらのキーワードも指定されていない場合は、デフォルトで IP アドレスの範囲へのアクセスが拒否されます。
IGMPプロファイルを作成するには、イネーブルEXECモードで次の手順を実行します。
プロファイルを削除するには、 no ip igmp profile profile number グローバル コンフィギュレーション コマンドを使用します。
IP マルチキャスト アドレスまたは IP マルチキャスト アドレス範囲を削除するには、 no range ip multicast address IGMP プロファイル コンフィギュレーション コマンドを使用します。
次に、1 つの IP マルチキャスト アドレスへのアクセスを許可する IGMP プロファイル 4 を作成して、その設定を確認する例を示します。動作が deny(デフォルト)である場合は、 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
IGMP プロファイルの適用
IGMP プロファイル内の定義に従ってアクセスを制御するには、 ip igmp filter インターフェイス コンフィギュレーション コマンドを使用して該当するインターフェイスにプロファイルを適用します。IGMP プロファイルを適用できるのは、レイヤ 2 ポートだけです。 ルーテッド ポートや SVI(スイッチ仮想インターフェイス)には適用できません。また EtherChannel ポート グループに属するポートにはプロファイルを適用できません。1 つのプロファイルを複数のインターフェイスに適用できますが、各インターフェイスに適用できるプロファイルは 1 つだけです。
スイッチ ポートに IGMP プロファイルを適用するには、イネーブル EXEC モードで次の手順を実行します。
|
設定する物理インターフェイスを入力して、インターフェイス コンフィギュレーション モードを開始します。このインターフェイスは、EtherChannel ポート グループに属していないレイヤ 2 ポートである必要があります。 |
||
|
指定した IGMP プロファイルをこのインターフェイスに適用します。指定できるプロファイル番号の範囲は 1 〜 4294967295 です。 |
||
インターフェイスからプロファイルを削除するには、 no ip igmp filter profile number インターフェイス コンフィギュレーション コマンドを使用します。
次に、ポートに IGMP プロファイル 4 を適用し、設定を確認する例を示します。
Switch(config)# interface fastethernet0/2
Switch(config-if)# ip igmp filter 4
Switch# show running-config interface fastethernet0/2
Current configuration : 123 bytes
IGMP グループの最大数の設定
ip igmp max-groups インターフェイス コンフィギュレーション コマンドを使用すると、レイヤ 2 インターフェイスが加入できる IGMP グループの最大数を設定できます。最大数をデフォルト(制限なし)に戻す場合は、このコマンドの no 形式を使用します。
この制限が適用されるのはレイヤ 2 ポートだけです。ルーテッド ポートや SVI には IGMP グループの最大数を設定できません。このコマンドを論理 EtherChannel インターフェイス上で使用することもできますが、EtherChannel ポート グループに属するポート上では使用できません。
IGMP グループの最大数を転送テーブルに設定するには、イネーブル EXEC モードで次の手順を実行します。
最大グループ数の制限を削除して、最大値なしのデフォルトに戻すには、 no ip igmp max-groups インターフェイス コンフィギュレーション コマンドを使用します。
次に、インターフェイスが加入できる IGMP グループ数を 25 に制限する例を示します。
Switch(config)# interface fastethernet0/2
Switch(config-if)# ip igmp max-groups 25
IGMP スロットリング動作の設定
レイヤ 2 インターフェイスが加入できる IGMP グループの最大数を設定したあと、 ip igmp max-groups action replace インターフェイス コンフィギュレーション コマンドを使用して、既存のグループを IGMP レポートを受信した新しい グループに置き換えるようインターフェイスを設定できます。デフォルトに戻すには、このコマンドの no 形式を使用します。デフォルトでは IGMP Join レポートを廃棄します。
IGMP スロットリング動作の設定時は、次の注意事項に従ってください。
- ・ この制限が適用されるのはレイヤ 2 ポートだけです。 このコマンドを論理 EtherChannel インターフェイス上で使用することもできますが、EtherChannel ポート グループに属するポート上では使用できません。
- ・ 最大グループ数の制限をデフォルト(最大値の設定なし)に設定している場合、 ip igmp max-groups action { deny | replace } コマンドは機能しません。
- ・ インターフェイスがマルチキャスト エントリを転送テーブルに追加したあとに、スロットリング動作を設定し、最大グループ数の制限を設定した場合、転送テーブル エントリはスロットリング動作によって、期限切れになるかまたは削除されます。
スイッチが転送テーブル エントリを削除しないようにするには、インターフェイスが転送テーブルにエントリを追加する前に、IGMP スロットリング動作を設定できます。
エントリの最大数が転送テーブルに存在するときにスロットリング動作を設定するには、イネーブル EXEC モードで次の手順を実行します。
レポート廃棄のデフォルト動作に戻すには、 no ip igmp max-groups action インターフェイス コンフィギュレーション コマンドを使用します。
IGMP フィルタリングおよびスロットリング設定の表示
IGMP プロファイルの特性を表示できます。また、スイッチのすべてのインターフェイスまたは指定したインターフェイスの IGMP プロファイルと最大グループ数の設定を表示できます。スイッチのすべてのインターフェイス、または特定のインターフェイスの IGMP スロットリング設定を表示することもできます。
IGMP フィルタリングおよびスロットリング設定を表示するには、 表21-8 に記載されたイネーブル EXEC コマンドを使用します。
|
指定されたインターフェイスまたはすべてのインターフェイスの設定を表示します。インターフェイスが加入できる IGMP グループの最大数(設定されている場合)やインターフェイスに適用されている IGMP プロファイルなどがこれに含まれます。 |
