Test your connectivity for World IPv6 Day
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