The document explains the concepts of Maximum Transmission Unit (MTU) and Maximum Segment Size (MSS) in networking. MTU defines the largest data packet a device can accept, while MSS specifies the maximum size of the payload in a TCP segment, excluding headers. Fragmentation occurs when packets exceed MTU, whereas MSS prohibits fragmentation, impacting network performance and reliability.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0 ratings0% found this document useful (0 votes)
10 views16 pages
MSS VS Mtu
The document explains the concepts of Maximum Transmission Unit (MTU) and Maximum Segment Size (MSS) in networking. MTU defines the largest data packet a device can accept, while MSS specifies the maximum size of the payload in a TCP segment, excluding headers. Fragmentation occurs when packets exceed MTU, whereas MSS prohibits fragmentation, impacting network performance and reliability.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
Difference
el=)ANNito) a)What is MTU?
In networking, maximum transmission unit (MTU) is a measurement representing the
largest data packet that a network-connected device will accept. Imagine it as being like a
height limit for freeway underpasses or tunnels: Cars and trucks that exceed the height
limit cannot fit through, just as packets that exceed the MTU of a network cannot pass
through that network.
However, unlike cars and trucks, data packets that exceed MTU are broken up into smaller
pieces so that they can fit through. This process is called fragmentation. Fragmented
packets are reassembled once they reach their destination.
MTU is measured in bytes — a “byte” is equal to 8 bits of information, meaning 8 ones and
zeroes. 1,500 bytes is the maximum MTU size.What is a packet?
All data sent over the Internet is broken down into smaller chunks that are called packets.
For example, when a webpage is sent from a web server to a user's laptop, the webpage’s
constituent data travels over the Internet as a series of packets. The packets are then
reassembled into the original, whole webpage by the laptop.
Data packets have two main parts: the header and the payload. The header contains
information about the packet's source and destination addresses, while the payload is the
actual contents of the packet. Think of the header as a shipping label attached to a
package, and the payload as the package's contents. (Unlike packages, packets on the
Internet have multiple headers attached by different networking protocols.)
MTU almost always is used in reference to layer 3* packets, or packets that use the Internet
Protocol (IP). MTU measures the packet as a whole, including all headers and the payload.
This includes the IP header and the TCP (Transport Control Protocol) header, which usually
add up to 40 bytes in length.
*The OSI model divides the functions that make the Internet possible into 7 layers; layer 3 is
the network layer, where routing takes place.When do packets become fragmented?
When two computing devices open a connection and begin exchanging packets, those
packets are routed across multiple networks. It is necessary to take into account not just
the MTU of the two devices at the ends of each communication, but all routers, switches,
and servers in the middle as well. Packets that exceed the MTU on any point in the network
path are fragmented.
Suppose Server A and Computer A are connected, but the data packets they send to each
other have to pass through Router B and Router C along the way. Server A, Computer A,
and Router B all have an MTU of 1,500 bytes. However, Router C has an MTU of 1,400
bytes. if Server A and Computer A are not aware of Router C's MTU and send 1,500-byte
packets, all their data packets will be fragmented by Router B in transit.
aniseFragmentation adds a small degree of latency and inefficiency to network communications,
so it should be avoided if possible. (Outdated network equipment may be vulnerable to
denial-of-service attacks that exploit fragmentation, such as the “ping of death” attack.)
How does fragmentation work?
All network routers check the size of each IP packet they receive against the MTU of the
next router that will receive the packet. If the packet exceeds the MTU of the next router,
the first router breaks the payload into two or more packets, each with its own headers.
Each new packet has a header copied from the original packet (so that the packets all have
the original source and destination IP addresses, etc.) with some important changes. The
router edits certain fields in the IP header to indicate that the packets are fragmented and
require reassembly, how many packets there are, and in what order they are being sent.
Imagine a shipping company is handling a package that exceeds the weight limits of one
of their facilities. Instead of refusing to deliver the package, the shipping company divides
the package contents into three smaller packages. It also duplicates the shipping label for
each package and adds a note indicating that each package is one part of a series that
must arrive together — the first package is 1 of 3, the second is 2 of 3, etc. (Such an
approach by a shipping company would be a violation of privacy, so it should not occur in
the real world.)When is fragmentation not possible?
In certain cases, packets cannot be fragmented, and therefore they will not be delivered if
they exceed the MTU of any router or device along the network path:
1. Fragmentation is not permitted in IPv6. IPvé6 is the latest version of the Internet
Protocol, although IPv4 is still widely used. Routers that support IPv6 will drop any
IPv6 packets that exceed the MTU, because they cannot be fragmented.
2. Fragmentation is also not possible when the “Don't Fragment’ flag is activated in a
packet's IP header.
What is the ‘Don't Fragment’ flag in an IP
header?
Think of the IP header as being like a form consumers fill out when shipping a package to
someone. The form indicates source address, destination address, how soon the package
should be delivered, and other special instructions for the delivery workers
The "Don't Fragment" flag is a special instruction for routers, an option that can be
selected in the "form" of an IP header. When the flag is set, the attached packet cannot be
fragmented.
Any router that receives the packet will analyze the header and check for the Don't
Fragment flag. If the flag is on and the packet exceeds the MTU, the router then drops the
packet instead of fragmenting it.
In addition to dropping the packet, the router sends back an ICMP message to the packet's
origin. An ICMP message is a very small data packet that sends a status update. In this
case, it essentially says, “This router or device could not deliver these packets because they
were too big and could not be fragmented."What is path MTU discovery?
Path MTU discovery, or PMTUD, is the process of discovering the MTU of all devices,
routers, and switches on a network path. If Computer A and Server A from the example
above were to use PMTUD, they wauld identify Router B's MTU requirements and adjust
their packet size accordingly to avoid fragmentation.
PMTU works slightly differently depending on whether the connected devices are using
IPv4 or IPv6:
IPv4: |Pv4 allows fragmentation and thus includes the Don't Fragment flag in the IP
header. PMTUD in IPv4 works by sending test packets along the network path with the
Don't Fragment flag turned on. If any router or device along the path drops the packet, it
sends back an ICMP message with its MTU. The source device lawers its MTU and sends
another test packet. This process is repeated until the test packets are small enough to
traverse the entire network path without being dropped.
IPv6: For IPv6, which does not allow fragmentation, PMTUD works in much the same way.
The key difference is that IPv6 headers do not have the Don't Fragment option and so the
flag is not set. Routers that support IPv6 will not fragment IPv6 packets, so if the test
packets exceed the MTU, the routers drop the packets and send back corresponding ICMP
messages without checking for a Don’t Fragment flag. IPvé PMTUD sends smaller and
smaller test packets until the packets can traverse the entire network path, just like in IPv4.MPLS MTUWhat is maximum segment size (MSS)?
MSS (maximum segment size) limits the size of packets, or small chunks of data, that travel
across a network, such as the Internet. alll 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.
If a data packet is compared to a transport truck, with the header being the truck itself and
the payload being the trailer and cargo, then MSS is like a scale that measures only the
trailer. If the trailer weighs too much, then the truck is not allowed to continue to its
destination.
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.
Data packet
iP Top Payload
header] | header (TCP segment)
20bpes | | 20bm= | MSS(1460 bytes max) I
Tu (1500 bytes max)MSS is determined by another metric that has to do with packet size: MTU, or the
maximum transmission unit, which does include the TCP and IP (Internet Protocal) headers.
To continue the analogy, MTU measures the total weight of the truck and its trailer and
cargo, instead of just the trailer and cargo.
Essentially, the MSS is equal to MTU minus the size of a TCP header and an IP header:
MTU - (TCP header + IP header) = 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, itis dropped and not delivered.
What is TCP? What is a TCP header?
The Transport Control Protocol, or TCP, is a protocol that ensures data packets are
delivered and received in order, with no dropped packets. Imagine if parcel delivery
services called all package recipients ahead of time to make sure they would be home ata
certain time before delivering packages, then sent word back to the sender to confirm they
had been delivered. TCP works somewhat like that, with data packets as the “packages”
being delivered.
TCP works by opening a connection between the two devices that are communicating via a
process called a TCP handshake. The MSS is agreed on during the TCP handshake: both
devices communicate the size of the packets they are able to receive (this can be called
“MSS clamping”; see below). TCP adds a header to all packets to indicate which open
connection each packet is a part of and what order the packets go in.How long are TCP and IP headers?
TCP headers are almost always 20 bytes* long. IP headers include information such as the
source and destination IP address, and they are also 20 bytes long. Both TCP and IP
packets include optional header fields that can make the headers longer, but these are
almost never used.
*in computer science, a byte is a unit of memory size that represents eight binary digits; in
other words, a combination of eight ones and zeroes.
TCP MSS example
Suppose a network router has an MTU of 1,500, meaning it only accepts packets up to
1,500 bytes long. (Longer packets will be fragmented.) What should the MSS for the router
be set to?
MTU - (TCP header + IP header) = MSS
1,500 - (20 + 20) = 1,460
The router's MSS should be set to 1,460 bytes. Packets with a payload size larger than
1,460 bytes will be dropped. (A device could send an overly large packet like this by
mistake if it is not aware of the MTU and MSS settings of the routers in between it and
another device. A process called path MTU discovery helps avoid such incidents.)How does the use of IPsec impact MSS?
IPsec (Internet Protocol security) is the encrypted version of IP. Data packets sent using
IPsec are scrambled so that only the two connected devices are able to interpret them,
keeping their payload contents secure from anyone who might intercept the packets. IPsec
is often used to set up Virtual Private Networks, or VPNs.
IPsec adds a few bytes to the length of a packet. On connections that use this encryption,
MSS must take IPsec into account as well:
MTU - (TCP header + IP header + IPsec) = MSS
Is MSS a network layer or transport layer
metric?
MSS is a layer 4, or transport layer, metric. It is used with TCP, a transport layer protocol.
However, it is closely related to MTU, which applies to layer 3 (the network layer).What is MSS clamping?
Occasionally, a router along a network path has an MTU value set lower than the typical
1,500 bytes. This can result in packet loss and can be difficult to discover.
To ensure packets still reach their destination in this situation, one option is to reduce the
size of incoming packet payloads. This can be achieved by configuring the server to apply
an MSS clamp: during the TCP handshake, the server can signal the MSS for packets it is
willing to receive, “clamping” the maximum payload size from the other server. For
example, if servers A and B are establishing a TCP connection and server B communicates
an MSS of 1,436 bytes, server A will send packets with a maximum payload size of 1,436
bytes for the duration of the connection.
Another application of MSS clamping is in the case of GRE tunneling, where a 24-byte
header is added to the original packet in order to send it to a new destination. If the
original packet was larger than 1,476 bytes, this could make the new packet exceed the
typical 1,500-byte MTU; an MSS clamp can be applied to require incoming packets to be
less than 1,500 bytes even after the GRE header is applied.Factors
MTU
MSS
Definition MTU stands for Maximum MSS stands for Maximum
Transmission Unit. Segment Size.
Protocol MTU is a link layer parameter that is ATCP option called MSS is
dependent on both the network layer | negotiated as part of the
protocol and the physical media. It handshake. The IP header and
contains both the TCP and IP headers. | the TCP header are not included.
Fragmentation | Fragmentation is allowed by MTU. MSS prohibits fragmentation.
Formula MTU = MSS + 40 (IP header + TCP MSS = MTU - 40 (IP header + TCP
header) header)
Value 1500 bytes 1460 bytes
Dependency MTU size does not rely on the value of | MSS size totally depends on the
MSS.
value of the underlying MTU.Maximum Transmission Unit Maximum Segment Size
, A i The maximum amount of data ina TCP segment
The maximum amount of information that can be ote
transferred in a single network packet. pene ena ee tion,
ecemeiei uaa ooo eh ae TGP (Transmission Gontrol Protocal)
jotocol)
Bytes Bytes
MTU is determined by the underlying network a -
MSS is negotiated between the sender and
technology, and can be configured on network receiver during the TCP handshake
devices.
if a packet is larger than the MTU, it is fragmented
into smaller packets to be transmitted across the
network, and then reassembled at the receiver.
Fragmentation can result in additional processing
overhead and increased network traffic uch can
ct a
MTU can impact the performance and reliability of
network connections, especially in environments
where fragmentation is common.
fa TCP segment is larger than the MSS, it is
divided into smaller segments and sent separately.
Fragmentation of large segments can result in
increased overhead and reduced performance.
MSS can impact the performance and reliability of
TCP connections.Frequently Asked Questions
Ql. Is MTU the same as MSS?
MTU is the maximum size of a packet, including headers. MSS is the maximum size
of the data part only. They are related but not the same.
Q2. Can MSS be greater than MTU?
MSS is less than MTU as it does not include TCP/IP header data.
Q3. What is the TCP MSS for 1500 MTU?
TCP MSS for 1500 MTU is 1460 bytes, as the TCP header and IP header are 20 bytes
each.
Q4. How do you calculate MSS from MTU?
You can use the formula for calculating the MSS from MTU, i.e., MSS = MTU — 40 (IP
header + TCP header)