Understanding TCP MSS Values
A TCP MSS value is the maximum amount of application data that can be put into a single TCP packet. It is negotiated between the server and client during connection setup to allow users on networks with smaller MTU’s to efficiently communicate.
Assuming the standard internet MTU of 1500 bytes, the maximum MSS value should be 1460. However this value may be lowered to 1448 due to TCP Timestamps being used.
Sometimes however networks need to lower/rewrite the MSS on the path, this is typically called “MSS Clamping” and in home/small office networks typically is done by the router in order to handle the slightly reduced MTU that PPPoE causes.
| Use Case | IPv6 MSS Value | IPv4 MSS Value |
|---|---|---|
| “Full” MTU | 1440 | 1460 |
| “Full” MTU with TCP Timestamps | 1428 | 1448 |
| PPPoE MTU | 1432 | 1452 |
| PPPoE MTU with TCP Timestamps | 1420 | 1440 |
| Min IPv6 MTU | 1220 | - |
| Min IPv6 MTU with TCP Timestamps | 1208 | - |