Junos OSスイッチVLANでのMLDスヌーピングの設定(CLI手順)
VLANでMLDスヌーピングを有効にして、VLAN上のIPv6マルチキャストトラフィックのフラッディングを制限できます。MLDスヌーピングが有効になっている場合、スイッチはホストとマルチキャストルーター間のMLDメッセージを調べ、どのホストがマルチキャストグループのマルチキャストトラフィックの受信に関心があるかを学習します。スイッチは、学習した内容に基づいて、すべてのインターフェイスにトラフィックをフラッディングするのではなく、関心のある受信側に接続されているインターフェイスにのみIPv6マルチキャストトラフィックを転送します。
MLDスヌーピングは、デフォルトではスイッチで有効になっていません。すべてのVLANでMLDスヌーピングを有効にするには:
[edit] user@switch# set protocols mld-snooping vlan all
多くのネットワークでは、MLDスヌーピングにそれ以上の設定は必要ありません。
VLANごとに、以下のオプション設定を実行できます。
特定のVLANでMLDスヌーピングを選択的に有効にします。
注:セカンダリVLANでMLDスヌーピングを設定することはできません。
インターフェイスが立ち上がったときにスイッチがインターフェイスに送信する一般的なクエリーのMLDバージョンを指定します。
VLANまたはすべてのVLANで即時退出を有効にします。即時離脱は、インターフェイス上の最後のメンバーホストがグループを離れたときに、スイッチがマルチキャストトラフィックの転送を停止するまでの時間を短縮します。
インターフェイスをVLANまたはすべてのVLANの静的マルチキャストルーターインターフェイスとして設定することで、スイッチがインターフェイスがマルチキャストルーターインターフェイスであることを動的に学習する必要がなくなります。
スイッチがインターフェイスのメンバーシップを動的に学習する必要がないように、インターフェイスをマルチキャストグループの静的メンバーとして設定します。
特定のタイマーとカウンターの値を、MLD クエリアとして機能するマルチキャスト ルーターで設定された値と一致するように変更します。
vlan allステートメントを使用してMLDスヌーピングを設定すると、MLDスヌーピング用に個別に設定されていないVLANはすべて、VLANのすべての設定を継承します。一方、MLDスヌーピング用に個別に設定されたVLANは、VLANからその設定をすべて継承しません。個々の VLAN に明示的に定義されていないパラメーターは、VLAN all 設定で指定された値ではなく、デフォルト値を想定します。例えば、以下の設定では:
protocols {
mld-snooping {
vlan all {
robust-count 8;
}
vlan employee {
interface ge-0/0/8.0 {
static {
group ff1e::1;
}
}
}
}
}
従業員を除くすべてのVLANの堅牢なカウントは8です。従業員は個別に設定されているため、その堅牢なカウント値は、vlan allで設定された値によって決定されません。代わりに、その堅牢なカウントはデフォルト値の2です。
VLAN での MLD スヌーピングの有効化または無効化
MLDスヌーピングは、デフォルトではどのVLANでも有効になっていません。MLDスヌーピング用に1つのVLANまたはすべてのVLANを明示的に設定する必要があります。
このトピックでは、スイッチ上の特定のVLANまたはすべてのVLANでMLDスヌーピングを有効または無効にする方法について説明します。
すべてのVLANでMLDスヌーピングを有効にするには:
[edit protocols mld-snooping] user@switch# set vlan all
特定のVLANでMLDスヌーピングを有効にするには:
[edit protocols mld-snooping] user@switch# set vlan vlan-name
注:セカンダリVLANでMLDスヌーピングを設定することはできません。
例えば、 VLAN教育でMLDスヌーピングを有効にするには:
[edit protocols mld-snooping] user@switch# set vlan education
少数のVLANを除くすべてのVLANでMLDスヌーピングを有効にするには:
すべてのVLANでMLDスヌーピングを有効にします。
[edit protocols mld-snooping] user@switch# set vlan all
個々の VLAN で MLD スヌーピングを無効にします。
[edit protocols mld-snooping] user@switch# set vlan vlan-name disable
例えば、 vlan100 と vlan200を除くすべてのVLANでMLDスヌーピングを有効にするには:
[edit protocols mld-snooping] user@switch# set vlan all
[edit protocols mld-snooping] user@switch# set vlan vlan100 disable
[edit protocols mld-snooping] user@switch# set vlan vlan200 disable
MLD スヌーピング VLAN 設定を変更せずに、スイッチ上の MLD スヌーピングプロトコルを無効にすることもできます。
[edit] user@switch# deactivate protocols mld-snooping
MLDバージョンの設定
MLDスヌーピングが有効になっている場合に、スイッチから送信されるMLDクエリーのバージョンを設定できます。デフォルトでは、スイッチはMLDバージョン1(MLDv1)を使用します。PIM-SSM(プロトコル独立マルチキャスト ソース固有マルチキャスト)を使用している場合は、MLDv2 を使用するようにスイッチを設定することをお勧めします。
通常、スイッチはマルチキャストルーターとホスト間に送信されるMLDメッセージを受動的に監視し、MLDクエリーを送信しません。ただし、スイッチがインターフェイスの立ち上がりを検出した場合は例外です。インターフェイスが立ち上がると、スイッチはインターフェイス上のすべてのホストに一般メンバーシップクエリーを即座に送信します。これにより、スイッチにより、マルチキャストルーターは、MLDクエリアが次の一般的なクエリーを送信するまで待機する必要がある場合よりも迅速にグループメンバーシップを学習できます。
一般クエリの MLD バージョンは、ホスト メンバーシップ レポートの MLD バージョンを次のように決定します。
MLDバージョン1(MLDv1)全般クエリー—MLDv1ホストとMLDv2ホストの両方がMLDv1メンバーシップレポートで応答します。
MLDv2 全般クエリー - MLDv2 ホストは MLDv2 メンバーシップ レポートで応答しますが、MLDv1 ホストはクエリーに応答できません。
デフォルトでは、スイッチはMLDv1クエリを送信します。これにより、MLDv1のみをサポートし、MLDv2レポートを処理できないホストおよびマルチキャストルーターとの互換性が確保されます。ただし、VLAN に MLDv2 マルチキャスト ルーターとホストが含まれており、ルーターで PIM-SSM を実行している場合は、MLDv2 に MLD スヌーピングを設定することをお勧めします。 これにより、ルーターは、インターフェイス上のホストがトラフィックを受信したいマルチキャスト ソースを迅速に学習できます。
MLDバージョンを設定しても、スイッチがスヌーピングできるMLDメッセージのバージョンは制限されません。スイッチは、設定された MLD バージョンに関係なく、MLDv1 メッセージと MLDv2 メッセージの両方をスヌーピングできます。
スイッチでMLDバージョンを設定するには:
[edit protocols]user@switch# set mld-snooping vlan vlan-name version number
例えば、VLAN マーケティング向けに MLD バージョンをバージョン 2 に設定するには、次のようにします。
[edit protocols]user@switch# set mld-snooping vlan marketing version 2
即時休暇の有効化
デフォルトでは、MLDスヌーピングが有効なスイッチがメンバーインターフェイスでMLDリーブレポートを受信すると、インターフェイス上のホストがMLDグループ固有のクエリーに応答するのを待機し、グループマルチキャストトラフィックの受信に関心のあるホストがインターフェイス上にまだ存在するかどうかを判断します。設定された時間内にスイッチにグループのメンバーシップレポートが表示されない場合、スイッチはインターフェイスのグループメンバーシップをマルチキャスト転送テーブルから削除し、グループのマルチキャストトラフィックのインターフェイスへの転送を停止します。
VLANで即時離脱を有効にすることで、このデフォルトの動作によって生じる離脱遅延を減らすことができます。
VLANで即時退出を有効にすると、ホスト追跡も有効になり、スイッチはマルチキャストグループに参加しているインターフェイス上のホストを追跡できます。スイッチは、グループの最後のメンバーから休暇レポートを受信すると、直ちにインターフェイスへのトラフィック転送を停止し、インターフェイスグループのメンバーシップがタイムアウトするまで待ちません。
即時休暇は、MLDバージョン1(MLDv1)とMLDv2の両方でサポートされています。ただし、MLDv1 では、インターフェイス上に MLD ホストが 1 つしかない場合にのみ、即時リーブを設定することをお勧めします。MLDv1では、インターフェイス上の1つのホストのみがグループ固有のクエリーに応答してメンバーシップレポートを送信し、他の関心のあるホストはレポートを抑制します。このレポート抑制機能により、スイッチは常に関心のあるホストが1つしか認識できません。
VLANで即時退出を有効にするには:
[edit protocols]user@switch# set mld-snooping vlan vlan-name immediate-leave
すべてのVLANで即時退出を有効にするには:
[edit protocols]user@switch# set mld-snooping vlan all immediate-leave
マルチキャストルーターインターフェイスとしてのインターフェイスの設定
スイッチでMLDスヌーピングが有効になっている場合、スイッチは、MLDクエリーまたはPIM(プロトコル独立マルチキャスト)の更新についてインターフェイスを監視することで、どのインターフェイスがマルチキャストルーターと対峙するかを判断します。スイッチがインターフェイスでこれらのメッセージを受信すると、そのインターフェイスをマルチキャストルーターインターフェイスとしてマルチキャスト転送テーブルに追加します。
動的に学習されたインターフェイスに加えて、マルチキャスト転送テーブルには、マルチキャスト ルーター インターフェイスとして明示的に設定したインターフェイスを含めることができます。動的に学習されたインターフェイスのテーブルエントリとは異なり、静的に設定されたインターフェイスのテーブルエントリは、エージングや転送テーブルからの削除の影響を受けません。
静的なマルチキャスト ルーター インターフェイスを設定する場合の例は次のとおりです。
通常とは異なるネットワーク設定により、MLDスヌーピングがMLDクエリーやPIMアップデートの監視を通じてマルチキャストルーターインターフェイスについて確実に学習できない。
実装に MLD クエリアは必要ありません。
安定したトポロジーがあり、動的学習プロセスに伴う遅延を回避したいと考えています。
マルチキャスト ルーター インターフェイスとして設定しているインターフェイスがトランク ポートの場合、すべての VLAN に対して明示的に設定していなくても、そのインターフェイスはトランク ポートに設定されたすべての VLAN のマルチキャスト ルーター インターフェイスになります。さらに、未登録のマルチキャストパケットは、IPv4 パケットか IPv6 パケットかにかかわらず、MLD スヌーピングのみのマルチキャスト ルーター インターフェイスとしてインターフェイスが設定されている場合でも、マルチキャスト ルーター インターフェイスに転送されます。
インターフェイスを静的マルチキャスト ルーター インターフェイスとして設定するには:
[edit protocols]user@switch# set mld-snooping vlan vlan-name interface interface-name multicast-router-interface
例えば、スイッチ上のすべてのVLANのマルチキャストルーターインターフェイスとして ge-0/0/5.0 を設定するには:
[edit protocols]user@switch# set mld-snooping vlan all interface ge-0/0/5.0 multicast-router-interface
インターフェイスでの静的グループメンバーシップの設定
マルチキャストパケットの転送方法を決定するために、MLDスヌーピングを有効にしたスイッチは、特定のマルチキャストグループに関心のあるリスナーを持つホストインターフェイスのリストを含むマルチキャスト転送テーブルを維持します。スイッチは、MLDスヌーピングが有効になっているインターフェイスに到着したMLDメンバーシップレポートを調べることで、このテーブルから追加または削除するホストインターフェイスを学習します。
このような動的に学習されたインターフェイスに加えて、マルチキャスト 転送テーブルには、マルチキャスト グループのメンバーになるように静的に設定したインターフェイスを含めることができます。静的グループインターフェイスを設定すると、スイッチはグループのホストインターフェイスとしてそのインターフェイスを転送テーブルに追加します。動的に学習されたインターフェイスのエントリとは異なり、静的インターフェイスエントリは、エージングや転送テーブルからの削除の対象になりません。
インターフェイスで静的グループメンバーシップを設定する場合の例は次のとおりです。
テスト目的で、接続されたマルチキャスト受信機をシミュレートしたいと考えています。
インターフェイスには、MLDメンバーシップレポートを送信できないレシーバーがあります。
特定のグループのマルチキャストトラフィックを、動的参加プロセスによって課される遅延なしに、受信者がすぐに利用できるようにしたいと考えています。
静的グループインターフェイスにマルチキャスト送信元アドレスを設定することはできません。静的グループインターフェイスのMLDバージョンは、常にMLDバージョン1です。
スイッチは、静的に設定されたインターフェイスに代わって MLD メンバーシップ レポートをシミュレートしません。そのため、マルチキャスト ルーターは、スイッチにマルチキャスト グループのメンバーであるインターフェイスがあることに気付かない可能性があります。ルーターに静的グループインターフェイスを設定して、スイッチがグループマルチキャストトラフィックを受信するようにすることができます。
ホストインターフェイスをマルチキャストグループの静的メンバーとして設定するには:
[edit protocols]user@switch# set mld-snooping vlan vlan-name interface interface-name static group ip-address
例えば、VLAN ip-camera-vlanのインターフェイスge-0/0/11.0をマルチキャストグループff1e::1の静的メンバーとして設定するには:
[edit protocols]user@switch# set mld-snooping vlan ip-camera-vlan interface ge-0/0/11.0 static group ff1e::1
タイマーとカウンターの値の変更
MLD は、さまざまなタイマーとカウンターを使用して、MLD クエリアがメンバーシップ クエリーを送信する頻度と、グループ メンバーシップがタイムアウトするタイミングを決定します。ジュニパーOSスイッチでは、MLDおよびMLDスヌーピングタイマーとカウンターのデフォルト値は、RFC 2710、 IPv6のマルチキャストリスナーディスカバリー(MLD)で推奨される値に設定されます。これらの値は、ほとんどのマルチキャスト実装でうまく機能します。
ただし、バースト性の低減、リーブ遅延の短縮、サブネットでの予想されるパケット損失の調整など、タイマーとカウンターの値を調整する必要がある場合があります。VLAN 上の MLD クエリアのタイマーまたはカウンター値を変更する場合は、VLAN 上のすべてのマルチキャスト ルーターとスイッチの値を変更して、すべてのデバイスがほぼ同時にグループ メンバーシップをタイムアウトするようにすることをお勧めします。
以下のタイマーとカウンターは、スイッチで設定可能です。
query-interval—MLDクエリアが一般的なクエリを送信するまでに待機する時間(デフォルトは125秒)。この間隔を変更して、サブネット上のMLDメッセージの数を調整できます。値が大きいほど、一般的なクエリーの送信頻度が低くなります。
MLDスヌーピング用にこの値を直接設定することはできません。MLDスヌーピングは、スイッチに設定されたMLD値から値を継承し、スイッチ上のすべてのVLANに適用されます。
MLD クエリー間隔を設定するには:
[edit protocols]user@switch# set mld query-interval seconds
query-response-interval—ホストが応答するまで待機できる最大時間(デフォルトは10秒)。この間隔を変更して、サブネット上のMLDメッセージのバーストピークを調整できます。トラフィックのバーストを少なくするために、より大きな間隔を設定します。
MLDスヌーピング用にこの値を直接設定することはできません。MLDスヌーピングは、スイッチに設定されたMLD値から値を継承し、スイッチ上のすべてのVLANに適用されます。
MLD クエリ応答間隔を設定するには:
[edit protocols]user@switch# set mld query-response-interval seconds
query-last-member-interval—MLD クエリアがグループ固有のメンバーシップ クエリーを送信する間で待機する時間の長さ(デフォルトは 1 秒)。MLD クエリアは、ホストから休暇レポートを受信した後、グループ固有のクエリを送信します。この間隔を短くすると、最後のメンバーがグループを離れた後にマルチキャストトラフィックが転送を停止するまでの時間を短縮できます。
MLDスヌーピング用にこの値を直接設定することはできません。MLDスヌーピングは、スイッチに設定されたMLD値から値を継承し、スイッチ上のすべてのVLANに適用されます。
MLD query-last-member-intervalを設定するには:
[edit protocols]user@switch# set mld query-last-member-interval seconds
robust-count—クエリアが一般のメンバーシップクエリまたはグループ固有のメンバーシップクエリを再送信する回数(デフォルトは2回)。このカウントを増やすことで、予想されるパケット損失が高くなるように調整することができます。
MLDスヌーピングでは、特定のVLANに対して robust-count を設定することができます。VLANに robust-count が設定されていない場合、 robust-count 値はMLDに設定された値から継承されます。
VLANでMLDスヌーピングの 堅牢なカウント を設定するには:
[edit protocols]user@switch# set mld-snooping vlan vlan-name robust-count number
query-interval、query-response-interval、robust-countに設定された値によって、マルチキャストリスナー間隔(一般的なクエリーの後、スイッチがグループメンバーシップレポートを待機してから、マルチキャスト転送テーブルからグループマルチキャストを削除する時間)が決まります。スイッチは、query-intervalにrobust-countを乗算してからquery-response-intervalを追加して、マルチキャストリスナー間隔を計算します。
(query-interval x robust-count) + query-response-interval = マルチキャストリスナー間隔
例えば、 query-interval、 query-response-interval、 robust-count のデフォルト設定が使用されている場合、マルチキャストリスナーの間隔は260秒になります。
(125 x 2) + 10 = 260
show mld-snooping membershipコマンドを使用して、グループがタイムアウトするまでのマルチキャストリスナー間隔の残り時間を表示することができます。