例:マルチキャスト スヌーピングの設定
マルチキャスト スヌーピングについて
ルーターなどのネットワーク デバイスは、主にパケット レベル(レイヤー 3)で動作します。ブリッジや LAN スイッチなどのその他のネットワーク デバイスは、主にフレーム レベル(レイヤー 2)で動作します。マルチキャストは主にパケット レベルのレイヤー 3 で機能しますが、レイヤー 3 IP マルチキャスト グループ アドレスをフレーム レベルでレイヤー 2 MAC マルチキャスト グループ アドレスにマッピングする方法があります。
ルーターは、フレームとそのアドレスを処理して内部のカプセル化パケットにアクセスする必要があるため、レイヤー 2 とレイヤー 3 の両方のアドレッシング情報を処理できます。ルーターは、PIM や IGMP などのレイヤー 3 マルチキャスト プロトコルを実行し、マルチキャスト コンテンツを転送する場所や、インターフェイス上のホストがグループに参加またはグループを離れるタイミングを決定できます。ただし、ブリッジと LAN スイッチ(レイヤー 2 デバイス)は、フレームが伝送するパケット内のマルチキャスト情報にアクセスすることはできません。
では、ブリッジやその他のレイヤー 2 デバイスを使用して、インターフェイス上のデバイスがいつマルチキャスト ツリーに参加または脱退するのか、接続された LAN 上のホストが特定のマルチキャスト グループのコンテンツを受信したいのかを判断するにはどうすれば良いでしょうか。
その答えは、レイヤー 2 デバイスがマルチキャスト スヌーピングを実装することです。マルチキャスト スヌーピングは一般的な用語であり、レイヤー 3 パケット コンテンツにおけるレイヤー 2 デバイスの「スヌーピング」プロセスに適用され、フレームを処理または転送するために実行されるアクションを決定します。IGMP スヌーピングや PIM スヌーピングなど、より具体的なスヌーピングがあります。いずれの場合も、スヌーピングには、通常「禁止された」レイヤー 3(パケット)情報へのアクセスを持つレイヤー 2 で機能するように設定されたデバイスが含まれます。スヌーピングにより、これらのデバイスでのマルチキャストの効率が向上します。
「」も参照
マルチキャスト スヌーピングと VPLS ルート保護について
スヌーピングは、スパニング ツリー プロトコルなどのレイヤー 2 プロトコルが、IGMP(Internet Group Management Protocol)やその他のマルチキャスト プロトコルなどのレイヤー 3 プロトコルの動作の詳細を認識している場合に発生します。VLAN スイッチなどのレイヤー 2 デバイスがマルチキャスト グループのメンバーの MAC(メディア アクセス コントロール)アドレスなどのレイヤー 3 情報を認識している必要がある場合は、スヌーピングが必要です。
VPLS ルート保護 とは、マルチホーム環境の 1 つのインターフェイスのみがスパニング ツリー プロトコル フレームをアクティブに転送するスパニング ツリー プロトコル プロセスです。これにより、スパニング ツリーのルートがブリッジング ループから保護されますが、マルチホーム トポロジの両方のデバイスが、IGMP メンバーシップ レポートなどのスヌーピングされた情報から保護されます。
たとえば、相互に接続されている 2 つの顧客エッジ(CE1 および CE2)ルーター(CE1~CE2 リンクが設定されている)と、PE1 および PE2(2 つのプロバイダ エッジ)ルーター(PE1 および PE2)にマルチホームで接続されたマルチキャスト対応ホストの集まりを考えてみましょう。ルート保護操作により、アクティブ PE はアクティブ PE-CE リンク上で転送されたスパニング ツリー プロトコル情報のみを受信します。CE1-CE2リンクが動作している限り、これは問題ではありません。ただし、CE1 と CE2 間のリンクに障害が発生し、もう一方の PE がアクティブなスパニング ツリー プロトコル リンクになった場合、新しいアクティブ PE ではマルチキャスト スヌーピング情報を使用できません。新しいアクティブ PE は、マルチキャスト トラフィックを CE に転送せず、この CE ルーターがサービスを提供するホストにも転送しません。
ホストが新しいグループ メンバーシップ IGMP レポートを CE ルーターに送信すると、サービスの停止が修正されます。ただし、通常のスパニングツリー プロトコルルート保護操作にもかかわらず、マルチキャストスヌーピング情報が両方のPEで使用可能であれば、サービスの停止を回避できます。
仮想スイッチおよびブリッジ ドメインのデフォルト ルーティング スイッチ上のブリッジ ドメイン上のスパニング ツリー トポロジの変更に関するメッセージを無視するように、マルチキャスト スヌーピングを設定できます。コマンドを使用して、 ignore-stp-topology-change
スパニング ツリー トポロジの変更に関するメッセージを無視できます。
「」も参照
マルチキャスト スヌーピングの設定
MX シリーズ ルーターの一般的なマルチキャスト スヌーピング パラメータを設定するには、次のステートメントを multicast-snooping-options
含めます。
multicast-snooping-options { flood-groups [ ip-addresses ]; forwarding-cache { threshold suppress value <reuse value>; } graceful-restart <restart-duration seconds>; ignore-stp-topology-change; multichassis-lag-replicate-state; nexthop-hold-time milliseconds; traceoptions { file filename <files number> <size size> <world-readable | no-world-readable>; flag flag <flag-modifier> <disable>; } }
このステートメントは、以下の階層レベルに含めることができます。
[edit routing-instances routing-instance-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name]
デフォルトでは、マルチキャスト スヌーピングは無効になっています。VPLS でマルチキャスト スヌーピングを有効にするか、インスタンス階層の仮想スイッチ インスタンス タイプを有効にできます。
VPLS または仮想スイッチ インスタンスの下に複数のブリッジ ドメインが設定されている場合、インスタンス レベルで設定されたマルチキャスト スヌーピング オプションはすべてのブリッジ ドメインに適用されます。
ステートメント ignore-stp-topology-change
は、 仮想スイッチ ルーティング インスタンス タイプでのみサポートされており、階層では [edit logical-systems]
サポートされていません。
ステートメント nexthop-hold-time
は階層でのみ [edit routing-instances routing-instance-name]
サポートされ、 仮想スイッチ または vpls のインスタンス タイプに対してのみサポートされます。
「」も参照
例:マルチキャスト スヌーピングの設定
この例では、ブリッジまたは VPLS ルーティング インスタンス シナリオでマルチキャスト スヌーピングを設定する方法を示しています。
要件
この例では、次のハードウェア コンポーネントを使用します。
MX シリーズ ルーター x 1
マルチキャスト ルーターとして機能する 1 つのレイヤー 3 デバイス
開始する前に、以下を行います。
インターフェイスを設定します。
内部ゲートウェイ プロトコルを設定します。 ルーティング デバイスの Junos OS ルーティング プロトコル ライブラリを参照してください。
マルチキャスト プロトコルを設定します。この機能は、次のマルチキャスト プロトコルで動作します。
DVMRP
PIM-DM
PIM-SM
PIM-SSM
概要とトポロジー
IGMP スヌーピングにより、レイヤー 2 デバイスがマルチキャスト トラフィックをすべてのインターフェイスから無差別にフラッディングするのを防ぎます。マルチキャスト スヌーピングに対して設定した設定は、IGMP スヌーピングの動作の管理に役立ちます。
デフォルトのマスター インスタンス、個々のブリッジまたは VPLS インスタンスでマルチキャスト スヌーピング オプションを設定できます。デフォルトのマスター インスタンス設定はグローバルで、論理ルーター内のすべての個々のブリッジまたは VPLS インスタンスに適用されます。個々のインスタンスの設定は、グローバル設定を上書きします。
この例には、次のステートメントが含まれています。
フラッド グループ — トラフィックをフラッディングするマルチキャスト グループ アドレスをリストできます。この設定は、IGMP スヌーピングが必要なマルチキャスト フラッディングを防ぐのに役立つ場合に役立ちます。224.0.0.1 から 224.0.0.255 までのマルチキャスト アドレスのブロックは、ローカル 有線使用用に予約されています。この範囲のグループは、ルーティング プロトコルやローカル検出メカニズムなど、さまざまな用途に割り当てられます。たとえば、OSPF はすべての OSPF ルーターに 224.0.0.5 を使用します。
転送キャッシュ — 転送エントリーのエージング アウト方法と、エントリー数の制御方法を指定します。
転送キャッシュにしきい値を設定して、キャッシュ エントリーが特定の最大値に達したときにスヌーピングを抑制(中断)し、その数が別のしきい値に落ちた場合にキャッシュを再利用できます。デフォルトでは、ルーターではしきい値は有効になっていません。
抑制しきい値は、新しいマルチキャスト転送キャッシュ エントリーを抑制します。オプションの再利用しきい値は、ルーターが新しいマルチキャスト転送キャッシュ エントリーの作成を開始するポイントを指定します。両方のしきい値の範囲は 1~ 200,000 です。構成されている場合、再利用値は抑制値よりも小さくする必要があります。抑制値は必須です。オプションの再利用値を指定しない場合、マルチキャスト転送キャッシュ エントリーの数は抑制値に制限されます。マルチキャスト転送キャッシュ エントリーの数が抑制値を下回るとすぐに、新しいエントリーが作成されます。
グレースフルリスタート—再起動する前に学習したルートを再学習したルートに置き換える時間を設定します。マルチキャスト スヌーピングのグレースフル リスタートが無効になっている場合、ルーティング エンジンの再起動後、スヌーピング情報は失われます。
デフォルトでは、グレースフル リスタート時間は 180 秒(3 分)です。この値は 0~300 秒の間で設定できます。時間を 0 に設定すると、グレースフル リスタートは効果的に無効になります。この値は、IGMP クエリ応答間隔よりもわずかに大きく設定します。
ignore-stp-topology-change—スパニングツリー トポロジの状態変更に関するメッセージを無視するように MX シリーズ ルーターを設定します。
デフォルトでは、MX シリーズ ルーターの IGMP スヌーピング プロセスは、スパニング ツリー プロトコル(STP)によって行われたインターフェイス状態の変更を検出します。
VPLS マルチホーミング環境では、2 台の PE ルーターが相互接続された 2 台の CE ルーターに接続され、PE ルーターで STP ルート保護が有効になっている場合、PE ルーター インターフェイスの 1 つが転送状態にあり、もう 1 つはブロッキング状態です。
2 つの CE ルーターを相互接続するリンクに障害が発生した場合、ブロッキング状態の PE ルーター インターフェイスは転送状態に移行します。
PE ルーター インターフェイスは、次の一般的なクエリーまたはグループ固有のクエリーに応答して、メンバーシップ レポートの受信を待つことはありません。代わりに、IGMP スヌーピング プロセスが CE ルーターに一般的なクエリー メッセージを送信します。CE ルーターに接続されたホストは、関心のあるすべてのグループのレポートで応答します。
2 台の CE ルーターを相互接続するリンクが復元されると、両方の PE ルーター上の元のスパニング ツリー状態が復元されます。転送 PE はスパニング ツリー トポロジ変更メッセージを受信し、CE ルーターに一般的なクエリー メッセージを送信して、グループ メンバーシップの状態を直ちに再構築します。
メモ:ステートメント
ignore-stp-topology-change
は、 仮想スイッチ ルーティング インスタンス タイプでのみサポートされています。
トポロジ
図 1 は、顧客ネットワークに 2 つの CE デバイスがリンクされている VPLS マルチホーミング トポロジーを示しています。各 CE は 1 つの PE に接続されます。
構成
手順
CLI クイック設定
この例を迅速に設定するには、次のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致するために必要な詳細情報を変更し、コマンドを階層レベルで [edit]
CLI にコピー アンド ペーストしてから、設定モードから入力 commit
します。
set bridge-domains domain1 multicast-snooping-options forwarding-cache threshold suppress 100 set bridge-domains domain1 multicast-snooping-options forwarding-cache threshold reuse 50 set bridge-domains domain1 multicast-snooping-options graceful-restart restart-duration 120 set routing-instances ce1 instance-type virtual-switch set routing-instances ce1 bridge-domains domain1 domain-type bridge set routing-instances ce1 bridge-domains domain1 vlan-id 100 set routing-instances ce1 bridge-domains domain1 interface ge-0/3/9.0 set routing-instances ce1 bridge-domains domain1 interface ge-0/0/6.0 set routing-instances ce1 bridge-domains domain1 multicast-snooping-options flood-groups 224.0.0.5 set routing-instances ce1 bridge-domains domain1 multicast-snooping-options ignore-stp-topology-change
手順
次の例では、設定階層のさまざまなレベルに移動する必要があります。CLI のナビゲーションの詳細については、「 Junos OS CLI ユーザー ガイド」を参照してください。
IGMP スヌーピングを設定するには、
マスター ルーティング インスタンスでマルチキャスト スヌーピング設定を設定します。
[edit bridge-domains domain1] user@host# set multicast-snooping-options forwarding-cache threshold suppress 100 reuse 50 user@host# set multicast-snooping-options graceful-restart 120
ルーティング インスタンスを設定します。
[edit routing-instances ce1] user@host# set instance-type virtual-switch
ルーティング インスタンスでブリッジ ドメインを設定します。
[edit routing-instances ce1 bridge-domains domain1] user@host# set domain-type bridge user@host# set interface ge-0/0/6.0 user@host# set interface ge-0/3/9.0 user@host# set vlan-id 100
フラッド グループを設定します。
[edit routing-instances ce1 bridge-domains domain1] user@host# set multicast-snooping-options flood-groups 224.0.0.5
スパニング ツリー トポロジの状態変更に関するメッセージを無視するようにルーターを設定します。
[edit routing-instances ce1 bridge-domains domain1] user@host# set multicast-snooping-options ignore-stp-topology-change
デバイスの設定が完了したら、設定をコミットします。
user@host# commit
結果
and show routing-instances
コマンドを入力して設定をshow bridge-domains
確認します。
user@host# show bridge-domains domain1 { multicast-snooping-options { forwarding-cache { threshold { suppress 100; reuse 50; } } } }
user@host# show routing-instances ce1 { instance-type virtual-switch; bridge-domains { domain1 { domain-type bridge; vlan-id 100; interface ge-0/3/9.0; ## 'ge-0/3/9.0' is not defined interface ge-0/0/6.0; ## 'ge-0/0/6.0' is not defined multicast-snooping-options { flood-groups 224.0.0.5; ignore-stp-topology-change; } } } }
検証
設定を検証するには、次のコマンドを実行します。
show igmp スヌーピング インターフェイス
igmp スヌーピング メンバーシップの表示
igmp スヌーピング統計情報の表示
show multicast スヌーピング ルート
show route table
マルチキャスト スヌーピングの一括更新の有効化
個々のインターフェイスがマルチキャスト グループに参加または脱退するたびに、ルーティング テーブルと転送テーブルに新しいネクスト ホップ エントリーがインストールされます。ステートメントを nexthop-hold-time
使用して、1~1000 ミリ秒(ms)までの時間を指定できます。この間、送信インターフェイスの変更が累積され、ルーティング テーブルと転送テーブルに一括で更新されます。一括更新により、結合およびメッセージを残すために必要な処理時間とメモリのオーバーヘッドが削減されます。これは、チャネルを変更するユーザーが短期間でグループに参加またはグループを離れる何千ものインターフェイスを作成できるインターネットポトコルテレビ(IPTV)などのアプリケーションに役立ちます。IPTV のシナリオでは、通常、比較的少数の制御されたストリーム数と多数の送信インターフェイスがあります。一括更新を使用すると、参加の遅延を減らすことができます。
この例では、次のステートメントを使用して、 インスタンスタイプの仮想スイッチに20ミリ秒のホールドタイムを nexthop-hold-time
設定します。
ステートメントは、次の nexthop-hold-time
階層レベルで 仮想スイッチ または vpls のルーティング インスタンス タイプに対してのみ含めることができます。
[edit routing-instances routing-instance-name multicast-snooping-options]
ステートメントが nexthop-hold-time
ルーター設定から削除された場合、一括更新は無効になります。
「」も参照
マルチシャーシ リンク アグリゲーション グループ インターフェイスでのマルチキャスト スヌーピングの有効化
ステートメントを multichassis-lag-replicate-state
階層レベルに [edit multicast-snooping-options]
含めて、MC-LAG(マルチシャーシ リンク アグリゲーション グループ)インターフェイスの IGMP スヌーピングと状態レプリケーションを有効にします。
[edit] multicast-snooping-options { multichassis-lag-replicate-state; }
デュアルリンク MC-LAG インターフェイスのリンク間で結合および残すメッセージを複製すると、サービス中断が発生する MC-LAG インターフェイスのメンバーシップ情報を迅速に回復できます。
状態の複製がない場合、デュアルリンクMC-LAGインターフェイスでサービス中断が発生した場合(アクティブなリンクスイッチをスタンバイに切り替えた場合など)、インターフェイスのメンバーシップ情報は、ネットワークにIGMPクエリを生成して回復されます。このメソッドは、完了まで 1~10 秒かかる場合があり、一部のアプリケーションでは長すぎる場合があります。
MC-LAG インターフェイスに状態レプリケーションが提供されると、MC-LAG デバイスで受信した IGMP 参加または残すメッセージは、ICCP(Interchassis Communication Protocol)接続を介してアクティブな MC-LAG リンクからスタンバイ リンクに複製されます。スタンバイ リンクは、対応するアクティブ MC-LAG リンクからメッセージを受信したかのように処理しますが、それ自体はネクスト ホップとして追加されず、メッセージがネットワークにフラッディングすることはありません。フェイルオーバーの後、複製されたメッセージを取得することで、リンクのマルチキャスト メンバーシップ ステータスを数秒以内に回復できます。
この例では、MC-LAG インターフェイスの状態レプリケーションを有効にします。