EVPN-MPLS 환경에서 IGMP 스누핑을 통한 멀티캐스트 포워딩 구성
멀티캐스트 포워딩을 통한 IGMP 스누핑은 IPv4 멀티캐스트 트래픽이 브리지 도메인 또는 VLAN 내부 및 간에 가입된 모든 수신자에게 도달하도록 보장하고, 전달되는 멀티캐스트 제어 및 데이터 트래픽의 양을 줄여 액세스 측의 대역폭을 보존합니다.
MPLS를 통한 이더넷 VPN(EVPN) 환경의 프로바이더 에지(PE) 디바이스에서 IGMP 스누핑을 통해 멀티캐스트를 구성할 수 있습니다. 다음과 같이 EVPN PE 디바이스에 멀티호밍된 수신기에 대한 IPv4 멀티캐스트 트래픽을 지원하려면 이 환경에서 IGMP 스누핑을 활성화해야 합니다.
피어 PE 디바이스는 all-active 멀티호밍 모드에서 작동해야 합니다.
프록시 모드에서 IGMP 스누핑을 사용하도록 설정합니다.
각 멀티호밍 피어 PE 디바이스에서 동일한 구성을 구성하고 커밋합니다.
이 환경의 MX 시리즈 라우터 및 EX9200 스위치는 ASM(any-source multicast) 멤버십 보고서가 있는 IGMPv2만 지원합니다. 이 환경의 ACX 시리즈 라우터는 특별한 구성 옵션을 사용하여 ASM 모드에서 IGMPv2 및 IGMPv3 멤버십 보고서 처리와 SSM(Source-Specific Multicast) 모드에서 IGMPv3 멤버십 보고서 처리를 지원합니다. PE가 IGMP 보고서를 처리하는 방법에 대한 자세한 내용은 IGMP 또는 MLD 버전 및 지원되는 그룹 구성원 보고서 모드를 참조하세요.
또한 브리지 도메인 또는 VLAN 간에 멀티캐스트 트래픽을 라우팅하기 위해 브리지 도메인 또는 VLAN에 걸쳐 있는 멀티캐스트 그룹의 호스트가 있는 PE는 IRB 인터페이스에서 PIM DDR(Pim Distributed Designated Router) 모드를 사용합니다. 멀티캐스트 그룹에서 관심 있는 수신자가 있는 각 브리지 도메인 또는 VLAN과 연결된 IRB 인터페이스를 설정합니다. IRB 인터페이스에 PIM DDR이 구성된 경우, PE 디바이스는 IRB가 해당 브리지 도메인 또는 VLAN에 대해 선택된 PIM DR(Designated Router)이 아니더라도 IRB 인터페이스를 통해 해당 브리지 도메인 또는 VLAN의 관심 있는 수신자에게 트래픽을 로컬로 보냅니다.
이 주제에서는 프록시 모드에서 IGMP 스누핑을 설정하고 EVPN PE 디바이스의 브리지 도메인 또는 VLAN 간 라우팅을 위한 IRB 인터페이스를 구성하기 위한 구성 작업에 대해 설명합니다. 또한 이 환경에서 IGMP 스누핑 및 멀티캐스트 작업을 확인하는 데 사용할 수 있는 CLI 명령도 요약되어 있습니다.
EVPN 또는 가상 스위치 라우팅 인스턴스에 대한 IGMP 스누핑 구성
ACX 시리즈 라우터에서는 하나 이상의 유형의 라우팅 인스턴스에서 IGMP 스누핑을 구성할 수 있습니다 evpn
. 다른 유형의 디바이스에서는 유형 evpn
또는 virtual-switch
의 라우팅 인스턴스에 대해 IGMP 스누핑을 구성할 수 있습니다.
(일부 또는 모든 브리지 도메인 또는 VLAN에 대해) 라우팅
instance-type evpn
인스턴스에 대해 PE 디바이스에서 프록시 모드로 IGMP 스누핑을 구성하려면:user@device# set routing-instances routing-instance-name protocols igmp-snooping proxy
예를 들어, 다음 구성에는 로 구성된 EVPN 라우팅 인스턴스 evpn-A에 대해 프록시 모드에서 IGMP 스누핑을 활성화하는 것이 포함됩니다.
instance-type evpn
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; } } }
다음을 사용하여 특정 브리지 도메인 또는 VLAN에 대해 PE 디바이스에서 IGMP 스누핑을 구성하려면 다음을 수행합니다.
instance-type virtual-switch
user@device# set routing-instances routing-instance-name bridge-domain bridge-domain-name protocols igmp-snooping proxy
예를 들어, 다음 구성에는 다음과 같이 구성된 EVPN 라우팅 인스턴스 EVPN-2의 브리지 도메인 V200, V201 및 V202에 대해 프록시 모드에서 IGMP 스누핑을 활성화하는 것이 포함됩니다.
instance-type virtual-switch
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 스누핑을 evpn-ssm-reports-only
구성할 때 구성 문 계층의 [edit protocols igmp-snooping]
옵션을 사용합니다.
이 옵션을 활성화하면 디바이스가 ASM 보고서를 처리하지 않고 해당 패킷을 삭제합니다. PE가 이 환경에서 IGMP 멤버십 보고서를 처리하는 방법에 대한 자세한 내용은 IGMP 또는 MLD 버전 및 지원되는 그룹 멤버십 보고서 모드를 참조하십시오.
유형의 evpn
라우팅 인스턴스에서 모든 브리지 도메인 또는 VLAN에 대해 IGMPv3를 사용하여 IGMP 스누핑을 구성할 때 SSM 전용 처리를 활성화할 수 있습니다.
예를 들어, 라우팅 인스턴스의 모든 브리지 도메인 또는 VLAN에 대한 SSM 멤버십 보고서만 처리하도록 IGMPv3를 통한 IGMP 스누핑을 구성하려면 다음을 수행합니다.
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이라는 라우팅 인스턴스(외부 PIM 도메인에서 소스 트래픽을 수신할 레이어 3 인터페이스가 필요함)의
instance-type evpn
인터페이스 irb.400, irb.401 및 irb.402에서 활성화된 PIM DDR 모드를 보여줍니다.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
예를 들어 라우팅 테이블에서 EVPN 유형 7 IGMP 경로를 __default_evpn__.evpn.0
보려면 다음 명령을 사용합니다.
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