Technical details of Maximum Segment Size (MSS) in the context of networking and the Transmission Control Protocol (TCP).
- What is MSS?
- The Maximum Segment Size (MSS) is a crucial parameter within the TCP protocol. It plays a significant role in establishing reliable connections between network devices.
- In TCP/IP networking, data is transmitted in the form of segments.
- Understanding MSS:
- When data travels over a network (such as the Internet), it is broken down into smaller units called packets.
- Each packet consists of several headers that contain information about the packet’s contents and destination.
- The MSS specifically measures the non-header portion of a packet, which is known as the payload.
- Analogously, if we think of a data packet as a transport truck, the header corresponds to the truck itself, and the payload is akin to the trailer and cargo.
- The MSS focuses solely on measuring the payload size, excluding any attached headers.
- MSS vs. MTU (Maximum Transmission Unit):
- Another related metric is the MTU (Maximum Transmission Unit), which defines the largest size of a complete packet (including both headers and payload).
- Unlike the MSS, the MTU considers both the TCP header and the IP header.
- The relationship between MTU and MSS can be expressed as follows:
MSS = MTU - (TCP header + IP header)
Here:- MTU measures the total weight of the truck (including the trailer and cargo).
- TCP and MSS:
- The Transport Control Protocol (TCP) ensures that data packets are delivered and received in order, with no dropped packets.
- During the TCP handshake, both communicating devices agree on the MSS.
- This process is sometimes referred to as “MSS clamping.”
- TCP adds a header to each packet to indicate the open connection and the packet order.
- TCP headers are typically 20 bytes long, as are IP headers.