TTL and Traceroute Explained
Introduction
Imagine a world without tracert/traceroute. You would be sending your precious packets out into the big wide world with no idea where they go and what they might meet when they are out there. When you set up routers with complex route statements you wouldn’t really know if everything you want is travelling the path you intend it to. When that pesky machine across the internet is "hammering" away at your mail server and you’d really like to know where it is you would be "blind". Enter traceroute, the network administrator’s personal "tracker".
Traceroute was originally conceived as a hack by Van Jacobson in about 1988. He needed to find a way to delineate the path his packets were taking through a routed network to troubleshoot some problems. There were no tools available to do this and there was no clear and easy answer. With knowledge of how the network works Van created traceroute. The solution is elegant in it’s pure simplicity. It’s all in the TTL…..
NOTE: My definition of a "hack" has always been that it is the use of the knowledge regarding how a system works to obtain results that the system was not intended to provide. As such I have always been extremely impressed by the pure simplicity of traceroute as a perfect example of a true "hack" of a system. It’s a little thing of beauty.