Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

例:IGMP スヌーピングの設定

マルチキャスト スヌーピングについて

ルーターなどのネットワーク デバイスは、主にパケット レベル(レイヤー 3)で動作します。ブリッジや LAN スイッチなどの他のネットワーク デバイスは、主にフレーム レベル(レイヤー 2)で動作します。マルチキャストは、主にパケット レベルのレイヤー 3 で機能しますが、レイヤー 3 IP マルチキャスト グループ アドレスをフレーム レベルでレイヤー 2 MAC マルチキャスト グループ アドレスにマッピングする方法があります。

ルーターは、フレームとそのアドレスを処理して内部のカプセル化パケットにアクセスする必要があるため、レイヤー 2 とレイヤー 3 の両方のアドレッシング情報を処理できます。ルーターは、PIM や IGMP などのレイヤー 3 マルチキャスト プロトコルを実行し、マルチキャスト コンテンツを転送する場所や、インターフェイス上のホストがグループに参加またはグループを離れる場合に決定できます。ただし、ブリッジと LAN スイッチは、レイヤー 2 デバイスとして、フレームが伝送するパケット内のマルチキャスト情報にアクセスすることはできません。

では、ブリッジやその他のレイヤー 2 デバイスを使用して、インターフェイス上のデバイスがいつマルチキャスト ツリーに参加または離れるか、または接続された LAN 上のホストが特定のマルチキャスト グループのコンテンツを受信したいかどうかを判断する方法を知ります。

その答えは、レイヤー 2 デバイスがマルチキャスト スヌーピングを実装するためです。マルチキャスト スヌーピングは一般的な用語であり、レイヤー 3 パケット コンテンツにおけるレイヤー 2 デバイスの「スヌーピング」プロセスに適用され、フレームの処理または転送に必要なアクションを決定します。IGMP スヌーピングや PIM スヌーピングなど、より具体的な形式のスヌーピングがあります。どの場合でも、スヌーピングには、通常「禁止された」レイヤー 3(パケット)情報にアクセスするレイヤー 2 で機能するように設定されたデバイスが含まれます。スヌーピングにより、これらのデバイスでのマルチキャストがより効率的になります。

IGMP スヌーピングについて

スヌーピングは、ジュニパーネットワークスMXシリーズイーサネットサービスルーターなどのレイヤー2デバイスが、レイヤー3パケットコンテンツで「スヌーピング」する一連の手順を実装して、フレームの処理または転送に必要なアクションを決定する一般的な方法です。マルチキャストでは、インターネットグループメンバーシッププロトコル(IGMP)スヌーピングやプロトコル独立マルチキャスト(PIM)スヌーピングなど、より具体的なスヌーピングが使用されます。

レイヤー 2 デバイス(LAN スイッチまたはブリッジ)は、マルチキャスト パケットと、そのパケットを含むフレームを、レイヤー 3 デバイス(ルーター)がブロードキャストを処理するのと同じ方法で処理します。そのため、レイヤー 2 スイッチは、マルチキャスト宛先 MAC(メディア アクセス制御)アドレスを持つ到着フレームを処理するために、パケット(フレーム)のコピーを、転送状態にあるスイッチの他の各ネットワーク インターフェイスに転送します。

しかし、このアプローチ(デバイスが可能な場所にマルチキャスト フレームを送信)は、特に IPTV アプリケーションにおいて、ネットワーク帯域幅の最も効率的な使用ではありません。スイッチ インターフェイスが受信した IGMP パケットで「スヌーピング」し、マルチキャスト ルーターがレイヤー 3 ネットワークに構築するのと同様のマルチキャスト データベースを構築することで、IGMP スヌーピング機能を実現します。このデータベースを使用すると、スイッチは興味を持つレシーバーを持つダウンストリーム インターフェイスにのみマルチキャスト トラフィックを転送でき、この技術によりネットワーク帯域幅をより効率的に使用できます。

ルーター上の各ブリッジにIGMPスヌーピングを設定します。認定された学習がないブリッジ インスタンスには、学習ドメインが 1 つだけあります。認定された学習を持つブリッジ インスタンスの場合、スヌーピングはブリッジ内の各学習ドメイン内で個別に機能します。つまり、IGMP スヌーピングとマルチキャスト転送は、ブリッジ内の各学習ドメインで独立して進みます。

このディスカッションでは、認定学習なしのブリッジ インスタンス(デバイス上に 1 つの学習ドメインを形成するインスタンス)に焦点を当てています。そのため、言及されているすべてのインターフェイスは、ブリッジまたはVPLSインスタンスの論理インターフェイスです。

IGMP スヌーピングについて議論する際には、関連するいくつかの概念が重要です。

  • ブリッジまたはVPLSインスタンスインターフェイスは、マルチキャストルーターインターフェイスまたはホスト側インターフェイスのいずれかです。

  • IGMP スヌーピングは、プロキシ モードまたはプロキシ モードをサポートしています。

メモ:

IRB(統合型ルーティングおよびブリッジング)を使用する場合、ルーターが IGMP クエリアの場合、任意のレイヤー 2 インターフェイスで受信した leave メッセージにより、すべてのレイヤー 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 レポートは、他のマルチキャスト ルーター インターフェイスに向けて転送されます。マルチキャスト ルーティング エントリーがこのグループに存在する場合、受信インターフェイスがそのグループのインターフェイスとして追加されます。また、そのインターフェイス上のグループにグループタイマーが設定されています。このタイマーが期限切れになると(つまり、IGMP グループタイマー期間中にこのグループのレポートがありませんでした)、そのグループのインターフェイスとしてインターフェイスが削除されます。

  • Leave—ブリッジの任意のインターフェイスで受信した IGMP leave メッセージは、ブリッジ上の他のマルチキャスト ルーター インターフェイスに向けて転送されます。Leave Group メッセージは、ホスト グループにメンバーがもう存在しない場合に、マルチキャスト ルーターがマルチキャスト トラフィックの転送を停止するまでの時間を短縮します。

プロキシ スヌーピングは、IGMP ルーターに送信される IGMP レポートの数を減らします。

メモ:

プロキシ スヌーピングが設定されている場合、IGMP ルーターはホスト追跡を実行できません。

プロキシ モードの IGMP スヌーピングは、ホスト側インターフェイスのプロキシとして、マルチキャスト ルーター インターフェイス上の IGMP ルーターから受信したクエリーに返信します。ホスト側インターフェイスでは、プロキシ モードでの IGMP スヌーピングは IGMP ルーターとして動作し、これらのインターフェイスに一般的なクエリーとグループ固有のクエリーを送信します。

メモ:

IGMP スヌーピングによって直接生成されるのは、グループ固有のクエリーのみです。マルチキャスト ルーター インターフェイスから受信した一般的なクエリーは、ホスト側インターフェイスにフラッディングされます。

IGMP スヌーピングによって生成されるすべてのクエリーは、送信元アドレスとして 0.0.0.0 を使用して送信されます。また、IGMP スヌーピングによって生成されたすべてのレポートは、使用する送信元アドレスが設定されていない限り、送信元アドレスとして 0.0.0.0 で送信されます。

プロキシ モードは、マルチキャスト ルーター インターフェイスでは、ホスト側インターフェイスとは異なる機能を果たします。

マルチキャスト ルーター インターフェイスと IGMP スヌーピング プロキシー モード

マルチキャストルーターインターフェイスでは、プロキシモードのIGMPスヌーピングは、IGMPクエリーに応じて、ブリッジのすべてのホスト側インターフェイスで学習したグループの集約情報を含むレポートを送信します。

プロキシ モードでの IGMP スヌーピングは、クエリーへの応答に加えて、すべてのクエリー、レポート、マルチキャスト ルーター インターフェイスで受信したリーフを他のマルチキャスト ルーター インターフェイスに転送します。IGMP スヌーピングは、このインターフェイスで学習したメンバーシップ情報を保持しますが、このインターフェイスで受信した leave メッセージに関するグループ固有のクエリーは送信しません。タイマー時間内に同じグループのレポートがない場合、このインターフェイスで学習したグループがタイムアウトするだけです。

メモ:

すべてのマルチキャストルーターインターフェイス上のホストに対して、一般的なクエリーとグループ固有のクエリーを生成するのは、IGMPスヌーピングプロキシではなく、IGMPルーターです。

ホスト側インターフェイスと IGMP スヌーピング プロキシー モード

プロキシ モードの IGMP スヌーピングにより、ホスト側インターフェイスでレポートは送信されない。IGMP スヌーピングは、これらのインターフェイスで受信したレポートを処理し、インターフェイスで leave メッセージを受信すると、グループ固有のクエリーをホスト側インターフェイスに送信します。ホスト側インターフェイスは、定期的な一般的なクエリーを生成しませんが、マルチキャストルーターインターフェイスから受信した一般的なクエリーを転送またはフラッディングします。

グループがホスト側インターフェイスから削除され、これがそのグループの最後のホスト側インターフェイスであった場合、休暇はマルチキャストルーターインターフェイスに送信されます。ホスト側インターフェイスでグループレポートを受信し、これがそのグループの最初のホスト側インターフェイスである場合、すべてのマルチキャストルーターインターフェイスにレポートが送信されます。

IGMP スヌーピングとブリッジ ドメイン

VLAN 上の IGMP スヌーピングは、従来の vlan-id all case に対してのみ許可されます。その他の場合、IGMP スヌーピングの VLAN 固有の設定を決定する特定のブリッジ ドメイン設定があります。

IGMP スヌーピングの設定

インターネットグループ管理プロトコル(IGMP)スヌーピングを設定するには、 igmp-スヌーピングステートメントを 含めます。

以下の階層レベルでこのステートメントを含めることができます。

  • [ブリッジドメインプロトコルの bridge-domain-name 編集]

  • [ルーティングインスタンスの routing-instance-name ブリッジドメインプロトコルの bridge-domain-name 編集]

デフォルトでは、IGMP スヌーピングは有効になっていません。VLANレベルで設定されたステートメントは、その特定のVLANにのみ適用されます。

VLAN 固有の IGMP スヌーピング パラメーターの設定

ステートメントで設定されたすべての igmp-snooping IGMP スヌーピング ステートメントは、 ステートメントを除き traceoptions 、VLAN レベルで同じステートメントで修飾できます。VLANレベルでIGMPスヌーピングパラメーターを設定するには、 ステートメントを vlan 含めます。

以下の階層レベルでこのステートメントを含めることができます。

  • [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 デバイス

開始する前に、以下を行います。

概要とトポロジー

IGMP スヌーピングは、スイッチド ネットワーク内のマルチキャスト トラフィックを制御します。IGMP スヌーピングが有効になっていない場合、ネットワーク上のホストがマルチキャスト トラフィックを望まない場合でも、レイヤー 2 デバイスはすべてのポートからマルチキャスト トラフィックをブロードキャストします。IGMP スヌーピングが有効になっている場合、レイヤー 2 デバイスは IGMP の参加を監視し、接続された各ホストからマルチキャスト ルーターに送信されるメッセージを残します。これにより、レイヤー 2 デバイスはマルチキャスト グループと関連するメンバー ポートを追跡できます。レイヤー 2 デバイスはこの情報を使用して、インテリジェントな決定を行い、マルチキャスト トラフィックを目的の宛先ホストのみに転送します。

この例では、以下のステートメントを含みます。

  • プロキシ—レイヤー 2 デバイスがアクティブに IGMP パケットをフィルタリングして、マルチキャスト ルーターの負荷を軽減できるようにします。グループに参加しているアクティブ リスナーの数に関係なく、マルチキャスト ルーターがグループの 1 つのエントリーになるように、マルチキャスト ルーターにアップストリームに向かうジョインとリーフがフィルタリングされます。リスナーがグループを離れるが、他のリスナーがグループに残っている場合、マルチキャスト ルーターがこの情報を必要としないため、leave メッセージがフィルタリングされます。ルーターの視点から見たグループのステータスは変わりません。

  • 即時終了—IGMP ホストが 1 つだけ接続されている場合、 ステートメントにより、 immediate-leave マルチキャスト ルーターは直ちにグループ メンバーシップをインターフェイスから削除し、マルチキャスト グループに対するグループ固有のクエリーの送信を抑制できます。

    IGMPv2インターフェイスでこの機能を設定する場合、IGMPインターフェイスに1つのIGMPホストのみが接続されていることを確認します。複数のIGMPv2ホストが同じインターフェイスを介してLANに接続され、1つのホストが休暇メッセージを送信する場合、ルーターはマルチキャストグループからインターフェイス上のすべてのホストを削除します。ルーターは、ルーターから次の一般的なマルチキャスト リスナー クエリーに応答して参加リクエストを送信するまで、マルチキャスト グループに正しく残っているホストとのコンタクトを失います。

    IGMPバージョン3(IGMPv3)スヌーピングを実行しているルーターでIGMPスヌーピングが有効になっている場合、ルーターがタイプBLOCK_OLD_SOURCESのレポートを受信した後、ルーターはグループとソースのクエリーの送信を抑制しますが、Junos OSホスト追跡メカニズムに依存して、インターフェイスから特定のソースグループメンバーシップを削除するかどうかを決定します。

  • クエリー間隔—IGMP クエリア ルーターが一般的なホスト クエリー メッセージを送信してメンバーシップ情報を要求する間隔を設定することで、サブネット上で送信される IGMP メッセージの数を変更できます。

    デフォルトでは、クエリ間隔は125秒です。1~1024秒の任意の値を設定できます。

  • query-last-member-interval— デバイスがグループの最後のメンバーの損失を検出するのに要する時間を変更できます。

    最後のメンバーのクエリ間隔は、leave-group メッセージに応答して送信されたものも含め、グループ固有のクエリ メッセージ間の最大時間です。

    デフォルトでは、最後のメンバーのクエリ間隔は1秒です。0.1~0.9秒、1~1024秒の1秒の間隔で任意の値を設定できます。

  • query-response-interval—ルーターがホストクエリメッセージから応答を受信するまでの待機時間を設定します。

    デフォルトでは、クエリの応答間隔は 10 秒です。1~1024秒の任意の値を設定できます。この間隔は、 ステートメントで query-interval 設定された間隔よりも小さくする必要があります。

  • robust-count—サブネット上で予想されるパケットロスを可能にする微調整を提供します。基本的に、グループをタイムアウトするまでに待機する間隔の数です。サブネット パケットロスが高く、IGMP レポート メッセージが失われる可能性がある場合、より多くの間隔を待つことができます。

    デフォルトでは、堅牢なカウントは2です。2~10の間隔で任意の値を設定できます。

  • グループ制限—インターフェイスに参加できるマルチキャストグループ(またはIGMPv3の[S,G]チャネル)の数の制限を設定します。この制限に達すると、新しいレポートは無視され、関連するすべてのフローはフラッディングされずに破棄されます。

    デフォルトでは、インターフェイスに参加できるグループの数に制限はありません。0~32ビットの数字の範囲で制限を設定できます。

  • ホストのみのインターフェイス—IGMP スヌーピング インターフェイスを、排他的にホスト側のインターフェイスとして設定します。ホスト側インターフェイスでは、受信した IGMP クエリーが破棄されます。

    デフォルトでは、インターフェイスは他のマルチキャストルーターまたはホストのいずれかに直面することができます。

  • マルチキャストルーターインターフェイス—IGMPスヌーピングインターフェイスを、独占的にルーターに面したインターフェイスとして設定します。

    デフォルトでは、インターフェイスは他のマルチキャストルーターまたはホストのいずれかに直面することができます。

  • 静的—マルチキャスト グループで IGMP スヌーピング インターフェイスを静的に設定します。

    デフォルトでは、ルーターはインターフェイス上のマルチキャスト グループを動的に学習します。

トポロジ

図 1 は、 IGMP スヌーピングのないネットワークを示しています。ホストAがIPマルチキャスト送信者で、ホストBとCがマルチキャスト受信者であるとします。ルーターは、登録済みレシーバー(ホスト B および C)を持つセグメントにのみ IP マルチキャスト トラフィックを転送します。ただし、レイヤー 2 デバイスは、すべてのインターフェイス上のすべてのホストにトラフィックをフラッディングします。

図 1:IGMP スヌーピングが設定されていない Networks Without IGMP Snooping Configuredネットワーク

図 2 は、IGMP スヌーピングが設定された同じネットワークを示しています。レイヤー 2 デバイスは、登録済みの受信者にのみマルチキャスト トラフィックを転送します。

図 2:IGMP スヌーピングが設定された Networks with IGMP Snooping Configuredネットワーク

構成

手順

CLI クイックコンフィギュレーション

この例を迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルの [edit] CLI にコピー アンド ペーストして、設定モードから を入力 commit します。

手順

次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、 Junos OS CLIユーザーガイドの設定モードでのCLIエディターの使用を参照してください。

IGMP スヌーピングを設定するには:

  1. ブリッジ ドメインを設定します。

  2. IGMP スヌーピングを有効にし、ルーターがプロキシとして機能するように設定します。

  3. ge-0/0/1.1 インターフェイスで許可されるマルチキャスト グループの数の制限を 50 に設定します。

  4. 他のIGMPメッセージの交換を待たずに、そのインターフェイスから休暇メッセージを受信すると、すぐにインターフェイスからグループメンバーシップを削除するようにルーターを設定します。

  5. ポートにIGMPグループメンバーシップを静的に設定します。

  6. インターフェイスを、(マルチキャスト トラフィックを受信する)独占的にルーターに直面するインターフェイスとして設定します。

  7. インターフェイスを、専用のホスト側インターフェイスに設定します(IGMP クエリー メッセージをドロップするため)。

  8. IGMP メッセージ間隔と堅牢性カウントを設定します。

  9. デバイスの設定が完了したら、設定をコミットします。

結果

コマンドを入力して、設定を show bridge-domains 確認します。

検証

設定を確認するには、以下のコマンドを実行します。

  • show igmp スヌーピング インターフェイス

  • show igmp スヌーピング メンバーシップ

  • igmp スヌーピング統計を表示

IGMP スヌーピング トレース操作の設定

トレース操作には、送受信されるさまざまな種類のルーティング プロトコル パケット、ルーティング ポリシー アクションなど、ルーティング プロトコルの動作に関する詳細なメッセージが記録されます。特定のトレース フラグを含めることで、どのトレース操作を記録するかを指定できます。以下の表に、含めることができるフラグについて説明します。

フラグ

説明

すべての

すべての操作をトレースします。

クライアント通知

- トレース通知。

一般

一般的なフローをトレースします。

グループ

トレース グループの操作。

ホスト通知

ホスト通知をトレースします。

残す

- グループ メッセージをトレースします(IGMPv2 のみ)。

通常

正常なイベントをトレースします。

パケット

すべての IGMP パケットをトレースします。

ポリシー

トレース ポリシー処理。

クエリ

IGMP メンバーシップ クエリ メッセージをトレースします。

レポート

メンバーシップ レポート メッセージをトレースします。

ルート

- ルーティング情報をトレースします。

状態

状態遷移をトレースします。

タスク

ルーティング プロトコル のタスク処理をトレースします。

タイマー

トレース タイマー処理。

IGMP スヌーピングのトレース操作は、グローバルまたはルーティング インスタンスで設定できます。次の例は、グローバル設定を示しています。

IGMP スヌーピングのトレース操作を設定するには:

  1. トレース ファイルのファイル名を設定します。
  2. (オプション)トレース ファイルの最大数を設定します。
  3. (オプション)各トレース ファイルの最大サイズを設定します。
  4. (オプション)無制限のファイルアクセスを有効にします。
  5. トレース フラグを設定します。IP アドレスが 192.168.0.1 の特定の論理インターフェイスで受信したパケットに関連するポリシーの問題をトラブルシューティングする場合を考えます。以下の例では、IPアドレスに関連付けられた受信パケットのすべてのポリシーイベントにフラグを付ける方法を示しています。
  6. トレース ファイルを表示します。