Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Vergelijking mtrace v1 en mtrace v2

mtrace v2 Details

mtrace v2 op IOS-XR

Syntaxis van de opdracht

Voorbeelden

Opmerkingen

Inleiding

Dit document beschrijft mtrace versie 2 in Cisco IOS®XR.

Voorwaarden

Vereisten

Er zijn geen specifieke vereisten van toepassing op dit document.

Gebruikte componenten

Dit document is specifiek voor Cisco IOS®XR, maar is niet beperkt tot een specifieke softwarerelease of hardware.

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u de potentiële impact van elke opdracht begrijpen.

Vergelijking mtrace v1 en mtrace v2

- mtrace v2 Antwoordbericht komt overeen met mTrace v1 Antwoordbericht.

- mtrace v1 ondersteunt alleen IPv4-multicast. mTrace v2 ondersteunt IPv4- en IPv6-multicast.

- mtrace v1 Query- en Response-berichten zijn IGMP-berichten. Alle mTrace v2-pakketten zijn UDP.

- mtrace v1 had een veld voor het Routing Protocol, het multicast-routingprotocol dat voor RPF naar de upstream-router wordt gebruikt. mTrace v2 heeft twee velden: een voor het unicast-routingprotocol dat voor RPF wordt gebruikt en een voor het multicast-routingprotocol dat naar de upstream-router loopt.

- Het doel van mtrace v1 en v2 is hetzelfde en de pakketsyntaxis is zeer vergelijkbaar.

- mtrace v1 en v2 gebruiken verschillende codereeksen voor de routeringsprotocollen en verzendcodes.

- mtrace v2 ondersteunt IPv6 met adresfamilie en een specifiek UDP-poortnummer (33435).

mtrace v2 Details

- Met het gereedschap kunt u het pad van een bron naar een bestemming overtrekken. Het verifieert het pad dat is genomen en kan ook op problemen wijzen, bijvoorbeeld met Time-To-Live (TTL) of Reverse Path Forwarding (RPF).

- Het doel van mtrace v2 en v1 is hetzelfde. De manier waarop mtrace het pad verifieert is om een pakket naar de bestemming te sturen (Last Hop Router of LHR) en het pad terug te traceren naar de bron (bronboom) of de Rendez-Vous Point (RP) router. Dit betekent dat u de bestemming (unicastadres), de bron (unicastadres) en de multicast-groep moet opgeven.

- De echte kracht van de mtrace-functie is dat de mtrace-opdracht kan worden uitgevoerd vanaf elke router (originator) in het netwerk. Het hoeft niet de First Hop Router (FHR) of de RP te zijn.

- mtrace v2 wordt gespecificeerd in RFC 8487: mtrace, versie 2: Traceroute Facility voor IP-multicast

- mtrace v1on IOS-XR is gebaseerd op een concept: draft-ietf-idmr-traceroute-ipm

- mtrace v2 ondersteunt mVPN niet

Er zijn drie soorten pakketten die voor mtrace worden gebruikt. Deze drie pakketten maken samen het werk van sporen. De maker stuurt een mtrace Query-pakket naar de Last Hop Router. Deze LHR maakt van de Query een verzoekpakket. Dit pakket wordt dan unicast doorgestuurd, hop-door-hop, naar de stroomopwaartse router. De LHR en elke upstream router voegen een reactiegegevensblok toe dat nuttige informatie bevat zoals interfaceadres, routeringsprotocol, het doorsturen van code enzovoort. Wanneer het Verzoek bij FHR aankomt, verandert het Verzoek in een pakket van het Antwoord en door:sturen het aan de schepper. Als het spoor niet wordt voltooid, zou een tussenrouter het Antwoord aan de schepper eveneens kunnen terugkeren, als bijvoorbeeld een fatale fout zoals "geen route"voorkwam.

Bekijk deze afbeelding voor de procedure en de verwerking van de drie mtrace pakkettypes.

De originele R-10. De LHR is LHR-4. De FHR is FHR-3. De RP is RP-5. Op het netwerk wordt de PIM Sparse-modus of Any Source Multicast (ASM) uitgevoerd.

Het mtrace-verzoekbericht ziet er zo uit.

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 #         |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Het cliëntadres is het adres van de schepper, zodat de router waar u het bevel mTrace v2 uitvoert.

Het blok met antwoordgegevens bevat interessante informatie. Deze informatie wordt toegevoegd aan het bericht Verzoek. Elke router voegt één blok van reactiegegevens aan het bericht van het Verzoek toe. Hier is het blok met reactiegegevens.

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|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Het is deze informatie van het reactieblok die wordt gebruikt om de tracerouteoutput te tonen. Elk reactieblok is één regel in de mtrace-uitvoer.

Het routingprotocol en de multicast routingprotocolnummers zijn dezelfde waarde als ipMcastRouteProtocol uit de IP-multicast MIB (RFC 5132). Ze zijn niet dezelfde als de waarden gebruikt in mtrace v1.

IANA somt ze als volgt op:

Routing-protocollen:

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]

Multicast-routingprotocollen:

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)

De codes voor het doorsturen van mtrace v2 staan hier. Ze zijn niet hetzelfde als bij 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 v2 op IOS-XR

Syntaxis van de opdracht

Gebruik: mtrace <src_addr> [<dest_addr>] [<group_addr>] [<resp_addr>] [<ttl>]

Verzeker u ervan 2 te specificeren om mtrace v2 te gebruiken.

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

<cr>

Het bronadres is het adres van de maker.

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)

<cr>

Het bestemmingsadres is het adres van de 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)

<cr>

Het groepsadres is het groepsadres van de multicast-stroom die wordt overgetrokken.

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)

<cr>

Het antwoordadres is het adres waarnaar het traceroute-antwoord wordt teruggestuurd.

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)

<cr>

Voorbeelden

Bericht dat het bevel van om het even welke router in het netwerk, niet noodzakelijk een PIM/multicast toegelaten router of langs de specifieke gedeelde of bronboom kan worden in werking gesteld die onder onderzoek is.

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]

Je kunt zien dat het mtrace is uitgevoerd voor de gedeelde boom (*,G). Het mtrace begon bij de Last Hop Router 10.2.4.4 en ging terug op de gedeelde boom naar de RP (10.0.0.5). De reden hiervoor is dat de LHR-4 router geen (S,G) MRIB-ingang heeft voor de bron 10.1.3.3 voor Groep 25.1.1.1.

Het gedeelte [10.1.3.0/24] is de unicastroute die wordt gebruikt voor de PDF-informatie. RPF info in IOS-XR is altijd een /32 ingang voor IPv4. Deze info is afgeleid van een unicastroute. Deze unicastroute wordt weergegeven.

Er wordt een multicast-protocol weergegeven. Dit is PIM.

De hoptelling wordt in omgekeerde getoond, beginnend bij 0 bij de laatste hoprouter en negatief gaand tot de Eerste Hop router wordt bereikt.

Het volgende is het geval van de bronboom.

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

Er is een MRIB-vermelding voor bron 10.1.3.1. Het mtrace commando toont een andere output wanneer gedaan voor die bron.

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]

Merk op dat het omgekeerde pad nu LHR4 - IR-9 - IR-8 - FHR-3 is. Dit is de bronboom van FHR-3 tot LHR-4. Dit komt overeen met de MRIB-vermeldingen voor (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

U kunt met mtrace v1 gebruikendebug IGMP om de mTrace-pakketten op elke router langs het traceerpad weer te geven. mtrace v2 gebruikt UDP-pakketten, zodat de IGMP-debug niet voor mtrace v2 kan worden gebruikt.

U kunt zich echter richten op UDP-33433 die door mtrace v2-pakketten op IOS-XR wordt gebruikt.

Voorbeeld:

Debug UDP mtracev2-pakketten op de intermediaire router.

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:

De intermediaire router ontvangt en verzendt een mtrace v2 bericht.

Opmerkingen

Zorg ervoor dat u weet welke routers de FHR en LHR zijn. Andere routers kunnen het spoor niet voltooien.

Als de routers gesynchroniseerde klokken hebben, kunt u de tijd meten die nodig is om de sporenberichten te verspreiden, vanwege de aanwezigheid van de tijdstempels. Dit keer is slechts een indicatie, aangezien deze berichten worden behandeld als controleberichten bij elke hop.