このページの目次
IGMP の設定
グループ メンバーシップ プロトコルについて
ホストとルーティング デバイス間で使用されるマルチキャスト プロトコルと、マルチキャスト ルーティング デバイス自体の間には、大きな違いがあります。特定のサブネットワーク上のホストがルーティングデバイスに通知する必要があるのは、特定のマルチキャストグループからのパケットの受信に関心があるかどうかだけです。送信元ホストは、特定のマルチキャスト グループのトラフィック ソースであることをルーティング デバイスに通知するだけで済みます。つまり、どのホストにも配布ツリーの詳細な知識は必要ありません。ルーティング デバイスにマルチキャスト グループへの参加を通知するために必要なのは、グループ メンバーシップ プロトコルだけです。一方、隣接するルーティングデバイス間では、マルチキャストルーティングプロトコルは、送信元からリーフまでのネットワークトポロジーと配信ツリーを詳細に把握できるため、ループを回避する必要があります。そのため、マルチキャスト ネットワークのホスト ルーター部分とルーター ルーター部分に異なるマルチキャスト プロトコルが使用されます。
マルチキャストグループメンバーシッププロトコルを使用すると、ルーティングデバイスは、直接接続されたサブネット(通常はLAN)上のホストが特定のマルチキャストグループからのトラフィックを受信するタイミングを検出できます。LAN上の複数のホストがそのマルチキャストグループのトラフィックを受信したい場合でも、ルーティングデバイスは、LAN固有のブロードキャスト特性により、そのマルチキャストグループの各パケットのコピーを1つだけそのインターフェイスに送信します。マルチキャストグループメンバーシッププロトコルが、サブネット上に関心のあるホストがないことをルーティングデバイスに通知した場合、パケットは保留され、そのリーフはディストリビューションツリーから削除されます。
インターネット グループ管理プロトコル(IGMP)とマルチキャスト リスナー検出(MLD)プロトコルは、標準の IP マルチキャスト グループ メンバーシップ プロトコルです。 IGMP と MLD には、ホストとルーティング デバイスでサポートされているいくつかのバージョンがあります。
IGMPv1—RFC 1112 で定義された元のプロトコル。明示的なジョイン メッセージがルーティング デバイスに送信されますが、主催者がグループを脱退するタイミングを決定するためにタイムアウトが使用されます。このプロセスにより、ルーティングデバイス、特に古いデバイスや小さいルーティングデバイスの処理サイクルが無駄になります。
IGMPv2—RFC 2236 で定義されています。IGMPv2 では、明示的な脱退メッセージがジョイン メッセージに追加されるため、ルーティング デバイスは、グループに LAN 上に関心のあるリスナーがいないことをより簡単に判断できます。
IGMPv3—RFC 3376 で定義されています。IGMPv3 は、マルチキャスト グループの単一コンテンツ ソース、または SSM(ソース固有マルチキャスト)のサポートを最適化します。
MLDv1—RFC 2710 で定義されています。MLDv1 は IGMPv2 に似ています。
MLDv2—RFC 3810 で定義されています。MLDv2 は IGMPv3 に似ています。
IGMP と MLD のさまざまなバージョンには、後方互換性があります。ルーティング デバイスでは、LAN インターフェイス上で複数のバージョンの IGMP および MLD が実行されるのが一般的です。下位互換性は、LAN上で実行されるすべてのバージョンの中で最も基本的なバージョンに戻すことで実現されます。例えば、1つのホストでIGMPv1が実行されている場合、IGMPv2を実行しているLANに接続されているルーティングデバイスは、IGMPv1動作にドロップバックすることができ、IGMPv2のメリットを効果的に排除することができます。複数の IGMP バージョンを実行することで、IGMPv1 ホストと IGMPv2 ホストの両方が、ルーティング デバイス上でそのバージョンのピアを確実に見つけることができます。
MX シリーズ プラットフォームでは、IGMPv2 と IGMPv3 を同じインターフェイス上で一緒に設定できる場合とできない場合があります(インストール時の Junos OS リリースによって異なります)。両方を一緒に構成すると、マルチキャストトラフィック転送で予期しない動作が発生する可能性があります。
関連項目
IGMP を理解する
インターネットグループ管理プロトコル(IGMP)は、マルチキャストグループ内のホストとルーティングデバイスのメンバーシップを管理します。IP ホストは IGMP を使用して、マルチキャスト グループ メンバーシップを、すぐ隣接するマルチキャスト ルーティング デバイスに報告します。マルチキャスト ルーティング デバイスは、IGMP を使用して、接続されている各物理ネットワークについて、どのグループにメンバーがいるかを学習します。
IGMP は、いくつかの関連するマルチキャスト プロトコル(たとえば、ディスタンス ベクター マルチキャスト ルーティング プロトコル(DVMRP)やプロトコル独立マルチキャスト バージョン 1(PIMv1))のトランスポートとしても使用されます。
ルーティング デバイスは、ダウンストリームのグループ メンバーを持つ隣接ルーティング デバイスから明示的な Join および Prune メッセージを受信します。PIM が使用中のマルチキャスト プロトコルである場合、IGMP は次のようにプロセスを開始します。
マルチキャスト グループ G に参加するために、ホストは IGMP を介してメンバーシップ情報を伝達します。
次に、ルーティング デバイスは、マルチキャスト グループ G 宛てのデータ パケットを、明示的なジョイン メッセージを受信したインターフェイスにのみ転送します。
指定ルーター(DR)は、アクティブなメンバーを持つ各グループのグループ固有のランデブーポイント(RP)に向けて、定期的な参加およびプルーニングメッセージを送信します。1 つ以上のルーティング デバイスが自動的または静的に RP として指定され、すべてのルーティング デバイスは RP を介して明示的に参加する必要があります。
RP に向かうパスに沿った各ルーティング デバイスは、グループのワイルドカード(任意のソース)状態を構築し、RP に向けて参加メッセージおよびプルーニング メッセージを送信します。
ルートエントリーという用語は、流通ツリーを表すためにルーティングデバイスに維持される状態を指すために使用されます。
ルート エントリには、次のようなフィールドを含めることができます。
送信元アドレス
グループ アドレス
パケットが受け入れられる着信インターフェイス
パケットが送信される発信インターフェイスのリスト
タイマー
フラグビット
ワイルドカード ルート エントリの着信インターフェイスは、RP を指します。
発信インターフェイスは、RP に向けて join メッセージとプルーニング メッセージを送信した隣接するダウンストリーム ルーティング デバイスと、グループ G へのメンバーシップを要求した直接接続されたホストを指します。
この状態では、すべてのグループ メンバーに到達する共有の RP 中心の配布ツリーが作成されます。
IGMP は、いくつかの関連するマルチキャスト プロトコル(たとえば、ディスタンス ベクター マルチキャスト ルーティング プロトコル(DVMRP)やプロトコル独立マルチキャスト バージョン 1(PIMv1))のトランスポートとしても使用されます。
Junos OS リリース 15.2 以降、PIMv1 はサポートされていません。
IGMP は IP に不可欠な要素であり、IP マルチキャスト トラフィックを受信する必要があるすべてのルーティング デバイスとホストで有効にする必要があります。
接続されたネットワークごとに、マルチキャスト ルーティング デバイスはクエリアまたは非クエリアのいずれかになります。クエリア ルーティング デバイスは、グループ メンバーシップ情報を要求するために、一般的なクエリ メッセージを定期的に送信します。マルチキャスト グループのメンバーであるネットワーク上のホストは、レポート メッセージを送信します。ホストがグループから退出すると、グループ脱退メッセージが送信されます。
IGMPバージョン3(IGMPv3)は、包含リストと除外リストをサポートしています。包含リストを使用すると、マルチキャスト グループに送信できる送信元を指定できます。このタイプのマルチキャストグループは、ソース特定マルチキャスト(SSM)グループと呼ばれ、マルチキャストアドレスは232/8です。
IGMPv3 は、送信元フィルタリングをサポートしています。たとえば、ルーティング デバイスでは、トラフィックを受け入れるか拒否するかを指定する特定のルーティング デバイスを指定できます。IGMPv3 を使用すると、マルチキャスト ルーティング デバイスは、どのソースが近隣のルーティング デバイスにとって関心があるかを学習できます。
除外モードは、包含リストの反対に機能します。これにより、リストされているもの以外のすべてのソースを SSM グループに送信できます。
IGMPv3 は、プロトコルのバージョン 1 および 2 と相互運用できます。ただし、古い IGMP ホストおよびルーティング デバイスとの互換性を維持するには、IGMPv3 ルーティング デバイスもプロトコルのバージョン 1 および 2 を実装する必要があります。IGMPv3 では、メンバーシップ レポート レコードの種類として、モードの許可、新しいソースの許可、古いソースのブロックがサポートされています。
関連項目
IGMP の設定
始める前に:
ルーターがマルチキャスト ソースに直接接続されているかどうかを確認します。受信機はこれらのソースを特定できなければなりません。
ルーターがマルチキャストグループの受信者に直接接続されているかどうかを確認します。受信機が存在する場合は、IGMPが必要です。
マルチキャストをスパース モード、デンス モード、またはスパースデンス モードのいずれを使用するように構成するかを決定します。各モードには、異なる構成上の考慮事項があります。
スパース モードまたはスパース デンス モードが使用されている場合は、RP のアドレスを決定します。
スタティック設定、BSR、または自動RP方式でRPを見つけるかどうかを決定します。
PIM をスパース、デンス、またはスパースデンス モードで設定するときに、独自の RPF ルーティング テーブルを使用するようにマルチキャストを設定するかどうかを決定します。
マルチキャスト セッションのアナウンスをリッスンするように SAP プロトコルと SDP プロトコルを構成します。 セッションアナウンスプロトコルの設定を参照してください。
インターネットグループ管理プロトコル(IGMP)を設定するには、 igmp
ステートメントを含めます。
igmp { accounting; interface interface-name { disable; (accounting | no-accounting); group-policy [ policy-names ]; immediate-leave; oif-map map-name; promiscuous-mode; ssm-map ssm-map-name; static { group multicast-group-address { exclude; group-count number; group-increment increment; source ip-address { source-count number; source-increment increment; } } } version version; } query-interval seconds; query-last-member-interval seconds; query-response-interval seconds; robust-count number; traceoptions { file filename <files number> <size size> <world-readable | no-world-readable>; flag flag <flag-modifier> <disable>; } }
以下の階層レベルでこのステートメントを含めることができます。
[edit protocols]
[edit logical-systems logical-system-name protocols]
デフォルトでは、IGMP は、PIM(プロトコル非依存型マルチキャスト)を設定するすべてのインターフェイスと、DVMRP(ディスタンスベクトルマルチキャストルーティングプロトコル)を設定するすべてのブロードキャストインターフェイスで有効になっています。
PIMを設定せずにインターフェイスにIGMPを設定することができます。通常、IGMP ダウンストリーム インターフェイスでは PIM は必要ありません。そのため、ルーター上のすべての IGMP ダウンストリーム(IGMP 専用)インターフェイスを表す「疑似 PIM インターフェイス」は 1 つだけ作成されます。これにより、消費されるメモリなどのルーター リソースが削減されます。マルチキャスト ルーティングを有効にするには、アップストリーム IGMP インターフェイスに PIM を設定し、マルチキャスト データ パケットに対してリバースパス転送を実行し、アップストリーム インターフェイスのマルチキャスト転送テーブルにデータを追加し、双方向 PIM および PIM スパース モードの場合は、IGMP グループ メンバーシップをマルチキャスト ルーティング ドメインに分散させる必要があります。
IGMP の有効化
インターネット グループ管理プロトコル(IGMP)は、サブネット上のグループを確立、維持、および削除することによって、マルチキャスト グループを管理します。マルチキャスト ルーティング デバイスは、IGMP を使用して、接続されている各物理ネットワークにメンバーがいるグループを学習します。ルーターが IPv4 マルチキャスト パケットを受信するには、IGMP を有効にする必要があります。IPv6 ネットワークではマルチキャストの処理方法が異なるため、IGMP は IPv4 ネットワークにのみ必要です。IGMP は、PIM を設定するすべての IPv4 インターフェイスと、DVMRP を設定するすべての IPv4 ブロードキャスト インターフェイスで自動的に有効になります。
インターフェイスで PIM と DVMRP が設定されていないか、インターフェイスで IGMP が明示的に無効になっているために、IGMP がインターフェイス上で動作していない場合、IGMP を明示的に有効にすることができます。
IGMP を明示的に有効にするには
関連項目
IGMP ホストクエリ メッセージ間隔の変更
IGMPの目的は、サブネット全体のグループメンバーシップでルーターを最新の状態に保つことです。ルーターは、すべてのメンバーが誰であるかを知る必要はなく、そのメンバーが存在することだけを知る必要があります。各ホストは、どのマルチキャスト グループがサブスクライブされているかを追跡します。各リンクで、1 台のルーターがクエリアに選出されます。IGMP クエリア ルーターは、接続されている各ネットワークで一般的なホスト クエリ メッセージを定期的に送信して、メンバーシップ情報を求めます。メッセージは、全システムマルチキャストグループアドレス 224.0.0.1 に送信されます。
照会間隔、応答間隔、および堅牢性変数は、すべてグループ・メンバーシップ・タイムアウトの計算に使用される変数であるという点で関連しています。グループ メンバーシップのタイムアウトは、マルチキャスト ルーターがホスト グループのメンバーがサブネット上に存在しないと判断するまでに経過する必要がある秒数です。グループ・メンバーシップのタイムアウトは、(堅牢性変数 x 照会間隔) + (照会応答間隔) として計算されます。グループメンバーシップのタイムアウトが経過する前に特定のグループのレポートを受信しなかった場合、ルーティングデバイスは、そのグループのリモート発信マルチキャストパケットの接続されたネットワークへの転送を停止します。
デフォルトでは、ホストクエリメッセージは125秒ごとに送信されます。この間隔を変更して、サブネットで送信される IGMP メッセージの数を変更できます。
クエリ間隔を変更するには:
関連項目
IGMP クエリー応答間隔の変更
クエリ応答間隔は、クエリア ルーターがホスト クエリ メッセージを送信してからホストから応答を受信するまでに経過できる最大時間です。この間隔を設定することで、サブネット上の IGMP メッセージのバースト ピークを調整できます。トラフィックのバースト性を低くするために、間隔を大きく設定します。バースト性トラフィックとは、データ転送のパターンが不均一で、データ転送速度が非常に高い場合もあれば、データ転送速度が非常に低い場合もあります。
クエリ応答間隔、ホスト クエリ間隔、および堅牢性変数は、グループ メンバーシップのタイムアウトの計算に使用されるすべての変数であるという点で関連しています。グループ メンバーシップのタイムアウトは、マルチキャスト ルーターがホスト グループのメンバーがサブネット上に存在しないと判断するまでに経過する必要がある秒数です。グループ・メンバーシップのタイムアウトは、(堅牢性変数 x 照会間隔) + (照会応答間隔) として計算されます。グループ メンバーシップのタイムアウトが経過する前に特定のグループのレポートを受信しなかった場合、ルーティング デバイスは、そのグループのリモートから発信されたマルチキャスト パケットの接続ネットワークへの転送を停止します。
既定のクエリ応答間隔は 10 秒です。小数点の右側に最大 1 桁の秒未満の間隔を設定できます。設定可能な範囲は 0.1 から 0.9 で、1 秒間隔で 1 から 999,999 までです。
クエリ応答間隔を変更するには:
関連項目
IGMP の即時退出ホストの削除の指定
即時脱退設定は、IGMP メンバーシップの脱退待ち時間を最小限に抑えるのに役立ちます。この設定を有効にすると、ルーティング デバイスは、最後のホストがマルチキャスト グループを離れた直後にマルチキャスト グループを離れます。
即時退出設定では、ホスト トラッキングが有効になり、デバイスは参加メッセージを送信したホストを追跡します。これにより、IGMP は、最後のホストがマルチキャスト グループの脱退メッセージをいつ送信するかを判断できます。
即時脱退設定が有効になっている場合、デバイスは最初にIGMPグループ固有のクエリーをインターフェイスに送信せずに、転送テーブルのエントリーからインターフェイスを削除します。インターフェイスは、IGMP leave メッセージで指定されたマルチキャスト グループのマルチキャスト ツリーから削除されます。即時脱退設定により、複数のマルチキャスト グループが同時に使用されている場合でも、スイッチド ネットワーク上のホストの帯域幅を最適に管理できます。
即時脱退が無効で、1 つのホストが脱退グループメッセージを送信した場合、ルーティング デバイスはまずグループ クエリーを送信して、別の受信者が応答しているかどうかを判断します。レシーバーが応答しない場合、ルーティング デバイスはインターフェイス上のすべてのホストをマルチキャスト グループから削除します。即時脱退は、IGMP バージョン 2 と IGMP バージョン 3 の両方でデフォルトで無効になっています。
即時脱退を有効にすると、IGMPv2 および MLDv1 でホスト トラッキングが有効になりますが、これらのバージョンでは、インターフェイス上にホストが 1 つの場合にのみ即時脱退を使用します。その理由は、IGMPv2 と MLDv1 がレポート抑制メカニズムを使用し、インターフェイス上の 1 つのホストだけがメンバーシップ クエリーに応答してグループ参加レポートを送信するためです。他の関心のあるホストは、レポートを抑制します。このメカニズムの目的は、同じグループのレポートの洪水を回避することです。ただし、ルーターは関心のある1つのホストについてのみ認識し、他のホストについては認識しないため、ホストの追跡にも干渉します。
インターフェイスで即時脱退を有効にするには:
関連項目
IGMP インターフェイスレベルでの不要な IGMP レポートのフィルタリング
特定のマルチキャスト グループに参加できるサブネットを制限する必要があるとします。 group-policy
ステートメントを使用すると、インターフェイスレベルで不要な IGMP レポートをフィルタリングできます。IGMPバージョン2(IGMPv2)またはバージョン3(IGMPv3)を実行しているルーターでこのステートメントが有効になっている場合、ルーターがIGMPレポートを受信した後、ルーターはグループを指定されたグループポリシーと比較し、そのポリシーで設定されたアクションを実行します(たとえば、ポリシーが定義されたアドレスまたはネットワークに一致する場合はレポートを拒否します)。
グループアドレスを照合するポリシーの route-filter
ステートメントを使用して、IGMP グループアドレスのみを照合するようにポリシーを定義します(IGMPv2 の場合)。ポリシーの route-filter
ステートメントを使用してグループ アドレスを照合し、ポリシーの source-address-filter
ステートメントを使用して送信元アドレスを照合することで、IGMP(送信元、グループ)アドレス(IGMPv3 の場合)に一致するようにポリシーを定義します。
MX シリーズ プラットフォームでは、IGMPv2 と IGMPv3 を同じインターフェイス上で一緒に設定できる場合とできない場合があります(インストール時の Junos OS リリースによって異なります)。両方を一緒に構成すると、マルチキャストトラフィック転送で予期しない動作が発生する可能性があります。
不要なIGMPレポートをフィルタリングするには:
関連項目
リモートサブネットワークからのIGMPメッセージの受け入れ
デフォルトでは、IGMP インターフェイスは、同じサブネットからの IGMP メッセージのみを受け入れます。 promiscuous-mode
ステートメントを含めることで、ルーティングデバイスは間接的に接続されたサブネットからの IGMP メッセージを受け入れることができます。
/32ループバックアドレスをドナーアドレスとして使用する番号なしイーサネットインターフェイスでIGMPを有効にする場合、このインターフェイスで受信したIGMPパケットを受け入れるようにIGMPプロミスキャスモードを設定する必要があります。
promiscuous-modeを有効にする場合、イーサネットセグメント上のすべてのルーターはpromiscuous modeステートメントで設定する必要があります。それ以外の場合は、最も小さい IPv4 アドレスで設定されたインターフェイスのみが、このイーサネット セグメントの IGMP のクエリアとして機能します。
インターフェイスで IGMP プロミスキャス モードを有効にするには:
関連項目
IGMP 最終メンバー クエリー間隔の変更
最後のメンバーのクエリ間隔は、グループ脱退メッセージへの応答として送信されるものを含む、グループ固有のクエリ メッセージ間の最大時間です。この間隔を設定すると、ルーティング デバイスがグループの最後のメンバーの損失を検出するのにかかる時間を変更できます。
クエリアとして機能するルーティング デバイスがホストから脱退メッセージを受信すると、ルーティング デバイスは、残されるグループに複数のグループ固有のクエリーを送信します。クエリアは、特定の間隔で特定の数のこれらのクエリを送信します。送信されたクエリの数は、最後のメンバーのクエリ数と呼ばれます。クエリが送信される間隔は、最後のメンバーのクエリ間隔と呼ばれます。どちらの設定も構成可能であるため、脱退待機時間を調整できます。IGMP 脱退レイテンシは、マルチキャスト グループからの脱退要求から、マルチキャスト グループのデータの最後のバイトを受信するまでの時間です。
最後のメンバーのクエリカウント x (回)、最後のメンバーのクエリ間隔 = (等しい) ルーティングデバイスが、グループの最後のメンバーがグループを離れたと判断し、グループトラフィックの転送を停止するのにかかる時間。
既定の最終メンバー クエリ間隔は 1 秒です。小数点の右側に最大 1 桁の秒未満の間隔を設定できます。設定可能な範囲は 0.1 から 0.9 で、1 秒間隔で 1 から 999,999 までです。
この間隔を変更するには:
ロバスト性変数を構成することで、最終メンバーのクエリ数を構成できます。この 2 つは常に同等です。
関連項目
IGMPロバストネス変数の変更
IGMP堅牢性変数を微調整して、サブネットで予想されるパケットロスを許容します。ロバスト カウントは、IGMPv2 および IGMPv3 の特定の IGMP メッセージ間隔を自動的に変更します。ロバストカウントを増やすと、パケット損失は増加しますが、サブネットワークの脱退レイテンシが増加します。
クエリ ルーターは、IGMPv2 を実行している共有ネットワークで IGMP 脱退メッセージを受信すると、IGMP グループ クエリ メッセージを指定された回数だけ送信する必要があります。送信されるIGMPグループクエリーメッセージの数は、ロバストカウントによって決まります。
ロバストネス変数の値は、以下のIGMPメッセージ間隔の計算にも使用されます。
グループ メンバー間隔 - マルチキャスト ルーターが、ネットワーク上にグループのメンバーがもういないと判断するまでに経過する必要がある時間。この間隔は、(堅牢性変数 x クエリ間隔) + (1 x クエリ応答間隔) のように計算されます。
その他のクエリア存在間隔:ロバスト カウントは、マルチキャスト ルーターがクエリアである別のマルチキャスト ルーターがなくなったと判断するまでの経過時間を計算するために使用されます。この間隔は、(堅牢性変数 x クエリ間隔) + (0.5 x クエリ応答間隔) のように計算されます。
最終メンバー クエリ数:ルーターがグループのローカル メンバーがいないとみなす前に送信されたグループ固有クエリの数。クエリの数は、堅牢性変数の値と等しくなります。
IGMPv3 では、インターフェイスの状態が変更されると、システムはそのインターフェイスから状態変更レポートを即時に送信します。状態変更レポートが 1 つ以上のマルチキャスト ルーターによって見落とされた場合は、再送信されます。再送信される回数は、ロバストカウントから1を引いた回数です。IGMPv3 では、ロバスト カウントは、グループ メンバーシップ間隔、古いバージョンのクエリア間隔、およびその他のクエリア存在間隔を決定する要因でもあります。
デフォルトでは、ロバストネス変数は2に設定されています。サブネットでパケットが失われることが予想される場合は、この値を増やすことができます。
数値は 2 から 10 までです。
ロバスト性変数の値を変更するには:
関連項目
最大IGMPメッセージレートの制限
このセクションでは、ルーターが 1 秒間に送信する IGMP パケットの最大数の制限を変更する方法について説明します。
1秒あたりに送信されるIGMPパケットの最大数を増やすことは、IGMPに参加する多数のインターフェイスを持つルーターで役立つ場合があります。
ルーターが1秒間に送信できるIGMPパケットの最大数の制限を変更するには、 maximum-transmit-rate
ステートメントを含め、送信する1秒あたりの最大パケット数を指定します。
関連項目
IGMP バージョンの変更
デフォルトでは、ルーティング デバイスは IGMPv2 を実行します。異なるバージョンの IGMP を実行しているルーティング デバイスは、サブネット上のホストでサポートされている IGMP の最も低い共通バージョンを決定し、そのバージョンで動作します。
ソース特定マルチキャスト(SSM)機能を有効にするには、ホストとホストの直接接続されたルーティングデバイスでバージョン 3 を設定する必要があります。静的に設定されたマルチキャスト グループで送信元アドレスが指定されている場合、バージョンは IGMPv3 に設定する必要があります。
スタティック マルチキャスト グループが定義された送信元アドレスで設定され、IGMP バージョンがバージョン 2 に設定されている場合、送信元は無視され、グループのみが追加されます。この場合、結合は IGMPv2 グループ参加として扱われます。
個々のインターフェイス階層レベルでIGMPバージョン設定を行うと、interface all
ステートメントが上書きされます。つまり、新しいインターフェイスは、interface all
ステートメントで指定したバージョン番号を継承しません。デフォルトでは、この新しいインターフェイスは version 2
で有効になっています。新しいインターフェイスを追加するときは、version number
を明示的に指定する必要があります。たとえば、interface all
で version 3
を指定した場合、新しいインターフェイスに version 3
ステートメントを設定する必要があります。また、[edit interface interface-name static group multicast-group-address]
階層レベルでマルチキャストグループのインターフェイスを設定する場合、version number
他のグループパラメーターも指定する必要があります。それ以外の場合、インターフェイスはデフォルトのversion 2
で有効になります。
IGMP バージョン 1(IGMPv1)を使用するようにルーティング デバイスをすでに設定していて、IGMPv2 を使用するように設定した場合、ルーティング デバイスは最大 6 分間 IGMPv1 を使用し続け、その後 IGMPv2 を使用します。
SSM 機能のために IGMPv3 に変更するには、次の手順を実行します。
MX シリーズ プラットフォームでは、IGMPv2 と IGMPv3 を同じインターフェイス上で一緒に設定できる場合とできない場合があります(インストール時の Junos OS リリースによって異なります)。両方を一緒に構成すると、マルチキャストトラフィック転送で予期しない動作が発生する可能性があります。
関連項目
IGMP 静的グループ メンバーシップの有効化
IGMP 静的グループ メンバーシップを作成して、受信側ホストなしでマルチキャスト転送をテストできます。IGMP 静的グループ メンバーシップを有効にすると、データはインターフェイスに転送されますが、そのインターフェイスはダウンストリーム ホストからメンバーシップ レポートを受信しません。静的IGMP グループメンバーシップを有効にするルーターは、サブネットの指定ルーター(DR)である必要があります。それ以外の場合、トラフィックはダウンストリームに流れません。
IGMP スタティック グループ メンバーシップを有効にする場合、IGMP インターフェイスとして all オプションが指定されている場合は、group-count、group-increment、source-count、および source-increment
ステートメントを使用して複数のグループを設定することはできません。
IGMP静的グループメンバーシップでは、CoS(サービスクラス)調整はサポートされていません。
この例では、スタティック グループ 233.252.0.1 を作成します。
ルーティング デバイスをランデブー ポイント(RP)に接続するポイントツーポイント リンクにスタティック IGMP グループ エントリーを設定すると、スタティック IGMP グループ エントリーは RP へのジョイン メッセージを生成しません。
IGMP 静的グループ メンバーシップを作成して、マルチキャスト トラフィックを受信するインターフェイスでマルチキャスト転送をテストする場合、いくつかの静的グループが自動的に作成されるように指定できます。これは、各受信者を個別に設定することなく、複数の受信者への転送をテストする場合に便利です。
この例では、3 つのグループを作成します。
DRで、
group-count
ステートメントを含め、作成するグループの数を指定して、作成する静的グループの数を設定します。[edit protocols igmp] user@host# set interface fe-0/1/2 static group 233.252.0.1 group-count 3
設定をコミットしたら、
show configuration protocol igmp
コマンドを使用して IGMP プロトコルの設定を確認します。user@host> show configuration protocol igmp
interface fe-0/1/2.0 { static { group 233.252.0.1 { group-count 3; } } }
設定をコミットし、送信元がトラフィックを送信した後、
show igmp group
コマンドを使用して、スタティックグループ233.252.0.1、233.252.0.2、および233.252.0.3が作成されていることを確認します。user@host> show igmp group Interface: fe-0/1/2 Group: 233.252.0.1 Source: 10.0.0.2 Last reported by: Local Timeout: 0 Type: Static Group: 233.252.0.2 Source: 10.0.0.2 Last reported by: Local Timeout: 0 Type: Static Group: 233.252.0.3 Source: 10.0.0.2 Last reported by: Local Timeout: 0 Type: Static
IGMP スタティック グループ メンバーシップを作成して、マルチキャスト トラフィックを受信したいインターフェイスでマルチキャスト転送をテストする場合、作成されたグループごとにグループ アドレスが自動的にインクリメントされるように設定することもできます。これは、各受信者を個別に設定することなく、複数の受信者への転送をテストしたい場合や、グループ アドレスをシーケンシャルにしたくない場合に便利です。
この例では、3 つのグループを作成し、グループごとにグループ アドレスを 2 ずつ増やします。
DRで、
group-increment
ステートメントを含め、グループごとにアドレスがインクリメントされる番号を指定することで、グループアドレスの増分を設定します。増分は、IPv4 アドレスと同様にドット付き 10 進表記で指定されます。[edit protocols igmp] user@host# set interface fe-0/1/2 static group 233.252.0.1 group-count 3 group-increment 0.0.0.2
設定をコミットしたら、
show configuration protocol igmp
コマンドを使用して IGMP プロトコルの設定を確認します。user@host> show configuration protocol igmp
interface fe-0/1/2.0 { version 3; static { group 233.252.0.1 { group-increment 0.0.0.2; group-count 3; } } }
設定をコミットし、送信元がトラフィックを送信した後、
show igmp group
コマンドを使用して、スタティック グループ 233.252.0.1、233.252.0.3、233.252.0.5 が作成されていることを確認します。user@host> show igmp group Interface: fe-0/1/2 Group: 233.252.0.1 Source: 10.0.0.2 Last reported by: Local Timeout: 0 Type: Static Group: 233.252.0.3 Source: 10.0.0.2 Last reported by: Local Timeout: 0 Type: Static Group: 233.252.0.5 Source: 10.0.0.2 Last reported by: Local Timeout: 0 Type: Static
マルチキャスト トラフィックを受信するインターフェイスでマルチキャスト転送をテストするために IGMP 静的グループ メンバーシップを作成し、ネットワークが送信元特定マルチキャスト(SSM)モードで動作している場合は、マルチキャスト送信元アドレスを受け入れるように指定することもできます。これは、特定のマルチキャスト送信元からマルチキャスト受信者への転送をテストする場合に便利です。
SSM 範囲内のグループ アドレスを指定する場合は、送信元も指定する必要があります。
静的に設定されたマルチキャスト グループで送信元アドレスが指定されている場合、インターフェイスの IGMP バージョンは IGMPv3 に設定する必要があります。IGMPv2がデフォルト値です。
この例では、グループ 233.252.0.1 を作成し、IP アドレス 10.0.0.2 を唯一の送信元として受け入れます。
DRで、
source
ステートメントを含め、送信元ホストのIPv4アドレスを指定して、送信元アドレスを設定します。[edit protocols igmp] user@host# set interface fe-0/1/2 static group 233.252.0.1 source 10.0.0.2
設定をコミットしたら、
show configuration protocol igmp
コマンドを使用して IGMP プロトコルの設定を確認します。user@host> show configuration protocol igmp
interface fe-0/1/2.0 { version 3; static { group 233.252.0.1 { source 10.0.0.2; } } }
設定をコミットし、送信元がトラフィックを送信した後、
show igmp group
コマンドを使用して、スタティック グループ 233.252.0.1 が作成され、送信元 10.0.0.2 が受け入れられていることを確認します。user@host> show igmp group Interface: fe-0/1/2 Group: 233.252.0.1 Source: 10.0.0.2 Last reported by: Local Timeout: 0 Type: Static
IGMP 静的グループ メンバーシップを作成して、マルチキャスト トラフィックを受信するインターフェイスでマルチキャスト転送をテストする場合、複数のマルチキャスト ソースが自動的に受け入れられるように指定できます。これは、指定した複数のマルチキャスト ソースからマルチキャスト受信者への転送をテストする場合に便利です。
この例では、グループ 233.252.0.1 を作成し、送信元としてアドレス 10.0.0.2、10.0.0.3、および 10.0.0.4 を受け入れます。
DRで、
source-count
ステートメントを含め、受け入れる送信元の数を指定して、受け入れるマルチキャスト送信元アドレスの数を設定します。[edit protocols igmp] user@host# set interface fe-0/1/2 static group 233.252.0.1 source 10.0.0.2 source-count 3
設定をコミットしたら、
show configuration protocol igmp
コマンドを使用して IGMP プロトコルの設定を確認します。user@host> show configuration protocol igmp
interface fe-0/1/2.0 { version 3; static { group 233.252.0.1 { source 10.0.0.2 { source-count 3; } } } }
設定をコミットし、送信元がトラフィックを送信した後、
show igmp group
コマンドを使用して、スタティックグループ233.252.0.1が作成され、送信元10.0.0.2、10.0.0.3、および10.0.0.4が受け入れられていることを確認します。user@host> show igmp group Interface: fe-0/1/2 Group: 233.252.0.1 Source: 10.0.0.2 Last reported by: Local Timeout: 0 Type: Static Group: 233.252.0.1 Source: 10.0.0.3 Last reported by: Local Timeout: 0 Type: Static Group: 233.252.0.1 Source: 10.0.0.4 Last reported by: Local Timeout: 0 Type: Static
マルチキャスト トラフィックを受信したいインターフェイスでスタティック グループを設定し、複数のマルチキャスト ソースが自動的に受け入れられるように指定する場合、受け入れる送信元ごとにアドレスをインクリメントする数を指定することもできます。これは、各受信者を個別に設定することなく、複数の受信者への転送をテストし、送信元アドレスをシーケンシャルにしたくない場合に便利です。
この例では、グループ 233.252.0.1 を作成し、送信元としてアドレス 10.0.0.2、10.0.0.4、および 10.0.0.6 を受け入れます。
source-increment
ステートメントを含め、各送信元に対してアドレスがインクリメントされる番号を指定することで、マルチキャスト送信元アドレスの増分を設定します。増分は、IPv4 アドレスと同様にドット付き 10 進表記で指定されます。[edit protocols igmp] user@host# set interface fe-0/1/2 static group 233.252.0.1 source 10.0.0.2 source-count 3 source-increment 0.0.0.2
設定をコミットしたら、
show configuration protocol igmp
コマンドを使用して IGMP プロトコルの設定を確認します。user@host> show configuration protocol igmp
interface fe-0/1/2.0 { version 3; static { group 233.252.0.1 { source 10.0.0.2 { source-count 3; source-increment 0.0.0.2; } } } }
設定をコミットし、送信元がトラフィックを送信した後、
show igmp group
コマンドを使用して、静的グループ233.252.0.1が作成され、送信元10.0.0.2、10.0.0.4、および10.0.0.6が受け入れられていることを確認します。user@host> show igmp group Interface: fe-0/1/2 Group: 233.252.0.1 Source: 10.0.0.2 Last reported by: Local Timeout: 0 Type: Static Group: 233.252.0.1 Source: 10.0.0.4 Last reported by: Local Timeout: 0 Type: Static Group: 233.252.0.1 Source: 10.0.0.6 Last reported by: Local Timeout: 0 Type: Static
マルチキャスト トラフィックを受信したいインターフェイスにスタティック グループを設定し、ネットワークが SSM(Source-Specific Multicast)モードで動作している場合、特定のマルチキャスト送信元アドレスを除外するように指定できます。
デフォルトでは、スタティック グループに設定されたマルチキャスト送信元アドレスは、インクルード モードで動作します。包含モードでは、グループのマルチキャストトラフィックは設定された送信元アドレスから受け入れられます。静的グループが除外モードで動作するように設定することもできます。除外モードでは、グループのマルチキャストトラフィックは、設定された送信元アドレス以外のアドレスから受け入れられます。
静的に設定されたマルチキャスト グループで送信元アドレスが指定されている場合、インターフェイスの IGMP バージョンは IGMPv3 に設定する必要があります。IGMPv2がデフォルト値です。
この例では、グループ 233.252.0.1 の送信元としてアドレス 10.0.0.2 を除外します。
DRで、
exclude
ステートメントを含め、除外するIPv4送信元アドレスを指定することで、マルチキャストスタティックグループが除外モードで動作するように設定します。[edit protocols igmp] user@host# set interface fe-0/1/2 static group 233.252.0.1 exclude source 10.0.0.2
設定をコミットしたら、
show configuration protocol igmp
コマンドを使用して IGMP プロトコルの設定を確認します。user@host> show configuration protocol igmp
interface fe-0/1/2.0 { version 3; static { group 233.252.0.1 { exclude; source 10.0.0.2; } } }
設定をコミットし、送信元がトラフィックを送信したら、
show igmp group detail
コマンドを使用して、静的グループ 233.252.0.1 が作成され、静的グループが除外モードで動作していることを確認します。user@host> show igmp group detail Interface: fe-0/1/2 Group: 233.252.0.1 Group mode: Exclude Source: 10.0.0.2 Last reported by: Local Timeout: 0 Type: Static
関連項目
IGMP 参加および退出イベントの記録
ネットワークに IGMP チューニングが必要かどうかを判断するために、IGMP の参加イベントと退出イベントを記録するようにルーティング デバイスを設定できます。ルーティング デバイスまたは個々のインターフェイスのイベントをグローバルに記録できます。
表 1 に、記録可能な IGMP イベントを示します。
ERRMSG タグ |
定義 |
---|---|
RPD_IGMP_JOIN |
IGMP 参加イベントを記録します。 |
RPD_IGMP_LEAVE |
IGMP 脱退イベントを記録します。 |
RPD_IGMP_ACCOUNTING_ON |
IGMP アカウンティングが IGMP インターフェイスで有効になっている場合に記録します。 |
RPD_IGMP_ACCOUNTING_OFF |
IGMP インターフェイスで IGMP アカウンティングが無効になっている場合に記録します。 |
RPD_IGMP_MEMBERSHIP_TIMEOUT |
IGMP メンバーシップのタイムアウト イベントを記録します。 |
IGMP アカウンティングを有効にするには
関連項目
論理インターフェイスでの IGMP マルチキャスト グループ参加数の制限
group-limit
ステートメントでは、論理インターフェイスの IGMP マルチキャスト グループ参加数を制限することができます。IGMPバージョン2(IGMPv2)またはバージョン3(IGMPv3)を実行しているルーターでこのステートメントが有効になっている場合、グループレポートの受信時に制限が適用されます。グループ制限に達すると、後続の参加要求は拒否されます。
IGMP マルチキャスト グループの制限を設定する際は、次の点に注意してください。
各任意のソース グループ (*,G) は、制限に対して 1 つのグループとしてカウントされます。
各ソース固有グループ (S,G) は、制限に対して 1 つのグループとしてカウントされます。
IGMPv3 除外モードのグループは、制限に対してカウントされます。
複数のソース固有のグループは、同じグループ用であっても、グループ制限に対して個別にカウントされます。たとえば、(S1, G1) と (S2, G1) は、構成された制限に対して 2 つのグループとしてカウントされます。
任意のソースグループとソース固有のグループの組み合わせは、同じグループ用であっても、グループ制限に個別にカウントされます。たとえば、(*, G1) と (S, G1) は、構成された制限に対して 2 つのグループとしてカウントされます。
ネットワーク上にすでに存在するグループ制限よりも低いネットワーク上でグループ制限を設定してコミットすると、設定からすべてのグループが削除されます。その後、グループはネットワークへの再参加を要求する必要があります(新しく設定されたグループ制限まで)。
動的プロファイルを使用して、IGMP 論理インターフェイス上のマルチキャスト グループを動的に制限することができます。
Junos OS リリース 12.2 以降では、オプションで、論理インターフェイスで受信した IGMP マルチキャスト グループ参加に対するシステム ログ警告しきい値を設定できます。トラブルシューティングのためにシステム ログ メッセージを確認し、インターフェイスで過剰な量の IGMP マルチキャスト グループ参加を受信していないかを検出すると便利です。これらのログ メッセージは、設定されたグループ制限を超えたとき、設定されたしきい値を超えたとき、およびグループ数が設定されたしきい値を下回ったときに伝えます。
group-threshold
ステートメントでは、警告メッセージが記録されるしきい値を設定できます。範囲は 1 から 100% です。警告しきい値はグループ制限のパーセンテージであるため、group-limit
ステートメントを設定して警告しきい値を設定する必要があります。例えば、グループの数が設定された警告しきい値を超えても、設定されたグループ制限を下回っている場合、マルチキャストグループは引き続き受け入れられ、デバイスは警告メッセージをログに記録します。さらに、グループ数が設定された警告しきい値を下回ると、デバイスは警告メッセージを記録します。log-interval
ステートメントを設定することで、ログ メッセージ間の時間(秒)をさらに指定できます。範囲は 6 から 32,767 秒です。
設定されたしきい値の後に追加されたすべてのエントリと、設定された制限の後に拒否されたすべてのエントリは警告メッセージがログに記録されるため、ログ メッセージのスロットリングを検討できます。ログ間隔を設定することで、IGMP マルチキャスト グループの参加に対して生成されるシステム ログ警告メッセージの量を調整できます。
ACX シリーズ ルーターでは、マルチキャスト ルートの最大数は 1024 です。
IGMP 論理インターフェイスでマルチキャスト グループの参加を制限するには:
設定内容を確認するには、 show protocols igmp
コマンドを使用します。設定されたグループ制限、オプションの警告しきい値、ログメッセージ間の間隔など、インターフェイス上のIGMPの動作を検証するには、 show igmp interface
コマンドを使用します。
関連項目
IGMP プロトコル トラフィックのトレース
トレース操作では、送受信される各種ルーティングプロトコルパケットやルーティングポリシーアクションなど、ルーティングプロトコルの動作に関する詳細メッセージを記録します。特定のトレース フラグを含めることで、どのトレース操作をログに記録するかを指定できます。次の表では、含めることができるフラグについて説明します。
旗 |
形容 |
---|---|
すべての |
すべての操作をトレースします。 |
クライアント通知 |
トレース通知。 |
全般 |
一般的なフローをトレースします。 |
群 |
トレース グループ操作。 |
ホスト通知 |
ホスト通知をトレースします。 |
去る |
―グループ脱退メッセージをトレースします(IGMPv2 のみ)。 |
エムトレース |
mtrace パケットをトレースします。 |
正常 |
通常のイベントをトレースします。 |
パケット |
すべての IGMP パケットをトレースします。 |
政策 |
トレース・ポリシー処理。 |
クエリ |
IGMP メンバーシップのクエリー メッセージをトレースします。これには、一般的なクエリーやグループ固有のクエリーが含まれます。 |
報告 |
メンバーシップ レポート メッセージをトレースします。 |
ルート |
ルーティング情報をトレースします。 |
状態 |
状態遷移をトレースします。 |
タスク |
タスク処理をトレースします。 |
タイマー |
トレース・タイマー処理。 |
次の例では、すべてのルーティング プロトコル パケットに対してトレースが有効になっています。その後、トレースが特定のタイプのIGMPパケットのみに焦点を絞られます。IGMP のトレース操作を設定するには:
関連項目
IGMP の無効化
インターフェイスでIGMPを無効にするには、 disable
ステートメントを含めます。
disable;
以下の階層レベルでこのステートメントを含めることができます。
[edit protocols igmp interface interface-name]
[edit logical-systems logical-system-name protocols igmp interface interface-name]
手記:ACX シリーズのルーターは、
[edit logical-systems logical-system-name protocols]
階層レベルをサポートしていません。
関連項目
IGMP、ノンストップアクティブルーティング
ノンストップアクティブルーティング (NSR)構成には、ルーティングエンジンのフェイルオーバー中にルーティングが中断されないように、情報を共有する2つのルーティングエンジンが含まれます。これらの NSR 設定には、PIM に関連する IGMP によるパッシブ サポートが含まれています。プライマリ ルーティング エンジンは IGMP を使用して PIM マルチキャストの状態を判断し、この IGMP から派生した情報がバックアップ ルーティング エンジンに複製されます。新しいプライマリ ルーティング エンジンの IGMP は(フェイルオーバー後)、IGMP 動作によって状態情報を迅速に再学習します。それまでの間、新しいプライマリ ルーティング エンジンは、レプリケーション プロセスが古いプライマリ ルーティング エンジンから受信した IGMP 派生の PIM 状態を保持します。この状態情報は、新しいプライマリ ルーティング エンジンで IGMP によって更新されない限り、タイムアウトします。追加のIGMP設定は必要ありません。
関連項目
変更履歴テーブル
機能のサポートは、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がプラットフォームでサポートされているかどうかを判断します。