What is MSS (Maximum Segment Size)?

MSS (maximum segment size) limits the size of packets, or small chunks of data, that travel across a network, such as the Internet. All data that travels over a network is broken up into packets. Packets have several headers attached to them that contain information about their contents and destination. MSS measures the non-header portion of a packet, which is called the payload.

More specifically, MSS is the largest TCP (Transport Control Protocol) segment size that a network-connected device can receive. MSS defines “segment” as only the length of the payload, not any attached headers. MSS is measured in bytes.

the MSS is equal to MTU minus the size of a TCP header and an IP header:

MTU – (TCP header + IP header) = MSS

For example: 1500 (MTU) – (20 + 20) = 1460 (MSS)

One of the key differences between MTU and MSS is that if a packet exceeds a device’s MTU, it is broken up into smaller pieces, or “fragmented.” In contrast, if a packet exceeds the MSS, it is dropped and not delivered.

MSS is usually made a decision in the TCP three-way handshake, however some setup might yield path where the decided upon MSS is still too big, leading to dropped packets. The MSS isn’t negotiated packet per packet, but for a complete TCP session.

MSS (maximum segment size) limits the size of packets, or small chunks of data, that travel across a network, such as the Internet. All data that travels over a network is broken up into packets. Packets have several headers attached to them that contain information about their contents and destination. MSS measures the non-header portion of a packet, which is called the payload.

More specifically, MSS is the largest TCP (Transport Control Protocol) segment size that a network-connected device can receive. MSS defines “segment” as only the length of the payload, not any attached headers. MSS is measured in bytes.

the MSS is equal to MTU minus the size of a TCP header and an IP header:

MTU – (TCP header + IP header) = MSS

For example: 1500 (MTU) – (20 + 20) = 1460 (MSS)

One of the key differences between MTU and MSS is that if a packet exceeds a device’s MTU, it is broken up into smaller pieces, or “fragmented.” In contrast, if a packet exceeds the MSS, it is dropped and not delivered.

MSS is usually made a decision in the TCP three-way handshake, however some setup might yield path where the decided upon MSS is still too big, leading to dropped packets. The MSS isn’t negotiated packet per packet, but for a complete TCP session.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Create a website or blog at WordPress.com

%d bloggers like this: