Maximum segment size

from Wikipedia, the free encyclopedia

The Maximum Segment Size ( MSS ) defines the maximum number of bytes in a computer network that can be sent as user data in a TCP segment.

background

While the connection is being established, the client first informs the server of its MSS value. The server then replies with its MSS value. Both MSS specifications are not synchronized. Since the IP and TCP headers in IPv4 are at least 40 bytes together, the MSS there must be at least 40 bytes smaller than the Maximum Transmission Unit (MTU) in order to avoid fragmentation of the IP packets. With IPv6 , IP and TCP headers together are at least 60 bytes in size, so the MSS must be 60 bytes smaller than the MTU.

MSS clamping

MSS clamping is often used on routers that connect networks with different MTUs . This is a method in which the router reduces the MSS in the TCP packet for establishing the connection. It is either reduced to a specified value or determined using the MTU of the network with the smaller MTU. With this method, only packets that do not have to be fragmented or discarded because they would be too large are sent in both directions in the TCP connection.

However, this procedure is a hack . It violates the layer model of the Internet protocol family because a router on the network layer changes data in the transport layer . In addition, this method only works with TCP because other protocols such as UDP do not use MSS.

With DSL routers MSS clamping is used because by the PPPoE the MTU of the Internet connection is reduced.

See also

  • RFC 879 The TCP Maximum Segment Size and Related Topics

credentials

  1. RFC 4459 - MTU and Fragmentation Issues with In-the-Network Tunneling