Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

MLD スヌーピングについて

MLD(Multicast Listener Discovery)スヌーピングは、VLAN 上の IPv6 マルチキャスト トラフィックのフラッディングを制限します。VLAN で MLD スヌーピングが有効になっている場合、ジュニパーネットワークス デバイスがホストとマルチキャスト ルーター間の MLD メッセージを調査し、マルチキャスト グループのトラフィック受信にどのホストが関心を持つのか学習します。学習した情報に基づいて、デバイスは、トラフィックをすべてのインターフェイスにフラッディングするのではなく、関連するレシーバに接続された VLAN 内のインターフェイスにのみマルチキャスト トラフィックを転送します。

MLD スヌーピングは MLD バージョン 1(MLDv1)と MLDv2 をサポートしています。MLDv1 および MLDv2 の詳細については、次の規格を参照してください。

  • MLDv1 —RFC 2710, MLD(Multicast Listener Discovery)for IPv6 をご覧ください。

  • MLDv2 —IPv6用RFC 3810 MLDv2(Multicast Listener Discovery Version 2)をご覧ください。

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

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

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

MLD スヌーピングの仕組み

デフォルトでは、デバイスは、マルチキャスト トラフィックの送信元であるインターフェイスを除き、デバイス上のVLANに属するすべてのインターフェイスでレイヤー2マルチキャスト トラフィックをフラッディングします。この動作は、大量の帯域幅を消費する可能性があります。

このフラッディングを回避するためにMLDスヌーピングを有効にできますMLD スヌーピングを有効にした場合、デバイスはレシーバ(ホスト)とマルチキャスト ルーター間の MLD メッセージを監視し、メッセージの内容を使用して IPv6 マルチキャスト転送テーブル(IPv6 マルチキャスト グループのデータベース)と、各グループの関係するメンバーに接続するインターフェイスを構築します。デバイスがマルチキャスト グループのマルチキャスト トラフィックを受信すると、転送テーブルを使用して、マルチキャスト グループに属するレシーバに接続されているインターフェイスにのみトラフィックを転送します。

図1は、MLDスヌーピングが有効になっているマルチキャストトラフィックフローの例を示しています。

図 1:MLDスヌーピングが有効になっているマルチキャスト トラフィック フロー Multicast Traffic Flow with MLD Snooping Enabled

MLD メッセージ タイプ

マルチキャスト ルーターは、MLD を使用して、関連する物理ネットワーク(グループがリスナーに関心を持つ)ごとに学習します。任意のサブネット内で、MLD クリーとして機能するために 1 つのマルチキャスト ルーターが選択されます。MLD クリーは、次のタイプのクエリーをホストに送信します。

  • 一般的なクエリー — どのホストが任意のグループをリッスンするか尋ねします。

  • グループ固有のクエリー — どのホストが特定のマルチキャスト グループをリッスンしているか尋ねします。このクエリーは、マルチキャスト グループから離れるホストに応答して送信され、残りのホストがグループに関心を持つかどうかをルーターが迅速に判断できます。

  • グループとソース固有のクエリー —(MLD バージョン 2 のみ) 特定のマルチキャスト ソースからグループ マルチキャスト トラフィックをリッスンしているホストの数を確認します。このクエリーは、マルチキャスト ソースからのグループ マルチキャスト トラフィックの受信が不要になったことを示すホストに応答して送信されます。これにより、ルーターは、そのソースからのグループ マルチキャスト トラフィックの受信に関心のある残りのホストをすばやく判断できます。

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

  • メンバーシップ レポート — ホストが特定のマルチキャスト グループに参加したいと示します。

  • レポートを残す — ホストが特定のマルチキャスト グループを残したいと示します。

グループに参加するか、グループを離れるかを示すレポートは、2 種類の異なる種類のレポートを使用する MLDv1 ホストのみです。MLDv2 ホストは 1 種類のレポートのみを送信します。このレポートの内容は、グループに参加したいか、グループを離れるかを示します。ただし、簡素化のために、MLD スヌーピングのマニュアルでは、レポートにメンバーシップレポートという用語を使用します。このレポートでは、ホストがグループに参加したいと示し、ホストがグループを離れたいというレポートに「Leave レポート」という用語を使用します。

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

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

  • ホストが参加を試みるマルチキャスト グループを指定する、非送信要求のメンバーシップ レポートを送信することで。

  • マルチキャスト ルーターからクエリーに応答してメンバーシップ レポートを送信する方法。

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

ホストは、以下の 2 つの方法のいずれかを使用してマルチキャスト グループを離れることができます。

  • 一定の間隔で定期的なクエリに応答しないという方法。これにより、「無音の休暇」と呼ばれる結果になります。

  • 休暇レポートを送信することで、

メモ:

ホストがハブを介してデバイスに接続されている場合、ホストがハブから切断した場合、そのホストはマルチキャスト グループを自動的に残すとは言います。ホストは、グループ メンバーシップがタイム アウトして無音の休暇が発生するまで、グループのメンバーのままです。無音の休暇が発生する前に別のホストがハブ ポートに接続している場合、新しいホストは、メンバーシップ レポートを送信しない場合でも、無音の休暇までグループ マルチキャスト トラフィックを受信することがあります。

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

MLDv2 では、送信元アドレスのリストを含むメンバーシップ レポートをホストが送信できます。ホストが INCLUDE モードでメンバーシップ レポートを送信すると、ホストは送信元アドレス リストのソースからのグループ マルチキャスト トラフィックにのみ参加します。ホストが EXCLUDE モードでメンバーシップ レポートを送信すると、ホストは送信元アドレス リストのソースを除くソースからのグループ マルチキャスト トラフィックに関心があります。また、送信元リスト パラメーターが空の EXCLUDE レポートを送信することもできます。この場合は、このパラメーターは EXCLUDE NULL レポートと呼ばれるです。EXCLUDE NULL レポートは、ホストがマルチキャスト グループに参加し、すべてのソースからパケットを受信したいと示します。

MLD スヌーピングをサポートするデバイスは、INCLUDE モードと EXCLUDE モードの MLDv2 メンバーシップ レポートをサポートしています。ただしSRX シリーズ、QFX シリーズ スイッチ、MLD スヌーピングを実行する EX シリーズ スイッチ(EX9200 スイッチを除く)は、ソースごとに転送をサポートするわけではありません。その代わりに、デバイスは、指定されたグループのVLANで受信したレポートすべてが含まれる1つのルートに統合され、そのグループのすべてのマルチキャスト ソースが含まれます。ネクスト ホップは、そのグループの対象レシーバを持つすべてのインターフェイスになります。その結果、VLAN 上の対象レシーバは、INCLUDE レポートに含めなかったソースまたは除外したソースからトラフィックを受信できます。たとえば、ホスト1が送信元 AからのグループGのトラフィックを必要とし、ホスト2が送信元BからのグループGのトラフィックを必要としている場合、AまたはBがトラフィックを送信するかどうかに関係なく、グループGのトラフィックをホスト2が受信します。

MLD スヌーピングと転送インターフェイス

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

  • マルチキャスト ルーター インターフェイス —これらのインターフェイスは、マルチキャスト ルーターまたは MLD ククエリをリードします。

  • グループメンバー インターフェイス —これらのインターフェイスは、マルチキャスト グループのメンバーであるホストをリードします。

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

デバイスが学習するインターフェイスのテーブル エントリーには、エージングが必要です。たとえば、学習したマルチキャスト ルーター インターフェイスが特定の間隔でMLDクエリーを受信しない場合、デバイスは、そのインターフェイスのエントリーをマルチキャスト転送テーブルから削除します。

メモ:

デバイスがマルチキャスト ルーター インターフェイスとグループメンバー インターフェイスを学習するには、ネットワークにMLDクエリアが必要です。デバイス自体をMLDクリーとして機能するには、デバイスでMLDを有効にする必要があります。

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

全般的な転送ルール

MLD スヌーピングが有効になっている VLAN 内のデバイス インターフェイスで受信したマルチキャスト トラフィックは、以下のルールに従って転送されます。

MLD プロトコル トラフィックは、次のように転送されます。

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

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

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

MLD プロトコル トラフィックではないマルチキャスト トラフィックは、次のように転送されます。

  • 未登録のマルチキャスト パケット(つまり、現在のメンバーを持つグループのパケット)は、VLAN 内のすべてのマルチキャスト ルーター インターフェイスに転送されます。

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

メモ:

同じ VLAN で IGMP スヌーピングと MLD スヌーピングが両方とも有効になっている場合、IGMP スヌーピング設定の一部としてマルチキャスト ルーター インターフェイスが作成されます。未登録のマルチキャスト トラフィックはブロックされおり、ルーター インターフェイスを通過できません。ハードウェアに制限があり、未登録の IPv4 マルチキャスト トラフィックは MLD スヌーピング設定の一部として作成されたマルチキャスト ルーター インターフェイスを通過する場合があります。また、未登録の IPv6 マルチキャスト トラフィックは、IGMP スヌーピング設定の一部として作成されたマルチキャスト ルーター インターフェイスを通過する場合があります。

MLD スヌーピングマルチキャスト転送の例

MLD スヌーピングがさまざまなトポロジのマルチキャスト トラフィックを転送する方法を示す例を以下に示します。

シナリオ 1:マルチキャスト ルーターとホストへのデバイス転送マルチキャスト トラフィック

図 2 に示すトポロジーでは、レイヤー 2デバイスとして機能するデバイスは、マルチキャスト ルーターに接続されたソース A から、マルチキャスト グループ ff1e::2010 に属するマルチキャスト トラフィックを受信します。また、デバイスに直接接続された送信元Bから、マルチキャストグループ ff15:2 に属するマルチキャストトラフィックも受信します。デバイス上のすべてのインターフェイスは、同じ VLAN に属します。

デバイスはインターフェイス P1 上のマルチキャスト ルーターから MLD クエリーを受信します。MLD スヌーピングは、インターフェイス P1 がマルチキャスト ルーター インターフェイスであることを学習し、そのインターフェイスをマルチキャスト転送テーブルに追加します。このインターフェイスで受信した MLD 一般的なクエリーをデバイス上のすべてのホスト インターフェイスに転送し、さらにホストから受信したメンバーシップ レポートをマルチキャスト ルーター インターフェイスに転送します。

この例では、ホスト A と C はグループ ff1e::2010のメンバーシップ レポートを使用して一般的なクエリーに応答しています。MLD スヌーピングにより、グループ ff1e::2010のメンバー インターフェイスとして、インターフェイス P2 と P4 がマルチキャスト転送テーブルに追加されます。送信元 A から受信したグループ マルチキャスト トラフィックをホスト A および C に転送しますが、ホスト B および D には転送しません。

ホスト B は、グループ ff15:2のメンバーシップ レポートを使用して一般的なクエリーに応答しました。デバイスは、グループ ff15:2 用のメンバー インターフェイスとしてそのマルチキャスト転送テーブルにインターフェイスP3を追加し、送信元BからホストBに受信したマルチキャストトラフィックを転送します。また、送信元 B から受信したマルチキャスト トラフィックをマルチキャスト ルーター インターフェイス P1 に転送します。

図 2:シナリオ 1:デバイスがマルチキャスト ルーターとホストにマルチキャスト トラフィックを転送 Scenario 1: Device Forwarding Multicast Traffic to a Multicast Router and Hosts

シナリオ 2:デバイスによるマルチキャスト トラフィックの別のデバイスへの転送

3のトポロジーでは、マルチキャスト ソースがデバイス A に接続されています。デバイス A は別のデバイスに接続され、デバイス B. デバイス A と B の両方のホストはマルチキャスト グループの潜在的メンバーです。どちらのデバイスもレイヤー 2 デバイスとして機能し、デバイス上のすべてのインターフェイスは同じ VLAN のメンバーです。

デバイス A はインターフェイス P1 上のマルチキャスト ルーターから MLD クエリーを受信し、インターフェイス P1 をデバイス A のマルチキャスト ルーター インターフェースにします。デバイス A は、このインターフェイスで受信した全一般的なクエリーを、デバイス B を接続するインターフェイスを含む、デバイス上のその他のインターフェイスに転送します。デバイス B はインターフェイス P6 で転送された MLD クエリーを受信します。P6 はデバイス B のマルチキャスト ルーター インターフェイスです。デバイス B は、マルチキャスト ルーター インターフェイスを介して、ホスト C からデバイス A に受信したメンバーシップ レポートを転送します。デバイス A は、メンバーシップ レポートをマルチキャスト ルーター インターフェイスに転送し、グループ メンバー インターフェイスとしてマルチキャスト転送テーブルにインターフェイス P5 を含め、マルチキャスト トラフィックを送信元からデバイス B に転送します。

図 3:シナリオ 2:デバイスによるマルチキャスト トラフィックの別のデバイスへの転送 Scenario 2: Device Forwarding Multicast Traffic to Another Device

一部の実装では、マルチキャスト トラフィックを受信するホストの遅延を回避するために、デバイス B 上の P6 を静的マルチキャスト ルーター インターフェイスとして設定する必要があります。たとえば、マルチキャスト ルーター インターフェイスであるインターフェイスを学習する前に、デバイス B がホストから非送信要求のメンバーシップ レポートを受信した場合、そのレポートをデバイス A に転送されません。次にデバイス A がマルチキャスト トラフィックを受信すると、インターフェイス P5 に関するメンバーシップ レポートを受信していないため、デバイス B にトラフィックは転送されません。この問題は、マルチキャスト ルーターが次の一般的なクエリーを送信するときに解決されます。ただし、ホストのマルチキャスト トラフィック受信の遅延が発生する可能性があります。インターフェイス P6 をマルチキャスト ルーター インターフェイスとして静的に設定して、この問題を解決できます。

シナリオ 3:ホストにのみ接続されたデバイス(MLD クリーアなし)

4に示すトポロジーでは、デバイスはマルチキャスト ソースとホストに接続されています。このトポロジーにはマルチキャスト ルーターが含まれるので、MLD クエリアはありません。MLD クリーアが応答しない場合、ホストは定期的なメンバーシップ レポートを送信しない。その結果、ホストがマルチキャスト グループに参加するために要求されていないメンバーシップ レポートを送信した場合でも、マルチキャスト グループのメンバーシップはタイムアウトします。

MLD スヌーピングをこのネットワークで正しく動作して、デバイスがマルチキャスト トラフィックをホスト A と C に転送するようにするには、以下のいずれかを実行できます。

  • インターフェイス P2 および P4 を静的グループ メンバー インターフェイスとして設定します。

  • VLAN 上で、IRB(統合型ルーティングおよびブリッジング)インターフェイスとも呼ばれる RVI(Routed VLAN Interface)を設定し、その上で MLD を有効にします。この場合、デバイス自体が MLD クエリアとして機能し、ホストはマルチキャスト グループに動的に参加し、クエリーに応答してグループ メンバーシップを更新できます。

図 4:シナリオ 3:ホストにのみ接続されたデバイス(MLD クリーなし) Scenario 3: Device Connected to Hosts Only (No MLD Querier)

シナリオ 4:VLAN 間でマルチキャスト トラフィックを転送するレイヤー 2/レイヤー 3 デバイス

5に示すトポロジーでは、マルチキャスト ソース、マルチキャスト ルーター A、ホスト A および B がデバイスに接続され、VLAN 10 になります。マルチキャスト ルーター B およびホスト C および D もデバイスに接続され、VLAN 20 に入っています。

純粋なレイヤー 2 環境では、VLAN 間でトラフィックは転送されません。ホスト C が VLAN 10 上のソースからマルチキャスト トラフィックを受信するには、VLAN 10 および VLAN 20 で RVI(または IRB インターフェイス)を作成して、VLAN 間でのマルチキャスト トラフィックのルーティングを許可する必要があります。

図 5:シナリオ 4:レイヤー 2/レイヤー 3デバイス転送マルチキャスト トラフィック(VLAN 間) Scenario 4: Layer 2/Layer 3 device Forwarding Multicast Traffic Between VLANs