Raceroute: Streamlining traceroute by estimating path lengths

Traditional traceroute determines the path through a network by sending probe packets with progressively increasing TTL/hop count values so that routers that are progressively further from the source send ICMP Time Exceeded messages and so reveal their identity. This process can be slow (because traceroute must wait for a timeout or response to one probe before sending the next) and inefficient (through repeated probing of routers near the inquirer that lie on the intersection of paths leading to multiple targets). This paper proposes that the inquirer send a scout packet to the (reachable) target before sending traceroute probes. The inquirer uses the TTL of the response to this scout packet to estimate the length of the path to the target (with tolerance for path asymmetry), and can then either expedite the traceroute process (by sending probes to each of the estimated number of routers on the path in quick succession) or reduce the number of probes needed (by reversing the direction of traditional traceroute, tracing the path from the target towards the inquirer, and terminating the process when it reaches a router on a known path from the inquirer).

Source code. Note that you'll need version 0.8.3 of libpcap and that the program has only been tested on RedHat Linux 9.

Raceroute is part of a larger project on Network dependability.

Address questions about this web page or requests to access the source code to t.moors AT unsw.edu.au.