소개
이 문서에서는 Nexus 7000/9000 스위치에서 특정 멀티캐스트 트래픽을 차단하거나 필터링하는 가능한 방법을 구성하는 다양한 방법에 대해 설명합니다. 또한 멀티캐스트 리소스를 절약할 수 있습니다. 일반적인 예 중 하나는 SSDP를 사용하여 서버 간에 통신하는 Microsoft의 범용 플러그 앤 플레이 작업 구현입니다.
사전 요구 사항
요구 사항
Cisco에서는 PIM Sparse 모드를 사용하는 ASM(Any-Source Multicast)이 Nexus 플랫폼에서 작동하는 방식에 대해 알고 있는 것이 좋습니다.
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- NXOS 7.3(4)D1(1)을 실행하는 F3/M3 LC가 포함된 Nexus 7K
- Nexus N9K-C93180YC-EX/FX with 7.0(3)I7(9) 또는 9.3(5)
참고: SW/HW가 다를 경우 결과가 달라질 수 있습니다.
이 문서의 정보는 특정 랩 환경의 디바이스에서 생성되었습니다. 이 문서에 사용된 모든 디바이스는 지워진(기본) 컨피그레이션으로 시작합니다. 네트워크가 프로덕션 중인 경우 모든 명령의 잠재적인 영향을 이해해야 합니다.
배경 정보
다음은 사용된 약어 목록입니다.
RP - 랑데부 지점
FHR - First Hop 라우터
LHR - Last Hop 라우터
SRC - 멀티캐스트 소스
REC - 멀티캐스트 수신기
PACL - 포트 액세스 목록
RACL - 라우팅된 액세스 목록
SVI - 스위치드 가상 인터페이스
ACL - 액세스 제어 목록
구성
일반 토폴로지

구성 예
다음과 같이 가정합니다.
RP의 IP 주소는 192.168.10.1입니다.
SRC의 IP 주소는 172.16.10.100/32입니다.
SSDP 그룹: 239.255.255.250/239.255.255.253
이제 디바이스의 역할에 따라 구성에 대해 살펴보겠습니다. 예: FHR, LHR, RP 등
FHR - 일반적으로 멀티캐스트 SRC가 여기에 직접 연결됨
1. 기존 RP에 대한 필터 등록
ip pim rp-address 192.168.10.1 route-map filter-registration
!
Route-map filter-registration deny 5
match ip multicast source 172.16.10.100/32 group 239.255.255.250/32
// Above line is specific to SRC/GROUP pair
Route-map filter-registration deny 7
match ip multicast group 239.255.255.250/32
// Above line is for any SRC and specific group
!
Route-map filter-registration permit 100
Match ip multicast group 224.0.0.0/4
|
2. SSDP 그룹에 대해 존재하지 않는 가짜 RP(예: 1.1.1.1)을 정의하여 RP에 대한 필터 등록 이 경우 FHR은 RP의 역할을 수행합니다.
ip route 1.1.1.1/32 Null0
!
ip pim rp-address 1.1.1.1 route-map SSDP_groups
!
Route-map SSDP_groups permit 5
match ip multicast group 239.255.255.250/32
Route-map SSDP_groups permit 10
match ip multicast group 239.255.255.253/32
Route-map SSDP_groups deny 20
match ip multicast group 224.0.0.0/4
!
ip pim rp-address 192.168.10.1 route-map all_other_groups
!
Route-map all_other_groups deny 5
match ip multicast group 239.255.255.250/32
Route-map all_other_groups deny 10
match ip multicast group 239.255.255.253/32
Route-map all_other_groups permit 20
match ip multicast group 224.0.0.0/4
|
확인:
Nexus9K_OR_N7K# show ip pim rp
PIM RP Status Information for VRF "default"
BSR disabled
Auto-RP disabled
BSR RP Candidate policy: None
BSR RP policy: None
Auto-RP Announce policy: None
Auto-RP Discovery policy: None
RP: 192.168.10.1, (0),
uptime: 00:00:27 priority: 0,
RP-source: (local), group-map: Filter-registration,
group rangs:
224.0.0.0/4
239.255.255.253/32 (deny)
239.255.255.250/32 (deny)
Nexus9K_OR_N7K# show ip mroute
IP Multicast Routing Table for VRF "default"
(172.16.10.100/32, 239.255.255.250/32), uptime: 00:04:12, ip pim
Incoming interface: Vlan10, RPF nbr: 172.16.10.100
Outgoing interface list: (count: 0)
Nexus9K_OR_N7K# show system internal mfwd event-history pkt
pkt events for MCASTFWD process
2021 Jan 1 11:11:41.792316 mcastfwd [21914]: [21933]: Create state for (172.16.10.100, 239.255.255.250)
Nexus9K_OR_N7K # show ip pim internal event-history null-register
2021 Jan 01 11:15:19.095711: E_DEBUG pim [21935]: Null Register not sent for (172.16.10.100/32, 239.255.255.250/32) yes
|
위 출력에서는 FHR이 스트림을 RP에 등록하지 않음을 확인합니다.
LHR - 일반적으로 멀티캐스트 REC가 여기에 직접 연결됨
3. 인그레스 SVI(REC가 상주하는)에 IGMP 정책을 적용합니다. 여기에서 아이디어는 REC에서 SSDP 그룹에 대한 IGMP 멤버십 보고서를 필터링하는 것입니다.
ip pim rp-address 192.168.10.1 group-list 224.0.0.0/4
!
route-map filter-SSDP-joins deny 5
match ip multicast group 239.255.255.250/32
route-map filter-SSDP-joins deny 6
match ip multicast group 239.255.255.253/32
route-map filter-SSDP-joins permit 100
match ip multicast group 224.0.0.0/4
!
Interface VlanXX
ip igmp report-policy filter-SSDP-joins
|
확인:
Nexus9K_OR_N7K (config)# show ip mroute 239.255.255.250
IP Multicast Routing Table for VRF "default"
Group not found
!
Nexus9K_OR_N7K (config)# show ip igmp snooping groups vlan 44
Type: S - Static, D - Dynamic, R - Router port, F - Fabricpath core port
Vlan Group Address Ver Type Port list
44 */* - R Vlan44
44 239.255.255.250 v2 D Eth1/5
!
Nexus9K_OR_N7K (config)# show ip igmp internal event-history debugs
debugs events for IGMP process
2021 Jan 1 11:52:21.277915 igmp [1125]: : Filtered group 239.255.255.250
2021 Jan 1 11:52:21.277903 igmp [1125]: : Received v2 Report for 239.255.255.250 from 172.16.44.100 (Vlan44)
|
위 출력은 IGMP 멤버십 보고서가 필터링되고 (*,G) 조인이 RP로 전송되지 않음을 확인합니다.
PIM - FHR/LHR 역할을 하는 활성화된 라우터
요구 사항에 따라 옵션 1 또는 2 및 3의 조합을 사용할 수 있습니다.
예를 들면 다음과 같습니다.
4. 기존 RP(FHR 역할)에 대한 필터 등록:
ip pim rp-address 192.168.10.1 route-map filter-registration
!
Route-map filter-registration deny 5
match ip multicast source 172.16.10.100/32 group 239.255.255.250/32
Route-map filter-registration deny 7
match ip multicast group 239.255.255.250/32
!
Route-map filter-registration permit 100
Match ip multicast group 224.0.0.0/4
|
5. REC에서 IGMP 멤버십 보고서를 필터링하는 IGMP 정책(LHR 역할)
ip pim rp-address 192.168.10.1 group-list 224.0.0.0/4
!
route-map filter-SSDP-joins deny 5
match ip multicast group 239.255.255.250/32
route-map filter-SSDP-joins deny 6
match ip multicast group 239.255.255.253/32
route-map filter-SSDP-joins permit 100
match ip multicast group 224.0.0.0/4
!
Interface VlanXX
ip igmp report-policy filter-igmp-joins
|
확인:
위 C포인트와 D포인트에서 검증한 것과 거의 동일합니다.
Show ip mroute
Show ip pim rp
Show ip pim internal event-history join-prune
Show ip igmp internal event-history debugs
|
RP - Rendezvous Point입니다.
6. HR에서의 SSDP 그룹 등록을 차단하기 위한 등록정책
ip pim rp-address 192.168.10.1 group-list 224.0.0.0/4
ip pim register-policy all_groups
!
Route-map all_groups deny 5
match ip multicast group 239.255.255.250/32
Route-map all_groups deny 10
match ip multicast group 239.255.255.253/32
Route-map all_groups permit 20
match ip multicast group 224.0.0.0/4
|
확인:
Nexus9K_OR_N7K (config)# show ip mroute 239.255.255.250
IP Multicast Routing Table for VRF "default"
Group not found
!
Nexus9K_OR_N7K (config)# show ip pim internal event-history data-register-receive
2021 Jan 08 03:33:06.353951: E_DEBUG pim [1359]: Register disallowed by policy
2021 Jan 08 03:33:06.353935: E_DEBUG pim [1359]: Received DATA Register from 172.16.10.1 for (172.16.10.100/32, 239.255.255.250/32) (pktlen 1028)
2021 Jan 08 03:29:42.602744: E_DEBUG pim [1359]: Add new route (172.16.10.100/32, 239.1.1.1/32) to MRIB, multi-route TRUE
F241.01.13-C93180YC-EX-1(config)# show ip pim internal event-history null-register
2021 Jan 08 03:35:40.966617: E_DEBUG pim [1359]: Send Register-Stop to 172.16.10.1 for (172.16.10.100/32, 239.255.255.250/32)
2021 Jan 08 03:35:40.966613: E_DEBUG pim [1359]: Register disallowed by policy
2021 Jan 08 03:35:40.966597: E_DEBUG pim [1359]: Received NULL Register from 172.16.10.1 for (172.16.10.100/32, 239.255.255.250/32) (pktlen 20)
|
위 출력에서는 RP가 그룹 239.255.255.250에 대한 등록을 차단하고 있음을 확인합니다.
7. RP에 Join-prune 정책 적용 - SSDP 그룹에 대해서만 pim(*,G) 가입 및 (S,G) 조인
ip pim rp-address 192.168.10.1 group-list 224.0.0.0/4
ip pim register-policy all_groups
!
Route-map all_groups deny 5
match ip multicast group 239.255.255.250/32
Route-map all_groups deny 10
match ip multicast group 239.255.255.253/32
Route-map all_groups permit 20
match ip multicast group 224.0.0.0/4
!
Interface Ethernet/Y
ip pim sparse-mode
ip pim jp-policy all_groups
|
확인:
Nexus9K_OR_N7K # show ip mroute 239.255.255.253
IP Multicast Routing Table for VRF "default"
Group not found
!
F241.01.13-C93180YC-EX-1# show ip pim internal event-history join-prune
2021 Jan 08 03:53:41.643419: E_DEBUG pim [1359]: Join disallowed by inbound JP policy
|
위 출력은 RP에 의해 PIM 조인이 차단되었음을 확인합니다(*,G).
멀티캐스트에 대한 HW 항목 보존 구성
섹션 A, B 또는 C에 설명된 모든 옵션이 있지만 에서는 FHR, LHR 또는 FHR/LHR 중 하나가 RP에 스트림을 등록하거나 PIM 조인(*,G)을 각각 RP에 전송하는 것을 방지합니다. mroute 또는 snooping 엔트리는 여전히 생성될 수 있으며 멀티캐스트 HW 엔트리를 사용합니다.
참고: VPC가 구성된 경우 인그레스 SVI 또는 레이어2 인터페이스/포트 채널/VPC 포트 채널에서 RACL 또는 PACL을 사용할 수 있습니다. SRC/REC가 다른 VLAN 또는 L2 인터페이스에서 아웃아웃아웃된 경우 RACL 또는 PACL도 모든 인터페이스에 적용해야 합니다. 그러나 HW/SW에 따라(대부분 HW 제한으로 인해) 결과는 다를 수 있습니다.
PACL
인그레스 레이어2 포트 또는 포트 채널 또는 VPC 포트 채널에 PACL을 구성하여 FSD 트래픽을 차단하거나 FHR에서 (S, G) 항목을 생성합니다.
참고: 사용된 HW(예: Nexus N9000)에 따라 PACL을 적용하기 전에(다시 로드해야 함) TCAM을 깎아야 할 수 있습니다.
예를 들면 다음과 같습니다.
ip access-list BlockAllSSDP
Statistics per-entry
10 deny ip any 239.255.255.250/32
20 deny ip any 239.255.255.253/32
30 permit ip any any
!
Interface Ethernet X/Y
Or
Interface port-channel XX
ip port-access group BlockAllSSDP in
|
확인:
F241.01.13-C93180YC-EX-1# sh ip mroute 239.255.255.250
IP Multicast Routing Table for VRF "default"
Group not found
!
show ip access-lists BlockAllSSDP
IP access list BlockAllSSDP
statistics per-entry
10 deny ip any 239.255.255.250/32 [match=3] -> Drop counters
20 deny ip any 239.255.255.253/32 [match=0]
30 permit ip any any [match=0]
|
PACL을 통해 두 멀티캐스트 트래픽/IGMP 멤버십 포트가 모두 차단되므로 스누핑, mroute 항목이 표시되지 않습니다. 기본적으로 PACL은 둘 다 삭제합니다.
RACL
SRC가 있지만 사용된 SW/HW에 따라 인그레스 SVI에 RACL을 구성할 수 있습니다. (S, G) 항목이 계속 생성되거나 트래픽이 다른 로컬 VLAN에 전달될 수 있습니다.
ip access-list BlockAllSSDP
Statistics per-entry
10 deny ip any 239.255.255.250/32
20 deny ip any 239.255.255.253/32
30 permit ip any any
!
Interface VlanXX
ip port-access group BlockAllSSDP in
|
확인:
PACL과 거의 동일하지만 RACL 옵션은 PACL과 동일한 결과를 제공하지 않을 수 있습니다. 대부분의 경우 HW 제한 사항도 앞서 언급되었습니다.
관련 정보