nanog mailing list archives

Re: rfc 1812 third party address on traceroute


From: Job Snijders <job () instituut net>
Date: Tue, 31 May 2016 10:27:33 +0200

On Mon, May 30, 2016 at 10:03:33PM -0700, Randy Bush wrote:
               .-----------------.
               |                 |
               |               B |--------- D
    S ---------| A      R        |
               |               C |--------- (toward S)
               |                 |
               `-----------------'

if the source of a traceroute from S toward D with TTL to expire on R,
and R's FIB wants to exit via C to get back to S (yes, virginia, the
internet is highly asymmetric), the source address of the time exceeded
message should be C.

of course, simpletons such as i would desire the source of the time
exceeded message to be A.  after all, this is the interface to which i
sent the icmp with the TTL to expire.

is anyone seeing the dreaded rfc1812 behavior in a citable fashion?  how
common is it?

On most Linux the default behaviour is using source address "C", but
this can be corrected by setting the following somewhere in your
/etc/sysctl.d/ files:

        # make traceroute nice
        net.ipv4.icmp_errors_use_inbound_ifaddr=1

Kind regards,

Job


Current thread: