RE: MTU, MRU, and MSS
>My recollection from implementing path MTU discovery some years back
> It's a problem when the implementing TCP insists on sending an MSS of
> 1460, even though the MRU of the PPP link may only be capable of 536
> byte segments (as is found with all Microsoft-native PPP clients).
is that the only way to get any reasonable performance from MTU
discovery is to break the segment size / MTU / MRU correlation that
seems so natural and always offer an MSS that is the biggest thing that
you can atomically receive on the link from which you received the SYN.
Otherwise, you always offer something either too big, or too small.
Unfortunately, since paths can change after the 3-way handshake is
completed, this is simply a SWAG over the life of the connection.
At some point, it might be cool if IP could indicate whether the
datagram was reassembled so that TCP could renegotiate the MSS during
the life of the connection. Unfortunately, I think that you can't do
that by law, and if you could, most implementations would dry heave