項目一覧
例:IGMP スヌーピングの設定
マルチキャスト スヌーピングについて
ルーターなどのネットワークデバイスは、主にパケットレベル、つまりレイヤー3で動作します。ブリッジやLANスイッチなどの他のネットワークデバイスは、主にフレームレベル、つまりレイヤー2で動作します。マルチキャストは主にパケット レベルのレイヤー 3 で機能しますが、フレーム レベルでレイヤー 3 の IPマルチキャスト グループ アドレスをレイヤー 2 の MAC マルチキャスト グループ アドレスにマッピングする方法もあります。
内部のカプセル化されたパケットにアクセスするには、フレームとそのアドレスを処理する必要があるため、ルーターはレイヤー2とレイヤー3の両方のアドレス情報を処理できます。ルーターは、PIM や IGMP などのレイヤー 3 マルチキャスト プロトコルを実行して、マルチキャスト コンテンツの転送先や、インターフェイス上のホストがグループに参加または脱退するタイミングを決定できます。しかし、ブリッジや LAN スイッチは、レイヤー 2 デバイスとして、フレームが伝送するパケット内のマルチキャスト情報にアクセスすることはできません。
では、ブリッジやその他のレイヤー 2 デバイスは、インターフェイス上のデバイスがいつマルチキャスト ツリーに参加または離脱するか、あるいは接続された LAN 上のホストが特定のマルチキャスト グループのコンテンツを受信したいかどうかを判断するにはどうすればよいでしょうか。
その答えは、レイヤー 2 デバイスでマルチキャスト スヌーピングを実装することです。マルチキャスト スヌーピングは一般的な用語であり、レイヤー 2 デバイスがレイヤー 3 パケットの内容を「スヌーピング」して、フレームを処理または転送するために実行されるアクションを決定するプロセスに適用されます。スヌーピングには、IGMP スヌーピングや PIM スヌーピングなど、より具体的な形式があります。いずれの場合も、スヌーピングには、通常は「禁止」されているレイヤー 3(パケット)情報にアクセスできるレイヤー 2 で機能するように設定されたデバイスが必要です。スヌーピングにより、これらのデバイスでのマルチキャストがより効率的になります。
参照
IGMP スヌーピングについて
スヌーピングとは、ジュニパーネットワークスのMXシリーズイーサネットサービスルーターなどのレイヤー2デバイスが、レイヤー3パケットの内容を「スヌープ」する一連の手順を実装して、フレームを処理または転送するために実行するアクションを決定する一般的な方法です。マルチキャストでは、Internet Group Membership Protocol(IGMP)スヌーピングやProtocol Independent Multicast(PIM)スヌーピングなど、より具体的な形式のスヌーピングが使用されます。
レイヤー 2 デバイス(LAN スイッチまたはブリッジ)は、マルチキャスト パケットとそれを含むフレームを、レイヤー 3 デバイス(ルーター)がブロードキャストを処理するのとほぼ同じ方法で処理します。そのため、レイヤー 2 スイッチは、マルチキャスト宛先の MAC(メディア アクセス制御)アドレスを持つ到着フレームを処理し、パケット(フレーム)のコピーを、転送状態にあるスイッチの他のネットワーク インターフェイスそれぞれに転送します。
ただし、このアプローチ (デバイスが可能なすべての場所にマルチキャスト フレームを送信する) は、特に IPTV アプリケーションの場合、ネットワーク帯域幅の最も効率的な使用法ではありません。IGMPスヌーピングは、スイッチインターフェイスが受信したIGMPパケットを「スヌーピング」し、マルチキャストルーターがレイヤー3ネットワークに構築するのと同様のマルチキャストデータベースを構築することで機能します。このデータベースを使用すると、スイッチはマルチキャストトラフィックを関心のある受信者とのダウンストリームインターフェイスにのみ転送できます。この技術により、ネットワーク帯域幅をより効率的に使用できます。
IGMP スヌーピングは、ルーター上の各ブリッジに対して設定します。適格な学習のないブリッジ インスタンスには、学習ドメインが 1 つしかありません。適格な学習を持つブリッジ インスタンスの場合、スヌーピングはブリッジ内の各学習ドメイン内で個別に機能します。つまり、IGMP スヌーピングとマルチキャスト転送は、ブリッジ内の各学習ドメインで独立して実行されます。
ここでは、適格な学習を持たないブリッジ インスタンス(デバイス上で 1 つの学習ドメインを形成するインスタンス)に焦点を当てます。したがって、言及されているすべてのインターフェイスは、ブリッジまたは VPLS インスタンスの論理インターフェイスです。
IGMP スヌーピングについて説明する際には、いくつかの関連する概念が重要です。
ブリッジまたは VPLS インスタンス インターフェイスは、マルチキャスト ルーター インターフェイスまたはホスト側インターフェイスのいずれかです。
IGMP スヌーピングは、プロキシ モードまたはプロキシなしモードをサポートします。
IRB(統合型ルーティングおよびブリッジング)を使用する場合、ルーターがIGMP クエリアの場合、任意のレイヤー 2 インターフェイスで受信した脱退メッセージにより、すべてのレイヤー 2 インターフェイスでグループ固有のクエリーが発生します(この方法の結果として、対応するレポートがすべてのレイヤー 2 インターフェイスで受信される可能性があります)。ただし、レイヤー 2 インターフェイスの一部がルーター(レイヤー 3)インターフェイスでもある場合、他のレイヤー 2 インターフェイスからのレポートやリーフは、それらのインターフェイスでは転送されません。
IRB インターフェイスがマルチキャスト転送キャッシュ エントリの発信インターフェイスとして使用されている場合(ルーティング プロセスによって決定される)、出力インターフェイス リストは対応するブリッジ内のレイヤー 2 インターフェイスのサブセットに拡張されます。サブセットは、ブリッジのスヌーピング プロセスによってインストールされたマルチキャスト転送キャッシュ エントリーに従って、スヌーピングされたマルチキャスト メンバーシップ情報に基づきます。
スヌーピングが設定されていない場合、IRB 出力インターフェイス リストはブリッジ内のすべてのレイヤー 2 インターフェイスに展開されます。
Junos OS は、仮想スイッチ上の VPLS 設定で IGMP スヌーピングをサポートしていません。この設定はCLIでは許可されていません。
参照
IGMP スヌーピング インターフェイスとフォワーディング
IGMP スヌーピングは、デバイス インターフェイスをマルチキャスト ルーター インターフェイスとホストサイド インターフェイスに分割します。マルチキャストルーターインターフェイスは、マルチキャストルーターの方向にあるインターフェイスです。ブリッジ上のインターフェイスは、次の基準の少なくとも 1 つを満たす場合、マルチキャスト ルーター インターフェイスとみなされます。
これは、ブリッジ インスタンスでマルチキャスト ルーター インターフェイスとして静的に設定されます。
IGMP クエリーがインターフェイスで受信されています。
マルチキャスト ルーター インターフェイスではない他のすべてのインターフェイスは、ホスト側インターフェイスと見なされます。
IGMP スヌーピングが設定されたブリッジ インターフェイスで受信したマルチキャスト トラフィックは、以下のルールに従って転送されます。
IGMPパケットは、スヌーピング処理のためにルーティングエンジンに送信されます。
宛先アドレス 224.0.0/24 を持つその他のマルチキャスト トラフィックは、ブリッジの他のすべてのインターフェイスにフラッディングされます。
その他のマルチキャスト トラフィックは、すべてのマルチキャスト ルーター インターフェイスに送信されますが、そのマルチキャスト グループの受信に関心のあるホストがあるホスト側のインターフェイスにのみ送信されます。
参照
IGMP スヌーピングとプロキシ
プロキシを配置しない場合、IGMP スヌーピングはクエリーやレポートを生成したり導入したりしません。すべてのインターフェイス(マルチキャストルーターインターフェイスを含む)から受信したレポートのみを「スヌープ」して、状態とグループ(S,G)データベースを構築します。
プロキシを使用しない場合、IGMP メッセージは次のように処理されます。
クエリ—マルチキャスト ルーター インターフェイスで受信したすべての一般およびグループ固有の IGMP クエリ メッセージは、ブリッジ上の他のすべてのインターフェイス(マルチキャスト ルーター インターフェイスとホスト側インターフェイスの両方)に転送されます。
レポート—ブリッジの任意のインターフェイスで受信したIGMPレポートは、他のマルチキャストルーターインターフェイスに転送されます。このグループにマルチキャスト ルーティング エントリが存在する場合、受信インターフェイスはそのグループのインターフェイスとして追加されます。また、そのインターフェイス上のグループにはグループタイマーが設定されます。このタイマーが期限切れになった場合(つまり、IGMP グループ タイマー期間中にこのグループのレポートがなかった場合)、インターフェイスはそのグループのインターフェイスとして削除されます。
Leave—ブリッジの任意のインターフェイスで受信したIGMP脱退メッセージは、ブリッジ上の他のマルチキャストルーターインターフェイスに転送されます。グループ脱退メッセージは、ホスト グループにメンバーがいなくなったときに、マルチキャスト ルーターがマルチキャスト トラフィックの転送を停止する時間を短縮します。
プロキシ スヌーピングにより、IGMP ルーターに送信される IGMP レポートの数が減少します。
プロキシ スヌーピングが設定されている場合、IGMP ルーターはホスト トラッキングを実行できません。
プロキシ モードの IGMP スヌーピングは、ホスト側インターフェイスのプロキシとして、マルチキャスト ルーター インターフェイス上の IGMP ルーターから受信したクエリーに応答します。ホスト側のインターフェイスでは、プロキシ モードでの IGMP スヌーピングは IGMP ルーターとして動作し、それらのインターフェイス上で一般的なクエリーとグループ固有のクエリーを送信します。
IGMP スヌーピングによって直接生成されるのは、グループ固有のクエリーだけです。マルチキャスト ルーター インターフェイスから受信した一般的なクエリーは、ホスト側のインターフェイスにあふれます。
IGMP スヌーピングによって生成されるすべてのクエリーは、送信元アドレスとして 0.0.0.0 を使用して送信されます。また、IGMP スヌーピングによって生成されたすべてのレポートは、使用する送信元アドレスが設定されていない限り、送信元アドレスとして 0.0.0.0 を使用して送信されます。
プロキシ モードは、マルチキャスト ルーター インターフェイスとホスト側インターフェイスでは機能が異なります。
参照
マルチキャスト ルーター インターフェイスと IGMP スヌーピング プロキシ モード
マルチキャスト ルーター インターフェイスでは、IGMP クエリーに応答して、プロキシ モードの IGMP スヌーピングは、ブリッジのすべてのホスト側インターフェイスで学習したグループの集約情報を含むレポートを送信します。
プロキシ モードでの IGMP スヌーピングは、クエリーに応答するだけでなく、マルチキャスト ルーター インターフェイスで受信したすべてのクエリー、レポート、およびリーフを他のマルチキャスト ルーター インターフェイスに転送します。IGMP スヌーピングは、このインターフェイスで学習したメンバーシップ情報を保持しますが、このインターフェイスで受信した脱退メッセージに対するグループ固有のクエリーは送信しません。タイマー時間内に同じグループのレポートがない場合、このインターフェイスで学習したグループをタイムアウトさせるだけです。
すべてのマルチキャスト ルーター インターフェイス上のホストの場合、一般的なクエリーおよびグループ固有のクエリーを生成するのは、IGMP スヌーピング プロキシではなく、IGMP ルーターです。
参照
ホスト側インターフェイスとIGMPスヌーピングプロキシモード
プロキシ モードの IGMP スヌーピングによって、ホスト側インターフェイスにレポートは送信されません。IGMP スヌーピングは、これらのインターフェイスで受信したレポートを処理し、インターフェイスで脱退メッセージを受信すると、ホスト側インターフェイスにグループ固有のクエリーを送信します。ホスト側のインターフェイスは、定期的な一般的なクエリーを生成しませんが、マルチキャスト ルーター インターフェイスから受信した一般的なクエリーを転送またはフラッディングします。
グループがホスト側インターフェイスから削除され、これがそのグループの最後のホスト側インターフェイスであった場合、マルチキャスト ルーター インターフェイスに脱退が送信されます。グループレポートがホスト側インターフェイスで受信され、これがそのグループの最初のホスト側インターフェイスであった場合、レポートはすべてのマルチキャストルーターインターフェイスに送信されます。
参照
IGMP スヌーピングとブリッジ ドメイン
VLAN での IGMP スヌーピングは、レガシー vlan-id all の場合にのみ許可されます。また、IGMP スヌーピングの VLAN 固有の設定を決定する特定のブリッジ ドメイン設定が存在する場合もあります。
参照
IGMP スヌーピングの設定
Internet Group Management Protocol(IGMP)スヌーピングを設定するには、 igmp-snooping ステートメントを含めます。
igmp-snooping { immediate-leave; interface interface-name { group-limit limit; host-only-interface; immediate-leave; multicast-router-interface; static { group ip-address { source ip-address; } } } proxy { source-address ip-address; } query-interval seconds; query-last-member-interval seconds; query-response-interval seconds; robust-count number; vlan vlan-id { immediate-leave; interface interface-name { group-limit limit; host-only-interface; immediate-leave; multicast-router-interface; static { group ip-address { source ip-address; } } } proxy { source-address ip-address; } query-interval seconds; query-last-member-interval seconds; query-response-interval seconds; robust-count number; } }
以下の階層レベルでこのステートメントを使用することができます。
[edit bridge-domains bridge-domain-name protocols]
[editルーティングインスタンス routing-instance-name ブリッジドメイン bridge-domain-name プロトコル]
デフォルトでは、IGMP スヌーピングは有効にされていません。VLANレベルで設定されたステートメントは、その特定のVLANにのみ適用されます。
参照
VLAN 固有の IGMP スヌーピング パラメータの設定
igmp-snooping
ステートメントで設定されたすべての IGMP スヌーピング ステートメントは、traceoptions
ステートメントを除き、VLAN レベルで同じステートメントで修飾できます。VLAN レベルで IGMP スヌーピング パラメータを設定するには、vlan
ステートメントを含めます。
vlan vlan-id; immediate-leave; interface interface-name { group-limit limit; host-only-interface; multicast-router-interface; static { group ip-address { source ip-address; } } } proxy { source-address ip-address; } query-interval seconds; query-last-member-interval seconds; query-response-interval seconds; robust-count number; }
以下の階層レベルでこのステートメントを使用することができます。
[edit bridge-domains bridge-domain-name protocols igmp-snooping]
[edit routing-instances routing-instance-name bridge-domains bridge-domain-name protocols igmp-snooping]
参照
例:IGMP スヌーピングの設定
次に、IGMP スヌーピングを設定する例を示します。IGMP スヌーピングは、IPマルチキャスト アプリケーションからの不要なトラフィックを削減することができます。
必要条件
この例では、以下のハードウェアコンポーネントを使用しています。
1つのMXシリーズルーター
マルチキャストルーターとして機能する1台のレイヤー3デバイス
開始する前に、以下を実行します。
インターフェイスを設定します。 セキュリティ デバイス向けインターフェイス ユーザー ガイドを参照してください。
内部ゲートウェイプロトコルを設定します。 ルーティングデバイス用 Junos OSルーティングプロトコルライブラリ を参照してください。
マルチキャストプロトコルを設定します。この機能は、以下のマルチキャスト プロトコルで動作します。
DVMRP
PIM-DMの
PIM-SM社
PIM-SSM
概要とトポロジー
IGMP スヌーピングは、スイッチ ネットワーク内のマルチキャスト トラフィックを制御します。IGMP スヌーピングが有効になっていない場合、ネットワーク上のホストがマルチキャスト トラフィックを必要としない場合でも、レイヤー 2 デバイスはすべてのポートからマルチキャスト トラフィックをブロードキャストします。IGMP スヌーピングが有効な場合、レイヤー 2 デバイスは、接続された各ホストからマルチキャスト ルーターに送信された IGMP 参加および退出メッセージを監視します。これにより、レイヤー2デバイスは、マルチキャストグループと関連づけられたメンバーポートを追跡できます。レイヤー 2 デバイスはこの情報を使用してインテリジェントな判断を行い、マルチキャスト トラフィックを目的の宛先ホストにのみ転送します。
この例には、以下のステートメントが含まれています。
プロキシ—レイヤー2デバイスがIGMPパケットをアクティブにフィルタリングし、マルチキャストルーターの負荷を軽減できるようにします。マルチキャスト ルーターへのアップストリームに向かうジョインとリーフは、グループに参加しているアクティブ リスナーの数に関係なく、マルチキャスト ルーターがグループのエントリを 1 つ持つようにフィルタリングされます。リスナーがグループを脱退しても、他のリスナーがグループに残った場合、マルチキャストルーターはこの情報を必要としないため、脱退メッセージはフィルタリングされます。グループのステータスは、ルーターから見ると同じままです。
immediate-leave—IGMP ホストが 1 つだけ接続されている場合、
immediate-leave
ステートメントを使用すると、マルチキャスト ルーターはインターフェイスからグループ メンバーシップを即座に削除し、マルチキャスト グループに対するグループ固有のクエリーの送信を抑制できます。IGMPv2インターフェイスにこの機能を設定する場合は、IGMPインターフェイスにIGMPホストが1つだけ接続されていることを確認してください。複数の IGMPv2 ホストが同じインターフェイスを介して LAN に接続されており、1 つのホストが脱退メッセージを送信した場合、ルーターはインターフェイス上のすべてのホストをマルチキャスト グループから削除します。ルーターは、ルーターからの次の一般的なマルチキャストリスナークエリーに応答して参加要求を送信するまで、マルチキャストグループに適切に残っているホストとの接続を失います。
IGMP バージョン 3(IGMPv3)スヌーピングを実行しているルーターで IGMP スヌーピングが有効になっている場合、ルーターがタイプ BLOCK_OLD_SOURCES のレポートを受信した後、ルーターはグループおよびソース クエリーの送信を抑制しますが、Junos OSホスト追跡メカニズムに依存して、インターフェイスから特定の送信元グループ メンバーシップを削除するかどうかを判断します。
query-interval:IGMP クエリア ルーターが一般的なホストクエリ メッセージを送信してメンバーシップ情報を要求する間隔を設定することで、サブネット上で送信される IGMP メッセージの数を変更できます。
既定では、クエリ間隔は 125 秒です。1〜1024秒の範囲の任意の値を設定できます。
query-last-member-interval:グループの最後のメンバーの損失をデバイスが検出するのに要する時間を変更できます。
last-member クエリ間隔は、グループ脱退メッセージへの応答として送信されたクエリーメッセージを含む、グループ固有のクエリーメッセージ間の最大時間です。
既定では、最後のメンバーのクエリ間隔は 1 秒です。0.1〜0.9秒の範囲で任意の値を設定し、その後1〜1024秒の1秒間隔で設定できます。
query-response-interval:ルーターがホストクエリ メッセージから応答を受信するまでの待機時間を設定します。
既定では、クエリの応答間隔は 10 秒です。1〜1024秒の範囲の任意の値を設定できます。この間隔は、
query-interval
ステートメントで設定された間隔よりも短くする必要があります。robust-count—サブネットで予想されるパケット損失を許容するための微調整を提供します。基本的には、グループがタイムアウトになるまで待機する間隔の数です。サブネットのパケット損失が大きく、IGMP レポート メッセージが失われる可能性がある場合は、さらに間隔を空けて待機できます。
既定では、堅牢なカウントは 2 です。2〜10間隔の範囲で任意の値を設定できます。
group-limit—インターフェイスに参加できるマルチキャスト グループ(IGMPv3 では [S,G]チャネル)の数の制限を設定します。この制限に達すると、新しいレポートは無視され、関連するすべてのフローはあふれることなく破棄されます。
デフォルトでは、インターフェイスに参加できるグループの数に制限はありません。0〜32ビット数の範囲で制限を設定できます。
host-only-interface—IGMP スヌーピング インターフェイスを排他的なホスト側インターフェイスとして設定します。ホスト側のインターフェイスでは、受信したIGMPクエリーは破棄されます。
デフォルトでは、インターフェイスは他のマルチキャストルーターまたはホストのいずれかに面することができます。
multicast-router-interface—IGMP スヌーピング インターフェイスを排他的にルーターに面するインターフェイスとして設定します。
デフォルトでは、インターフェイスは他のマルチキャストルーターまたはホストのいずれかに面することができます。
static:マルチキャスト グループを持つ IGMP スヌーピング インターフェイスを静的に設定します。
デフォルトでは、ルーターはインターフェイス上のマルチキャストグループについて動的に学習します。
位相幾何学
図 1 は、IGMP スヌーピングを使用しないネットワークを示しています。ホストAがIPマルチキャスト送信者で、ホストBおよびCがマルチキャスト受信者であるとします。ルーターは、IPマルチキャストトラフィックを、受信者が登録されているセグメント(ホストBおよびC)にのみ転送します。ただし、レイヤー2デバイスは、すべてのインターフェイス上のすべてのホストにトラフィックをフラッディングします。
図 2 は、IGMP スヌーピングを設定した同じネットワークを示しています。レイヤー 2 デバイスは、マルチキャスト トラフィックを登録済みの受信者のみに転送します。
構成
プロシージャ
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit]
階層レベルで CLI にコピー アンド ペーストして、設定モードから commit
を入力します。
set bridge-domains domain1 domain-type bridge set bridge-domains domain1 interface ge-0/0/1.1 set bridge-domains domain1 interface ge-0/0/2.1 set bridge-domains domain1 interface ge-0/0/3.1 set bridge-domains domain1 protocols igmp-snooping query-interval 200 set bridge-domains domain1 protocols igmp-snooping query-response-interval 0.4 set bridge-domains domain1 protocols igmp-snooping query-last-member-interval 0.1 set bridge-domains domain1 protocols igmp-snooping robust-count 4 set bridge-domains domain1 protocols igmp-snooping immediate-leave set bridge-domains domain1 protocols igmp-snooping proxy set bridge-domains domain1 protocols igmp-snooping interface ge-0/0/1.1 host-only-interface set bridge-domains domain1 protocols igmp-snooping interface ge-0/0/1.1 group-limit 50 set bridge-domains domain1 protocols igmp-snooping interface ge-0/0/3.1 static group 225.100.100.100 set bridge-domains domain1 protocols igmp-snooping interface ge-0/0/2.1 multicast-router-interface
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。CLIのナビゲーションについては、Junos OS CLIユーザーガイドの 設定モードでCLIエディターを使用する を参照してください。
IGMP スヌーピングを設定するには:
ブリッジドメインを設定します。
[edit bridge-domains domain1] user@host# set domain-type bridge user@host# set interface ge-0/0/1.1 user@host# set interface ge-0/0/2.1 user@host# set interface ge-0/0/3.1
IGMP スヌーピングを有効にし、ルーターをプロキシとして機能するように設定します。
[edit bridge-domains domain1] user@host# set protocols igmp-snooping proxy
ge-0/0/1.1インターフェイスで許可されるマルチキャストグループ数の上限を50に設定します。
[edit bridge-domains domain1] user@host# set protocols igmp-snooping interface ge-0/0/1.1group-limit 50
ルータを設定して、インターフェイスから脱退メッセージを受信すると、他の IGMP メッセージの交換を待たずに、そのインターフェイスからグループ メンバーシップを直ちに削除します。
[edit bridge-domains domain1] user@host# set protocols igmp-snooping immediate-leave
ポートでIGMPグループメンバーシップを静的に設定します。
[edit bridge-domains domain1] user@host# set protocols igmp-snooping interface ge-0/0/3.1 static group 225.100.100.100
(マルチキャストトラフィックを受信するために)ルーターに面したインターフェイスのみとなるように設定します。
[edit bridge-domains domain1] user@host# set protocols igmp-snooping interface ge-0/0/2.1 multicast-router-interface
インターフェイスを排他的なホスト向けインターフェイスとして設定します(IGMP クエリーメッセージをドロップするため)。
[edit bridge-domains domain1] user@host# set protocols igmp-snooping interface ge-0/0/1.1 host-only-interface
IGMP メッセージ間隔と堅牢度数を設定します。
[edit bridge-domains domain1] user@host# set protocols igmp-snoopingrobust-count 4 user@host# set protocols igmp-snooping query-last-member-interval 0.1 user@host# set protocols igmp-snooping query-interval 200 user@host# set protocols igmp-snooping query-response-interval 0.4
デバイスの設定が完了したら、設定をコミットします。
user@host# commit
業績
show bridge-domains
コマンドを入力して、設定を確認します。
user@host# show bridge-domains domain1 { domain-type bridge; interface ge-0/0/1.1; interface ge-0/0/2.1; interface ge-0/0/3.1; protocols { igmp-snooping { query-interval 200; query-response-interval 0.4; query-last-member-interval 0.1; robust-count 4; immediate-leave; proxy; interface ge-0/0/1.1 { host-only-interface; group-limit 50; } interface ge-0/0/3.1 { static { group 225.100.100.100; } } interface ge-0/0/2.1 { multicast-router-interface; } } } }
検証
設定を確認するには、次のコマンドを実行します。
show igmp snooping interface
showigmpスヌーピングメンバーシップ
show igmp スヌーピング統計情報
IGMP スヌーピング トレース動作の設定
トレース操作は、送受信されたさまざまなタイプのルーティングプロトコルパケットや、ルーティングポリシーのアクションなど、ルーティングプロトコルの動作に関する詳細なメッセージを記録します。特定のトレース・フラグを含めることによって、ログに記録するトレース操作を指定できます。
igmp-snooping
階層でtraceoptionsを有効にすると、igmp-snoopingが有効になります。これに対応して、igmp-snooping
階層下のtraceoptionsを無効にすると、igmp-snoopingも無効になります。
次の表では、含めることができるフラグについて説明します。
旗 |
形容 |
---|---|
すべての |
すべての操作をトレースします。 |
クライアント通知 |
トレース通知。 |
全般 |
一般的な流れをトレースします。 |
群 |
トレース グループの操作。 |
ホスト通知 |
ホスト通知をトレースします。 |
去る |
脱退グループ メッセージをトレースします(IGMPv2 のみ)。 |
正常 |
通常のイベントをトレースします。 |
パケット |
すべての IGMP パケットをトレースします。 |
政策 |
トレース ポリシー処理 |
クエリ |
IGMP メンバーシップ クエリー メッセージをトレースします。 |
報告 |
メンバーシップ・レポート・メッセージをトレースします。 |
ルート |
トレース ルーティング情報。 |
状態 |
状態遷移をトレースします。 |
タスク |
―ルーティング プロトコルのタスク処理をトレースします。 |
タイマー |
トレース・タイマー処理 |
IGMP スヌーピングのトレース操作は、グローバルに、またはルーティング インスタンス内で設定できます。次に、グローバル設定の例を示します。
IGMP スヌーピングのトレース操作を設定するには:
参照
IGMP または MLD スヌーピング バージョンの設定
概要
RFC 4541 によると、スヌーピングに関与する VLAN またはブリッジ ドメインの一部であるインターフェイスの IGMPv3 モードで、デフォルトでスヌーピングが有効になります。MLD スヌーピングのデフォルトは MLDv2 です。CPE に接続されたルータが IGMPv3 または MLDv2 の一般クエリーを送信して IGMP グループ情報を更新すると、RFC に従って動作する標準 CPE またはエンド ホストが IGMP v2/v3 または MLDv1/v2 クエリーを処理して応答できる必要があります。
RFC 4541に準拠していないエンドホストまたはCPEデバイスは、スヌーピングが有効になっているL2デバイスから送信されたIGMPv3またはMLDv2クエリーに応答しません。このバージョンの不一致により、トラフィックが停止する可能性があります。
L2 マルチキャストに関連付けられた VLAN またはブリッジ ドメインの IGMP または MLD スヌーピング バージョンを明示的に指定できます。これにより、ルータは、IGMP または MLD スヌーピングの設定済みバージョンを使用して、IGMP または MLD スタートアップ クエリーまたは定期的な一般クエリー(L2 クエリア用に設定されている場合)を送信します。これにより、非準拠の CPE デバイスが IGMP または MLD グループ/レポート情報で応答するようになります。これにより、上位バージョンのIGMPまたはMLDクエリーに応答できないホストおよびCPEでマルチキャストストリームを存続させることができます。
IGMP または MLD スヌーピング バージョンは、VLAN またはブリッジ ドメインで設定され、その VLAN またはブリッジ ドメインのすべてのインターフェイス(IFL)に適用されます。
VLAN またはブリッジ ドメインの IGMP/MLD スヌーピング バージョン設定は、デフォルト ルーティング インスタンス(グローバル インスタンス)または特定のルーティング インスタンスの 2 つの方法で実行できます。
バージョン設定では、MCSNOOPD(レイヤー2デバイスからのレイヤー3検査を可能にするマルチキャストスヌーピングプロセス)は、以下を使用してホストからのレポートを更新します。
-
スタートアップクエリ:これは、VLANまたはブリッジドメインでスヌーピングが有効になっているたびに送信される一般的なIGMPクエリです。この照会は、MCSNOOPD が VLAN またはブリッジドメインのメンバーのインターフェイス状態を初めて構築するとき、または VLAN またはブリッジドメインのインターフェイス(IFL または IFD)がフラップするときに送信されます。
-
L2 クエリア:これは、スヌーピングが有効になっている特定の VLAN またはブリッジ ドメインで明示的に有効にできる定期的な機能です。
-
[プロキシ(Proxy)]:リモート クエリアからの IGMP または MLD クエリ パケットの受信に関する IGMP または MLD プロキシ レポート。
EVPN 展開では、このスヌーピング バージョン設定は、アクセス向けインターフェイスにのみ適用されます。
非プロキシ モード
プロキシを配置しない場合、IGMP スヌーピングはクエリーやレポートを生成したり導入したりしません。すべてのインターフェイス(マルチキャストルーターインターフェイスを含む)から受信したレポートのみをスヌープして、状態とグループ(S,G)データベースを構築します。
-
スタートアップ クエリは、インターフェイスがフラップしたとき、または VLAN またはブリッジ ドメインの新しいメンバーが追加されたときに生成されます。スタートアップ クエリは、一般的な IGMP または MLD クエリ メッセージ(送信元 IP アドレス = 0.0.0.0)であり、設定されたバージョンのインターフェイスを介して送信されるか、IGMPv3 または MLD v2 がデフォルトになります。
-
L2 クエリア機能が VLAN またはブリッジドメインに対して有効になっている場合、定期的なクエリ(デフォルト タイマーは 125 秒)が生成され、設定されたバージョンまたは IGMPv3 または MLDv2 クエリですべての VLAN またはブリッジドメイン メンバーに送信されます。
プロキシ モード
このモードでは、プロキシ スヌーピングにより、IGMP ルーターに送信される IGMP レポートの数が減少します。
-
スタートアップ クエリは、非プロキシ モードと同じように動作します。
-
L2クエリアを有効にすると、非プロキシモードと同じように動作します。
-
ピアから受信した一般的なクエリーに応答して生成される IGMP レポートに使用されるバージョンは、ホスト互換モードに基づいており、次のように決定されます。
-
バージョン構成がない場合、下位バージョンのクエリを受信すると、モードが最低バージョンに設定され、対応するクエリ存在タイマーが開始されます。querier-present タイマーの期限が切れると、インターフェイスが動作しているプロトコルに基づいて、バージョンが IGMPv3 または MLDv2 に変更されます。
-
バージョン構成では、下位バージョンのクエリを受信すると、モードが最低バージョンに設定され、対応するクエリ存在タイマーが開始されます。querier-present タイマーの期限が切れると、バージョンは config ステートメント
set routing-instance <routing-instance-name> protocols igmp-snooping version <version>
によって設定されたバージョンに従って、設定されたバージョンに更新されます。
-
-
脱退に応じて生成されるグループ固有のクエリーは、IGMP または MLD レポートの最も低いバージョンと設定されたインターフェイス バージョンに基づいています。設定されたインターフェイスのバージョンが低い場合、そのバージョンがグループの互換性に使用されます。
参照
L2環境で、不明なマルチキャストトラフィックのフラッディングをマルチキャストルーターインターフェイスに制限します
VLANまたはブリッジドメインごとに、マルチキャストルーターインターフェイスへのL2マルチキャストストリームのフラッディングを制限します。IGMP または MLD ジョイン メッセージに基づいてマルチキャスト ルーター インターフェイスへのマルチキャスト データのフラッディングを制限することで、未知のマルチキャスト トラフィックを制限し、帯域幅を効率的に使用できます。
ルーター R1 と R2 で IGMP/MLD スヌーピングが有効になっている L2 マルチキャスト ビデオ シナリオの例を見てみましょう。
SRC1とSRC2は、ビデオヘッドエンドを備えたIPTVサーバーで、CH1、CH2、CH3の複数のIPTVチャンネルを生成します。L2クエリアは、ルーターR1およびR2で有効になっており、ホストがレポートを定期的に更新できるようにしています。レポートはタイムアウトし、そうしないと受信者がマルチキャスト転送から削除されます。
上記のトポロジーでは、ルーター R2 にはチャネル CH1 と CH2 の受信に関心のあるレシーバーがいますが、CH3 からもマルチキャスト ストリームを受信します。これは、マルチキャストルーターインターフェイスであるためです。
同様に、ルーター R1 には、チャネル CH3 にのみ関心のあるレシーバーがありますが、マルチキャスト ルーター インターフェイスを介して CH1 および CH2 から非送信請求マルチキャスト ストリームを受信します。
no-flood-to-multicast-router-interfaces
を設定することで、マルチキャストルーターインターフェイスの背後に関心のある受信者がいる場合にのみマルチキャストストリームを送信することで、上記の帯域幅の非効率性を効果的に制限できます。
この機能は、L2マルチキャスト環境に固有のものです。
PIM 対応の L3 ルータ(IGMP/MLD クエリアが暗黙的にオンになっている)がトポロジに存在し、 no-flood-to-multicast-router-interfaces
が有効になっている場合、L3 マルチキャスト ルータの背後にあるレシーバのトラフィックが停止する可能性があります。これは、マルチキャスト ルーターは通常、最終ホップ ルーター(LHR)からの IGMP 参加を確認すると PIM join メッセージを送信するためです。
ネットワークの設計に基づいて、 no-flood-to-multicast-router-interfaces
慎重に使用する必要があります。
EVPN環境における不明なマルチキャストトラフィックのフラッディングを制限する
典型的なEVPNトポロジーの例を見てみましょう。それは、SMET(選択的マルチキャスト転送)を有効にしたEVPNoVXLANブリッジオーバーレイです。EVPNタイプ6のルートがアドバタイズされ、マルチキャストトラフィックは関係のある受信者にのみ転送されます。
冗長外部マルチキャストルーターと以下のEVPNファブリックに接続されたIBCヘッドエンドデバイスがあります。これはブリッジオーバーレイであるため、スヌーピングなしでIRBが有効になっている冗長外部マルチキャストルーターからのL2接続のみがあります。外部マルチキャスト ルーターに入ってくるマルチキャスト トラフィックは、トラフィックを IRB から出力する必要がある場合にブリッジまたは L2 スイッチングされます。
SMET ブリッジング オーバーレイ ファブリックを冗長外部マルチキャスト ルーター ポートにステッチすると、1 つのマルチキャスト ルーター ポートに入るマルチキャスト トラフィックは、ファブリック アクセス スイッチを介して 2 番目のマルチキャスト ルーター ポート( 図 4 のオレンジ色の点線)に戻ります。EVPN PE デバイスは、EVPN コア上の既知および未知のすべてのマルチキャスト トラフィックを引き付けます。通常、EVPN PE は、NLRI で IGMP/MLD スヌーピング プロキシが設定されていないマルチキャスト拡張コミュニティ フラグを持つ EVPN タイプ 3 ルートを送信します。 no-flood-to-multicast-router-interfaces
設定ステートメントを設定することで、EVPN タイプ 3 のルートは、IGMP/MLD スヌーピング プロキシ フラグが設定されたマルチキャスト拡張コミュニティ フラグとともに送信されます。その結果、マルチキャスト ルーター インターフェイスは、不明なマルチキャスト トラフィックを引き付けません。
この機能は通常、EVPNブリッジオーバーレイシナリオで実装されます。L3ルーティングが外部マルチキャストルーターで動作している場合、 no-flood-to-multicast-router-interfaces
を有効にするとトラフィックが停止する可能性があります。