본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 HSRP(Hot Standby Router Protocol) 인식 PIM(Protocol Independent Multicast) 기능 및 이 기능을 사용할 수 있는 시나리오를 해결하는 방법에 대해 설명합니다.
이중화가 필요한 환경에서는 HSRP가 정상적으로 실행됩니다. HSRP는 검증된 프로토콜이며 작동하지만 멀티캐스트가 필요한 클라이언트가 있는 경우 어떻게 처리합니까? AR(Active Router)이 다운될 때 멀티캐스트가 통합되도록 트리거하는 요인은 무엇입니까? 이 경우 토폴로지 1이 사용됩니다.
토폴로지 1
여기서 주목할 점은 R2가 HSRP AR이지만 R3은 PIM DR(Designated Router)입니다. 네트워크가 OSPF(Open Shortest Path First)로 설정되었으며, PIM 및 R1은 10.1.1.1 IP 주소가 있는 RP(Rendezvous Point)입니다. R2와 R3 모두 IGMP(Internet Group Management Protocol) 보고서를 수신하지만 PIM DR이므로 R3만 PIM Join을 전송합니다. R3는 RP를 위해 '*,G'를 구축합니다.
R3#sh ip mroute 239.0.0.1
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector, p - PIM Joins on route
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.0.0.1), 02:54:15/00:02:20, RP 10.1.1.1, flags: SJC
Incoming interface: Ethernet0/0, RPF nbr 172.16.1.1
Outgoing interface list:
Ethernet0/2, Forward/Sparse, 00:25:59/00:02:20
그런 다음 멀티캐스트 소스에서 239.0.0.1을 ping하여 S,G를 구축합니다.
Sender#ping 239.0.0.1 re 3
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 239.0.0.1, timeout is 2 seconds:
Reply to request 0 from 10.0.0.10, 35 ms
Reply to request 1 from 10.0.0.10, 1 ms
Reply to request 2 from 10.0.0.10, 2 ms
S,G는 다음과 같이 구축되었습니다.
R3#sh ip mroute 239.0.0.1
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector, p - PIM Joins on route
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.0.0.1), 02:57:14/stopped, RP 10.1.1.1, flags: SJC
Incoming interface: Ethernet0/0, RPF nbr 172.16.1.1
Outgoing interface list:
Ethernet0/2, Forward/Sparse, 00:28:58/00:02:50
(192.168.1.10, 239.0.0.1), 00:02:03/00:00:56, flags: JT
Incoming interface: Ethernet0/0, RPF nbr 172.16.1.1
Outgoing interface list:
Ethernet0/2, Forward/Sparse, 00:02:03/00:02:50
유니캐스트 및 멀티캐스트 토폴로지가 현재 일치하지 않습니다. 이는 중요하거나 중요하지 않을 수 있습니다. R3에 장애가 발생하면 어떻게 됩니까?
R3(config)#int e0/2
R3(config-if)#sh
R3(config-if)#
R2의 PIM이 R3이 없어졌음을 감지하고 DR 역할을 인계할 때까지 ping에 대한 응답이 수신되지 않습니다. 이 작업은 기본 타이머가 사용 중인 상태에서 60~90초 정도 걸립니다.
Sender#ping 239.0.0.1 re 100 ti 1
Type escape sequence to abort.
Sending 100, 100-byte ICMP Echos to 239.0.0.1, timeout is 1 seconds:
Reply to request 0 from 10.0.0.10, 18 ms
Reply to request 1 from 10.0.0.10, 2 ms....................................................................
.......
Reply to request 77 from 10.0.0.10, 10 ms
Reply to request 78 from 10.0.0.10, 1 ms
Reply to request 79 from 10.0.0.10, 1 ms
Reply to request 80 from 10.0.0.10, 1 ms
R2의 DR 우선 순위를 높여 DR이 될 수 있습니다.
R2(config-if)#ip pim dr-priority 50
*May 30 12:42:45.900: %PIM-5-DRCHG: DR change from neighbor 10.0.0.3 to 10.0.0.2 on interface Ethernet0/2
HSRP 인식 PIM은 HSRP를 PIM DR로 만드는 기능입니다. 또한 가상 IP에서 PIM 메시지를 전송합니다. 이는 라우터가 가상 IP(VIP)로 향하는 고정 경로가 있는 경우에 유용합니다. Cisco는 다음과 같이 이 기능을 설명합니다.
HSRP Aware PIM은 HSRP AR을 통해 멀티캐스트 트래픽을 전달할 수 있게 하며, PIM이 HSRP 이중화를 활용하고, 잠재적인 중복 트래픽을 방지하며, 디바이스의 HSRP 상태에 따라 페일오버를 활성화합니다. PIM-DR은 HSRP AR과 동일한 게이트웨이에서 실행되며 mroute 상태를 유지합니다.
토폴로지 1에서 HSRP는 클라이언트에 대해 실행되므로 이 기능이 완벽하게 적합한 것처럼 들리더라도 멀티캐스트 컨버전스에 도움이 되지 않습니다. R2에서 이 기능을 구성합니다.
R2(config-if)#ip pim redundancy HSRP1 hsrp dr-priority 100
R2(config-if)#
*May 30 12:48:20.024: %PIM-5-DRCHG: DR change from neighbor 10.0.0.3 to 10.0.0.2 on interface Ethernet0/2
이제 R2가 PIM DR이 되었으며 R3은 인터페이스 E0/2에서 두 개의 PIM 인접 디바이스를 보게 되었습니다.
R3#sh ip pim nei e0/2
PIM Neighbor Table
Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,
P - Proxy Capable, S - State Refresh Capable, G - GenID Capable
Neighbor Interface Uptime/Expires Ver DR
Address Prio/Mode
10.0.0.1 Ethernet0/2 00:00:51/00:01:23 v2 0 / S P G
10.0.0.2 Ethernet0/2 00:07:24/00:01:23 v2 100/ DR S P G
이제 R2에 S,G가 있으며, 이전에는 R3가 LAN 세그먼트에 대한 멀티캐스트 전달자였기 때문에 Assert를 수상한 것으로 확인할 수 있습니다.
R2#sh ip mroute 239.0.0.1
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector, p - PIM Joins on route
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.0.0.1), 00:20:31/stopped, RP 10.1.1.1, flags: SJC
Incoming interface: Ethernet0/0, RPF nbr 192.0.2.1
Outgoing interface list:
Ethernet0/2, Forward/Sparse, 00:16:21/00:02:35
(192.168.1.10, 239.0.0.1), 00:00:19/00:02:40, flags: JT
Incoming interface: Ethernet0/0, RPF nbr 192.0.2.1
Outgoing interface list:
Ethernet0/2, Forward/Sparse, 00:00:19/00:02:40, A
R2s LAN 인터페이스가 다운되면 어떻게 됩니까? R3가 DR이 될 수 있습니까? 얼마나 빠르게 통합할 수 있을까요?
R2(config)#int e0/2
R2(config-if)#sh
HSRP가 R3에서 활성으로 변경되지만 PIM DR 역할은 PIM 쿼리 간격이 만료될 때까지 수렴되지 않습니다(3x hello).
*May 30 12:51:44.204: HSRP: Et0/2 Grp 1 Redundancy "hsrp-Et0/2-1" state Standby -> Active
R3#sh ip pim nei e0/2
PIM Neighbor Table
Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,
P - Proxy Capable, S - State Refresh Capable, G - GenID Capable
Neighbor Interface Uptime/Expires Ver DR
Address Prio/Mode
10.0.0.1 Ethernet0/2 00:04:05/00:00:36 v2 0 / S P G
10.0.0.2 Ethernet0/2 00:10:39/00:00:36 v2 100/ DR S P G
R3#
*May 30 12:53:02.013: %PIM-5-NBRCHG: neighbor 10.0.0.2 DOWN on interface Ethernet0/2 DR
*May 30 12:53:02.013: %PIM-5-DRCHG: DR change from neighbor 10.0.0.2 to 10.0.0.3 on interface Ethernet0/2
*May 30 12:53:02.013: %PIM-5-NBRCHG: neighbor 10.0.0.1 DOWN on interface Ethernet0/2 non DR
PIM 컨버전스가 발생하는 동안 많은 패킷이 손실됩니다.
Sender#ping 239.0.0.1 re 100 time 1
Type escape sequence to abort.
Sending 100, 100-byte ICMP Echos to 239.0.0.1, timeout is 1 seconds:
Reply to request 0 from 10.0.0.10, 5 ms
Reply to request 0 from 10.0.0.10, 14 ms...................................................................
Reply to request 68 from 10.0.0.10, 10 ms
Reply to request 69 from 10.0.0.10, 2 ms
Reply to request 70 from 10.0.0.10, 1 ms
HSRP는 PIM이 여기서 실제로 도움이 되지 않았음을 알고 있습니다. 대신 Topology 2를 사용할 경우 유용합니다.
토폴로지 2
라우터 R5가 추가되었고 수신기가 R5 뒤에 있습니다. R5는 R2 및 R3과 함께 라우팅을 실행하지 않으며 RP 및 멀티캐스트 소스의 고정 경로 포인트만 사용합니다.
R5(config)#ip route 10.1.1.1 255.255.255.255 10.0.0.1
R5(config)#ip route 192.168.1.0 255.255.255.0 10.0.0.1
HSRP 인식 PIM이 없으면 RPF(Reverse Path Forwarding) 확인이 실패합니다. PIM 피어가 물리적 주소를 가지지만 R5는 세그먼트에서 3개의 인접 디바이스를 인식하는데, 여기서 하나는 VIP입니다.
R5#sh ip pim nei
PIM Neighbor Table
Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,
P - Proxy Capable, S - State Refresh Capable, G - GenID Capable
Neighbor Interface Uptime/Expires Ver DR
Address Prio/Mode
10.0.0.2 Ethernet0/0 00:03:00/00:01:41 v2 100/ DR S P G
10.0.0.1 Ethernet0/0 00:03:00/00:01:41 v2 0 / S P G
10.0.0.3 Ethernet0/0 00:03:00/00:01:41 v2 1 / S P G
R2는 활성 라우터의 HSRP 상태를 통한 PIM DR이므로 정상적인 상황에서 멀티캐스트를 전달하는 것입니다.
R2#sh ip mroute 239.0.0.1
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector, p - PIM Joins on route
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.0.0.1), 00:02:12/00:02:39, RP 10.1.1.1, flags: S
Incoming interface: Ethernet0/0, RPF nbr 192.0.2.1
Outgoing interface list:
Ethernet0/2, Forward/Sparse, 00:02:12/00:02:39
소스에서 ping을 시도합니다.
Sender#ping 239.0.0.1 re 3
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 239.0.0.1, timeout is 2 seconds:
Reply to request 0 from 198.51.100.10, 1 ms
Reply to request 1 from 198.51.100.10, 2 ms
Reply to request 2 from 198.51.100.10, 2 ms
Ping이 작동하고 R2에는 S,G가 있습니다.
R2#sh ip mroute 239.0.0.1
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector, p - PIM Joins on route
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.0.0.1), 00:04:18/00:03:29, RP 10.1.1.1, flags: S
Incoming interface: Ethernet0/0, RPF nbr 192.0.2.1
Outgoing interface list:
Ethernet0/2, Forward/Sparse, 00:04:18/00:03:29
(192.168.1.10, 239.0.0.1), 00:01:35/00:01:24, flags: T
Incoming interface: Ethernet0/0, RPF nbr 192.0.2.1
Outgoing interface list:
Ethernet0/2, Forward/Sparse, 00:01:35/00:03:29
R2에 장애가 발생하면 어떻게 됩니까?
R2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R2(config)#int e0/2
R2(config-if)#sh
R2(config-if)#
Sender#ping 239.0.0.1 re 200 ti 1
Type escape sequence to abort.
Sending 200, 100-byte ICMP Echos to 239.0.0.1, timeout is 1 seconds:
Reply to request 0 from 198.51.100.10, 9 ms
Reply to request 1 from 198.51.100.10, 2 ms
Reply to request 1 from 198.51.100.10, 11 ms....................................................................
......................................................................
............................................................
R5에서 PIM Join이 들어올 때 R3는 Join을 처리해야 한다는 사실을 인식하지 못하므로 ping 시간이 초과되었습니다.
*May 30 13:20:13.236: PIM(0): Received v2 Join/Prune on Ethernet0/2 from 10.0.0.5, not to us
*May 30 13:20:32.183: PIM(0): Generation ID changed from neighbor 10.0.0.2
PIM 리던던시 명령도 보조 라우터에 구성해야 VIP에 대한 PIM 조인을 처리할 수 있습니다.
R3(config-if)#ip pim redundancy HSRP1 hsrp dr-priority 10
이 구성이 완료되면 수신 조인이 처리됩니다. GenID가 PIM hello에 새 값으로 설정되어 있으므로 R3은 R5에서 새 조인을 보내도록 트리거합니다.
*May 30 13:59:19.333: PIM(0): Matched redundancy group VIP 10.0.0.1 on Ethernet0/2 Active, processing the Join/Prune, to us
*May 30 13:40:34.043: PIM(0): Generation ID changed from neighbor 10.0.0.1
이 컨피그레이션 후에는 PIM DR 역할이 HSRP에서 허용하는 만큼 빠르게 변환됩니다. 이 시나리오에서는 BFD(Bidirectional Forwarding Detection)가 사용됩니다.
HSRP 인식 PIM을 이해하는 핵심 개념은 다음과 같습니다.
HSRP LAN에 수신자가 있는 경우 DR 역할은 PIM 인접성이 만료될 때까지 이동되지 않으므로 이 기능은 작동하지 않습니다.
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
02-Jun-2022 |
최초 릴리스 |