MRTREE(8) MAINTENANCE COMMANDS MRTREE(8)

NAME

mrtree - print out a multicast distribution tree

SYNOPSIS

mrtree [-nsfdl] [-T secs] [-c community] [-p port] [-t ttl] host
mrtree [-nsfdl] [-T secs] [-c community] [-p port] [-t ttl] host source
mrtree [-nsfdl] [-T secs] [-c community] [-p port] [-t ttl] host group source

DESCRIPTION

mrtree is a utility for gathering information about a multicast tree rooted at a given router. In the process of discovering a tree, it gathers information about the capabilities of the constituent routers as well as packet count statistics.

mrtree can be used to discover

  1. the actual multicast (sub)tree for a given source multicasting to a given group and rooted at a given router.
  2. the potential multicast (sub)tree for a given source rooted at a given router.
An actual tree consists of routers which are actually currently forwarding multicast traffic sent by a given source to a specific multicast group.

A potential tree consists of routers which would be traversed if every host reachable by them were a member of a group to which the given source was multicasting.

mrtree uses a combination of IGMP and SNMP queries to discover a multicast tree and hence its success depends very much on the level of SNMP support provided by the routers comprising the tree. mrtree output provides the most information for trees whose routers support SNMP queries to the DVMRP and IP Multicast MIBs. Information contained in the IP Multicast MIB is used when discovering an actual tree whereas information contained in the DVMRP MIB is used when discovering a potential tree. However, even if some routers in a multicast tree do not support these MIBs, mrtree still provides important information and makes a best effort at discovering as much of the tree as possible. In certain cases, mrtree will even jump across a non-SNMP-aware router whose parent and children are SNMP-aware.

mrtree can be invoked in one of three basic ways. The first two discover a potential multicast tree.

mrtree [options] host source
mrtree [options] host
The first invocation causes mrtree to try and discover the potential multicast tree rooted at host for source. The second invocation behaves exactly the same except that the source is taken to be the same as host.

The third way that mrtree can be invoked is as follows.

mrtree [options] host group source
This invocation cases mrtree to try and discover the actual multicast tree rooted at host for which source is multicasting to the group, group.

OPTIONS

-n
Display IP addresses in numeric format
-s
Include subnets as leaves
-f
Use IGMP version string (only) to determine SNMP capability
-d
Compute Statistics
-l
Show local IP addresses of links
-c community
Use alternate community string
-p port
Use alternate SNMP port number
-t ttl
View tree for packets with time to live, ttl
-T seconds
Timeout in seconds for IGMP and SNMP queries. The default is 2 seconds.

OUTPUT

In the absence of the -l option, mrtree writes one or more lines per router, starting with the root, and lines are indented to reflect a router's position within the tree. In addition, if a child (or children) of a router communicate with the router over a subnet (as opposed to a tunnel), a line will be printed indicating the subnet address and mask. Thus, for each router we have a single `numbered router line' of the form
x hostname ( IP_addr ) [ flags ]
and for each relevant subnet we have a line of the form
x subnet: net_addr/mask_len
For each type of line above, x is the router or subnet's level within the tree. In the case of the router, hostname and IP_addr refer (not surprisingly) to the hostname and IP address of the router. flags gives an indication of the router's capabilities and can be any subset (including the null set) of the following.
ver X
Version number X of routed software. At the time of this writing, versions greater than or equal to 10 imply that the router is a cisco.
leaf
Router is a leaf on the multicast tree
prune
Router knows how to prune distribution trees for which it is the root and for which there are no listeners.
genid
Router supports Generation ID information in DVMRP probes.
mtrace
Router understands mtrace requests.
snmp
Router supports SNMP (but not necessarily all relevant MIBs).
If the square brackets, [], contain no flags at all, it means that mrtree was able to obtain no such information about the router.

If the router speaks SNMP then the line will also contain packet information formatted as follows.

x hostname ( IP_addr ) [ flags ] y pkts ( z% )
y will be the number of packets as determined by querying for the ipMRoutePkts variable from the router's IP Multicast MIB. z is the percentage of the root's packet count that y represents. (The line for the root will not contain such a percentage.)

Occasionally, a numbered router line will be followed by a question mark, ?. This indicates that mrtree was not able to definitively determine if the router was on the multicast tree. It might very well be on the tree but because it doesn't support, say the DVMRP MIB, mrtree can't be sure and hence can't explore further.

Lines corresponding to subnets are always immediately fol- lowed by the children on those subnets. Children connected to a parent by a tunnel always appear last in the list.

One of several 'message' lines may appear after a numbered 'host' line and typically indicates that the router did not respond to a query of some sort. This line can be one of

... (w.x.y.z did not respond to DVMRP 'NEIGHBORS' msg)
... (No response from w.x.y.z)
... (w.x.y.z does not support SNMP)
... (something else happened at w.x.y.z)
Here is a sample of mrtree output illustrating the lines described above.
     % mrtree mbone.merit.edu 224.2.143.24 204.62.246.73
     Actual distribution tree rooted at mbone.merit.edu for group 224.2.143.24 and source 204.62.246.73...
      0 mbone.merit.edu (198.108.2.20) [ver 3.8,prune,genid,mtrace], 247390 pkts
         1 cujo.merit.edu (198.108.60.97) [ver 3.6,prune,genid,mtrace], 3334486 pkts (1347%)
            2 subnet: 198.108.60/24
            2 shockwave.merit.edu (198.108.60.69) [ver 3.8,prune,genid,mtrace,snmp], 1239130 pkts (500%)
         1 tibia.cic.net (192.217.65.100) [ver 3.8,prune,genid,mtrace]
           ... (No response from tibia.cic.net)
            2 fibula.cic.net (192.217.65.101) [ver 3.8,prune,genid,mtrace] ?
            2 dcl2.gw.uiuc.edu (192.17.2.8) [ver 1.0] ?
            2 goober.mci.net (204.70.104.45) [ver 3.6,prune,genid,mtrace] ?
              ... (goober.mci.net did not respond to DVMRP 'NEIGHBORS' msg)
         1 a-wing.jvnc.net (130.94.40.6) [ver 3.3]
           ... (a-wing.jvnc.net does not support SNMP)
            2 liberty-eth0/0.jvnc.net (130.94.40.1) [ver 10.2] ?
            2 noc.hpc.org (192.187.8.2) [ver 3.8,prune,genid,mtrace] ?
            2 liberty.jvnc.net (130.94.40.201) [ver 10.2] ?
            2 dstest.ds.internic.net (198.49.45.4) [ver 3.8,prune,genid,mtrace] ?
            2 cybercast.cc.nus.sg (137.132.9.70) [ver 3.6,prune,genid,mtrace] ?
              ... (cybercast.cc.nus.sg did not respond to DVMRP 'NEIGHBORS' msg)

SEE ALSO

mrinfo(8), mstat(8), mtrace(8)

BUGS

I'm sure there are some....

ACKNOWLEDGMENTS

mrtree was written by
Dave Thaler, University of Michigan EECS Department,
and
Andy Adams, Merit Network, Inc.
This work was supported by National Science Foundation Grant NCR-9417032.