목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

배경 정보

구성

일반 토폴로지

구성 예

FHR - 일반적으로 멀티캐스트 SRC가 여기에 직접 연결됨

LHR - 일반적으로 멀티캐스트 REC가 여기에 직접 연결됨

PIM - FHR/LHR 역할을 하는 활성화된 라우터

RP - Rendezvous Point입니다.

멀티캐스트에 대한 HW 항목 보존 구성

PACL

RACL

관련 정보

소개

이 문서에서는 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 제한 사항도 앞서 언급되었습니다.

관련 정보

- 이는 개선 요청 버그 CSCvm44596입니다.

- 기술 지원 및 문서 − Cisco Systems