본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서의 목적은 IOS-XE 플랫폼을 사용하는 MSR(Multicast Service Replication)의 기본 작업에 대한 이해를 Configuration Lab Guide의 형태로 제공하는 것입니다.
PIM-SM에 대한 기본 이해
ASR1000(R2&R4), ISR4300(R3), ISR2900(R1&R5)
아래 다이어그램에는 멀티캐스트 전송을 위한 엔드 투 엔드 컨피그레이션이 나와 있습니다.
위의 다이어그램에서 노드 R1은 멀티캐스트 소스에서 유니캐스트 멀티캐스트 데이터 피드만 가져오도록 되어 있는 수신기의 역할을 합니다.
노드 R5는 루프백 0 인터페이스에서 소싱된 멀티캐스트 ICMP 트래픽을 생성하는 멀티캐스트 소스 역할을 합니다.
노드 R2는 Content Providers 멀티캐스트 코어 도메인 아래에 있으며 OSPF의 언더레이를 사용하여 PIM-SM을 실행하고 있습니다.
노드 R3는 멀티캐스트 서비스 복제 애플리케이션을 실행하는 라우터의 역할을 하며, 이 경우 멀티캐스트 데이터 트래픽이 수신자를 향해 유니캐스트 데이터 패킷으로 변환되도록 하는 멀티캐스트 보더 라우터입니다. OSPF 및 EIGRP를 각각 Content Provider 및 ISP와 함께 사용하며 멀티캐스트 코어 도메인의 루프백 인터페이스에 RP(Rendezvouz Point)를 저장합니다.
노드 R4는 ISP Core에서 제어하며 멀티캐스트가 활성화되지 않으며 언더레이 EIGRP 라우팅을 사용하여 R3 노드에 연결하는 방법만 이해합니다.
아래에서는 위 토폴로지 다이어그램에 있는 노드에 있는 관련 컨피그레이션을 찾을 수 있습니다.
R1
!
no ip domain lookup
ip cef
no ipv6 cef
!
interface GigabitEthernet0/2
ip address 10.10.20.1 255.255.255.0
duplex auto
speed auto
end
!
router eigrp 100
network 10.10.20.0 0.0.0.255
!
R2:
!
interface GigabitEthernet0/0/0
ip address 10.10.20.2 255.255.255.0
negotiation auto
!
interface GigabitEthernet0/0/2
ip address 10.10.10.1 255.255.255.0
negotiation auto
!
router eigrp 100
network 10.10.10.0 0.0.0.255
network 10.10.20.0 0.0.0.255
!
R3:
!
ip multicast-routing distributed
!
interface Loopback0
ip address 192.168.2.1 255.255.255.255
ip pim sparse-mode
ip ospf 1 area 0
!
interface GigabitEthernet0/0/0
ip address 192.168.30.1 255.255.255.0
ip pim sparse-mode
ip ospf 1 area 0
negotiation auto
!
interface GigabitEthernet0/0/1
ip address 10.10.10.2 255.255.255.0
negotiation auto
!
interface Vif1
ip address 192.169.169.1 255.255.255.0
ip pim sparse-mode
ip service reflect GigabitEthernet0/0/0 destination 224.1.1.0 to 10.10.20.0 mask-len 24 source 192.169.169.169 <<<<
ip igmp static-group 224.1.1.1
ip ospf 1 area 0
!
router eigrp 100
network 10.10.10.0 0.0.0.255
!
router ospf 1
!
ip pim rp-address 192.168.2.1
!
R4:
!
ip multicast-routing distributed
!
interface GigabitEthernet0/0/0
ip address 192.168.30.2 255.255.255.0
ip pim sparse-mode
ip ospf 1 area 0
negotiation auto
!
interface GigabitEthernet0/0/2
ip address 192.168.20.1 255.255.255.0
ip pim sparse-mode
ip ospf 1 area 0
negotiation auto
!
router ospf 1
!
ip pim rp-address 192.168.2.1
!
R5:
!
ip multicast-routing
ip cef
no ipv6 cef
!
interface Loopback0
ip address 192.168.168.168 255.255.255.255
ip pim sparse-mode
ip ospf 1 area 0
!
interface GigabitEthernet0/2
ip address 192.168.20.2 255.255.255.0
ip pim sparse-mode
ip ospf 1 area 0
duplex auto
speed auto
!
router ospf 1
!
ip pim rp-address 192.168.2.1
!
R5 라우터의 루프백 0 인터페이스[192.168.168.168]의 소스로 멀티캐스트 트래픽을 시뮬레이션하기 위해 테스트 ping을 수행하여 멀티캐스트 주소 224.1.1.1로 이동하는 컨피그레이션을 검증할 수 있습니다. 그런 다음 MSR 애플리케이션을 실행 중인 노드(예: R3:
R5(config)#do ping 224.1.1.1 sou lo 0 rep 10000000
Type escape sequence to abort.
Sending 10000000, 100-byte ICMP Echos to 224.1.1.1, timeout is 2 seconds:
Packet sent with a source address of 192.168.168.168
.............................
R3#sh ip mroute 224.1.1.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,
x - VxLAN group, c - PFP-SA cache created entry
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 224.1.1.1), 00:47:41/stopped, RP 192.168.2.1, flags: SJC
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Vif1, Forward/Sparse, 00:46:36/00:01:23 <<<<
(192.168.168.168, 224.1.1.1), 00:00:20/00:02:43, flags: T
Incoming interface: GigabitEthernet0/0/0, RPF nbr 192.168.30.2
Outgoing interface list:
Vif1, Forward/Sparse, 00:00:20/00:02:39 <<<<
R3#sh ip mroute 224.1.1.1 count
Use "show ip mfib count" to get better response time for a large number of mroutes.
IP Multicast Statistics
3 routes using 2938 bytes of memory
2 groups, 0.50 average sources per group
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)
Group: 224.1.1.1, Source count: 1, Packets forwarded: 1455, Packets received: 1458 <<<<
RP-tree: Forwarding: 1/0/100/0, Other: 1/0/0
Source: 192.168.168.168/32, Forwarding: 1454/1/113/0, Other: 1457/3/0
R3#sh ip mroute 224.1.1.1 count
Use "show ip mfib count" to get better response time for a large number of mroutes.
IP Multicast Statistics
3 routes using 2938 bytes of memory
2 groups, 0.50 average sources per group
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)
Group: 224.1.1.1, Source count: 1, Packets forwarded: 1465, Packets received: 1468 <<<<
RP-tree: Forwarding: 1/0/100/0, Other: 1/0/0
Source: 192.168.168.168/32, Forwarding: 1464/1/113/0, Other: 1467/3/0
또한 IOS-XE 라우터에서 EPC(Embedded Packet Capture) 기능을 사용하여 패킷이 R2 노드의 의도한 유니캐스트 대상 주소로 변환되는지 확인하기 위해 캡처를 수행할 수 있습니다.
R2#mon cap TAC int gi 0/0/2 both match any
R2#mon cap TAC buff siz 50 circular
R2#mon cap TAC start
Started capture point : TAC
R2#
*Aug 12 06:50:40.195: %BUFCAP-6-ENABLE: Capture Point TAC enabled.
R2#sh mon cap TAC buff br | i ICMP
6 114 10.684022 192.169.169.169 -> 10.10.20.1 0 BE ICMP <<<<
7 114 10.684022 192.169.169.169 -> 10.10.20.1 0 BE ICMP <<<<
8 114 12.683015 192.169.169.169 -> 10.10.20.1 0 BE ICMP <<<<
9 114 12.683015 192.169.169.169 -> 10.10.20.1 0 BE ICMP <<<<
여기서 유의할 점은 "랩 환경"에서 멀티캐스트 ICMP ping을 정기적으로 수행할 때 일반적으로 수신기 측에서 소스를 향해 다시 ICMP 에코 응답 패킷을 수신할 것으로 예상한다는 것입니다. 단, 소스 및 수신기 간에 완전한 연결성이 있다고 가정합니다. 그러나 이 시나리오에서는 멀티캐스트 ICMP 패킷의 NATted 소스 주소(예: 192.169.169.169)를 수신자(예: R1에서 EIGRP까지)까지 광고하려고 해도 유니캐스트 ICMP 에코 응답이 R3 라우터를 통과하지 않는다는 점에 유의해야 합니다. 역방향 NAT는 MSR 애플리케이션 노드에 구성되지 않기 때문입니다. R3에서 Vif 1 인터페이스의 EIGRP 경로 광고를 EIGRP(ISP Core routing)로 수행하여 이를 테스트할 수 있습니다.
ISR4351(config)#router eigrp 100
ISR4351(config-router)#network 192.169.169.0 0.0.0.255 <<<<
이제 R3으로 전송되는 ICMP 에코 응답의 R2 노드에서 캡처한 내용을 확인할 수 있습니다.
R2#sh mon cap TAC buff br | i ICMP
249 114 317.847948 192.169.169.169 -> 10.10.20.1 0 BE ICMP
250 114 317.847948 192.169.169.169 -> 10.10.20.1 0 BE ICMP
251 114 317.847948 10.10.20.1 -> 192.169.169.169 0 BE ICMP <<<<
252 114 317.847948 10.10.20.1 -> 192.169.169.169 0 BE ICMP <<<<
253 114 319.847948 192.169.169.169 -> 10.10.20.1 0 BE ICMP
254 114 319.847948 192.169.169.169 -> 10.10.20.1 0 BE ICMP
255 114 319.848955 10.10.20.1 -> 192.169.169.169 0 BE ICMP <<<<
256 114 319.848955 10.10.20.1 -> 192.169.169.169 0 BE ICMP <<<<
259 114 321.848955 192.169.169.169 -> 10.10.20.1 0 BE ICMP
260 114 321.848955 192.169.169.169 -> 10.10.20.1 0 BE ICMP
261 114 321.848955 10.10.20.1 -> 192.169.169.169 0 BE ICMP <<<<
262 114 321.848955 10.10.20.1 -> 192.169.169.169 0 BE ICMP <<<<
그러나 Ping은 소스 R5에서 볼 수 있듯이 여전히 실패합니다.
R5(config)#do ping 224.1.1.1 sou lo 0 rep 10000000
Type escape sequence to abort.
Sending 10000000, 100-byte ICMP Echos to 224.1.1.1, timeout is 2 seconds:
Packet sent with a source address of 192.168.168.168
......................................................................
......................................................................
이제 응답이 소스까지 도달하도록 하려면 확장 가능한 NAT를 구성하여 목적지에 있는 트래픽을 192.169.169.169에서 192.168.168.168로 변환하도록 MSR 애플리케이션 노드 R3에서 NAT 포트 전달을 구성할 수 있습니다.
R3(config)#int gi 0/0/1
R3(config-if)#ip nat out
R3(config-if)#int gi 0/0/0
R3(config-if)#ip nat ins
R3(config-if)#exit
R3(config)#ip nat inside source static 192.168.168.168 192.169.169.169 extendable <<<<
이제 소스 R5 노드를 검사하면 응답이 다시 오는 것을 확인할 수 있습니다.
R5(config)#do ping 224.1.1.1 sou lo 0 rep 10000000
Type escape sequence to abort.
Sending 10000000, 100-byte ICMP Echos to 224.1.1.1, timeout is 2 seconds:
Packet sent with a source address of 192.168.168.168
......................................................................
Reply to request 716 from 10.10.20.1, 1 ms
Reply to request 716 from 10.10.20.1, 1 ms
Reply to request 717 from 10.10.20.1, 1 ms
Reply to request 717 from 10.10.20.1, 1 ms
Reply to request 718 from 10.10.20.1, 1 ms
Reply to request 718 from 10.10.20.1, 1 ms
위의 작업은 패킷 흐름을 설명하고 데이터 트래픽 및 다운스트림 멀티캐스트 트래픽에 대한 역방향 유니캐스트 경로/흐름을 설정하는 방법을 이해하기 위해 수행되었을 뿐입니다. 일반적인 프로덕션 시나리오에서는 서버/소스 측에서 실행되는 멀티캐스트 애플리케이션이 유니캐스트 형식의 수신자로부터 역방향 승인 패킷을 요구하는 경우/인스턴스를 건너오지 않습니다.
위의 테스트 및 검증을 통해 멀티캐스트 보더 노드 중 하나에서 멀티캐스트 서비스 복제 애플리케이션을 실행하는 방법 및 위에 표시된 것을 대규모 구축으로 확장하려는 경우 이를 구축하는 방법에 대한 간략한 개요를 제공했어야 합니다.