Ethernet traffic is transported in frames, the maximum size of this frame is known as the Maximum Transmission Unit (MTU). By default an Ethernet packet has an MTU size of 1500 bytes. An Ethernet packet larger than 1500 bytes is known as a jumbo frame.

When a network endpoint receives a packet that is larger than its MTU, it can either fragment the packet into smaller parts or drop the packet.

Fragmentation is the process of breaking up a large packet into smaller chunks before sending, the receiving host then re-assembles the packets. This is not desirable when trying to optimize your network. The main reason I say this is because if one fragment is lost the entire datagram is lost. IP has no error correction and UDP has no re-transmission feature. TCP re-transmits the whole datagram if one fragment is lost.

An excellent document which explains fragmentation in detail can be found at the link below.

Increasing the MTU can improve network efficiency, this is achieved by transmitting larger payloads within the packets. Changing the MTU on a LAN should be planned out correctly, performance issues can be expected if the MTU of one device is different from the MTU of another device. What you might think should improve performance is likely to have the opposite effect.

The recommended approach is to increase the MTU on all of your network devices in the LAN, the network would then at that point benefit from less fragmentation and less overhead. Your network topology and traffic flows should be fully understood before making these changes.

To demonstrate we can use the ping utility on a windows 7 PC. This particular PC is connected to a switch with an MTU size of 1500 bytes.

A ping packet has a default value of 32 bytes, we will try to send a ping with the default MTU and then send a ping with the jumbo MTU value and see what happens.


Pinging with 32 bytes of data:
Reply from bytes=32 time=12ms TTL=254
Reply from bytes=32 time=12ms TTL=254
Reply from bytes=32 time=12ms TTL=254
Reply from bytes=32 time=12ms TTL=254

We can see the latency is 12 milliseconds.

Now send a packet with a jumbo frame, we will see the impact of fragmentation. The -l switch allows is to increase the packet size.

C:\Users\rhill>ping -l 9000

Pinging with 9000 bytes of data:
Reply from bytes=9000 time=19ms TTL=254
Reply from bytes=9000 time=24ms TTL=254
Reply from bytes=9000 time=20ms TTL=254
Reply from bytes=9000 time=20ms TTL=254

We can see that the latency has increased, this is due to the fragmentation that has taken place. You may not experience increased latency if you are on a local LAN, but the packets are still being fragmented.

A WireShark capture shows the extra work that needs to be done on the sending device to fragment the packet, the receiving device then has to re-assemble this at the opposite end.

The output below shows the packet being split into 6 different parts in order to send the jumbo frame.


As you can see, simply increasing the MTU on a sending device may not actually improve the efficiency of your network.

It’s worth noting that when using TCP the MSS is negotiated in the 3-way handshake and will default to the lowest value.