MTU adjusting the MSS for TCP

The maximum amount of payload that TCP can use is called the TCP MSS (Maximum Segment Size). This MSS value is the largest amount of data that a host can receive in a single TCP segment. This value is used to set a limit on the payload in order to prevent fragmentation and is sent in the SYN packet during the 3 way handshake. The MSS value isn’t synchronized between hosts, it can be different for each direction. The MSS is indirectly related to the MTU used in the Network and Data Link Layers.

It is possible to indirectly affect the MSS by using the following command on a particular interface:

R2(config)#interface fastEthernet 0/1 R2(config-if)#ip tcp adjust-mss 1360

This command will intercept TCP SYN packets that are sent between hosts and adjust the MSS value. The result is that all subsequent communication between the two hosts will be limited to that newly adjusted MSS value.

If you want to change the MSS for TCP connections that are originated by the router you need to use another command:

R2(config)#ip tcp mss 1360

This only works for TCP. UDP communication will not be affected by these changes since there is no negotiation between hosts for UDP.

Links

https://networklessons.com/cisco/ccie-routing-switching/pppoe-mtu-troubleshooting-cisco-ios

https://forum.networklessons.com/t/how-to-limit-the-mss-for-udp/16229/2?u=lagapides