Access to the Internic Blocked -- LSRR, traceroute with ICMP
Paul A Vixie
paul at vix.com
Thu Aug 22 16:19:07 UTC 1996
> > > Speaking of which, is anyone going to implement traceroute
> > >for UNIX which using icmp echo requests, instead of (semi-)random
> > >udp packets, as the ammo? This is one way which I think Microsoft out
> > >did the old UNIX implementations.
> Then how come UNIX traceroute works in so many places where MSloth's
> traceroute falls flat on it's face? Remember, an ICMP packet doesn't
> generate TIME EXCEEDED messages in many applications. It's listed
> as something the system MAY implement, not SHOULD or MUST. Time exceeded
> messages are a MUST for UDP and TCP packets.
I've just got to be missing something here. Microsoft is confused about ICMP
if they are really doing what you say. On Page 1 ("Introduction") of RFC 792:
The ICMP messages typically report errors in the processing of
datagrams. To avoid the infinite regress of messages about messages
etc., no ICMP messages are sent about ICMP messages. [...]
So, an ICMP [8,0] (Echo Request) whose TTL falls to 0 cannot cause an
ICMP [11,0] (Time Exceeded) from an RFC 792 compliant gateway. BSD (all
versions) gets this right. What gateways are doing this wrong, and are
their vendors represented on NANOG?
Or was RFC 792 amended and I didn't hear about it?
More information about the NANOG