F5 DUMP‎ > ‎F5 LTM 101‎ > ‎

MTU / TCP Maximum Segment Size (MSS)

posted 16 Sep 2016, 23:33 by Donald Ross   [ updated 16 Sep 2016, 23:48 ]
The MTU is the maximum size of a single data unit (e.g., a frame) of digital communications. MTU sizes are
inherent properties of physical network interfaces, normally measured in bytes. The MTU for Ethernet, for
instance, is 1500 bytes. Some types of networks (like Token Ring) have larger MTUs, and some types have
smaller MTUs, but the values are fixed for each physical technology.
Higher-level network protocols like TCP/IP can be configured with a maximum packet size, a parameter
independent of the physical layer MTU over which TCP/IP runs. Unfortunately, many network devices use the
terms interchangeably. On both home broadband routers and Xbox Live enabled game consoles, for example,
the parameter called MTU is in fact the maximum TCP packet size and not the physical MTU.
    In Microsoft Windows, the maximum packet size for protocols like TCP can be set in the Registry. If this value
is set too low, streams of network traffic will be broken up into a relatively large number of small packets that
adversely affects performance. Xbox Live, for example, requires the value of MTU (packet size) by at least
1365 bytes. If the maximum TCP packet size is set too high, it will exceed the network’s physical MTU and
also degrade performance by requiring that each packet be subdivided into smaller ones (a process known as
fragmentation). Microsoft Windows computers default to a maximum packet size of 1500 bytes for broadband
connections and 576 bytes for dialup connections. Performance problems may also occur if the TCP “MTU” setting
on the home broadband router differs from the setting on individual devices connected to it.

During session connection establishment, two peers, or hosts, engage in negotiations to determine the IP
segment size of packets that they will exchange during their communication. The segment size is based on
the MSS option (maximum segment size) value set in the TCP SYN (synchronize) packets that the peers
exchange during session negotiation. The MSS field value to be used is largely determined by the maximum
transmission unit (MTU) of the interfaces that the peers are directly connected to.
About TCP and MSS
The TCP protocol is designed to limit the size of segments of data to a maximum of number of bytes. The
purpose for this is to constrain the need to fragment segments of data for transmission at the IP level. The
TCP MSS specifies the maximum number of bytes that a TCP packet’s data field, or segment, can contain.
It refers to the maximum amount of TCP data in a single IP datagram that the local system can accept and
A TCP packet includes data for headers as well as data contained in the segment. If the MSS value is set too
low, the result is inefficient use of bandwidth; more packets are required to transmit the data. An MSS value
that is set too high could result in an IP datagram that is too large to send and that must be fragmented.
Typically a host bases its MSS value on its outgoing interface’s maximum transmission unit (MTU) size. The
MTU is the maximum frame size along the path between peers. A packet is fragmented when it exceeds the
MTU size. Because of variation of the MTU size of the interfaces of hosts in the path taken by TCP packets
between two peers, some packets that are within the negotiated MSS size of the two peers might be
fragmented but instead are dropped and an ICMP error message is sent to the source host of the packet.
To diminish the likelihood of fragmentation and to protect against packet loss, you can decrease the TCP MSS.

Addition information on MMS and VPNs