[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: End System PMTUD behavior question



On Fri, 23 Jan 2009, Peter.Hunt@nokia.com wrote:
For example, if a user does a "ping -s 1500" to a destination whose PMTU is 1280, the only way to avoid IP fragmentation is for the ping
application to split the data into multiple messages, or for IPCMPv6 to do so. Either way, you have to introduce some way to identify them
as "ping fragments" and reassemble them in order. That will require changes to the ICMPv6 protocol, I think. Furthermore, you're no longer
really doing a "ping 1500", but two pings of 1280 and 220 bytes, respectively.

FWIW, what Remi said, different ping programs probably do this differently. And good ones allow you to do exactly what you want (this is from Linux)

       -M hint
              Select Path MTU Discovery strategy.  hint may be either _do_ (prohibit fragmentation, even local one), _want_ (do PMTU
              discovery, fragment locally when packet size is large), or _dont_ (do not set DF flag).

When I use ping to figure out Path MTU issue, I usually have to run tcpdump on the side to be 100% sure how ping is actually behaving, because additionally, there's also PMTU caching on the local host. Some older versions also didn't support '-M do' properly for IPv6.

So there are quite a few things that could lead to non-deterministic behaviour.

--
Pekka Savola                 "You each name yourselves king, yet the
Netcore Oy                    kingdom bleeds."
Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings