본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 멀티캐스트 네트워크 트러블슈팅에 사용되는 여러 가지 도구와 기술에 대해 설명합니다.
이 문서에 대한 특정 요건이 없습니다.
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.
멀티캐스트 네트워크의 문제를 해결할 때는 네트워크 및 패킷 흐름에 사용되는 신호 처리 프로토콜을 고려하는 것이 좋습니다. 시그널링 프로토콜은 멀티캐스트 세션(예: PIM dense mode, PIM sparse mode, DVMRP)을 설정하고 분리하는 데 사용되며 패킷 흐름은 시그널링 프로세스에서 생성한 포워딩 테이블을 기반으로 소스와 수신기 간에 멀티캐스트 패킷을 실제로 전송, 복제 및 수신하는 것입니다.
이 표를 사용하면 문제를 해결할 각 부분 정보를 확인하고 표의 각 섹션이 올바르게 작동하는지 확인할 수 있습니다.
소스 | 네트워크 | 수신자 | |
---|---|---|---|
신호 | 해당 없음 | 네트워크 신호 확인 | 수신기 신호 확인 |
패킷 플로우 | 소스 패킷 흐름 확인 | 네트워크 패킷 흐름 확인 | 수신기 패킷 흐름 확인 |
다음 하위 섹션에서는 일반적인 문제를 확인하고 수정하는 데 사용할 수 있는 트러블슈팅 툴에 대해 자세히 설명합니다.
소스가 패킷을 전송했는지, 올바른 패킷 필드가 삽입되었는지 확인하려면 다음 단계를 완료하십시오.
호스트의 인터페이스 카운터를 확인합니다. 먼저 소스 호스트에서 인터페이스 카운터(UNIX 시스템의 경우 netstat 명령 사용)를 검사하여 패킷을 전송하는지 확인합니다. 그렇지 않은 경우, 호스트 스택 및 애플리케이션에서 컨피그레이션의 오류 또는 버그가 있는지 확인합니다.
show ip igmp groups <interface-name> 명령을 사용하여 업스트림 라우터가 소스에 직접 연결된 인터페이스에서 가입 멤버십 보고서를 받았는지 확인합니다.
멀티캐스트 애플리케이션의 패킷에 대한 TTL 값을 확인합니다. TTL은 1보다 커야 합니다. 애플리케이션이 TTL 값이 1보다 작은 패킷을 전송하는 경우, 첫 번째 업스트림 라우터에서 삭제된 트래픽을 확인해야 합니다. 확인하려면 show ip traffic 명령을 사용하고 "bad hop count" 카운터의 값이 증가했는지 확인합니다. TTL 값이 1이거나 ip multicast ttl-threshold 명령으로 인터페이스에서 설정한 TTL 임계값보다 작은 패킷은 삭제되고 "bad hop-count" 카운터가 1씩 증가합니다. 인터페이스 TTL 임계값을 보려면 show ip igmp interface <interface-name> 명령을 사용합니다.
첫 번째 업스트림 라우터 또는 스위치가 소스에서 멀티캐스트 패킷을 발견하는지 확인하려면 show ip mroute count 및 show ip mroute active 명령을 사용합니다. 명령 출력은 각 (S,G) 쌍에 대한 트래픽 흐름 통계를 보여줍니다. 트래픽을 관찰하지 않을 경우 receiver signaling(수신기 신호)을 선택합니다.
세분화를 위해 detail 또는 acl 인수와 함께 가장 가까운 업스트림 라우터에서 debug ip mpacket 명령을 사용합니다.
주의: 네트워크에 과중한 멀티캐스트 트래픽이 있는 경우 이 명령을 신중하게 사용하십시오. 필요한 경우에만 경로에서 debug ip mpacket 명령을 사용합니다. detail 인수를 사용하여 디버그 출력의 패킷 헤더를 표시하고 액세스 목록을 사용하여 특정 소스의 트래픽을 확인합니다. 이 명령은 다른 트래픽에 심각한 성능 영향을 미칠 수 있습니다.
이는 모든 네트워크에서 가장 복잡하고 중요한 트러블슈팅입니다. PIM 스파스 모드, PIM 덴스 모드, DVMRP 등 사용되는 네트워크 시그널링 프로토콜에 따라 달라집니다. 이 섹션에 설명된 다단계 접근 방식을 권장합니다.
PIM sparse mode(PIM 스파스 모드) 문제를 해결하려면 다음 단계를 완료합니다.
IP 멀티캐스트 라우팅이 모든 멀티캐스트 라우터에서 활성화되었는지 확인합니다.
show ip pim neighbor 명령을 사용하여 만료 타이머 및 모드를 확인하여 PIM 인접 디바이스가 성공적으로 설정되었는지 확인하고, PIM 인접 디바이스 설정을 방해할 수 있는 연결 및 타이머 문제가 있는지 확인합니다. 필요한 경우 ip pim [version] [dense-mode] [sparse-mode] [sparse-dense-mode] interface level 하위 명령을 사용하여 PIM 네이버를 성공적으로 설정하기 위한 올바른 모드 및 버전을 설정합니다.
show ip pim rp mapping 명령을 사용하여 올바른 RP-Group 매핑을 확인하고 auto-RP가 구성된 경우 만료 타이머를 확인합니다. debug ip pim auto-rp 명령을 사용하여 auto-RP 실패를 파악합니다. PIM Group-to-RP 매핑이 표시되지 않으면 auto-RP 컨피그레이션을 확인하거나 RP [access-list] [named-accesslist] [override] 명령의 ip pim rp-address ip 주소로 고정 Group-RP 매핑을 구성합니다. auto-RP 컨피그레이션은 ip pim send-rp-announce interface-id scope TTL value 및 ip pim send-rp-discovery interface-id scope TTL value 명령으로 수행할 수 있습니다. 이러한 명령은 auto-RP 컨피그레이션이 있는 경우에만 구성해야 합니다.
소스 주소에 대한 RPF 실패를 확인하려면 theshow ip rpf <ip address of source> 명령을 사용합니다. PIM dense mode 및 PIM sparse mode는 트래픽이 비 RPF 포인트-투-포인트 인터페이스에 도착하면 Prune 메시지를 다시 소스로 보냅니다. debug ip pim 명령은 PIM 네트워크에서 발생할 수 있는 오류의 원인을 식별하는 데 도움이 됩니다. 일반적인 출력과 표시되는 내용을 비교합니다. 이 출력을 사용하여 PIM 스파스 모드에서 조인, 등록, SPT-전환 등 3개의 개별 단계를 식별할 수 있습니다. show ip mroute 명령을 사용하면 Outgoing Interface 목록의 null 항목과 mroute 테이블의 정리된 항목을 볼 수 있습니다.
네트워크 전체에서 멀티캐스트 패킷의 흐름을 확인하려면 다음 명령을 사용합니다.
mtrace 명령을 사용하여 hop-by-hop 멀티캐스트 추적 확인
수신기 신호 처리를 확인하려면 다음 단계를 완료하십시오.
수신기에 연결된 첫 번째 업스트림 라우터에서 show ip igmp groups 명령을 사용하여 인터페이스가 그룹에 가입되었는지 확인합니다.
ping 명령을 사용하여 호스트 및 첫 번째 업스트림 라우터의 연결성을 확인합니다.
인터페이스의 IGMP 버전을 확인하려면 show ip igmp interface 명령을 사용합니다.
참고: IGMP 버전 1로 구성된 라우터는 호스트에서 수신한 IGMP 버전 2 패킷을 유효하지 않은 것으로 간주합니다. 이러한 IGMP 패킷은 라우터가 호스트로부터 IGMP 버전 1 패킷을 수신할 때까지 그룹에 가입하지 않습니다.
수신기 시그널링의 추가 문제를 해결하려면 debug ip igmp 명령을 사용합니다.
수신기 패킷 흐름을 확인하려면 다음 단계를 완료하십시오.
수신기 인터페이스 통계를 확인하려면 UNIX 시스템에서 netstat 명령을 사용합니다.
TCP/IP 스택이 제대로 설치되고 구성되었는지 확인합니다.
멀티캐스트 수신기 클라이언트 애플리케이션이 설치되고 올바르게 구성되었는지 확인합니다.
다중 액세스 세그먼트에서 중복 멀티캐스트 패킷을 확인합니다.
이 섹션의 명령은 문제 해결, 특히 네트워크 패킷 흐름을 테스트하고 멀티캐스트 네트워크에서 장애 지점을 찾을 때 유용할 수 있습니다.
이 명령은 멀티캐스트 경로를 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 명령은 그룹의 모든 멤버를 ping하고 모든 멤버가 응답하므로 멀티캐스트 트리를 테스트하기 위해 랩에서 멀티캐스트 트래픽을 생성하는 가장 쉬운 방법입니다.
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
이 섹션의 명령은 멀티캐스트 문제를 해결할 때 유용한 정보를 수집하는 데 도움이 됩니다. 이러한 show 명령에 대한 자세한 내용은 Cisco IOS IP Multicast 명령 참조 설명서를 참조하십시오.
팁: show 명령 응답이 부진할 경우, 라우터가 현재 show 명령의 IP 주소에 대해 IP 도메인 조회를 수행하고 있기 때문일 수 있습니다. 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 주소를 지정합니다
Interface - PIM 인접 디바이스가 발견된 인터페이스입니다.
Uptime(가동 시간) - 네이버의 총 가동 시간
Expires(만료) - 인접 디바이스가 시간 초과되고 다음 PIM hello를 수신할 때까지의 시간입니다
Ver - 네이버 인터페이스의 PIM 버전
DR Prio- 가능한 값은 0~4294967294 또는 N입니다.
DR 선택을 위한 PIM 인터페이스의 우선순위를 추적하는 새 열입니다. 우선순위가 가장 높은 것과 IP 주소가 가장 높은 것을 기준으로 DR을 구성하는 기능은 Cisco IOS Software 릴리스 12.1(2)T 및 12.2 및 Cisco IOS 이미지와 Bidir-PIM에 도입되었습니다. pip pim dr-priority <0-4294967294>interface 명령을 사용하여 DR 우선순위를 설정할 수 있습니다. 기본 DR 우선순위는 1로 설정됩니다. 상호운용성을 위해 PIM 인접 디바이스가 DR 우선순위 기능을 지원하지 않는 이전 Cisco IOS 버전을 실행하는 경우 "DR Prior" 열은 N으로 표시됩니다. 네이버가 인터페이스에 대해 N을 표시하는 유일한 라우터인 경우, 실제로 가장 높은 IP 주소를 가진 라우터와 상관없이 DR이 됩니다. 이 열 아래에 N이 나열된 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)는 가장 높은 IP 주소를 기반으로 DR을 선택합니다. 포인트-투-포인트 링크는 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) 쌍의 트래픽 속도(SPT(Shortest Path Tree)로 전환해야 함)를 확인하고 대상 그룹 멀티캐스트 트래픽이 수신되는지 확인하는 데 사용합니다. 트래픽이 수신되지 않으면 소스에서 수신기로 향하는 활성 트래픽을 찾습니다.
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
이 명령은 IP 멀티캐스트 고속 스위칭 캐시를 확인하고 고속 스위칭 버그를 디버깅할 수 있습니다.
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 학습의 소스(고정 또는 자동 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 Mode에서는 패킷이 간헐적으로(3분마다 몇 개씩) 전달됨을 의미합니다. PIM sparse mode에서는 전달되지 않습니다.
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의 라우터 자체에서 수신됩니다. 또한 그룹 239.255.0.1용 인터페이스 이더넷 1에 직접 연결된 호스트 192.168.9.1에서 IGMP 보고서 버전 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가 설치되어 있는지 확인하거나, 설치되어 있지 않은 경우 설치하지 않을 이유를 확인합니다. 이 출력의 주요 정보는 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
수신 및 전송된 PIM 패킷 및 PIM 관련 이벤트를 표시하려면 debug ip 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
각 출력 행이 나타내는 의미는 다음과 같습니다. R1 및 R2는 Hello 메시지가 교환될 때 PIM 네이버를 설정합니다. R1(E0)과 R2(E0) 사이의 쿼리 간격 초 단위로 교환되는 이러한 주기적인 Hello 메시지는 PIM 네이버를 추적합니다.
R1은 RP 주소 192.168.7.2에 Join/Prune 메시지를 보냅니다. RP(R2)가 Received RP Reachable 메시지로 응답하고 그룹 239.255.0.1의 R1로 돌아갑니다. 이것은 차례로 R1에서 RP 만료 타이머를 업데이트한다. 만료 타이머는 RP가 여전히 존재하는지 확인하기 위해 체크포인트를 설정합니다. 그렇지 않으면 새 RP를 검색해야 합니다. show ip pim rp 명령을 사용하여 RP 만료 시간을 관찰합니다.
이제 그룹 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.8.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)를 전송하여 공유 트리에 조인합니다.
IGMP 조인이 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 10 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
라인 1은 Ethernet0/0을 통해 소스에 직접 연결된 R3가 그룹 239.255.0.1에 대한 멀티캐스트 트래픽을 수신함을 보여줍니다. (*, 239.255.0.1) 항목을 만들고 RP에 Join 메시지를 보냅니다.
행 16 및 17은 RP인 R2가 Join/Prune 메시지도 수신하고 RP 도달 가능성 정보를 R3로 다시 전송함을 보여준다.
라인 5 및 6에서, R3는 RP 도달 가능한 정보를 수신한 후 RP 만료 타이머를 업데이트한다. 이전의 7행 및 8행은 R3이 (*,G) 엔트리를 사용하여 그룹 239.255.0.1로의 전송을 시작하는 소스와 함께 레지스터 패킷에서 캡슐화된 RP로 데이터를 전송함을 보여줍니다.
행 18~20은 R2가 Register 패킷을 수신하고 캡슐화하여 경로 테이블의 기존(*, 239.255.0.1) 항목을 사용하여 트리 아래로 전달했음을 보여줍니다.
행 21 및 29는 R2가 R3에 Join 메시지를 보내고 mroute 테이블에 (S,G)(192.168.33.32, 239.255.0.1) 항목을 설치한다는 것을 보여줍니다.
행 9~11은 R3이 R2로부터 Join 메시지를 수신하고 (S,G)(192.168.33.32,239.255.0.1) 항목을 경로 테이블에 설치하고 RP에 연결된 인터페이스를 포워드 모드로 전환하며, 이를 통해 (S,G) 멀티캐스트 SPT 트리가 소스를 향해 구축됨을 보여줍니다.
행 23에서 R2는 SPT에서 (S,G) 트래픽을 수신하기 시작하고 Register-Stop 메시지(및 Join 메시지)를 소스로 전송합니다.
행 12~15는 R3가 Register-Stop 메시지를 수신하고, 레지스터 플래그를 지우고, 캡슐화(S,G) 트래픽을 중지함을 보여줍니다.
멀티캐스트 트리를 유지하기 위해 RP와 R3 간에 주기적인 Join/Prune 메시지가 교환됩니다.
개정 | 게시 날짜 | 의견 |
---|---|---|
2.0 |
28-Nov-2023 |
재인증 |
1.0 |
10-Dec-2001 |
최초 릴리스 |