Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

IGMPスヌーピングの概要

IGMP(インターネットグループ管理プロトコル)スヌーピングは、デバイス上のVLAN上のIPv4マルチキャストトラフィックのフラッディングを抑制します。IGMP スヌーピングをイネーブルにすると、デバイスはネットワーク上の IGMP トラフィックを監視し、学習した内容を使用して、対象のレシーバに接続されているダウンストリーム インターフェイスにのみマルチキャスト トラフィックを転送します。デバイスは、VLAN 内のすべてのダウンストリーム インターフェイスにトラフィックをフラッディングするのではなく、トラフィックを受信するデバイスに接続されたインターフェイスにのみマルチキャスト トラフィックを送信することで、帯域幅を節約します。

IGMPスヌーピングのメリット

  • Optimized bandwidth utilization- IGMPスヌーピングの主なメリットは、パケットのフラッディングを減らすことです。デバイスは、IPv4 マルチキャスト データを VLAN 内のすべてのポートにフラッディングするのではなく、受信したいポートのリストに選択的に転送します。

  • Improved security- 未知のソースからのサービス拒否攻撃を防止します。

IGMPスヌーピングの仕組み

デバイスは通常、受信するフレームの送信元アドレス フィールドを確認することでユニキャスト MAC アドレスを学習し、そのユニキャスト アドレスのトラフィックを適切なインターフェイスにのみ送信します。ただし、マルチキャスト MAC アドレスをパケットの送信元アドレスにすることはできません。その結果、デバイスがマルチキャスト宛先アドレス宛てのトラフィックを受信すると、関連するVLAN上のトラフィックがフラッディングし、必ずしも関心のある受信者がいない大量のトラフィックを送信します。

IGMPスヌーピングは、このフラッディングを防止します。IGMP スヌーピングをイネーブルにすると、デバイスはレシーバーとマルチキャスト ルーター間の IGMP パケットを監視し、パケットの内容を使用してマルチキャスト転送テーブル(マルチキャスト グループとそのグループのメンバーに接続されたインターフェイスのデータベース)を構築します。デバイスは、マルチキャスト パケットを受信すると、マルチキャスト転送テーブルを使用して、適切なマルチキャスト グループのメンバーに接続されているインターフェイスにのみトラフィックを選択的に転送します。

拡張レイヤー2ソフトウェア(ELS)設定スタイルをサポートしないEXシリーズおよびQFXシリーズスイッチでは、IGMPスヌーピングはデフォルトですべてのVLANで有効になっており(一部のデバイスのデフォルトVLANでのみ)、1つ以上のVLANで選択的に無効にすることができます。他のすべてのデバイスでは、IGMP スヌーピングを有効にするには、VLAN またはブリッジ ドメインで明示的に設定する必要があります。

手記:

IGMP スヌーピングをセカンダリ(プライベート)VLAN(PVLAN)で設定することはできません。ただし、EX4300スイッチおよびEX4300バーチャルシャーシでのJunos OSリリース18.3R1、およびEX4300マルチギガビットスイッチでのJunos OSリリース19.2R1以降、プライマリVLANでIGMPスヌーピングを有効にすると、そのプライマリVLANに定義されているセカンダリVLANでも暗黙的に有効になります。詳細については、 プライベートVLAN(PVLAN)でのIGMPスヌーピングを参照してください

IGMPスヌーピングとルーテッドVLANインターフェイスの仕組み

デバイスは、RVI(Routed VLAN Interface)を使用して、設定内のVLAN間でトラフィックを転送できます。IGMP スヌーピングは、レイヤー 2 インターフェイスおよび RVI と連携して、スイッチド ネットワークでマルチキャスト トラフィックを転送します。

デバイスがマルチキャストパケットを受信すると、そのパケット転送エンジンがパケットに対してマルチキャスト検索を実行し、パケットをローカルインターフェイスに転送する方法を決定します。ルックアップの結果から、各パケット転送エンジンは、パケット転送エンジンに対してローカルなポートを持つレイヤー3インターフェイスのリストを抽出します。リストに RVI が含まれている場合、デバイスは RVI のブリッジ マルチキャスト グループ ID をパケット転送エンジンに提供します。

マルチキャスト受信者を含むVLANの場合、ブリッジマルチキャストIDには、マルチキャストストリームの受信に関心のあるVLAN内のレイヤー2インターフェイスを識別するサブネクストホップIDが含まれます。次に、パケット転送エンジンは、特定のマルチキャスト グループのマルチキャスト受信者を持つブリッジ マルチキャスト ID にマルチキャスト トラフィックを転送します。

IGMP メッセージ タイプ

マルチキャスト ルーターは、IGMP を使用して、接続されている各物理ネットワークのリスナーが関心のあるグループを学習します。どのサブネットでも、1 つのマルチキャスト ルーターが IGMP クエリアとして機能します。IGMP クエリアは、次のタイプのクエリーをホストに送信します。

  • 一般クエリー:ホストがグループをリッスンしているかどうかを尋ねます。

  • グループ固有クエリー:(IGMPv2およびIGMPv3のみ)特定のマルチキャストグループをリッスンしているホストがあるかどうかを尋ねます。このクエリーは、マルチキャストグループを脱退したホストに応答して送信され、ルーターが残りのホストがそのグループに関心を持っているかどうかを迅速に判断できるようにします。

  • グループとソース固有のクエリ—(IGMPv3のみ)特定のマルチキャストソースからのグループマルチキャストトラフィックをリッスンしているホストがあるかどうかを尋ねます。このクエリーは、マルチキャスト送信元からのグループマルチキャストトラフィックの受信に関心がなくなったことを示すホストに応答して送信され、残りのホストがその送信元からのグループマルチキャストトラフィックの受信に関心を持っているかどうかをルーターが迅速に判断できるようにします。

マルチキャスト リスナーであるホストは、次の種類のメッセージを送信します。

  • メンバーシップ レポート - ホストが特定のマルチキャスト グループへの参加を希望していることを示します。

  • レポートを残す:(IGMPv2およびIGMPv3のみ)ホストが特定のマルチキャストグループから脱退することを示します。

ホストがマルチキャスト グループに参加および脱退する方法

ホストは、次の 2 つの方法でマルチキャスト グループに参加できます。

  • ホストが参加する IP マルチキャスト グループを指定するマルチキャスト ルーターに非送信請求 IGMP 参加メッセージを送信する。

  • マルチキャスト ルーターからの一般的なクエリーに応答して IGMP 参加メッセージを送信する。

マルチキャスト ルーターは、その VLAN 上の少なくとも 1 つのホストが定期的な一般的な IGMP クエリーに応答することを条件に、マルチキャスト トラフィックを VLAN に転送し続けます。ホストがマルチキャスト グループのメンバーであり続けるためには、定期的な一般的な IGMP クエリーに引き続き応答する必要があります。

ホストは、次の 2 つの方法のいずれかでマルチキャスト グループから脱退できます。

  • 特定の期間内に定期的なクエリに応答しないことを "サイレント リーブ" と見なします。これは、IGMPv1 ホストの唯一の Leave メソッドです。

  • 休暇レポートを送信する。この方法は、IGMPv2 および IGMPv3 ホストで使用できます。

IGMPv3 マルチキャスト ソースのサポート

IGMPv3 では、ホストは送信元アドレスのリストを含むメンバーシップ レポートを送信できます。ホストが INCLUDE モードでメンバーシップ レポートを送信すると、ホストは送信元アドレス一覧の送信元からのグループ マルチキャスト トラフィックにのみ関心を持ちます。host が EXCLUDE モードでメンバーシップ レポートを送信する場合、ホストは送信元アドレス一覧の送信元 以外の任意の送信元 からのグループ マルチキャスト トラフィックに関心を持ちます。ホストは、ソース・リスト・パラメーターが空である EXCLUDE レポート (EXCLUDE NULL レポートと呼ばれる) を送信することもできます。EXCLUDE NULL レポートは、ホストがマルチキャスト グループに参加し、すべての送信元からパケットを受信することを示します。

IGMPv3 をサポートするデバイスは、メンバーシップ レポートを含め、EXCLUDE を処理し、ほとんどのデバイスは、要求されたソースからのみ、サブスクライブされた受信者にソース固有マルチキャスト(SSM)トラフィックを適宜転送します。ただし、次のような一部の構成では、デバイスがソースごとにマルチキャストトラフィックを厳密に転送しないように見える場合があります。

  • 拡張レイヤー2ソフトウェア(ELS)構成スタイルを使用していないEXシリーズおよびQFXシリーズスイッチ

  • 18.1R2より前のJunos OSリリースを実行しているEX2300およびEX3400スイッチ

  • 18.2R1、18.1R2、17.4R2、17.3R3、17.2R3、および14.1X53-D47より前のJunos OSリリースを実行しているEX4300スイッチ

  • SRXシリーズサービスゲートウェイ

このような場合、デバイスは、指定されたグループのVLANで受信したすべてのINCLUDEおよびEXCLIVEモードレポートを、そのグループのすべてのマルチキャストソースを含む単一のルートに統合し、ネクストホップは、グループに関係する受信者を持つすべてのインターフェイスを表すことができます。その結果、VLAN上の関心のある受信者は、INCLUDEレポートに含まれていない送信元、またはEXCLUDEレポートから除外された送信元からトラフィックを受信できます。たとえば、ホスト 1 がソース A からの G のトラフィックを必要とし、ホスト 2 がソース B からのグループ G のトラフィックを必要とする場合、A または B がトラフィックを送信するかどうかに関係なく、どちらもグループ G のトラフィックを受信します。

IGMP スヌーピングおよびフォワーディング インターフェイス

マルチキャスト トラフィックの転送方法を決定するために、IGMP スヌーピングが有効になっているデバイスは、次のインターフェイスに関する情報をマルチキャスト転送テーブルに保持します。

  • マルチキャスト ルーター インターフェイス—これらのインターフェイスは、マルチキャスト ルーターまたは IGMP クエリアにつながります。

  • グループメンバーインターフェイス—これらのインターフェイスは、マルチキャストグループのメンバーであるホストに向かっています。

デバイスは、IGMP トラフィックを監視することで、これらのインターフェイスについて学習します。インターフェイスが IGMP クエリーまたは PIM(プロトコル非依存マルチキャスト)更新を受信すると、デバイスはそのインターフェイスをマルチキャスト ルーター インターフェイスとしてマルチキャスト転送テーブルに追加します。インターフェイスがマルチキャスト グループのメンバーシップ レポートを受信すると、デバイスはそのインターフェイスをグループメンバー インターフェイスとしてマルチキャスト転送テーブルに追加します。

学習されたインターフェイステーブルのエントリは、一定期間が経過すると期限切れになります。たとえば、学習されたマルチキャスト ルーター インターフェイスが一定間隔内に IGMP クエリーまたは PIM hellos を受信しない場合、デバイスはそのインターフェイスのエントリーをマルチキャスト転送テーブルから削除します。

手記:

デバイスがマルチキャスト ルーター インターフェイスとグループ メンバー インターフェイスを学習するには、ネットワークに IGMP クエリアが含まれている必要があります。これは多くの場合、マルチキャスト ルーター内にありますが、ローカル ネットワーク上にマルチキャスト ルーターがない場合は、デバイス自体を IGMP クエリアとして設定できます。

インターフェイスをマルチキャストルーターインターフェイスまたはグループメンバーインターフェイスとして静的に設定することができます。デバイスは、インターフェイスについて学習することなく、マルチキャスト転送テーブルに静的インターフェイスを追加し、テーブルのエントリはエージングの影響を受けません。デバイスは、静的に設定されたインターフェイスと動的に学習されたインターフェイスを混在させることができます。

一般的な転送ルール

IGMP スヌーピングが有効になっている VLAN 内のインターフェイスは、マルチキャスト トラフィックを受信し、次のルールに従って転送します。

IGMPトラフィック:

  • マルチキャスト ルーター インターフェイスで受信した IGMP 一般クエリーを、VLAN 内の他のすべてのインターフェイスに転送します。

  • マルチキャスト ルーター インターフェイスで受信した IGMP グループ固有のクエリーを、グループのメンバーである VLAN 内のインターフェイスにのみ転送します。

  • ホスト インターフェイスで受信した IGMP レポートを、同じ VLAN 内のマルチキャスト ルーター インターフェイスに転送しますが、VLAN 内の他のホスト インターフェイスには転送しません。

IGMPトラフィック以外のマルチキャストトラフィック:

  • 宛先アドレスが 233.252.0.0/24 のマルチキャスト パケットを、VLAN 上の他のすべてのインターフェイスにフラッディングします。

  • 未登録のマルチキャスト パケット(現在のメンバーがいないグループのパケット)を VLAN 内のすべてのマルチキャスト ルーター インターフェイスに転送します。

  • 登録されたマルチキャストパケットを、マルチキャストグループのメンバーであるVLAN内のホストインターフェイス、およびVLAN内のすべてのマルチキャストルーターインターフェイスに転送します。

IGMP クエリアとしてのデバイスの使用

純粋なレイヤー 2 ローカル ネットワーク上の IGMP スヌーピング(つまり、レイヤー 3 がネットワーク上で有効になっていない)では、ネットワークにマルチキャスト ルーターが含まれていないと、マルチキャスト トラフィックがネットワーク経由で正しく転送されない可能性があります。この問題は、マルチキャスト受信者に到達するためにデバイス間でマルチキャスト トラフィックを転送する必要があるようにローカル ネットワークが設定されている場合に発生することがあります。この場合、ダウンストリーム デバイスは IGMP レポートをアップストリーム デバイスに転送しないため、アップストリーム デバイスはマルチキャスト トラフィックをダウンストリーム デバイス(したがって、ダウンストリーム デバイスに接続されたマルチキャスト受信者)に転送しません。この問題は、デバイスの 1 つを IGMP クエリアとして設定することで解決できます。IGMP クエリア デバイスは、ネットワーク内のすべてのデバイスに定期的に一般クエリー パケットを送信するため、スヌーピング メンバーシップ テーブルが更新され、マルチキャスト トラフィックの損失が防止されます。

複数のデバイスを IGMP クエリアとして設定した場合、IGMP クエリア送信元アドレスが最も小さい(最小)デバイスを優先し、クエリアとして機能します。より高い IGMP クエリア送信元アドレスを持つデバイスは、255 秒間 IGMP クエリーを受信しない限り、IGMP クエリーの送信を停止します。より高い IGMP クエリア送信元アドレスを持つデバイスが、その期間中に IGMP クエリーを受信しなかった場合、クエリーの送信を再開します。

手記:

Junos OS リリース 14.1X53-D15 の QFabric システムは、 igmp-querier ステートメントをサポートしていますが、Junos OS 15.1 ではこのステートメントをサポートしていません。

IGMP クエリアとして機能するデバイスを設定するには、次のように入力します。

QFabric ノードデバイススイッチをIGMPクエリアとして動作するように設定するには、以下を入力します。

IGMP スヌーピング オン プライベート VLAN(PVLAN)

PVLAN は、プライマリ VLAN 内で設定されたセカンダリ分離 VLAN とコミュニティ VLAN で構成されます。セカンダリ VLAN で IGMP スヌーピングがサポートされていない場合、プライマリ VLAN で受信したマルチキャスト ストリームはセカンダリ VLAN にフラッディングされます。

Junos OS リリース 18.3R1 以降、EX4300 スイッチと EX4300 バーチャル シャーシは、PVLAN による IGMP スヌーピングをサポートしています。Junos OS Release 19.2R1以降、EX4300マルチギガビットモデルスイッチは、PVLANによるIGMPスヌーピングをサポートしています。プライマリVLANでIGMPスヌーピングを有効にすると、すべてのセカンダリVLANでも暗黙的に有効になります。デバイスは、プライマリVLANのマルチキャストグループ情報を学習して保存し、プライマリVLANのコンテキストでセカンダリVLANのマルチキャストグループ情報も学習します。その結果、デバイスはマルチキャストストリームをセカンダリVLAN上の関心のある受信者のみに制限し、すべてのセカンダリVLANのトラフィックをフラッディングするのではなく、さらに制限します。

CLI は、セカンダリ分離 VLAN またはコミュニティ VLAN で IGMP スヌーピングを明示的に設定できないようにします。IGMPスヌーピングの設定は、セカンダリVLANが定義されているプライマリVLANでのみ可能です。例えば、セカンダリ分離VLAN vlan-isoとセカンダリコミュニティVLAN vlan-commを持つプライマリVLAN vlan-priの場合:

セカンダリVLANポートで受信したIGMPレポートと脱退メッセージは、プライマリVLANのコンテキストで学習されます。PVLAN のマルチキャスト ルーター インターフェイスとして機能する無差別トランク ポートまたはスイッチ間リンクは、マルチキャスト ソースから受信マルチキャスト データ ストリームを受信し、学習済みのマルチキャスト グループ エントリを持つセカンダリ VLAN ポートにのみ転送します。

この機能は、セカンダリVLANポートをマルチキャストルーターインターフェイスとしてサポートしません。CLI は、コミュニティ VLAN 上のインターフェイスをマルチキャスト ルーター ポートとして静的に設定することを厳密に禁止するものではありませんが、IGMP スヌーピングは、この設定の PVLAN では正しく機能しません。IGMP スヌーピングが PVLAN で設定されている場合、スイッチは、分離された VLAN インターフェイスまたはコミュニティ VLAN インターフェイス上の動的マルチキャスト ルーター ポート学習も自動的に無効にします。PVLAN を使用した IGMP スヌーピングは、分離された VLAN インターフェイスまたはコミュニティ VLAN インターフェイス上の IGMP クエリアを使用した設定もサポートしていません。

PVLANの設定の詳細については、 プライベートVLANについておよび ELSをサポートした複数のEXシリーズスイッチにまたがるプライベートVLANの作成(CLI手順)を参照してください。

変更履歴テーブル

機能のサポートは、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がプラットフォームでサポートされているかどうかを判断します。

解放
形容
19.2R1
Junos OS Release 19.2R1以降、EX4300マルチギガビットモデルスイッチは、PVLANによるIGMPスヌーピングをサポートしています。
18.3R1
Junos OS リリース 18.3R1 以降、EX4300 スイッチと EX4300 バーチャル シャーシは、PVLAN による IGMP スヌーピングをサポートしています。
14.1X53-D15
Junos OS リリース 14.1X53-D15 の QFabric システムは、 igmp-querier ステートメントをサポートしていますが、Junos OS 15.1 ではこのステートメントをサポートしていません。