MTU & MSS
MTU stands for “Maximum Transmission Unit”
MTU refers to largest IP packet in bytes that a layer the forward in a packet network. The MTU is different for each protocol and medium. As an example, Ethernet for example has a MTU of 1500 bytes. MTU is considered more in terms of Ethernet frame size.
MTU should be considered an essential aspect in routing of data within a network. If the packet size is too large to handle, then the router will be stuck in the process of sending again and again with no success. A smaller packet size doesn’t also meet the ideal solution approach. The small packet leave enough unused space and leads to underutilized packet performance. Hence MTU leads to optimum utilization of network resources and leads to finest performance.
MSS stands for “Maximum Segment Size”. MSS is the largest amount of data that a computer or communications device can handle in a single TCP segment. This TCP segment would the unfragmented piece and specified in bytes. While computing the MSS value, IP and TCP headers are not accounted. The value of MSS parameter can be found in the Options field of TCP header.
MSS and MTU can be formulated in Ethernet network as below –
In the above diagram of a frame, following headers have the given size –
MTU = Payload + IP + TCP
IP = 20 Bytes
TCP = 20 Bytes
MSS = MTU – 40 (20 Byte for TCP + 20 Byte IP)
= 1500 – 40
Pl note MSS is discussed only wrt TCP packets and not UDP.UDP has datagrams and does not talk about MSS.
Mostly Internet Service providers suggest using 1500 MTU for accessing the websites. At times, some of the websites may not open due to smaller MTU size requirement. The users then need to change the MTU to as low as 576 bytes to access such websites.
Some of the scenarios where additional headers lead to MTU issues are –
- PPOE tunnels
- GRE tunnels
- IPSEC tunnels