Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

MLD スヌーピングを理解する

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

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

  • MLDv1:RFC 2710、 IPv6のマルチキャストリスナー検出(MLD)を参照してください。

  • MLDv2—RFC 3810、 IPv6のマルチキャストリスナー検出バージョン2(MLDv2)を参照してください。

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 を使用して、接続されている物理ネットワークごとに、どのグループに関心のあるリスナーがいるかを学習します。任意のサブネットで、1 つのマルチキャスト ルーターが MLD クエリアとして選択されます。MLD クエリアは、次のタイプのクエリをホストに送信します。

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

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

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

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

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

  • Leave Report:ホストが特定のマルチキャスト グループから脱退する意思があることを示します。

MLDv1 ホストのみが、2 種類のレポートを使用して、グループに参加するか脱退するかを示します。MLDv2 ホストは 1 種類のレポートのみを送信し、その内容はグループに参加するか脱退するかを示します。ただし、わかりやすくするために、MLD スヌーピングのドキュメントでは、ホストがグループへの参加を希望していることを示すレポートには メンバーシップ レポート という用語を使用し、ホストがグループを脱退することを示すレポートには 脱退レポート という用語を使用しています。

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

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

  • ホストが参加しようとしているマルチキャスト グループを指定する非送信請求メンバーシップ レポートを送信する。

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

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

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

  • 設定された時間内に定期的なクエリに応答しない。これにより、「サイレントリーブ」と呼ばれるものが発生します。

  • 休暇レポートを送信する。

手記:

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

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

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

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

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

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

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

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

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

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

手記:

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

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

一般的な転送ルール

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

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

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

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

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

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

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

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

手記:

IGMP と MLD スヌーピングの両方が同じ VLAN で有効になっている場合、IGMP および MLD スヌーピング設定の一部としてマルチキャスト ルーター インターフェイスが作成されます。未登録のマルチキャスト トラフィックはブロックされず、ルーター インターフェイスを通過できるため、ハードウェアの制限により、未登録の 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 スヌーピングは、インターフェイス P2 と P4 をグループ ff1e::2010 のメンバー インターフェイスとしてマルチキャスト転送テーブルに追加します。送信元 A から受信したグループ マルチキャスト トラフィックはホスト A および C に転送されますが、ホスト B および D には転送されません。

ホスト B は、グループ ff15::2 のメンバーシップ レポートで一般的なクエリに応答しました。デバイスは、インターフェイスP3をグループ ff15::2 のメンバーインターフェイスとしてマルチキャスト転送テーブルに追加し、送信元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を静的グループメンバーインターフェイスとして設定します。

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

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

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

図 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