본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 Cisco IOS®XR의 mtrace 버전 2에 대해 설명합니다.
이 문서에 대한 특정 요건이 없습니다.
이 문서는 Cisco IOS®XR에만 해당되지만 특정 소프트웨어 릴리스 또는 하드웨어에 제한되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
참고: Cisco IOS XR Software의 mtrace v2는 표준 RFC 포트 33433이 아닌 비표준 포트 포트를 33435.
mtrace에는 세 가지 유형의 패킷이 사용됩니다. 이 세 개의 패킷이 합쳐지면 mtrace 작업이 가능해집니다. 발신자는 마지막 홉 라우터를 향해 mtrace 쿼리 패킷을 전송합니다. 이 LHR은 쿼리를 요청 패킷으로 변환합니다. 그러면 이 패킷은 유니캐스트로 홉별로 전달되며 업스트림 라우터로 전달됩니다. LHR 및 모든 업스트림 라우터는 인터페이스 주소, 라우팅 프로토콜, 포워딩 코드 등의 유용한 정보가 포함된 응답 데이터 블록을 추가합니다. 요청이 FHR에 도착하면 요청을 응답 패킷으로 전환하여 발신자에게 전달합니다. 추적이 완료되지 않은 경우, 예를 들어 "경로 없음"과 같은 치명적인 오류가 발생한 경우 중간 라우터가 발신자에게 회신을 반환할 수도 있습니다.
이 이미지에서 세 가지 mtrace 패킷 유형의 처리 절차 및 처리 방법을 확인하십시오.
발신자는 R-10이고, LHR은 LHR-4이고, FHR은 FHR-3이고, RP는 RP-5입니다. 네트워크에서 PIM 스파스 모드 또는 ASM(Any Source Multicast)을 실행하고 있습니다.
mtrace 요청 메시지는 다음과 같습니다.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | # Hops |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Multicast Address |
| |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| |
| Source Address |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Mtrace2 Client Address |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Query ID | Client Port # |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
클라이언트 주소는 발신자의 주소이므로 mTrace v2 명령을 수행하는 라우터입니다.
응답 데이터 블록에는 흥미로운 정보가 들어 있습니다. 이 정보는 요청 메시지에 추가됩니다. 각 라우터는 요청 메시지에 하나의 응답 데이터 블록을 추가합니다. 응답 데이터 블록
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | MBZ |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Query Arrival Time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Incoming Interface Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Outgoing Interface Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Upstream Router Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. Input packet count on Incoming Interface .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. Output packet count on Outgoing Interface .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. Total number of packets for this source-group pair .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Rtg Protocol | Multicast Rtg Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Fwd TTL | MBZ |S| Src Mask |Forwarding Code|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
traceroute 출력을 표시하는 데 사용되는 이 응답 블록 정보입니다. 각 응답 블록은 mtrace 출력의 한 줄입니다.
라우팅 프로토콜 및 멀티캐스트 라우팅 프로토콜 번호는 IP Multicast MIB(RFC 5132)의 ipMcastRouteRtProtocol과 같은 값입니다. mtrace v1에 사용된 값과 다릅니다.
IANA는 다음과 같이 목록을 표시합니다.
라우팅 프로토콜:
other (1), -- not specified
local (2), -- local interface
netmgmt (3), -- static route
icmp (4), -- result of ICMP Redirect
-- the following are all dynamic
-- routing protocols
egp (5), -- Exterior Gateway Protocol
ggp (6), -- Gateway-Gateway Protocol
hello (7), -- FuzzBall HelloSpeak
rip (8), -- Berkeley RIP or RIP-II
isIs (9), -- Dual IS-IS
esIs (10), -- ISO 9542
ciscoIgrp (11), -- Cisco IGRP
bbnSpfIgp (12), -- BBN SPF IGP
ospf (13), -- Open Shortest Path First
bgp (14), -- Border Gateway Protocol
idpr (15), -- InterDomain Policy Routing
ciscoEigrp (16), -- Cisco EIGRP
dvmrp (17), -- DVMRP
rpl (18), -- RPL [RFC-ietf-roll-rpl-19]
dhcp (19), -- DHCP [RFC2132]
멀티캐스트 라우팅 프로토콜:
other(1), -- none of the following
local(2), -- e.g., manually configured
netmgmt(3), -- set via net.mgmt protocol
dvmrp(4),
mospf(5),
pimSparseDense(6), -- PIMv1, both DM and SM
cbt(7),
pimSparseMode(8), -- PIM-SM
pimDenseMode(9), -- PIM-DM
igmpOnly(10),
bgmp(11),
msdp(12)
mtrace v2의 전달 코드는 여기에 나와 있습니다. mtrace v1에서와 동일하지 않습니다.
Value Name Description
----- -------------- ----------------------------------------------
0x00 NO_ERROR No error.
0x01 WRONG_IF Mtrace2 Request arrived on an interface
for which this router does not perform
forwarding for the specified group to the
source or RP.
0x02 PRUNE_SENT This router has sent a prune upstream that
applies to the source and group in the
Mtrace2 Request.
0x03 PRUNE_RCVD This router has stopped forwarding for this
source and group in response to a Request
from the downstream router.
0x04 SCOPED The group is subject to administrative
scoping at this router.
0x05 NO_ROUTE This router has no route for the source or
group and no way to determine a potential
route.
0x06 WRONG_LAST_HOP This router is not the proper LHR.
0x07 NOT_FORWARDING This router is not forwarding this source and
group out the Outgoing Interface for an
unspecified reason.
0x08 REACHED_RP Reached the Rendezvous Point.
0x09 RPF_IF Mtrace2 Request arrived on the expected
RPF interface for this source and group.
0x0A NO_MULTICAST Mtrace2 Request arrived on an interface
that is not enabled for multicast.
0x0B INFO_HIDDEN One or more hops have been hidden from this
trace.
0x0C REACHED_GW Mtrace2 Request arrived on a gateway (e.g.,
a NAT or firewall) that hides the
information between this router and the
Mtrace2 client.
0x0D UNKNOWN_QUERY A non-transitive Extended Query Type was
received by a router that does not support
the type.
0x80 FATAL_ERROR A fatal error is one where the router may
know the upstream router but cannot forward
the message to it.
0x81 NO_SPACE There was not enough room to insert another
Standard Response Block in the packet.
0x83 ADMIN_PROHIB Mtrace2 is administratively prohibited.
사용법: mtrace
mtrace v2를 사용하려면 2를 지정해야 합니다.
RP/0/RP0/CPU0:R-10#mtrace?
mtrace mtrace2
RP/0/RP0/CPU0:R-10#mtrace2 ?
ipv4 IPv4 Address family
ipv6 ipv6 Address Family
RP/0/RP0/CPU0:R-10#mtrace2 ipv4 ?
Hostname or A.B.C.D Source to trace route from
소스 주소는 발신자의 주소입니다.
RP/0/RP0/CPU0:R-10#mtrace2 ipv4 10.1.3.3 ?
Hostname or A.B.C.D Destination of route
debug Mtrace client-side debugging(cisco-support)
대상 주소는 LHR의 주소입니다.
RP/0/RP0/CPU0:R-10#mtrace2 ipv4 10.1.3.3 10.2.4.4 ?
Hostname or A.B.C.D Group to trace route via
debug Mtrace client-side debugging(cisco-support)
Group address는 추적되는 멀티캐스트 스트림의 Group 주소입니다.
RP/0/RP0/CPU0:R-10#mtrace2 ipv4 10.1.3.3 10.2.4.4 225.1.1.1 ?
Hostname or A.B.C.D response address to receive response
debug Mtrace client-side debugging(cisco-support)
응답 주소는 traceroute 응답이 반환되는 주소입니다.
RP/0/RP0/CPU0:R-10#mtrace2 ipv4 10.1.3.3 10.2.4.4 225.1.1.1 10.0.0.10 ?
<1-255> Time-to-live for multicasted trace request
debug Mtrace client-side debugging(cisco-support)
이 명령은 반드시 PIM/멀티캐스트 지원 라우터가 아닌 네트워크의 모든 라우터에서 시작하거나 조사 중인 특정 공유 또는 소스 트리를 따라 시작할 수 있습니다.
RP/0/RP0/CPU0:R-10#mtrace2 ipv4 10.1.3.3 10.2.4.4 225.1.1.1 10.0.0.10
Type escape sequence to abort.
Mtrace from 10.1.3.3 to 10.2.4.4
via group 225.1.1.1
From source (?) to destination (?)
Querying full reverse path...
0 10.2.4.4
-1 10.4.7.4 PIM [10.1.3.0/24]
-2 10.5.7.7 PIM [10.1.3.0/24]
-3 0.0.0.0 PIM Reached RP/Core [10.1.3.0/24]
mtrace가 공유 트리(*,G)에 대해 수행된 것을 확인할 수 있습니다. mtrace는 Last Hop Router 10.2.4.4에서 시작되어 공유 트리에서 RP(10.0.0.5)로 되돌아갔습니다. 그 이유는 LHR-4 라우터에 그룹 225.1.1.1의 소스 10.1.3.3에 대한 (S,G) MRIB 항목이 없기 때문입니다.
[10.1.3.0/24] 부분은 RPF 정보에 사용되는 유니캐스트 경로입니다. IOS-XR의 RPF 정보는 항상 IPv4의 /32 항목입니다. 이 정보는 유니캐스트 경로에서 파생됩니다. 이 유니캐스트 경로가 표시됩니다.
멀티캐스트 프로토콜이 표시됩니다. PIM입니다.
홉 수는 마지막 홉 라우터에서 0부터 시작하여 첫 번째 홉 라우터에 도달할 때까지 음수가 되도록 역순으로 표시됩니다.
다음은 소스 트리의 경우입니다.
RP/0/RP0/CPU0:LHR-4#show mrib route 225.1.1.1
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface, MH - Multihome Interface
(*,225.1.1.1) RPF nbr: 10.4.7.7 Flags: C RPF
Up: 1d21h
Incoming Interface List
GigabitEthernet0/0/0/1 Flags: A NS, Up: 1d21h
Outgoing Interface List
GigabitEthernet0/0/0/0 Flags: F NS LI, Up: 1d21h
(10.1.3.1,225.1.1.1) RPF nbr: 10.4.9.9 Flags: RPF
Up: 1d18h
Incoming Interface List
GigabitEthernet0/0/0/2 Flags: A, Up: 1d18h
Outgoing Interface List
GigabitEthernet0/0/0/0 Flags: F NS, Up: 1d18h
소스 10.1.3.1에 대한 MRIB 항목이 있습니다. mtrace 명령은 해당 소스에 대해 완료되었을 때 다른 출력을 표시합니다.
RP/0/RP0/CPU0:R-10#mtrace2 ipv4 10.1.3.1 10.2.4.4 225.1.1.1 10.0.0.10
Type escape sequence to abort.
Mtrace from 10.1.3.1 to 10.2.4.4
via group 225.1.1.1
From source (?) to destination (?)
Querying full reverse path...
0 10.2.4.4
-1 10.4.9.4 PIM [10.1.3.0/24]
-2 10.8.9.9 PIM [10.1.3.0/24]
-3 10.3.8.8 PIM [10.1.3.0/24]
-4 10.1.3.3 PIM [10.1.3.0/24]
이제 역방향 경로는 LHR4 - IR-9 - IR-8 - FHR-3입니다. 이 트리는 FHR-3에서 LHR-4로의 소스 트리입니다. 이 트리는 (S,G)에 대한 MRIB 항목과 일치합니다.
RP/0/RP0/CPU0:FHR-3#show mrib route 225.1.1.1
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
LD - Local Disinterest, DI - Decapsulation Interface
EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
IRMI - IR MDT Interface, TRMI - TREE SID MDT Interface, MH - Multihome Interface
(10.1.3.1,225.1.1.1) RPF nbr: 10.1.3.1 Flags: RPF
Up: 1d21h
Incoming Interface List
GigabitEthernet0/0/0/0 Flags: A, Up: 1d21h
Outgoing Interface List
GigabitEthernet0/0/0/2 Flags: F NS, Up: 1d18h
mtrace v1과 함께 사용하여debug IGMP
추적 경로를 따라 모든 라우터의 mTrace 패킷을 표시할 수 있습니다. mtrace v2는 UDP 패킷을 사용하므로 mtrace v2에는 IGMP 디버그를 사용할 수 없습니다.
그러나 IOS-XR의 mtrace v2 패킷에서 사용되는 UDP 포트 33433에 집중할 수 있습니다.
예:
중간 라우터에서 UDP mtracev2 패킷을 디버깅합니다.
IR-9
RP/0/RP0/CPU0:IR-9#show access-lists
ipv4 access-list mtracev2
10 permit udp any eq 33433 any eq 33433
RP/0/RP0/CPU0:IR-9#debug udp packet v4-access-list mtracev2 location 0/RP0/CPU0
RP/0/RP0/CPU0:IR-9#show debug
#### debug flags set from tty 'con0_RP0_CPU0' ####
udp packet flag is ON with value '0x1:0x0:0x4:mtracev2:0x0:::'
RP/0/RP0/CPU0:IR-9#RP/0/RP0/CPU0:IR-9#
RP/0/RP0/CPU0:IR-9#
RP/0/RP0/CPU0:Jun 19 07:20:13.123 UTC: syslog_dev[115]: udp[214] PID-22001: R 42469 ms LEN 60 10.4.9.4:33433 <-> 10.4.9.9:33433
RP/0/RP0/CPU0:Jun 19 07:20:13.123 UTC: syslog_dev[115]: udp[214] PID-22001:
RP/0/RP0/CPU0:Jun 19 07:20:13.139 UTC: syslog_dev[115]: udp[214] PID-22062: S 15 ms LEN 100 10.8.9.9:33433 <-> 10.8.9.8:33433
RP/0/RP0/CPU0:Jun 19 07:20:13.139 UTC: syslog_dev[115]: udp[214] PID-22062:
중간 라우터는 mtrace v2 메시지를 수신하고 전송합니다.
어떤 라우터가 FHR 및 LHR인지 확인합니다. 다른 라우터는 mtrace를 완료할 수 없습니다.
라우터에 동기화된 시계가 있는 경우 타임스탬프가 있기 때문에 mtrace 메시지를 전파하는 데 걸리는 시간을 측정할 수 있습니다. 이 메시지는 모든 홉에서 제어 메시지로 처리되므로 이 시간은 표시만 됩니다.
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
01-Jul-2024 |
최초 릴리스 |