Subject: [MBONED] mboned: UDP port conflict mtrace/traceroute

From: Toerless Eckert <[email-masked]>
Date: Fri, 26 Jul 2019 00:05:21 +0200

I think it would be great if we can capture in an mtrace errata for
later memory the reason why practically the method of per-packet port
number scheme in traceroute is highly useful and also widely
deployed.

The reason is that you want to parallelize per-hop packets so they
can overlap in time. To do this, you need a unique identifier in each
packet that can be recognized in the ICMP unreachable reply going
back to the sender. As ICMP APIs are not standardized, those
APIs may not always deliver all fields of the actual ICMP unreach
packet, so the destination port number is the safest identifier to
rely on.

Ultimately, we should ask for IANA to put for the 254 port numbers
following the traceroute assigned port number something like
"reserved for tracroute", and maybe someone who wants an easy RFC
number could write a one-pager outlining this scheme informationally ;-)

Cheers
    Toerless

---

From: Joe Touch <[email-masked]>
Date: Thu, 25 Jul 2019 16:33:07 -0700

Hi, all, 

On 2019-07-25 15:05, Toerless Eckert wrote:

> packet,

Understood up to here... 

> so the destination port number is the safest identifier to
> rely on.

Why wouldn't the IP ID be equally "safe"? (you can set this even for
IPv6 that aren't fragments). You're supposed to get the Internet header
back... 

> number could write a one-pager outlining this scheme informationally ;-)]

Right now, traceroute already has one and so does mtrace. That ought to
be enough, per RFCs 6335 and 7605. 

Joe