Multicast Traceroute Diagnostics

Multicast traceroute (mtrace) is a diagnostic tool that traces the multicast path from a specified destination to a source for a multicast group. It runs over the IGMP protocol.

The unicast traceroute program allows the tracing of a path from one device to another. The key mechanism for unicast traceroute is the ICMP TTL exceeded message, which is specifically excluded as a response to multicast packets. The mtrace facility allows the tracing of an IP multicast routing path. Mtrace also requires special implementations on the part of routers.

Mtrace uses any information available in the router to determine a previous hop to forward the trace toward the source. Multicast routing protocols vary in the type and amount of state they keep. Mtrace endeavors to work with all of them by using whatever is available. For example, if a PIM-SM router is on the (*,G) tree, mtrace chooses the parent toward the RP as the previous hop. In such a case, no source or group-specific state is available, but the path can still be traced.

Click to expand in new window
Network topology

Primary components of an mtrace implementation

Mtrace query
The party requesting the traceroute sends a traceroute query packet to the last-hop (LH) multicast router for the given destination. The query and request have the same opcode. The receiving router can distinguish between a query and a request by checking the size of the packet. A query is a request packet with none of the response fields filled up.
Mtrace request
The LH router changes the query packet into a request packet by adding a response data block containing its interface addresses and packet statistics. The LH router then forwards the request packet by unicast to the router that it believes is the proper previous hop for the given source and group. Each hop adds its response data to the end of the request packet, then forwards it by unicast to the previous hop.
Mtrace response
The first hop (FH) router is the router that believes that packets from the source originate on one of its directly connected networks. The FH router changes the packet type to a response packet and sends the completed response to the response destination address. The response may be returned before reaching the FH router if a fatal error condition, such as "no route," is encountered along the path.