When exchanging any information on a network, data transfer is carried out not in a continuous stream, but in small blocks, which largely determines the efficiency of network throughput. Such blocks have a fixed size, determined by the value of the Maximum Transmission Unit parameter , or MTU for short . This parameter determines the maximum data block size of a single packet, excluding headers, and is typically 1500 bytes .
Today, the MTU size of 1500 bytes continues to be the “golden mean” , but in some cases it may be necessary to change it. For example, reducing the maximum packet size is sometimes considered as one of the ways to eliminate failures in VoIP telephony, connection errors when connecting to a remote desktop using the RDP protocol , and so on.
Perhaps, the most important thing is that you should not change the Maximum Transmission Unit settings if there is no reason to do so, that is, when your Internet connection is stable and error-free.
Find the current MTU size
The easiest way to determine the current Maximum Transmission Unit size is using the command line or PowerShell .
- Open Terminal/PowerShell/Command Prompt as Administrator,
- Run the command:netsh interface ipv4 show subinterfaces.
- As a result, you will receive a list of network interfaces with the MTU size indicated in the first column.
Change MTU size value
You can change the MTU size in three ways: In the properties of the network adapter , using the command prompt and using a third-party utility TCP Optimizer.
Option one. Change MTU size value in adapter properties
- In Windows Search type Device Manager.
- Open the Device Manager app and expand its Network adapters section.
- Look for your network card from the list of adapters. It may be named based on the manufacturer (e.g., Intel, Realtek) or model (e.g., WiFi, Ethernet).
- Once you’ve located your network card, double-click on it to open its properties.
- In the network card’s properties window, switch to the Advanced tab.
- Now change the Jumbo Frame option to set the desired MTU size.
This method may be not the best, since the Jumbo packet parameter required in this case may not be available in the adapter properties. Some models of network cards lack it due to driver limitations. Here are more convenient options.
Option two. Set MTU size using command prompt
- Open Terminal/PowerShell/Command Prompt as Administrator,
- Run this command to find the list of network cards and their names. netsh interface ipv4 show subinterfaces
- Now execute the command:netsh interface ipv4 set subinterface NAME mtu=SIZE store=persistent
- In the command, NAME is the name of your network interface, and SIZE is the new MTU size in bytes.
Finally, there is a third party freeware app that adds extra convenience to this process.
Option three. TCP Optimizer
Download the utility from the official website www.speedguide.net/downloads.php
and run it as administrator.
Turn on the “Custom” settings mode , change the value in the “MTU” field and click the “Apply changes” button to apply the new settings.
How to find the best MTU size
The default MTU value of 1500 bytes does not always correspond to the optimal parameter value. The optimal value will be one at which packets are not fragmented into parts. The easiest way to determine it is using the console utility ping ; moreover, this method is highly accurate.
Do the following to find the best MTU size.
- Launch PowerShell and run the command:
ping google.com -f -l 1500
. - If the ping returns the message “Packet fragmentation is required, but DF is set” , reduce the MTU size value slightly and repeat the ping.
- Repeat steps 1-2 until the message disappears.
- In a similar way, you can set the upper limit for the MTU value .
The Google URL is just an example, it could be any remote resource you are having trouble connecting to.
To more accurately determine the optimal value, we recommend adding another 28 bytes to the tested value – the size reserved for the IP and ICMP protocol request headers.