Test your connectivity for World IPv6 Day

Rémi Després remi.despres at free.fr
Tue Jun 7 10:44:39 CEST 2011

Le 6 juin 2011 à 22:49, Fred Baker a écrit :

> On Jun 6, 2011, at 1:26 PM, Rémi Després wrote:
>> Le 6 juin 2011 à 18:55, Fred Baker a écrit :
>>> On Jun 6, 2011, at 8:58 AM, Rémi Després wrote:
>>>> Unless there are good reasons to know that a longer PMTU applies to all their connections, all servers SHOULD send IPv6 packets to off-link destinations with 1280 octets as default PMTU.
>>>> Servers that don't do that are open for PMTU problems. 
>>> I understand where you're coming from,
>> ???
>>> but I disagree.
>> Well, if you deny that there are operational problems with PMTUD today, you may be better informed than I am.
>>> I think servers and the networks supporting them need to implement PMTU. The way to do that is (pick one) RFC 4821 in TCP or to manage to not block ICMPv6.
>> - At least Packet-too-big ICMPv6 messages should never be blocked, agreed, but for others this isn't AFAIK as obvious. 
>> - Servers that deliver valuable contents don't control where ICMPv6 may be blocked.
> That's specifically why RFC 4281 is written as it is.

Is PLPMTUD of RFC 4821 commonly used? 
(It is a complex mechanism that has a complex relationship with packet losses due to congestion control.)
I doubt it, but please correct me if I am wrong.
In any case:

RFC 4821 says:
"  It is RECOMMENDED that search_low be initially set to an MTU size
   that is likely to work over a very wide range of environments.  Given
   today's technologies, a value of 1024 bytes is probably safe enough.
   The initial value for search_low SHOULD be configurable."

In IPv6, 1280 is completely safe as far as PMTU's are concerned, and is better than 1024.
Starting with 1500, as some seem to advocate, is contrary to this recommendation.

It also says:
"  It is important that the Packetization Layer has a timely and robust
   mechanism for detecting and reporting losses."

There isn't AFAIK such a mechanism for all UDP based applications.

It also says:
"  Since protocols that do not implement PLPMTUD are still subject to
   problems due to ICMP black holes, it may be desirable to limit to
   these protocols to "safe" MTUs likely to work on any path (e.g., 1280

This is indeed 1280 (not 1500!).

It also says:
"  ... for
   some protocols, such as TCP, failed probes are more expensive than
   successful ones, since data in a failed probe will need to be
   retransmitted.  For such protocols, a strategy that raises the probe
   size in smaller increments might have lower overhead.  For many
   protocols, both at and above the Packetization Layer, the benefit of
   increasing MTU sizes may follow a step function such that it is not
   advantageous to probe within certain regions at all.

   As an optimization, it may be appropriate to probe at certain common
   or expected MTU sizes, for example, 1500 bytes for standard Ethernet,
   or 1500 bytes minus header sizes for tunnel protocols."

Since a host doesn't know which tunnels may exist between itself and oof-link remote endpoints, the safe initial-probe size is 1280 (the only one that is guaranteed to work across all standard-complying tunnels).
On paths where actual PMTU's are longer than 1280, and where PLPMTUD works, longer PMTU's can be discovered after some probes.

With this, I remain convinced that:
If you  prefer safe IPv6 connectivity with good enough efficiency to potentially optimized efficiency but uncertain connectivity, work with 1280 as default PMTU.


More information about the ipv6-ops mailing list