mrtree can be used to discover
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 sourceThe 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.
mrtree [options] host
The third way that mrtree can be invoked is as follows.
mrtree [options] host group sourceThis invocation cases mrtree to try and discover the actual multicast tree rooted at host for which source is multicasting to the group, group.
x hostname ( IP_addr ) [ flags ]and for each relevant subnet we have a line of the form
x subnet: net_addr/mask_lenFor 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.
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)Here is a sample of mrtree output illustrating the lines described above.
... (No response from w.x.y.z)
... (w.x.y.z does not support SNMP)
... (something else happened at w.x.y.z)
% 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)