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

Re: The IPv4 Internet MTU



On Sep 27, 2007, at 16:36, Christian Huitema wrote:

That would not be too much of a problem if TCP implementations could do MTU detection by just reacting to packet losses. But today, many TCP implementations don't. The MTU discovery is triggered by ICMP "packet too big" messages. These messages are not generated if a UDP fragment is lost.

These messages are also sometimes not generated as a matter of deliberate policy. I am aware of several popular PPPoE network operators who have deliberately chosen for their access concentrators to be IPv6 path MTU discovery black holes for reasons that have never been disclosed to me. The software distributions they bundle with their service have elaborate mechanisms for configuring the MTU on the PPPoE interface properly, despite exchanging MTU options in the PPP negotiation with the PPPoE access concentrators that require MTU=1500, which can't work over ethernet. There is no good reason for continuing to do this that I can see.

The result of these black holes being a permanent fixture in the IPv4 Internet is that NAT gateways typically clamp the MSS field during TCP stateful connection tracking to prevent path MTU discovery brokenness from interfering with applications. (Apple's AirPort base stations in PPPoE mode clamps the MSS on TCP streams to 1400 bytes. Larger values have proven perilous in the past.)

If I were more impolite, then I would do more than merely suggest that some people view the brokenness of IPv4 path MTU discovery as a feature rather than a bug. I'm learning to be more polite.


--
james woodyatt <jhw@apple.com>
member of technical staff, communications engineering