이 문서에서는 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처럼 처리하고 기능을 수행할 수 있습니다. 단, 다음 경우는 예외입니다.
이 문서에 설명된 컨피그레이션에서는 태그를 통해 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 기능이 동일한 인터페이스에서 활성화되었는지 여부에 따라 다른 동작이 관찰될 수 있습니다.
관심 애플리케이션 설정만 마지막/첫 번째 hop 시나리오이므로 PIM은 인터페이스당 하나의 VRRP 그룹만 추적할 수 있습니다. 하나의 인터페이스가 하나의 VRRP 그룹에 대해 마스터 상태에 있고 다른 VRRP 그룹에 대한 백업 상태에 있는 상황을 생성하는 여러 VRRP 그룹을 추적하기 위해 하나의 인터페이스를 구성할 수 없습니다.
VRRP 장애 조치 시 새로운 MR이 된 라우터가 새로운 DR로 선택됩니다.
VRRP는 IPv4/IPv6 주소로 표시되는 가상 라우터에 대한 책임을 LAN의 VRRP 라우터(RFC5798) 중 하나에 동적으로 할당하는 선택 프로토콜을 지정합니다. 가상 라우터와 연결된 주소를 제어하는 VRRP 라우터를 마스터라고 하며, 전송된 패킷을 MAC(Virtual Media Access Control) 주소로 전달합니다.
이 새 기능이 구현되면 VRRP를 사용하여 VRRP MR을 선택합니다. VRRP MR은 VRRP 그룹 VIP(Virtual IP)로 전달되는 모든 트래픽에 대해 라우팅 및 포워딩을 수행합니다. 이를 통해 세 가지 목표를 달성할 수 있습니다.
PIM은 VRRS 클라이언트 역할을 하며, VRRRP(VRRS 서버)에서 상태 변경 및 업데이트 알림을 수신하고 다음을 수행합니다.
마스터 라우터와 백업 라우터에서 모두 mroute 상태 및 트래픽을 사용할 수 있으므로 전환 시간은 대부분 이중화 인프라(VRRP 및 VRRS)와 설정 스케일(예: mroute 항목 수)에 의해 결정됩니다. 상태 변경 알림 시 PIM은 MRIB 및 MFIB(Multicast Forwarding Information Base)에 VRP MR을 통해 트래픽을 전달하도록 즉시 알립니다.
이 섹션에서는 이 문서에 설명된 컨피그레이션에 대한 몇 가지 중요한 정보를 제공합니다.
인터페이스에서 PIM 이중화를 활성화하고 VRRP 서버 그룹(VRRP 그룹)에 바인딩하기 위해 PIM CLI 명령이 도입되었습니다.
ip pim redundancy[vrrp ] dr-priority
ipv6 pim redundancy[vrrp ] dr-priority
인터페이스에 구성된 경우 PIM은 VRRS에 클라이언트로 등록되고 VRRS 데이터베이스에 의해 할당된 클라이언트 ID를 가져옵니다. 또한 VRRS는 <tag>로 식별되는 그룹의 모든 이벤트에 대해 PIM에 알림을 보내도록 요청합니다.
NonDR Join 기능을 활성화하려면 다음 명령 중 하나를 CLI에 입력합니다.
ip pim non-dr-join
ipv6 pim non-dr-join
대상 애플리케이션 시나리오는 First/Last hop 설정일 뿐이므로 LAN의 모든 LHR 인터페이스가 동일한 VRRP 그룹을 추적하는 것이 가장 일반적인 설정입니다. 따라서 VRRS에서 인터페이스당 여러 태그를 추적할 수 있는 경우에도 PIM은 인터페이스당 하나의 VRRP 그룹만 추적할 수 있습니다.
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 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#
컨피그레이션이 제대로 작동하는지 확인하려면 이 섹션에 설명된 정보를 사용하십시오.
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로 선택될 때까지 전달하지 않습니다.
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
26-Mar-2015 |
최초 릴리스 |