EVPN-MPLS環境でIGMPスヌーピングによるマルチキャスト転送の設定
マルチキャスト転送による IGMP スヌーピングにより、IPv4 マルチキャスト トラフィックがブリッジ ドメインまたは VLAN 内およびその間でサブスクライブされているすべてのレシーバーに到達し、転送されるマルチキャスト制御およびデータ トラフィックの量を減らすことで、アクセス側の帯域幅を確保できます。
MPLS 上のイーサネット VPN(EVPN)環境のプロバイダ エッジ(PE)デバイスで、IGMP スヌーピングを使用してマルチキャストを設定できます。EVPN PE デバイスにマルチホームするレシーバーの IPv4 マルチキャスト トラフィックをサポートするには、次のように、この環境で IGMP スヌーピングを有効にする必要があります。
ピア PE デバイスは、全アクティブ マルチホーミング モードで動作している必要があります。
IGMP スヌーピングはプロキシ モードで有効にします。
各マルチホーミングピアPEデバイスに同じ設定を設定し、コミットします。
この環境のMXシリーズルーターとEX9200スイッチは、ASM(Any-Source Multicast)メンバーシップレポートを備えたIGMPv2のみをサポートしています。この環境のACXシリーズルーターは、特別な設定オプションを使用して、ASMモードでのIGMPv2およびIGMPv3メンバーシップレポートと、ソース特定マルチキャスト(SSM)モードでのIGMPv3メンバーシップレポートの処理をサポートしています。PE が IGMP レポートを処理する方法の詳細については、 IGMP または MLD のバージョンとサポートされるグループ メンバーシップ レポート モード を参照してください。
さらに、ブリッジ ドメインまたは VLAN 間でマルチキャスト トラフィックをルーティングするために、ブリッジ ドメインまたは VLAN にまたがるマルチキャスト グループ内のホストを持つ PE は、IRB インターフェイスで PIM 分散指定ルーター(PIM DDR)モードを使用します。マルチキャスト グループ内の関心のある受信者を持つ各ブリッジ ドメインまたは VLAN に関連付けられた IRB インターフェイスを設定します。IRB インターフェイスに PIM DDR を設定すると、IRB がそのブリッジ ドメインまたは VLAN に対して選択された PIM 指定ルーター(DR)でなくても、PE デバイスは IRB インターフェイスを介して、対応するブリッジ ドメインまたは VLAN 上の対象レシーバにトラフィックをローカルに送信します。
このトピックでは、プロキシ モードで IGMP スヌーピングを設定し、EVPN PE デバイス上のブリッジ ドメインまたは VLAN 間のルーティング用に IRB インターフェイスを設定する設定タスクについて説明します。また、この環境で IGMP スヌーピングとマルチキャストの動作を確認するために使用できる CLI コマンドの概要も示します。
EVPNまたは仮想スイッチルーティングインスタンスのIGMPスヌーピングを設定する
ACX シリーズ ルーターでは、タイプ evpn
の 1 つ以上のルーティング インスタンスで IGMP スヌーピングを設定できます。他のタイプのデバイスでは、タイプ evpn
または virtual-switch
のルーティング インスタンスに IGMP スヌーピングを設定できます。
instance-type evpn
のあるルーティング インスタンス(一部またはすべてのブリッジ ドメインまたは VLAN)に対して、PE デバイス上でプロキシ モードで IGMP スヌーピングを設定するには:user@device# set routing-instances routing-instance-name protocols igmp-snooping proxy
例えば、以下の設定には、
instance-type evpn
として設定されたEVPNルーティングインスタンスEVPN-AのプロキシモードでのIGMPスヌーピングの有効化が含まれています。routing-instances { evpn-A { instance-type evpn; vlan-id 600 interface ge-0/0/2.600; route-distinguisher 10.255.255.1:100; vrf-target target:64510:100; protocols { evpn { interface ge-0/0/2.600; label-allocation per-instance; } igmp-snooping proxy; } } }
instance-type virtual-switch
を持つEVPNインスタンスの特定のブリッジドメインまたはVLANのPEデバイスでIGMPスヌーピングを設定するには、次の手順に従います。user@device# set routing-instances routing-instance-name bridge-domain bridge-domain-name protocols igmp-snooping proxy
例えば、以下の設定では、
instance-type virtual-switch
として設定されているEVPNルーティングインスタンスEVPN-2のブリッジドメインV200、V201、およびV202に対して、プロキシモードでIGMPスヌーピングを有効にすることが含まれています。routing-instances { ... EVPN-2 { instance-type virtual-switch; route-distinguisher 90.90.90.10:2; vrf-target target:64510:2; protocols { evpn { encapsulation mpls; extended-vlan-list 200-202; default-gateway advertise; } } bridge-domains { V200 { domain-type bridge; vlan-id 200; interface ae1.200; routing-interface irb.200; protocols { igmp-snooping proxy; } } V201 { domain-type bridge; vlan-id 201; interface ae1.201; routing-interface irb.201; protocols { igmp-snooping proxy; } } V202 { domain-type bridge; vlan-id 202; interface ae1.202; routing-interface irb.202; protocols { igmp-snooping proxy; } } } } ... }
ACXシリーズルーターでIGMPv3を使用したIGMPスヌーピングを構成して、ソース固有のマルチキャストグループメンバーシップレポートのみを処理
デフォルトでは、EVPN-MPLS ネットワークは IGMPv2 で ASM(*,G)メンバーシップ レポートのみを処理します。ACXシリーズPEルーターは、ASM(*,G)モードでのIGMPv3メンバーシップレポートの処理もサポートしています。または、インターサブネット マルチキャストをサポートする EVPN-MPLS ネットワークで、IGMPv3 SSM(S,G)メンバーシップ レポートのみを処理するように ACX シリーズ PE を構成することもできます。これを行うには、IGMPスヌーピングを設定するときに、[edit protocols igmp-snooping]
設定ステートメント階層でevpn-ssm-reports-only
オプションを使用します。
このオプションを有効にすると、デバイスはASMレポートを処理せず、それらのパケットをドロップします。この環境で PE が IGMP メンバーシップ レポートを処理する方法の詳細については、 IGMP または MLD のバージョンとサポートされるグループ メンバーシップ レポート モード を参照してください。
タイプ evpn
のルーティング インスタンスで、すべてのブリッジ ドメインまたは VLAN に対して IGMPv3 で IGMP スヌーピングを設定すると、SSM のみの処理を有効にできます。
たとえば、IGMPv3 で IGMP スヌーピングを設定し、ルーティング インスタンス内のすべてのブリッジ ドメインまたは VLAN の SSM メンバーシップ レポートのみを処理するように設定するには、次のようにします。
user@device# set routing-instances routing-instance-name protocols igmp-snooping evpn-ssm-reports-only
次の設定例では、IGMP スヌーピングは、EVPN-4 という名前のタイプ evpn
のルーティング インスタンスの SSM メンバーシップ レポートのみを処理するように設定されています。
. . . EVPN-4 { instance-type evpn; protocols { evpn { remote-ip-host-routes; designated-forwarder-preference-least; } igmp-snooping { evpn-ssm-reports-only; proxy; } } vlan-id 400; interface ae2.400; l3-interface irb.400; route-distinguisher 90.90.90.10:2; vrf-target target:64510:4; } . . .
EVPN-MPLS で PIM を使用したブリッジ ドメインまたは VLAN 間のマルチキャスト ルーティングの設定
EVPN-MPLS 環境の PE デバイスは、IRB インターフェイスと PIM を使用して、ブリッジ ドメインまたは VLAN 間でマルチキャスト トラフィックをルーティングします(インターサブネット マルチキャスト)。
ACX シリーズ ルーターでは、マルチキャスト ソースはレイヤー 3 PIM ドメインの EVPN-MPLS データ センターの外部にある必要があります。各ACXシリーズPEデバイスは、外部のPIMドメインゲートウェイルーターに接続されたレイヤー3インターフェイスを介してマルチキャストソーストラフィックを受信します。受信機はEVPN-MPLSデータセンター内にある必要があります。
他のプラットフォームでは、すべてのマルチキャスト送信元と受信者が EVPN-MPLS データセンター内にある必要があり、各 PE デバイスはマルチキャストトラフィックをローカルまたは EVPN コア経由で受信します。
いずれの場合も(EVPN インスタンスの外部または内部のマルチキャスト送信元)、EVPN インスタンスの IRB インターフェイス上で分散 DR モードで PIM を有効にすると、IRB インターフェイスは、関連するブリッジ ドメインまたは VLAN 上の任意の受信者にマルチキャスト グループ トラフィックを送信します。
PIM DDR モードを使用して、EVPN ルーティング インスタンスのブリッジ ドメインまたは VLAN 間でマルチキャスト トラフィックをルーティングするように IRB インターフェイスを設定するには、次の手順を実行します。
user@device# set routing-instances routing-instance-name protocols pim interface irb-interface-name distributed-dr
例えば、以下の設定は、ACX シリーズ ルーター上の evpn-400 という名前の
instance-type evpn
ルーティング インスタンスのインターフェイス irb.400、irb.401、irb.402 で PIM DDR モードが有効になっていることを示しています(外部 PIM ドメインからの送信元トラフィックを受信するにはレイヤー 3 インターフェイスが必要です)。routing-instances { evpn-400 { instance-type evpn; vlan-id 400; interface xe-0/0/32.400; l3-interface irb.400; route-distinguisher 10.255.65.227:400; vrf-target target:64510:400; protocols { evpn { interface xe-0/0/32.400; } igmp-snooping proxy; } } protocols { pim { rp { static { address 10.255.67.48; } } interface lo0.0; interface all { mode { sparse; } } ... interface irb.400 { distributed-dr; } interface irb.401 { distributed-dr; } interface irb.402 { distributed-dr; } } } ... }
以下の設定例は、VRF ルーティング インスタンス IPVPN-2 のインターフェイス irb.200、irb.201、irb.202 で PIM DDR モードが有効になっていることを示しています。
routing-instances { ... IPVPN-2 { instance-type vrf; interface irb.200; interface irb.201; interface irb.202; interface lo0.2; route-distinguisher 90.90.90.10:222; vrf-target target:64510:2; vrf-table-label; protocols { pim { rp { local { address 10.88.88.10; } } interface irb.200 { distributed-dr; } interface irb.201 { distributed-dr; } interface irb.202 { distributed-dr; } } } }
CLIでのEVPN-MPLSのIGMPスヌーピングマルチキャスト情報の表示
EVPN-MPLS 環境では、IGMP スヌーピング マルチキャスト情報を表示するために、以下の EVPN コマンドがサポートされています。これらのコマンドの出力には、PE デバイス上のネイティブ IGMP スヌーピングから学習した情報と、EVPN タイプ 7 同期ルートへの参加およびタイプ 8 同期ルートを離れるメッセージから学習した情報が含まれます。
show evpn multicast-snooping next-hops
show igmp snooping evpn database
show igmp snooping evpn membership
PEのネイティブIGMPスヌーピング情報を表示するために、次のCLIコマンドがサポートされています。これらのコマンドの出力には、EVPNタイプ7およびタイプ8のIGMPメッセージの交換から学習した情報は含まれません。
show igmp snooping interface
show igmp snooping membership
show igmp snooping statistics
BGPおよびEVPNルーティングテーブルで、以下のコマンドを使用して、EVPNタイプ7 IGMPジョイン同期ルートまたはタイプ8タイプ脱退同期ルートを表示できます。
show route table bgp.evpn.0 match-prefix 7*
show route table __default_evpn__.evpn.0 match-prefix 7:*
show route table __default_evpn__.evpn.0 match-prefix 7:* protocol evpn
show route table __default_evpn__.evpn.0 match-prefix 7:* protocol bgp
show route table bgp.evpn.0 match-prefix 8:*
show route table __default_evpn__.evpn.0 match-prefix 8:*
show route table __default_evpn__.evpn.0 match-prefix 8:* protocol evpn
show route table __default_evpn__.evpn.0 match-prefix 8:* protocol bgp
例えば、 __default_evpn__.evpn.0
ルーティングテーブルでEVPNタイプ7のIGMPルートを表示するには、以下のコマンドを使用します。
user@host> show route table __default_evpn__.evpn.0 protocol evpn match-prefix 7:* extensive Sep 21 02:25:12 __default_evpn__.evpn.0: 32 destinations, 32 routes (32 active, 0 holddown, 0 hidden) 7:90.90.90.10:1::111111111111111111::100::0.0.0.0::233.252.0.1::90.90.90.10/600 (1 entry, 1 announced) TSI: Page 0 idx 0, (group IBGP type Internal) Type 1 val 0xb23c68c (adv_entry) Advertised metrics: Nexthop: 90.90.90.10 Localpref: 100 AS path: [64510] I Communities: es-import-target:11-11-11-11-11-11 evi-rt:64510:1 Path 7:90.90.90.10:1::111111111111111111::100::0.0.0.0::233.252.0.1::90.90.90.10 Vector len 4. Val: 0 *EVPN Preference: 170 Next hop type: Indirect, Next hop index: 0 Address: 0xb2e5e10 Next-hop reference count: 61 Protocol next hop: 90.90.90.10 Indirect next hop: 0x0 - INH Session ID: 0x0 State: <Active Int Ext> Age: 2:12:30 Validation State: unverified Task: __default_evpn__-evpn Announcement bits (1): 1-BGP_RT_Background AS path: I Communities: es-import-target:11-11-11-11-11-11 evi-rt:65530:1 IGMP flags: 0x2 7:90.90.90.10:3::333333333333333333::100::0.0.0.0::233.252.0.1::90.90.90.10/600 (1 entry, 1 announced) TSI: Page 0 idx 0, (group IBGP type Internal) Type 1 val 0xb23c6a8 (adv_entry) Advertised metrics: Nexthop: 90.90.90.10 Localpref: 100 AS path: [64510] I Communities: es-import-target:33-33-33-33-33-33 evi-rt:64510:3 Path 7:90.90.90.10:3::333333333333333333::100::0.0.0.0::233.252.0.1::90.90.90.10 Vector len 4. Val: 0 *EVPN Preference: 170 Next hop type: Indirect, Next hop index: 0 Address: 0xb2e5e10 Next-hop reference count: 61 Protocol next hop: 90.90.90.10 Indirect next hop: 0x0 - INH Session ID: 0x0 State: <Active Int Ext> Age: 2:12:30 Validation State: unverified Task: __default_evpn__-evpn Announcement bits (1): 1-BGP_RT_Background AS path: I Communities: es-import-target:33-33-33-33-33-33 evi-rt:65530:3 IGMP flags: 0x2