La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
Questo documento descrive mtrace versione 2 in Cisco IOS®XR.
Nessun requisito specifico previsto per questo documento.
Questo documento è specifico per Cisco IOS®XR, ma non è limitato a una versione software o a un hardware specifico.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Nota: mtrace v2 sul software Cisco IOS XR utilizza la porta non standard 33433 anziché la porta RFC standard 33435.
Per mtrace vengono utilizzati tre tipi di pacchetti. Questi tre pacchetti insieme fanno funzionare mtrace. Il mittente invia un pacchetto di query mtrace al router dell'ultimo hop. Questo LHR trasforma la query in un pacchetto di richiesta. Il pacchetto viene quindi inoltrato unicast, hop-by-hop, verso il router upstream. L'LHR e ciascun router upstream aggiungono un blocco di dati di risposta contenente informazioni utili, quali indirizzo di interfaccia, protocollo di routing, codice di inoltro e così via. Quando la richiesta arriva all'FHR, trasforma la richiesta in un pacchetto di risposta e lo inoltra al mittente. Se la traccia non viene completata, un router intermedio potrebbe restituire la risposta anche al mittente, ad esempio nel caso si verifichi un errore irreversibile come "no route".
Osservare questa immagine per la procedura e la gestione dei tre tipi di pacchetti mtrace.
L'iniziatore è R-10. L'LHR è LHR-4. L'FHR è FHR-3. L'RP è RP-5. La rete esegue la modalità di sparsità PIM o Any Source Multicast (ASM).
Il messaggio di richiesta mtrace è simile al seguente.
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 # |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
L'indirizzo del client è l'indirizzo del mittente, quindi il router in cui viene eseguito il comando mTrace v2.
Il blocco di dati di risposta contiene informazioni interessanti. Queste informazioni vengono aggiunte al messaggio di richiesta. Ogni router aggiunge un blocco di dati di risposta al messaggio di richiesta. Di seguito è riportato il blocco dei dati di risposta.
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|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Queste informazioni sul blocco di risposta vengono usate per visualizzare l'output del comando traceroute. Ogni blocco di risposta è rappresentato da una riga nell'output di mtrace.
I numeri del protocollo di routing e del protocollo di routing multicast sono uguali a quelli di ipMcastRouteRtProtocol del MIB multicast IP (RFC 5132). Non corrispondono ai valori utilizzati in mtrace v1.
IANA le elenca come segue:
Protocolli di routing
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]
Protocolli di routing multicast
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)
Di seguito sono riportati i codici di inoltro per mtrace v2. Non corrispondono a quelle di 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.
Utilizzo: mtrace
Assicurarsi di specificare 2 per utilizzare mtrace v2.
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
L'indirizzo di origine corrisponde all'indirizzo del mittente.
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)
L'indirizzo di destinazione è l'indirizzo dell'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)
L'indirizzo del gruppo è l'indirizzo del gruppo del flusso multicast di cui si sta eseguendo la traccia.
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)
L'indirizzo della risposta è l'indirizzo al quale viene restituita la risposta 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)
Il comando può essere avviato da qualsiasi router della rete, non necessariamente da un router abilitato per PIM/multicast o lungo l'albero di origine o condiviso specifico in esame.
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]
È possibile visualizzare l'esecuzione di mtrace per la struttura condivisa (*,G). La mtrace è iniziata in corrispondenza del router 10.2.4.4 dell'ultimo hop ed è andata indietro nella struttura condivisa fino al router RP (10.0.0.5). Il motivo è che il router LHR-4 non ha una voce MRIB (S,G) per l'origine 10.1.3.3 per il gruppo 25.1.1.1.
La parte [10.1.3.0/24] è il percorso unicast utilizzato per le informazioni RPF. Le informazioni RPF in IOS-XR sono sempre una voce /32 per IPv4. Queste informazioni derivano da una route unicast. Viene visualizzata questa route unicast.
Viene visualizzato il protocollo multicast. Ecco qui PIM.
Il numero di hop viene visualizzato in ordine inverso, partendo da 0 all'ultimo router hop e passando a un valore negativo fino a quando non viene raggiunto il primo router hop.
Il successivo è il caso della struttura di origine.
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
Esiste una voce MRIB per Source 10.1.3.1. Il comando mtrace visualizza un output diverso quando viene eseguito per tale source.
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]
Si noti che il percorso inverso è ora LHR4 - IR-9 - IR-8 - FHR-3. Si tratta dell'albero di origine da FHR-3 a LHR-4. Corrisponde alle voci MRIB per (S,G).
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
È possibile utilizzaredebug IGMP
con mtrace v1 per visualizzare i pacchetti mTrace su qualsiasi router del percorso di traccia. mtrace v2 utilizza pacchetti UDP, pertanto il debug IGMP non può essere utilizzato per mtrace v2.
È tuttavia possibile concentrarsi sulla porta UDP 3433 utilizzata dai pacchetti mtrace v2 su IOS-XR.
Esempio:
Eseguire il debug dei pacchetti UDP mtracev2 sul router intermedio.
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:
Il router intermedio riceve e invia un messaggio mtrace v2.
Accertarsi di sapere quali router sono FHR e LHR. Altri router non sono in grado di completare la traccia.
Se i router hanno orologi sincronizzati, è possibile misurare il tempo necessario per propagare i messaggi mtrace a causa della presenza dei timestamp. Questa volta si tratta solo di un'indicazione, in quanto i messaggi vengono trattati come messaggi di controllo in ogni hop.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
01-Jul-2024 |
Versione iniziale |