Prints a multicast path from a source to a receiver.
mtrace [ -l ] [ -M ] [ -n ] [ -p ] [ -s ] [ -U ] [ -g gateway ] [ -i if_addr ] [ -m max_hops ] [ -q nqueries ] [ -r resp_dest ] [ -S statint ] [ -t ttl] [ -w wait ] source [ receiver ] [ group ]
A trace query is passed hop-by-hop along the path from the receiver to the source, collecting hop addresses, packet counts, and routing error conditions along the path, and then the response is returned to the requestor. The default receiver is the host running the mtrace command, and the default group is 0.0.0.0.
By default, the mtrace command first attempts to trace the full reverse path, unless the number of hops to trace is explicitly set with the -m flag. If there is no response within a 3-second timeout interval (changed with the -w flag), an * (asterisk) is printed and the probing switches to hop-by-hop mode. Trace queries are issued starting with a maximum hop count of one and increasing by one until the full path is traced or no response is received. At each hop, multiple probes are sent (default is three, changed with -q flag). The first half of the attempts (default is two) are made with the reply address set to standard multicast address, mtrace.mcast.net (224.0.1.32) with the ttl set to 32 more than what is needed to pass the thresholds seen so far along the path to the receiver. For each additional attempt, the ttl is increased by another 32 each time up to a maximum of 192. Because the desired router may not be able to send a multicast reply, the remainder of the attempts request that the response be sent via unicast to the host running the mtrace command.
Alternatively, the multicast ttl can be set explicitly with the -t flag, the initial multicast attempts can be forced to use unicast instead with the -U flag, the final unicast attempts can be forced to use multicast instead with the -M flag, or if you specify -UM, the mtrace command will first attempt using unicast and then multicast. For each attempt, if no response is received within the timeout, an * (asterisk) is printed. After the specified number of attempts have failed, the mtrace command will try to query the next hop router with a DVMRP_ASK_NEIGHBORS2 request to see what kind of router it is. The mtrace command will try to query three (changed with the -e flag) hops past a non-responding router. Even though the mtrace command is incapable of sending a response, it might be capable of forwarding the request.
Item | Description |
---|---|
-g gateway | Sends the trace query via unicast directly to the multicast router gateway rather than multicasting the query. This must be the last-hop router on the path from the intended source to the receiver. |
-i if_addr | Uses if_addr as the local interface address (on a multi-homed host) for sending the trace query and as the default for the receiver and the response destination. |
-l | Loops indefinitely printing packet rate and loss statistics for the multicast path every 10 seconds (see -S stat_int). |
-m max_hops | Sets max_hops to the maximum number of hops that will be traced from the receiver to the source. The default is 32 hops and infinity for the DVMRP routing protocol). |
-M | Always requests the response using multicast rather than attempting unicast for the last half of the tries. |
-n | Prints hop addresses numerically rather than symbolically and numerically (saves a name server address-to-name lookup for each router found on the path). |
-p | Listens passively for multicast responses from traces initiated by others. This works best when run on a multicast router. |
-q nqueries | Sets the maximum number of query attempts for any hop to nqueries. The default is 3. |
-r resp_dest | Sends the trace response to dhost rather than to the host on which the mtrace command is being run, or to a multicast address other than the one registered for this purpose (224.0.1.32). |
-s | Prints a short form output including only the multicast path and not the packet rate and loss statistics. |
-S statint | Changes the interval between statistics gathering traces to statint seconds (default 10 seconds). |
-t ttl | Sets the ttl (time-to-live, or number of hops) for multicast trace queries and responses. The default is 127, except for local queries to the all routers multicast group that use the ttl of 1. |
-U | Forces initial multicast attempts to use unicast instead. |
-w wait | Sets the time to wait for a trace response towait seconds (default 3 seconds). |
Item | Description |
---|---|
source | Specifies the host for which the multicast path from a particular receiver is sought. This is a required parameter. |
receiver | Specifies the host from which the multicast path is sought for a particular source. Default is the host in which the mtrace command is running. This is an optional parameter. |
group | Specifies the multicast group. This is an optional parameter. |
# mtrace 10.27.41.57 224.2.0.1
Mtrace from 10.27.41.57 to 10.27.40.20 via group 224.2.0.1
Querying full reverse path...
0 ? (10.27.40.20)
-1 ? (10.27.40.11) DVMRP thresh^ 1
-2 ? (10.27.41.57)
Round trip time 1 ms; total ttl of 2 required.
Waiting to accumulate statistics... Results after 10 seconds:
Source Response Dest Overall Packet Statistics For Traffic From
10.27.41.57 224.0.1.32 Packet 10.27.41.57 To 224.2.0.1
v __/ rtt 1 ms Rate Lost/Sent = Pct Rate
10.27.41.11
10.27.40.11 ?
v \__ ttl 2 0 pps
10.27.40.20 10.27.40.20
Receiver Query Source