[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