On Routes and Multicast Trees in the Internet.

The archive routes.tar.gz  (243 Kb compressed, 2.9 Mb uncompressed) contains the following files :
1 carina.rp.csiro.au
2 nsw.gw.csiro.au
3 . . . .
. . . . .
3888 mae-west.sanfrancisco.mci.net
1 2 1
2 3 1
. . . .
806 807 1


On Routes and Multicast Trees in the Internet

Jean-Jacques PANSIOT, Dominique GRAD,

ACM Computer Communication Review, Volume 28, Number 1, page 41--50 - january 1998


The following tools were used to trace a large number of internet routes using a minimum of time and bandwidth. They have been used on SunOS and Solaris systems but should be easily compiled on other unix systems. They are given as C programs, without any warranty.

The following traceroute(C program) program is a modification of the well known traceroute utility from Van Jacobson. Two options have been added.
 

Option -M minttl
starts tracing the route at ttl minttl, instead of  1 in normal traceroute.
Example :
traceroute -M 4 trompinet
traceroute to trompinet.u-strasbg.fr (130.79.75.83), 80 hops max, 40 byte packets
 4  api-cisco.u-strasbg.fr (130.79.23.41)  5 ms  4 ms  4 ms
 5  trompinet.u-strasbg.fr (130.79.75.83)  3 ms  3 ms  3 ms
This saves time (and bandwidth) if the beginning of the route is well known.
Combined with the -m maxttl it allows to trace only a specified part of the route.

Option -u
-u stands for unique. Waits for the first response for each ttl (instead of sending  q queries in normal traceroute). For a given ttl, packets are sent until one response comes back or the maximum number of queries is reached. Tracing stops if the same router appears at 2 different ttl (loop) or if no router respond at a given ttl after the number of queries specified by the -q option. This speeds up a lot tracing routes if we are interested only in "good" routes (-u must not be used to debug routing problems). Responses are printed in a single row.
Example:
traceroute -u trompinet
traceroute to trompinet.u-strasbg.fr (130.79.75.83), 80 hops max, 40 byte packets
crc1-cisco.u-strasbg.fr chimie-cisco.u-strasbg.fr ensps-cisco.u-strasbg.fr api-cisco.u-strasbg.fr trompinet.u-strasbg.fr

As a companion utility, idist (C program), (for internet distance) also derived from traceroute, gives the distance (in number of hops) from the current host to the target host. Only one packet is sent.
Example:
idist trompinet
Distance= 5

If we wish to trace the route from host A to host B, and we are at  host C, we can compute the distance of A ( idist A) say n and then trace the route from A to B using source routing (traceroute -M n -g A B). Note that source routing is less and less usable since many networks filter source routed packets.

Jean-Jacques Pansiot,  Dominique Grad

07 january1998