3 ms·
> but my TLDR is MSS (+ size of minimum header) is usually a good indicator of acheivable MTU, but some small fraction of people are misconfigured. Just to mak
by zAy0LfpBZLC8mAC 8y ago
> but my TLDR is MSS (+ size of minimum header) is usually a good indicator of acheivable MTU, but some small fraction of people are misconfigured.
Just to make this clear: There is nothing misconfigured, the MSS is not "what is guaranteed to fit through all links between you and me" (obviously--how could your computer possibly know what the lowest MTU between you and some random server somewhere on the planet is?), it is simply "the largest TCP segment size you are allowed to send", i.e., larger is essentially guaranteed to fail. It can be used to indicate the largest segment size a low-memory implementation is able to process (which would have nothing to do with MTUs), and most commonly is used nowadays to signal some best guess as to some upper limit to the MTU that the TCP stack can figure out--which in practice means the MTU of the link the connection is being established through, i.e., usually some local ethernet or WiFi
Using the MSS this way is purely a performance optimization, in that it provides a basis for fast discovery of the path MTU (because, obviously, the last hop MTU is known by the client and it's pointless to try sending packets that don't fit through the last hop link). Some home routers also use MSS clamping to work around broken server setups, based on the assumption that they are the only path between the client and the internet--but that's an ugly hack that is in no way required by standards and in any case doesn't guarantee success.
- toast0 8y agoWhat would you call a client that is unable (or unwilling) to probe for path mtu, and has an mtu set higher than the next hop and doesn't receive ICMP needs frag packets? I call it misconfigured. Perhaps it's the network that's misconfigured instead. Either way, when these clients send packets of a certain size, the packets never arrive at the server. Having the server send a smaller MSS makes it possible to communicate, but also invokes sadness.
- zAy0LfpBZLC8mAC 8y agoThe only thing there that sounds like a misconfiguration is whatever is dropping ICMP frag needed messages, and that is a misconfiguration no matter what. My point is that no matter what MSS you send, that's never what's at fault for PMTU problems, that's not what MSS is for nor could it possibly do the job in all cases, whereas correct delivery and processing of frag needed/packet too big will always work.