이 문서에서는 멀티캐스트 네트워크 문제 해결을 위한 도구 및 기술에 대해 설명합니다.
이 문서에서는 IP 멀티캐스트, IGMP(Internet Group Management Protocol), PIM(Protocol Independent Multicast) 및 RPF(Reverse Path Forwarding)에 대해 잘 알고 있어야 합니다.
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
참고: 이 문서의 명령 가용성, 구문 및 출력은 Cisco 플랫폼 및 소프트웨어 릴리스에 따라 달라집니다. 이 예에서는 Cisco IOS® 및 Cisco IOS XE® 명령 출력을 사용합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.
멀티캐스트 네트워크의 문제를 해결할 때는 네트워크 및 패킷 흐름에 사용되는 시그널링 프로토콜을 고려하십시오. 시그널링 프로토콜은 멀티캐스트 세션(예: PIM dense mode, PIM sparse mode, DVMRP)을 설정하고 해제하는 데 사용됩니다. 패킷 흐름은 신호 처리 프로세스에 의해 생성된 전달 테이블을 기반으로 소스와 수신기 간에 멀티캐스트 패킷을 전송, 복제 및 수신합니다.
이 테이블에서는 소스, 네트워크 및 수신기에 대한 시그널링 및 패킷 흐름 검사를 구성합니다.
| 소스 |
network |
수신자 |
|
| 신호 |
해당 없음 |
||
| 패킷 플로우 |
다음 하위 섹션에서는 일반적인 문제를 확인하고 해결하는 데 사용할 수 있는 문제 해결 툴에 대해 자세히 설명합니다.
소스가 패킷을 전송했는지, 올바른 패킷 필드가 삽입되었는지 확인하려면 다음 단계를 완료하십시오.
1. 호스트의 인터페이스 카운터를 확인합니다. 먼저, 소스 호스트에서 인터페이스 카운터(UNIX 시스템의 경우 netstat 명령 실행)를 검사하여 패킷을 전송하는지 확인합니다. 그렇지 않은 경우, 호스트 스택 및 애플리케이션에서 컨피그레이션의 오류 또는 버그가 있는지 확인합니다.
2. show ip igmp groups <interface-name> 명령을 실행하여 라우터가 해당 인터페이스에서 IGMP 멤버십 보고서를 받았는지 확인합니다.
3. 멀티캐스트 애플리케이션의 패킷에 대한 TTL 값을 확인합니다. 하나의 라우티드 홉을 교차하려면 적어도 2개가 되어야 합니다. 애플리케이션이 TTL 값이 1인 패킷을 전송할 경우, TTL이 만료되면 첫 번째 업스트림 라우터가 패킷을 삭제합니다. 확인하려면 show ip traffic 명령을 실행하고 "bad hop count" 카운터의 값이 증가했는지 확인합니다. TTL 값이 1이거나 ip multicast ttl-threshold 명령을 사용하여 인터페이스에서 설정한 TTL 임계값보다 작은 패킷은 삭제되고 "bad hop-count" 카운터가 1씩 증가합니다. show ip igmp interface <interface-name> 명령을 실행하여 인터페이스 TTL 임계값을 확인합니다.
4. show ip mroute count 및 show ip mroute active 명령을 실행하여 첫 번째 업스트림 라우터 또는 스위치에서 소스의 멀티캐스트 패킷이 표시되는지 확인합니다. 명령 출력은 각 (S,G) 쌍에 대한 트래픽 흐름 통계를 보여줍니다. 트래픽을 관찰하지 않을 경우 소스 애플리케이션, 호스트 스택, 패킷 캡처 및 첫 번째 홉 라우터 인터페이스를 계속 확인합니다.
5. 멀티캐스트 그룹 또는 지원되는 ACL(access-list) 필터 및 detail 키워드를 사용하여 가장 가까운 업스트림 라우터에서 debug ip mpacket 명령을 실행하여 추가 패킷 정보 및 세분화를 확인합니다.
참고: 네트워크에 과중한 멀티캐스트 트래픽이 있는 경우 이 명령을 신중하게 실행합니다. 필요한 경우에만 라우터에서 debug ip mpacket 명령을 실행합니다. detail 인수를 실행하여 디버그 출력의 패킷 헤더를 표시하고 액세스 목록을 실행하여 특정 소스의 트래픽을 확인합니다. 이 명령은 다른 트래픽에 심각한 성능 영향을 미칠 수 있습니다.
이는 모든 네트워크에서 가장 복잡하고 중요한 문제 해결 부분입니다. PIM 스파스 모드, PIM 덴스 모드, DVMRP 등 사용되는 네트워크 시그널링 프로토콜에 따라 달라집니다. 이 섹션에 설명된 다단계 접근 방식을 권장합니다.
PIM sparse mode(PIM 스파스 모드) 문제를 해결하려면 다음 단계를 완료합니다.
1. 모든 멀티캐스트 라우터에서 IP 멀티캐스트 라우팅이 활성화되어 있는지 확인합니다.
2. show ip pim neighbor 명령을 실행하여 만료 타이머 및 모드를 확인하여 PIM 네이버가 올바르게 설정되었는지 확인하고, PIM 네이버 설정을 방해할 수 있는 연결 및 타이머 문제가 있는지 확인합니다. 필요한 경우 interface 명령 ip pim 버전 {1을(를) 실행합니다. | 2} 및 ip pim {dense-mode | 스파스 모드 | sparse-dense-mode} - 필요한 PIM 버전 및 모드를 구성합니다.
3. show ip pim rp mapping 명령을 실행하여 올바른 RP-Group 매핑을 확인하고 auto-RP가 구성된 경우 만료 타이머를 확인합니다. debug ip pim auto-rp 명령을 실행하여 Auto-RP 실패를 식별합니다. PIM Group-to-RP 매핑이 표시되지 않으면 auto-RP 컨피그레이션을 확인하거나 ip pim rp-address <rp-address> [<access-list>] [override] 명령을 사용하여 고정 group-to-RP 매핑을 구성합니다. ip pim send-rp-announce <interface> scope <ttl> group-list <access-list>를 사용하여 후보 RP를 구성하고 ip pim send-rp-discovery <interface> scope <ttl>을 사용하여 매핑 에이전트를 구성합니다. 다음 명령은 Auto-RP에만 적용됩니다. 후보 RP에서 send-rp-announce를 구성하고 매핑 에이전트에서 send-rp-discovery를 구성합니다.
4. show ip rpf <issource-address> 명령을 실행하여 소스 주소에 대한 RPF 인터페이스, 네이버 및 경로를 확인합니다. PIM은 비 RPF 인터페이스에 도착하는 멀티캐스트 패킷을 삭제합니다. 추가 Assert 또는 Prune 처리는 PIM 모드 및 인터페이스 유형에 따라 달라집니다. debug ip pim 명령은 PIM 네트워크에서 가능한 실패 원인을 식별하는 데 도움이 됩니다. 관찰된 출력을 이 문서의 일반적인 출력과 비교합니다. PIM sparse mode에서 3개의 개별 단계를 식별하려면 다음 출력을 실행합니다. 가입, 등록, SPT 전환. show ip mroute 명령을 사용하면 Outgoing Interface 목록의 null 항목과 mroute 테이블의 정리된 항목을 볼 수 있습니다.
네트워크 전체에서 멀티캐스트 패킷의 흐름을 확인하려면 다음 명령을 사용합니다.
mtrace 명령을 실행하여 멀티캐스트 추적 hop-by-hop 확인
수신기 신호 처리를 확인하려면 다음 단계를 완료하십시오.
1. 수신기에 연결된 첫 번째 업스트림 라우터에서 show ip igmp groups 명령을 실행하여 라우터에서 학습한 그룹 멤버십을 수신기 연결 인터페이스에서 확인합니다.
2. ping 명령을 실행하여 호스트 및 첫 번째 업스트림 라우터의 연결성을 확인합니다.
3. show ip igmp interface 명령을 실행하여 인터페이스의 IGMP 버전을 확인합니다.
4. debug ip igmp 명령을 실행하여 수신기 신호 문제를 추가로 해결합니다.
수신기 패킷 흐름을 확인하려면 다음 단계를 완료하십시오.
1. UNIX 시스템에서 netstat 명령을 실행하여 수신기 인터페이스 통계를 확인합니다.
2. TCP/IP 스택이 제대로 설치되고 구성되었는지 확인합니다.
3. 멀티캐스트 수신기 클라이언트 애플리케이션이 설치되고 올바르게 구성되었는지 확인합니다.
4. 다중 액세스 세그먼트에서 중복 멀티캐스트 패킷을 식별하려면 수신기 측 인터페이스에서 패킷 캡처를 사용합니다.
이 섹션의 명령은 문제 해결, 특히 네트워크 패킷 흐름을 테스트하고 멀티캐스트 네트워크에서 장애 지점을 찾을 때 유용할 수 있습니다.
이 명령은 멀티캐스트 경로를 ASCII 그래픽 형식으로 표시합니다. 네트워크의 두 지점 간 경로를 추적하고, 네트워크의 각 노드에서 삭제 및 중복, TTL, 지연을 표시합니다.
이 기능은 네트워크에서 혼잡 지점을 찾거나 드롭/중복 카운트가 높은 라우터에 초점을 맞추어야 할 때 유용합니다. 음수로 계산된 삭제 값은 다운스트림 인터페이스가 업스트림 인터페이스보다 더 많은 패킷을 보고함을 나타내며, 이는 중복 패킷 또는 카운터 샘플링 차이를 나타낼 수 있습니다.
Router#mstat lwei-home-ss2 172.16.58.88 224.0.255.255 Type escape sequence to abort Mtrace from 172.16.143.27 to 172.16.58.88 via group 224.0.255.255 >From source (lwei-home-ss2.cisco.com) to destination (lwei-ss20.cisco.com) Waiting to accumulate statistics...... Results after 10 seconds: Source Response Dest Packet Statistics For Only For Traffic 172.16.143.27 172.16.62.144 All Multicast Traffic From 172.16.143.27
| __/ rtt 48 ms Lost/Sent = Pct Rate To 224.0.255.255 v / hop 48 ms --------------------- -------------------- 172.16.143.25 lwei-cisco-isdn.cisco.com | ^ ttl 1 v | hop 31 ms 0/12 = 0% 1 pps 0/1 = --% 0 pps 172.16.121.84 172.16.121.45 eng-frmt12-pri.cisco.com | ^ ttl 2 v | hop -17 ms -735/12 = --% 1 pps 0/1 = --% 0 pps 172.16.121.4 172.16.5.27 eng-cc-4.cisco.com | ^ ttl 3 v | hop -21 ms -678/23 = --% 2 pps 0/1 = --% 0 pps 172.16.5.21 172.16.62.130 eng-ios-2.cisco.com | ^ ttl 4 v | hop 5 ms 605/639 = 95% 63 pps 1/1 = --% 0 pps 172.16.62.144 172.16.58.65 eng-ios-f-5.cisco.com | \__ ttl 5 v \ hop 0 ms 4 0 pps 0 0 pps 172.16.58.88 172.16.62.144 Receiver Query Source
이 명령은 멀티캐스트 네이버 라우터 정보, 라우터 기능 및 코드 버전, 멀티캐스트 인터페이스 정보, TTL 임계값, 메트릭, 프로토콜 및 상태를 표시합니다. 이는 멀티캐스트 네이버를 확인하고, 양방향 네이버 인접성이 존재하는지 확인하고, 터널이 양방향으로 가동 중인지 확인해야 할 때 유용합니다.
Router#mrinfo 192.168.7.37 (b.cisco.com) [version cisco 11.1] [flags: PMSA]: 192.168.7.37 -> 192.168.7.34 (s.cisco.com) [1/0/pim] 192.168.7.37 -> 192.168.7.47 (d.cisco.com) [1/0/pim] 192.168.7.37 -> 192.168.7.44 (d2.cisco.com) [1/0/pim] 192.168.9.26 -> 192.168.9.29 (su.bbnplanet.net) [1/32/pim]
출력의 플래그는 다음을 나타냅니다.
P = 정리 가능
M = Mtrace 지원
S = SNMP 지원
A = Auto-RP 지원
이 명령은 소스에서 수신기까지의 멀티캐스트 경로를 표시하고 네트워크의 포인트 간 경로를 추적하며 각 노드의 TTL 임계값과 지연을 표시합니다.
트러블슈팅 시 mtrace 명령을 실행하여 멀티캐스트 트래픽 흐름이 중지되는 위치를 찾고, 멀티캐스트 트래픽의 경로를 확인하고, 최적화되지 않은 경로를 식별합니다.
Router#mtrace 192.168.215.41 192.168.215.67 239.254.254.254 Type escape sequence to abort. Mtrace from 192.168.215.41 to 192.168.215.67 via group 239.254.254.254 From source (?) to destination (?) Querying full reverse path... 0 192.168.215.67 -1 192.168.215.67 PIM thresh^ 0 0 ms -2 192.168.215.74 PIM thresh^ 0 2 ms -3 192.168.215.57 PIM thresh^ 0 894 ms -4 192.168.215.41 PIM thresh^ 0 893 ms -5 192.168.215.12 PIM thresh^ 0 894 ms -6 192.168.215.98 PIM thresh^ 0 893 ms
문제를 해결할 때 ping 명령은 멀티캐스트 ICMP 에코 요청을 처리하는 연결 가능한 그룹 멤버가 응답할 수 있으므로 실험실에서 멀티캐스트 트래픽을 생성하여 멀티캐스트 트리를 테스트하는 간단한 방법입니다.
R3#ping 239.255.0.1 Type escape sequence to abort. Sending 1, 100-byte ICMP Echos to 239.255.0.1, timeout is 2 seconds: Reply to request 0 from 172.16.12.2, 16 ms Reply to request 0 from 172.16.7.2, 20 ms
이 섹션의 명령은 멀티캐스트 문제를 해결할 때 유용한 정보를 수집하는 데 도움이 됩니다. 자세한 내용은 IP Multicast Configuration Guide, Cisco IOS XE 17.x를 참조하십시오.
팁: show 명령 응답이 느리면 라우터가 명령 출력의 주소에 대해 IP 도메인 조회를 수행할 수 있습니다. 글로벌 컨피그레이션 모드에서 no ip domain lookup 명령을 실행하여 IP 도메인 조회를 비활성화할 수 있습니다. 이렇게 하면 IP 도메인 조회가 중지되고 show 명령 출력 속도가 증가합니다.
이 명령은 어떤 멀티캐스트 그룹이 라우터에 직접 연결되어 있고 IGMP(Internet Group Management Protocol)를 통해 학습되는지 보여줍니다. 이 명령을 사용하여 수신자 또는 로컬로 조인된 라우터 인터페이스가 라우터 인터페이스의 대상 그룹에 조인되었는지 확인할 수 있습니다. Last Reporter 열에는 IGMP 호스트가 하나만 표시됩니다. 이는 해당 특정 그룹에 대한 PIM 라우터의 IGMP 쿼리에 대한 응답으로 원치 않는 IGMP 조인 또는 IGMP 보고서를 보냈음을 나타냅니다. 각 그룹 및 인터페이스 항목에 대해 하나의 Last Reporter를 볼 수 있습니다.
R1#show ip igmp groups IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter 239.255.0.1 Ethernet1 00:10:54 00:01:10 192.168.9.1 224.0.1.40 Ethernet0 01:36:27 00:02:45 192.168.10.2 224.0.1.40 Ethernet1 01:48:15 never 192.168.9.3
인터페이스에서 멀티캐스트 관련 정보를 표시하고 IGMP가 활성화되어 있는지 확인하려면 이 명령을 실행합니다. 그러면 타이머, TTL(Time To Live) 임계값 및 IGMP 쿼리어 라우터가 올바르게 설정됩니다. IGMP는 인터페이스에서 구성할 필요가 없습니다. ip pim {dense-mode|sparse-mode|sparse-dense-mode}을(를) 구성하면 기본적으로 활성화됩니다.
R1#show ip igmp interface
Ethernet1 is up, line protocol is up
Internet address is 192.168.9.3/24
IGMP is enabled on interface
Current IGMP version is 2
CGMP is disabled on interface
IGMP query interval is 60 seconds
IGMP querier timeout is 120 seconds
IGMP max query response time is 10 seconds
Last member query response interval is 1000 ms
Inbound IGMP access group is not set
IGMP activity: 22 joins, 18 leaves
Multicast routing is enabled on interface
Multicast TTL threshold is 0
Multicast designated router (DR) is 192.168.9.5
IGMP querying router is 192.168.9.3 (this system)
Multicast groups joined (number of users):
224.0.1.40(1)
Cisco IOS Software에서 발견한 PIM(Protocol Independent Multicast) 인접 디바이스를 나열하려면 이 명령을 실행합니다.
R1#show ip pim neighbor PIM Neighbor Table Neighbor Interface Uptime/Expires Ver DR Address Prio/Mode 10.10.10.1 Ethernet0/0 02:19:41/00:01:38 v2 1 / DR B S
각 필드에 대한 자세한 내용은 다음과 같습니다.
Neighbor Address: PIM 네이버 IP 주소를 지정합니다.
인터페이스: PIM 인접 디바이스가 발견된 인터페이스.
Uptime: 네이버의 총 가동 시간입니다.
Expires: 인접 디바이스가 시간 초과되고 다음 PIM hello를 수신할 때까지의 시간입니다.
버전: 네이버 인터페이스의 PIM 버전.
DR Prio: 가능한 값은 0~4294967294 또는 N입니다.
DR 선택을 위한 PIM 인터페이스의 우선순위를 추적하는 새 열입니다. Cisco IOS® Software Releases 12.1(2)T and 12.2 및 Cisco IOS® images with Bidir-PIM에서는 우선순위가 가장 높은 것과 IP 주소가 가장 높은 것을 기준으로 DR을 구성하는 기능이 도입되었습니다. ip pim dr-priority <0-4294967294> interface 명령을 실행하여 DR 우선순위를 설정할 수 있습니다. 기본 DR 우선순위는 1로 설정됩니다.
상호운용성을 위해 PIM 인접 디바이스가 DR 우선순위 기능을 지원하지 않는 이전 Cisco IOS® 버전을 실행하는 경우 "DR Prior" 열은 N으로 표시됩니다. 다중 액세스 네트워크의 라우터가 DR Priority 옵션을 알리지 않는 경우 DR 선택은 해당 네트워크의 모든 PIM 라우터 중 가장 높은 기본 IP 주소를 사용합니다.
모드: DR 및 기타 PIM 기능에 대한 정보.
이 열에는 PIM 네이버에서 지원하는 기능 외에 DR이 나열됩니다.
DR - PIM 인접 디바이스가 전용 라우터입니다.
B - Bidirectional PIM(Bidir-PIM) 지원
S - 상태 새로 고침 가능(Dense 모드에만 적용됨)
트러블슈팅을 수행할 때 이 명령을 사용하여 모든 네이버가 작동하고 올바른 모드, 버전 및 만료 타이머를 사용하는지 확인합니다. 라우터 컨피그레이션을 확인하거나 show ip pim interface 명령을 사용하여 모드(PIM sparse 또는 dense mode)를 확인할 수도 있습니다. debug ip pim 명령을 사용하여 pim-query 메시지 교환을 확인합니다.
PIM에 대해 구성된 인터페이스에 대한 정보를 표시하려면 이 명령을 실행합니다. 또한 이 명령을 실행하여 인터페이스에 올바른 PIM 모드(덴스 또는 스파스)가 구성되어 있고, 네이버 카운트가 올바르며, DR(Designated Router)이 올바름을 확인할 수 있습니다(PIM 스파스 모드에 필수적임). 다중 액세스 세그먼트(예: 이더넷, 토큰 링, FDDI)는 가장 높은 알려진 DR 우선 순위를 기반으로 DR을 선택하며 가장 높은 기본 IP 주소가 타이 브레이커로 사용됩니다. 라우터가 DR 우선순위를 광고하지 않을 경우, 선택은 가장 높은 기본 IP 주소를 사용합니다. 포인트-투-포인트 링크는 DR 정보를 표시하지 않습니다.
R1#show ip pim interface
Address Interface Version/Mode Nbr Query DR
Count Intvl
192.168.10.1 Ethernet0 v2/Sparse-Dense 1 30 192.168.10.2
192.168.9.3 Ethernet1 v2/Sparse-Dense 1 30 192.168.9.5
IP 멀티캐스트 라우팅 테이블의 요약된 내용을 표시하려면 이 명령을 실행합니다. 또한 활성 멀티캐스트 그룹 및 타이머와 플래그를 볼 때 어떤 멀티캐스트 발신자가 활성 상태인지 확인하는 데 사용할 수 있습니다.
R1#show ip mroute summary
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, C - Connected, L - Local, P - Pruned
R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT
M - MSDP created entry, X - Proxy Join Timer Running
A - Advertised via MSDP
Outgoing interface flags: H - Hardware switched
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.255.0.1), 01:57:07/00:02:59, RP 192.168.7.2, flags: SJCF
(192.168.33.32, 239.255.0.1), 01:56:23/00:02:59, flags: CJT
(192.168.9.1, 239.255.0.1), 01:57:07/00:03:27, flags: CFT
(*, 224.0.1.40), 1d00h/00:00:00, RP 192.168.7.2, flags: SJPCL
IP 멀티캐스트 라우팅 테이블의 전체 내용을 표시하려면 이 명령을 실행합니다. 문제를 해결할 때 다음 명령을 실행하여 다음을 확인합니다.
플래그의 (S,G) 및 (*,G) 상태 항목입니다.
수신 인터페이스가 정확합니다. 그렇지 않은 경우 유니캐스트 라우팅 테이블을 확인합니다.
발신 인터페이스가 정확합니다. 잘못 정리된 경우 다운스트림 라우터의 상태를 확인하십시오.
R1#show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, C - Connected, L - Local, P - Pruned
R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT
M - MSDP created entry, X - Proxy Join Timer Running
A - Advertised via MSDP
Outgoing interface flags: H - Hardware switched
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.255.0.1), 01:55:27/00:02:59, RP 192.168.7.2, flags: SJCF
Incoming interface: Ethernet0, RPF nbr 192.168.10.2
Outgoing interface list:
Ethernet1, Forward/Sparse, 01:55:27/00:02:52
(192.168.33.32 , 239.255.0.1), 01:54:43/00:02:59, flags: CJT
Incoming interface: Ethernet0, RPF nbr 192.168.10.2
Outgoing interface list:
Ethernet1, Forward/Sparse, 01:54:43/00:02:52
(192.168.9.1, 239.255.0.1), 01:55:30/00:03:26, flags: CFT
Incoming interface: Ethernet1, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet0, Forward/Sparse, 01:55:30/00:03:12
(*, 224.0.1.40), 1d00h/00:00:00, RP 192.168.7.2, flags: SJPCL
Incoming interface: Ethernet0, RPF nbr 192.168.10.2
Outgoing interface list: Null
임계값을 초과하는 활성 트래픽 소스와 그룹을 표시하려면 이 명령을 실행합니다. 문제 해결을 수행할 때 활성 소스 그룹 쌍, 구성된 임계값을 초과하는 각 (S,G) 항목에 대한 트래픽 속도 및 대상 그룹 멀티캐스트 트래픽의 수신 여부를 확인하는 데 사용합니다. 트래픽이 수신되지 않으면 소스에서 수신기로 향하는 활성 트래픽을 찾습니다.
R1#show ip mroute active Active IP Multicast Sources - sending >= 4 kbps Group: 239.255.0.1, (?) Source: 192.168.33.32 (?) Rate: 10 pps/115 kbps(1sec), 235 kbps(last 23 secs), 87 kbps(life avg)
IP 멀티캐스트 라우팅에서 RPF(Reverse Path Forwarding)를 실행하는 방법을 표시하려면 이 명령을 실행합니다. 문제를 해결할 때 이를 사용하여 RPF 정보가 올바른지 확인합니다. 그렇지 않은 경우 소스 주소에 대한 유니캐스트 라우팅 테이블을 확인합니다. 또한 소스 주소에서 ping 및 trace 명령을 실행하여 유니캐스트 라우팅이 작동하는지 확인합니다. DVMRP(Distance Vector Multicast Routing Protocol) 경로 또는 고정 경로를 사용하여 유니캐스트 멀티캐스트 불일치를 해결할 수 있습니다.
R1#show ip rpf 192.168.33.32 RPF information for ? (192.168.33.32) RPF interface: Ethernet0 RPF neighbor: ? (192.168.10.2) RPF route/mask: 192.168.33.0/16 RPF type: unicast (eigrp 1) RPF recursion count: 0 Doing distance-preferred lookups across tables
멀티캐스트 고속 스위칭 캐시를 지원하는 Cisco IOS® 릴리스에서 이 명령은 캐시 항목을 표시하고 고속 스위칭 문제를 격리하는 데 도움이 됩니다. 최신 Cisco IOS XE® 플랫폼에서 show ip mfib 명령을 실행하여 멀티캐스트 전달 정보를 표시합니다.
R1#show ip mcache IP Multicast Fast-Switching Cache (192.168.33.32/32, 239.255.0.1), Ethernet0, Last used: 00:00:00 Ethernet1 MAC Header: 01005E7F000100000C13DBA90800 (192.168.9.1/32, 239.255.0.1), Ethernet1, Last used: 00:00:00 Ethernet0 MAC Header: 01005E7F000100000C13DBA80800
이 명령을 실행하여 멀티캐스트 트래픽이 수신되는지 확인하고 해당 흐름 속도 및 삭제를 확인합니다. 트래픽이 수신되지 않은 경우, 트래픽이 중지된 위치를 찾을 때까지 소스에서 수신기로 작업합니다. 또한 이 명령을 실행하여 트래픽이 전달되는지 확인할 수 있습니다. 그렇지 않은 경우 show ip mroute 명령을 실행하여 "Null 발신 인터페이스 목록" 및 RPF 실패를 확인합니다.
R1#show ip mroute count
IP Multicast Statistics
routes using 2406 bytes of memory
2 groups, 1.00 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: 239.255.0.1, Source count: 2, Group pkt count: 11709
RP-tree: Forwarding: 3/0/431/0, Other: 3/0/0
Source: 192.168.33.32/32, Forwarding: 11225/6/1401/62, Other: 11225/0/0
Source: 192.168.9.1/32, Forwarding: 481/0/85/0, Other: 490/0/9
Group: 224.0.1.40, Source count: 0, Group pkt count:
유니캐스트 라우팅 테이블을 확인하고 mroute 테이블의 RPF 실패를 수정하려면 이 명령을 실행합니다.
R2#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
D 192.168.9.0/24 [90/307200] via 192.168.10.1, 00:59:45, Ethernet0
C 192.168.10.0/24 is directly connected, Ethernet0
D 192.168.4.0/24 [90/11040000] via 192.168.7.1, 23:21:00, Serial0
D 192.168.5.0/24 [90/11023872] via 192.168.7.1, 23:21:02, Serial0
C 192.168.7.0/24 is directly connected, Serial0
D 192.168.33.0/16 [90/2195456] via 192.168.7.1, 1d23h, Serial0
D 192.168.1.0/24 [90/11552000] via 192.168.7.1, 22:41:27, Serial0
이 명령을 실행하여 멀티캐스트 그룹 범위별 RP 할당을 확인하고 RP 학습(정적 또는 auto-RP) 및 매핑의 소스가 올바른지 확인합니다. 오류가 발견되면 로컬 라우터 컨피그레이션 또는 auto-RP 컨피그레이션을 확인합니다.
R1#show ip pim rp mapping
PIM Group-to-RP Mappings
Group(s) 224.0.1.40/32
RP 192.168.7.2 (?), v1
Info source: local, via Auto-RP
Uptime: 2d00h, expires: never
Group(s): 224.0.0.0/4, Static
RP: 192.168.7.2 (?)
이 섹션은 작동 중인 네트워크에서 특정 debug 명령 출력이 어떻게 표시되는지 보여줍니다. 문제를 해결할 때 올바른 디버그 출력과 네트워크에서 문제를 가리키는 요소를 구분할 수 있습니다. 이러한 debug 명령에 대한 자세한 내용은 Cisco IOS Debug Command Reference를 참조하십시오.
debug ip igmp 명령을 실행하여 수신 및 전송된 IGMP 패킷과 IGMP 호스트 관련 이벤트를 표시합니다. 이 명령의 no 형식은 디버그 출력을 비활성화합니다.
이 출력은 IGMP 프로세스 기능의 작동 여부를 확인하는 데 도움이 됩니다. 일반적으로 IGMP가 작동하지 않으면 라우터가 연결된 인터페이스에서 수신자 그룹 멤버십을 학습하지 않습니다. PIM Dense 모드에서는 초기 플러딩이 제거되기 전까지 트래픽을 세그먼트로 전송할 수 있습니다. PIM 스파스 모드에서는 라우터가 수신자 멤버십 또는 다른 로컬 전달 요구 사항 없이 발신 인터페이스 목록에 수신자 연결 인터페이스를 추가하지 않습니다.
R1#debug ip igmp 12:32:51.065: IGMP: Send v2 Query on Ethernet1 to 224.0.0.1 12:32:51.069: IGMP: Set report delay time to 9.4 seconds for 224.0.1.40 on Ethernet1 12:32:56.909: IGMP: Received v1 Report from 192.168.9.1 (Ethernet1) for 239.255.0.1 12:32:56.917: IGMP: Starting old host present timer for 239.255.0.1 on Ethernet1 12:33:01.065: IGMP: Send v2 Report for 224.0.1.40 on Ethernet1 12:33:01.069: IGMP: Received v2 Report from 192.168.9.4 (Ethernet1) for 224.0.1.40 12:33:51.065: IGMP: Send v2 Query on Ethernet1 to 224.0.0.1
이전 출력은 라우터가 IGMP 버전 2 쿼리 출력 인터페이스 이더넷 1을 멀티캐스트 주소 224.0.0.1(이 서브넷의 모든 멀티캐스트 시스템)에서 전송하는 것을 보여줍니다. 인터페이스 이더넷 1 자체는 그룹 224.0.1.40의 멤버이며(show ip igmp interface 명령을 실행하여 확인할 수 있음), 이 명령은 보고서 지연 시간을 9.4초(임의로 결정)로 설정합니다. 다음 9.4초 동안 멀티캐스트 그룹 224.0.1.40에 대해 다른 시스템에서 어떤 보고서도 수신하지 않으므로, 해당 멤버십의 버전 2 보고서를 보냅니다. 이는 라우터 자체에서 이더넷 1에 수신됩니다. 또한 호스트 192.168.9.1에서 IGMP 보고서 버전 1을 수신합니다. 이 보고서는 그룹 239.255.0.1의 인터페이스 이더넷 1에 직접 연결됩니다.
이 디버그 출력은 라우터 인터페이스에서 쿼리를 보내는지 확인하고 쿼리 간격(이전의 경우 60초)을 확인하는 데 유용합니다. 또한 이 명령을 사용하여 클라이언트에서 사용하는 IGMP의 버전을 확인할 수 있습니다.
debug ip mpacket 명령을 실행하여 수신되고 전송된 모든 IP 멀티캐스트 패킷을 표시합니다. 이 명령의 no 형식은 디버그 출력을 비활성화합니다.
R1#debug ip mpacket 239.255.0.1 detail 13:09:55.973: IP: MAC sa=0000.0c70.d41e (Ethernet0), IP last-hop=192.168.10.2 13:09:55.977: IP: IP tos=0x0, len=892, id=0xD3C1, ttl=12, prot=17 13:09:55.981: IP: s=192.168.33.32 (Ethernet0) d=239.255.0.1 (Ethernet1) len 906, mforward
이 명령은 멀티캐스트 패킷을 디코딩하고 패킷이 전달(mforward)되는지 또는 삭제되는지를 표시합니다. 이는 네트워크에서 패킷 흐름 문제를 디버깅하여 TTL 값 및 패킷이 삭제된 이유를 확인하는 데 유용합니다.
주의: 특히 라우터가 높은 멀티캐스트 패킷 로드를 서비스할 때 패킷 수준 디버그 출력을 켜면 주의해야 합니다.
이 명령은 라우팅 테이블 유지 관리를 위해 유용합니다. (S,G) mroute가 IP 멀티캐스트 라우팅 테이블에 설치되어 있는지 확인하거나, 설치되어 있지 않은 경우 그 이유를 확인합니다. 이 출력의 주요 정보는 RPF 인터페이스입니다. RPF 검사 오류가 있는 경우 (S,G) mroute가 라우팅 테이블에 설치되지 않습니다.
R1#debug ip mrouting 239.255.0.1 13:17:27.821: MRT: Create (*, 239.255.0.1), RPF Null, PC 0x34F16CE 13:17:27.825: MRT: Create (192.168.33.32/32, 239.255.0.1), RPF Ethernet0/192.168.10.2, PC 0x34F181A 13:17:30.481: MRT: Create (192.168.9.1/32, 239.255.0.1), RPF Ethernet1/0.0.0.0, PC 0x34F18
debug ip pim 명령을 실행하여 수신 및 전송된 PIM 패킷과 PIM 관련 이벤트를 표시합니다. 이 명령의 no 형식은 디버그 출력을 비활성화합니다. 이 섹션에서는 예를 사용하여 PIM 스파스 모드의 디버그 출력을 이해하고 일반적인 디버그 출력을 표시합니다.
R1의 debug ip pim 출력입니다.
R1#debug ip pim PIM: Send v2 Hello on Ethernet0 PIM: Send v2 Hello on Ethernet1 PIM: Received v2 Hello on Ethernet0 from 192.168.10.2 PIM: Send v2 Hello on Ethernet0 PIM: Send v2 Hello on Ethernet1 PIM: Building Join/Prune message for 239.255.0.1 PIM: v2, for RP, Join-list: 192.168.7.2/32, RP-bit, WC-bit, S-bit PIM: Send v2 periodic Join/Prune to RP via 192.168.10.2 (Ethernet0) PIM: Received RP-Reachable on Ethernet0 from 192.168.7.2 for group 239.255.0.1 PIM: Update RP expiration timer (270 sec) for 239.255.0.1
이제 그룹 239.255.0.1에 대한 멀티캐스트 수신자가 R1에 조인할 때 R1과 R2 사이의 디버그 출력을 확인합니다. 먼저 R1의 출력을 확인합니다.
1 PIM: Check RP 192.168.7.2 into the (*, 239.255.0.1) entry 2 PIM: Send v2 Join on Ethernet0 to 192.168.10.2 for (192.168.7.2/32, 239.255.0.1), WC-bit, RPT-bit, S-bit 3 PIM: Building batch join message for 239.255.0.1 4 PIM: Building Join/Prune message for 239.255.0.1 5 PIM: v2, for RP, Join-list: 192.168.7.2/32, RP-bit, WC-bit, S-bit 6 PIM: Send v2 periodic Join/Prune to RP via 192.168.10.2 (Ethernet0) 7 PIM: Received RP-Reachable on Ethernet0 from 192.168.7.2 : for group 239.255.0.1 8 PIM: Update RP expiration timer (270 sec) for 239.255.0.1 9 PIM: Building Join/Prune message for 239.255.0.1 10 PIM: v2, for RP, Join-list: 192.168.7.2/32, RP-bit, WC-bit, S-bit 11 PIM: Send v2 periodic Join/Prune to RP via 192.168.10.2 (Ethernet0)
이제 R2의 출력을 보십시오.
12 PIM: Received v2 Join/Prune on Ethernet0 from 192.168.10.1, to us 13 PIM: Join-list: (*, 239.255.0.1) RP 192.168.7.2 14 PIM: Check RP 192.168.7.2 into the (*, 239.255.0.1) entry, RPT-bit set, WC-bit set, S-bit set 15 PIM: Add Ethernet0/192.168.10.1 to (*, 239.255.0.1), Forward state 16 PIM: Building Join/Prune message for 239.255.0.1 17 PIM: Received v2 Join/Prune on Ethernet0 from 192.168.10.1, to us 18 PIM: Join-list: (*, 239.255.0.1) RP 192.168.7.2, RPT-bit set, WC-bit set, S-bit set 19 PIM: Add Ethernet0/192.168.10.1 to (*, 239.255.0.1), Forward state 20 PIM: Building Join/Prune message for 239.255.0.1 21 PIM: Send RP-reachability for 239.255.0.1 on Ethernet0 22 PIM: Received v2 Join/Prune on Ethernet0 from 192.168.10.1, to us 23 PIM: Join-list: (*, 239.255.0.1) RP 192.168.7.2, RPT-bit set, WC-bit set, S-bit set 24 PIM: Add Ethernet0/192.168.10.1 to (*, 239.255.0.1), Forward state 25 PIM: Building Join/Prune message for 239.255.0.1
이전 행 1에서 그룹 239.255.0.1의 멀티캐스트 수신기는 R1에 조인합니다. 이렇게 하면 mroute 테이블에 (*, 239.255.0.1) 항목이 설치됩니다. 그런 다음 2행에서 멀티캐스트 수신기는 IGMP Join to R2(RP)를 전송하여 공유 트리에 조인합니다.
PIM Join/Prune이 R2에 도착하면 R2는 R2 출력의 12행부터 15행에 표시된 것처럼 (*, 239.255.0.1) mroute를 설치합니다.
R2가 라우팅 테이블에 (*, 239.255.0.1)을 설치하면 Join/Prune 메시지를 받은 인터페이스가 전달 상태의 OIL(Outgoing-interface-list)에 추가됩니다. 그런 다음 Join/Prune 메시지를 받은 인터페이스에서 RP-Reachability 메시지를 다시 전송합니다. 이 트랜잭션은 R2 출력의 15행부터 21행까지 표시되어 있다. R1은 그룹 239.255.0.1에 대한 RP 연결 가능 메시지를 수신하고 RP에 대한 만료 타이머를 업데이트합니다. 이 교환은 기본적으로 1분에 한 번 반복되며 R1 출력의 행 7 및 8과 같이 멀티캐스트 포워딩 상태를 새로 고칩니다.
다음 행에서는 R2(RP)와 R3 사이의 디버그 출력이 표시됩니다. 소스(R3에 직접 연결됨)가 그룹 239.255.0.1에 패킷을 전송하기 시작했습니다.
먼저 R3의 출력을 살펴봅니다.
1 PIM: Check RP 192.168.7.2 into the (*, 239.255.0.1) entry 2 PIM: Building Join/Prune message for 239.255.0.1 3 PIM: For RP, Join-list: 192.168.7.2/32, RP-bit, WC-bit 4 PIM: Send periodic Join/Prune to RP via 192.168.7.2 (Serial4/0) 5 PIM: Received RP-Reachable on Serial4/0 from 192.168.7.2 6 PIM: Update RP expiration timer (270 sec) for 239.255.0.1 7 PIM: Send Register to 192.168.7.2 for 192.168.33.32, group 239.255.0.1 8 PIM: Send Register to 192.168.7.2 for 192.168.33.32, group 239.255.0.1 9 PIM: Received Join/Prune on Serial4/0 from 192.168.7.2 10 PIM: Join-list: (192.168.33.32/32, 239.255.0.1), S-bit set 11 PIM: Add Serial4/0/192.168.7.2 to (192.168.33.32/32, 239.255.0.1), Forward state 12 PIM: Received Register-Stop on Serial4/0 from 192.168.7.2 13 PIM: Clear register flag to 192.168.7.2 for (192.168.33.32/32, 239.255.0.1) 14 PIM: Received Register-Stop on Serial4/0 from 192.168.7.2 15 PIM: Clear register flag to 192.168.7.2 for (192.168.33.32/32, 239.255.0.1)
R2의 출력인 RP입니다.
16 PIM: Received Join/Prune on Serial0 from 192.168.7.1, to us 17 PIM: Send RP-reachability for 239.255.0.1 on Serial0 18 PIM: Received Register on Serial0 from 192.168.7.1 for 192.168.33.32, group 239.255.0.1 19 PIM: Forward decapsulated data packet for 239.255.0.1 on Ethernet0 20 PIM: Forward decapsulated data packet for 239.255.0.1 on Serial0 21 PIM: Send Join on Serial0 to 192.168.7.1 for (192.168.33.32/32, 239.255.0.1), S-bit 22 PIM: Send Join on Serial0 to 192.168.7.1 for (192.168.33.32/32, 239.255.0.1), S-bit 23 PIM: Send Register-Stop to 192.168.7.1 for 192.168.33.32, group 239.255.0.1 24 PIM: Received Join/Prune on Serial0 from 192.168.7.1, to us 25 PIM: Prune-list: (192.168.33.32/32, 239.255.0.1) 26 PIM: Received v2 Join/Prune on Ethernet0 from 192.168.10.1, to us 27 PIM: Join-list: (*, 239.255.0.1) RP 192.168.7.2, RPT-bit set, WC-bit set, S-bit set 28 PIM: Add Ethernet0/192.168.10.1 to (*, 239.255.0.1), Forward state 29 PIM: Add Ethernet0/192.168.10.1 to (192.168.33.32/32, 239.255.0.1) 30 PIM: Join-list: (192.168.33.32/32, 239.255.0.1), S-bit set 31 PIM: Add Ethernet0/192.168.10.1 to (192.168.33.32/32, 239.255.0.1), Forward state 32 PIM: Building Join/Prune message for 239.255.0.1 33 PIM: For 192.168.7.1, Join-list: 192.168.33.32/32 34 PIM: For 192.168.10.1, Join-list: 192.168.9.1/32 35 PIM: Send v2 periodic Join/Prune to 192.168.10.1 (Ethernet0) 36 PIM: Send periodic Join/Prune to 192.168.7.1 (Serial0) 37 PIM: Received Join/Prune on Serial0 from 192.168.7.1, to us 38 PIM: Join-list: (*, 239.255.0.1) RP 192.168.7.2, RP-bit set, WC-bit set, S-bit set 39 PIM: Add Serial0/192.168.7.1 to (*, 239.255.0.1), Forward state 40 PIM: Add Serial0/192.168.7.1 to (192.168.33.32/32, 239.255.0.1) 41 PIM: Add Serial0/192.168.7.1 to (192.168.9.1/32, 239.255.0.1) 42 PIM: Join-list: (192.168.9.1/32, 239.255.0.1), S-bit set 43 PIM: Add Serial0/192.168.7.1 to (192.168.9.1/32, 239.255.0.1), Forward state 44 PIM: Join-list: (*, 239.255.0.1) RP 192.168.7.2, RP-bit set, WC-bit set, S-bit set 45 PIM: Add Serial0/192.168.7.1 to (*, 239.255.0.1), Forward state
| 개정 | 게시 날짜 | 의견 |
|---|---|---|
3.0 |
23-Sep-2026
|
맞춤법, 문법, 삽입한 가로줄을 가독성을 위해 별도의 섹션으로 업데이트하고 CCW 알림을 수정했습니다. |
2.0 |
28-Nov-2023
|
재인증 |
1.0 |
10-Dec-2001
|
최초 릴리스 |