Re: forward vs reverse path measurements: a neat use for lsping

acollins@hotate
Mon, 14 Dec 1998 21:47:44 -0800 (PST)

This sort of behavior is an option in some versions of traceroute with
the -g option (seems to exist in the BSD version, but not the linux
version on hotate). Stevens talks briefly about this in volume 1,
starting at the bottom of page 105.

It should be possible to get the whole round trip path with the
following:

host1: traceroute -g host2 host1

which traceroutes to the originator, but insists on the target as a
loose source route. None of this seems to work quite right on the
loom cluster however, but I didn't try very hard.

Andy

> Ok, here's the crazy idea of the day (abusing IP is much more fun than
> making slides):
>
> Modifying Kenichi's lsping to differentiate forward from reverse
> paths.
>
> Ok, so first, the target host has to forward LSR IP packets. I think
> Kenichi found that about 10% of the servers he surveyed would do this
> (surprising, but apparently true). Ok, now traceroute from the source
> to the target, and report the routers traversed and the final hop count
> as finalTtl.
>
> Now, set ttl to FinalTtl + 1, and send the packet from the source "back
> to the source", but loose source routed via the target. It will get to
> the target and then will return back towards the source, but will only
> go one hop before ttl is decremented to 0 and an ICMP error will be
> returned.... to the source from the offending router. In this way, one
> can implement "reverse traceroute" that gets the list of hosts traversed
> in the "reverse" direction.
>
> Anyone (Kenichi?) interesting in trying to get this to work?
>
> - Stefan
>
>
>

-- 
//-------------------------------------------------------------------------
//  Andy Collins -- KC6YEY                     acollins@cs.washington.edu
//                              Graduate Student, University of Washington
// Ford Pinto Rule:
//   Never buy a car that has a wick.
//                                 (collection last updated by Don Woods)
//-------------------------------------------------------------------------