목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

배경 정보

새로운 인터페이스 기능

IP Pim 이중화

VRRP의 역할

PIM의 역할

구현 세부 정보

VRRP 그룹으로 PIM 바인딩

인터페이스에서 여러 VRRP 그룹 추적

구성

네트워크 다이어그램

PIM 이중화 기능 활성화

LHR 컨피그레이션

다음을 확인합니다.

VRRS 데이터베이스 정보 확인

인터페이스 정보 확인

문제 해결

관련 정보

소개

이 문서에서는 VRRP 인식(Virtual Router Redundancy Protocol-aware) PIM(Protocol Independent Multicast)을 사용하기 위해 라우터를 구성하는 방법에 대해 설명합니다.

사전 요구 사항

요구 사항

Cisco에서는 멀티캐스트 및 VRRP 기능에 대해 알고 있는 것이 좋습니다.

사용되는 구성 요소

이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.

배경 정보

VRRRP 인식 PIM은 VRRRP 버전 3.10 릴리스(15.3(3)S)에서 지원됩니다. PIM에는 고유한 이중화 기능이 없으며 VRRP와 같은 FHRP(First Hop Redundancy Protocols)와는 완전히 독립적입니다. 따라서 VRRP에서 선택한 동일한 라우터에서 IP 멀티캐스트 트래픽이 반드시 전달되지는 않습니다.

VRG(Virtual Router Groups)가 활성화된 중복 네트워크에서 일관된 IP 멀티캐스트 포워딩을 제공해야 합니다. PIM 이중화를 통해 VRRS(Virtual Router Redundancy Service)가 활용되고 라우터의 VRRP 상태에 따라 DR(Designated Router) 선택 및 PIM Join/Prune 처리 결정이 이루어집니다. PIM 비DR 조인 기능을 활성화하면 비DR(non-DR)이 멀티캐스트 경로(mroute) 상태를 생성하고 트래픽을 끌어오지만 트래픽을 전달하지는 않도록 허용합니다. VRRRP 장애 조치가 발생하면 VRRP 그룹에서 선택한 새 MR(Master Router)이 FHR(First Hop Router) 또는 LHR(Last Hop Router) DR 권한을 인수하고 트래픽을 전달하기 시작합니다.

새로운 인터페이스 기능

Cisco는 ip pim non-dr-join CLI 명령을 사용하여 활성화되는 새로운 기능을 도입했습니다. 이 새로운 기능은 VRRP 인식 PIM 기능과 독립적으로 작동하며 VRRP 외에도 BFD(Bidirectional Forwarding Detection)와 같은 다른 기능에도 유용할 수 있습니다. 이 CLI 기능을 활성화하면 NonDR이 IGMP(Internet Group Management Protocol)를 DR처럼 처리하고 기능을 수행할 수 있습니다. 단, 다음 경우는 예외입니다.

- NonDR은 OIL(Outgoing Interface List)에 인터페이스를 유지하지만 트래픽이 전달되지 않도록 F 플래그(MRIB(Multicast Routing Information Base)의 전달 플래그)를 설정하지 않습니다. NonDR이 DR이 되면 F 플래그를 설정하고 트래픽을 전달하기 시작합니다.

참고: 이 논리는 VRRP 그룹 상태와 완전히 독립적으로 작동합니다.

- ip pim non-dr-join 및 ip pim 이중화 <tag> vrdr-priority <value> 기능이 인터페이스에서 활성화된 경우, VRRP 상태와 상관없이 모든 NonDR에서도 트래픽이 풀립니다. PIM은 VRRP 상태를 기반으로 인터페이스에서 F 플래그를 설정하거나 지워 VRRP 전환 시 빠른 컨버전스 시간을 허용합니다.

IP Pim 이중화

이 문서에 설명된 컨피그레이션에서는 태그를 통해 PIM을 VRRS 세션에 바인딩하기 위해 새 인터페이스 CLI 기능을 사용합니다(48자 문자열).

ip pim redundancy

[vrrp ] dr-priority

ipv6 pim redundancy

[vrrp ] dr-priority

PIM은 VRRS 클라이언트로 등록되고 VRRP 이벤트 알림을 수신합니다. VRRP MR을 다중 액세스 세그먼트의 PIM DR로 지정하려면 물리적 IP 주소에서 전송된 Hello 메시지에서 PIM DR 우선 순위를 높입니다.

인터페이스에서 VRRP 인식 PIM 추적이 활성화되면 ip pim non-dr-join 기능이 동일한 인터페이스에서 활성화되었는지 여부에 따라 다른 동작이 관찰될 수 있습니다.

- ip pim non-dr-join 기능이 활성화된 경우 NonDR은 IGMP 보고서를 처리하고 mroute 상태를 평소와 같이 생성합니다. 기본 NonDR 동작과 달리 NonDR은 mroute 항목의 아웃바운드 인터페이스 목록에 인터페이스를 추가하고, PIM Join/Prune 결정을 전송하고, DR과 같은 트래픽을 가져옵니다. 그러나 NonDR은 MRIB의 인터페이스에 F 플래그를 설정하지 않으므로 인터페이스에서 트래픽이 전달되지 않습니다. 대신 MRIB의 아웃바운드 인터페이스 목록(OIL)에 있는 인터페이스에 대해 새 b 플래그(차단됨)가 설정되며, 이는 VRP 백업 상태의 경우 이 인터페이스에서 전달이 차단됨을 나타냅니다. 이를 통해 대역폭 비용으로 전환 시 빠른 컨버전스 시간이 가능합니다.

- ip pim non-dr-join 기능이 활성화되지 않은 경우 MR만 PIM DR로 작동하고 모든 백업 라우터가 IGMP 가입 및 PIM 가입/정리 요청을 무시하는 동안 MR만 PIM 가입/정리 결정을 처리합니다. 전환 시 새 MR은 가상 IP 주소로 PIM Hello 메시지를 전송합니다. 그런 다음 호스트 또는 다운스트림 상자가 트리거되어 조인 요청을 다시 보냅니다. 그러면 새 MR이 이러한 요청을 처리하고 멀티캐스트 트래픽을 가져옵니다. 따라서 다른 접근 방식보다 컨버전스 시간이 느려지지만 시스템 관점에서 볼 때 대역폭 경제성이 향상됩니다.

관심 애플리케이션 설정만 마지막/첫 번째 hop 시나리오이므로 PIM은 인터페이스당 하나의 VRRP 그룹만 추적할 수 있습니다. 하나의 인터페이스가 하나의 VRRP 그룹에 대해 마스터 상태에 있고 다른 VRRP 그룹에 대한 백업 상태에 있는 상황을 생성하는 여러 VRRP 그룹을 추적하기 위해 하나의 인터페이스를 구성할 수 없습니다.

VRRP 장애 조치 시 새로운 MR이 된 라우터가 새로운 DR로 선택됩니다.

- ip pim non-dr-join 기능이 활성화된 경우 PIM은 모든 mroute 항목을 표시하고 b 플래그를 지우고(현재는 VRRP 그룹의 MR이므로) 인터페이스에서 F 플래그를 설정합니다. 이전 MR은 F 플래그를 지우고 인터페이스에서 B 플래그를 설정합니다.

- ip pim non-dr-join 기능이 활성화되지 않은 경우 HSRP 인식(Hot Standby Router Protocol-aware) PIM 로직이 뒤에 오는 경우 새 MR은 PIM Hello 메시지를 전송하여 다운스트림 상자를 트리거하여 PIM Join 요청을 다시 전송하거나(또는 호스트가 다음 정기 IGMP 보고서를 전송하도록 대기), 경로 상태를 재생성하고 새 DR트래픽을 통해 가져옵니다.

- 이제 트래픽이 새 MR(및 PIM DR)을 통해 LAN으로 전달되며, 장애 조치 시 다운스트림 라우터에서 작업이 전혀 필요하지 않습니다.

VRRP의 역할

VRRP는 IPv4/IPv6 주소로 표시되는 가상 라우터에 대한 책임을 LAN의 VRRP 라우터(RFC5798) 중 하나에 동적으로 할당하는 선택 프로토콜을 지정합니다. 가상 라우터와 연결된 주소를 제어하는 VRRP 라우터를 마스터라고 하며, 전송된 패킷을 MAC(Virtual Media Access Control) 주소로 전달합니다.

이 새 기능이 구현되면 VRRP를 사용하여 VRRP MR을 선택합니다. VRRP MR은 VRRP 그룹 VIP(Virtual IP)로 전달되는 모든 트래픽에 대해 라우팅 및 포워딩을 수행합니다. 이를 통해 세 가지 목표를 달성할 수 있습니다.

- 모든 VRRP 서버 상태 변경 및 업데이트에 대해 VRRS에 알립니다.

- 모든 PIM Join/Prune 요청이 VRRRP 그룹 VIP에 도달할 수 있으므로 다운스트림 라우터 측에서 변경 및 구성이 최소화됩니다(VIP만 알고 있어야 함).

- PIM DR을 VRRP MR과 동일한 게이트웨이에서 실행하고 mroute 상태를 유지할 수 있습니다. 멀티캐스트 트래픽은 VRRP MR을 통해 전달되며, PIM은 잠재적인 중복 트래픽을 방지하기 위해 VRRP 이중화를 활용할 수 있으며 장애 조치가 활성화될 수 있습니다.

PIM의 역할

PIM은 VRRS 클라이언트 역할을 하며, VRRRP(VRRS 서버)에서 상태 변경 및 업데이트 알림을 수신하고 다음을 수행합니다.

- VRRP 상태에 따라 PIM DR 우선순위를 자동으로 조정합니다.

- VRRP 장애 조치 시 추적된 VRRP 그룹에 대해 VRRS로부터 상태 변경 알림을 받습니다. 이에 따라 PIM은 인터페이스 플래그를 관리하고 VRRP MR을 통해 트래픽이 전달되도록 합니다.

마스터 라우터와 백업 라우터에서 모두 mroute 상태 및 트래픽을 사용할 수 있으므로 전환 시간은 대부분 이중화 인프라(VRRP 및 VRRS)와 설정 스케일(예: mroute 항목 수)에 의해 결정됩니다. 상태 변경 알림 시 PIM은 MRIB 및 MFIB(Multicast Forwarding Information Base)에 VRP MR을 통해 트래픽을 전달하도록 즉시 알립니다.

구현 세부 정보

이 섹션에서는 이 문서에 설명된 컨피그레이션에 대한 몇 가지 중요한 정보를 제공합니다.

VRRP 그룹으로 PIM 바인딩

인터페이스에서 PIM 이중화를 활성화하고 VRRP 서버 그룹(VRRP 그룹)에 바인딩하기 위해 PIM CLI 명령이 도입되었습니다.

ip pim redundancy

[vrrp ] dr-priority

ipv6 pim redundancy

[vrrp ] dr-priority

인터페이스에 구성된 경우 PIM은 VRRS에 클라이언트로 등록되고 VRRS 데이터베이스에 의해 할당된 클라이언트 ID를 가져옵니다. 또한 VRRS는 <tag>로 식별되는 그룹의 모든 이벤트에 대해 PIM에 알림을 보내도록 요청합니다.

참고: VRRS 서버 및 클라이언트는 이름이 48자 문자열(태그)인 Tag로 바인딩됩니다. VRRS는 등록 및 콜백 메커니즘을 통해 작동합니다. VRRS에 이중화 등록을 구현하는 클라이언트(예: PIM)

NonDR Join 기능을 활성화하려면 다음 명령 중 하나를 CLI에 입력합니다.

ip pim non-dr-join

ipv6 pim non-dr-join

인터페이스에서 여러 VRRP 그룹 추적

대상 애플리케이션 시나리오는 First/Last hop 설정일 뿐이므로 LAN의 모든 LHR 인터페이스가 동일한 VRRP 그룹을 추적하는 것이 가장 일반적인 설정입니다. 따라서 VRRS에서 인터페이스당 여러 태그를 추적할 수 있는 경우에도 PIM은 인터페이스당 하나의 VRRP 그룹만 추적할 수 있습니다.

참고: 기본적으로 이 기능은 비활성화되어 있습니다.

구성

네트워크 다이어그램

PIM 이중화 기능 활성화

참고: PIM 이중화를 활성화하기 위해 사용할 수 있는 CLI 명령은 하나만 있습니다. PIM 및 HSRP에 대해 현재 show 및 debug 명령을 사용할 수 있습니다.

PIM 이중화 기능을 활성화하고 각 VRP 그룹에 대해 PIM DR 우선순위를 지정하려면 다음 명령 중 하나를 CLI에 입력합니다.

[no] ip pim redundancy

[hsrp | vrrp] dr-priority

[no] ipv6 pim redundancy

[hsrp | vrrp] dr-priority

PIM DR 기능을 활성화하려면 다음 명령 중 하나를 CLI에 입력합니다(NonDR에서 포워딩 제외).

[no] ip pim non-dr-join

[no] ipv6 pim non-dr-join

LHR 컨피그레이션

LHR DR에 이 구성을 사용합니다.

interface Ethernet0/0

ip address 10.10.10.1 255.255.255.0

ip pim redundancy VRRP vrrp dr-priority 150

ip pim non-dr-join

ip pim sparse-mode

vrrp 1 address-family ipv4

vrrs leader VRRP

priority 120

track 1 decrement 30

address 10.10.10.5 primary

exit-vrrp   !   track 1 interface Ethernet0/1 line-protocol

LHR NonDR에 이 구성을 사용합니다.

interface Ethernet0/0

ip address 10.10.10.2 255.255.255.0

ip pim redundancy VRRP vrrp dr-priority 150

ip pim non-dr-join

ip pim sparse-mode

vrrp 1 address-family ipv4

address 10.10.10.5 primary

exit-vrrp

LHR 컨피그레이션을 보려면 show vrrrp brief 명령을 입력합니다.

LHR-DR#show vrrp brief

Interface         Grp A-F Pri Time Own Pre State   Master addr/Group addr

Et0/0               1 IPv4 120     0 N   Y MASTER 10.10.10.1(local) 10.10.10.5

LHR-DR#

LHR-NonDR#show vrrp brief

Interface         Grp A-F Pri Time Own Pre State   Master addr/Group addr

Et0/0               1 IPv4 100 3609 N   Y BACKUP 10.10.10.1 10.10.10.5

LHR-NonDR#

다음을 확인합니다.

컨피그레이션이 제대로 작동하는지 확인하려면 이 섹션에 설명된 정보를 사용하십시오.

VRRS 데이터베이스 정보 확인

CLI에 show vrrs server VRRP 명령을 입력하여 이전 컨피그레이션에 따라 VRRS 데이터베이스가 채워졌는지 확인합니다.

LHR-DR#show vrrs server VRRP

Server Name: vrrpEthernet0/0v41

Address Family: IPv4

Interface: Ethernet0/0

State: ACTIVE

vMAC: 0000.5E00.0101

vIP Address: 10.10.10.5

Tags Connected:

Tag Name VRRP

LHR-DR#

LHR-NonDR#show vrrs server VRRP

Server Name: vrrpEthernet0/0v41

Address Family: IPv4

Interface: Ethernet0/0

State: BACKUP

vMAC: 0000.5E00.0101

vIP Address: 10.10.10.5

Tags Connected:

LHR-NonDR#

인터페이스 정보 확인

인터페이스가 비 dr-join 기능에 대해 올바르게 프로그래밍되고 NonDR에 차단된 플래그로 구성된 트리가 있는지 확인하려면 다음 명령 중 하나를 입력합니다.

LHR-DR#show ip pim int e0/0 det | i Non|DR

PIM DR: 10.10.10.1 (this system)

PIM Non-DR-Join: TRUE

LHR-NonDR#show ip pim int e0/0 det | i Non|DR

PIM DR: 10.10.10.1

PIM Non-DR-Join: TRUE

LHR-NonDR#

LHR-NonDR CLI에 show ip mroute sparse 명령을 입력하여 새 Blocked 필드를 표시합니다.

LHR-NonDR#show ip mroute sparse

(*, 239.1.1.1), 01:26:15/stopped, RP 192.168.1.254, flags: SJC

Incoming interface: Ethernet0/1, RPF nbr 192.168.2.2

Outgoing interface list:

Ethernet0/0, Forward/Sparse, 00:00:16/00:02:43 Blocked

(192.168.7.2, 239.1.1.1), 00:11:56/00:02:50, flags: T

Incoming interface: Ethernet0/1, RPF nbr 192.168.2.2

Outgoing interface list:

Ethernet0/0, Forward/Sparse, 00:00:16/00:02:43 Blocked

MRIB 경로에 F 플래그가 설정되지 않았는지 확인하려면 LHR-NonDR의 CLI에 show mrib route 명령을 입력합니다.

LHR-NonDR#show ip mrib route 239.1.1.1 | b \(

(*,239.1.1.1) RPF nbr: 192.168.2.2 Flags: C

Ethernet0/1 Flags: A NS

(192.168.7.2,239.1.1.1) RPF nbr: 192.168.2.2 Flags:

Ethernet0/1 Flags: A

원하는 경우 MRIB 경로에는 LHR-DR:

LHR-DR#show ip mrib route 239.1.1.1 | b \(

(*,239.1.1.1) RPF nbr: 192.168.3.2 Flags: C

Ethernet0/0 Flags: F NS

Ethernet0/1 Flags: A NS

(192.168.7.2,239.1.1.1) RPF nbr: 192.168.3.2 Flags:

Ethernet0/1 Flags: A

Ethernet0/0 Flags: F NS

Ethernet0/1 종료를 통해 VRRRP 상태 변경을 트리거하려면 LHR-DR의 CLI에 conf t 명령을 입력합니다.

LHR-DR#conf t

Enter configuration commands, one per line. End with CNTL/Z.

LHR-DR(config)#int e0/1

LHR-DR(config-if)#shutdown

LHR-DR(config-if)#end

LHR-NonDR의 출력을 관찰하면 VRRRP 상태가 변경되었으며(VRRS에 알림) PIM이 VRRS의 알림을 받고 그에 따라 DR 역할이 변경되었음을 확인할 수 있습니다.

LHR-NonDR#show ip pim int e0/0 det | i DR

PIM DR: 10.10.10.2 (this system)

PIM Non-DR-Join: TRUE

LHR-NonDR#

LHR-NonDR# show vrrp brief

Interface         Grp A-F Pri Time Own Pre State   Master addr/Group addr

Et0/0               1 IPv4 100     0 N   Y MASTER 10.10.10.2(local) 10.10.10.5

LHR-NonDR# show vrrs server VRRP

Server Name: vrrpEthernet0/0v41

Address Family: IPv4

Interface: Ethernet0/0

State: ACTIVE

vMAC: 0000.5E00.0101

vIP Address: 10.10.10.5

Tags Connected:

예상대로 F 플래그가 설정되고 NonDR은 새로운 멀티캐스트 트리를 구축할 필요 없이 멀티캐스트 트래픽을 전달하기 시작합니다.

LHR-NonDR# show ip mrib route 239.1.1.1 | b \(

(*,239.1.1.1) RPF nbr: 192.168.2.2 Flags: C

Ethernet0/0 Flags: F NS

Ethernet0/1 Flags: A NS

(192.168.7.2,239.1.1.1) RPF nbr: 192.168.2.2 Flags:

Ethernet0/0 Flags: F NS

Ethernet0/1 Flags: A

문제 해결

이전 섹션의 트랜잭션에서 두 개의 패킷이 손실되었습니다. 소스 라우터에서 이를 확인할 수 있습니다.

Source#ping 239.1.1.1 rep 1000

Type escape sequence to abort.

Sending 1000, 100-byte ICMP Echos to 239.1.1.1, timeout is 2 seconds:

Reply to request 0 from 10.10.10.3, 2 ms

Reply to request 1 from 10.10.10.3, 2 ms

Reply to request 2 from 10.10.10.3, 1 ms..

Reply to request 5 from 10.10.10.3, 1 ms

HA(High Availability) 멀티캐스트 설계에서 실행되는 구축에는 NonDR에 대한 스탠바이 트리 형성이 필요하며 비 dr-join 기능의 이점을 누릴 수 있습니다. 이 기능은 멀티캐스트 트래픽을 가져오지만 DR로 선택될 때까지 전달하지 않습니다.

관련 정보

- VRRPv3 프로토콜 지원

- 기술 지원 및 문서 − Cisco Systems