When we transfer certain amounts of data in a packet we might cause that packet to fragment. The less fragmentations without requiring a collision or a re-send of a packet, the more efficient network traffic can be. The MTU defines the packet size. Different types of data or network links respond differently. To change the MTU on a Windows Server we’re going to use the netsh command. First, we’re going to use ping to ping a host on our network, using -f and then -l which allows us to define the MTU size. In this case we’re going to use 1500:
ping host.com -f -l 1500
We should get an error:
Packet needs to be fragmented but DF set.
Now, let’s try
ping host.com -f -l 1464
Now, let’s look at the interfaces along with what the current MTU is on each:
netsh interface ipv4 show interfaces
C:\Windows\system32>netsh interface ipv4 show interfaces
Idx Met MTU State Name --- ---------- ---------- ------------ --------------------------- 1 50 4294967295 connected Loopback Pseudo-Interface 1 2 10 1400 connected Ethernet 10 20 1500 connected VMware Network Adapter VMnet1 12 20 1500 connected VMware Network Adapter VMnet8
Then, let’s make the mtu 1464 persistently using the Idx number of the interface to change from the above command in quotes:
netsh interface ipv4 set subinterface "2" mtu=1464 store=persistent
Generally operating systems (this even applies to Windows) by default excludes any headers when you ping while specifying the size (the size is considered to be the actual application data, payload or ICMP data bytes), this means that in case you ordered the OS to ping using a size of 100 bytes, the OS will actually create a packet of 128 bytes then encapsulate it with the 14 bytes Ethernet header and then throw the packet over the wire. This means that you have to take care that the OS will always add a 28 bytes to the size you specify to it (20 for the IP header and 8 for the ICMP header).
This seems very logical, but Cisco chose another perspective to adhere to, with Cisco IOS when you specify the size with ping you are actually specifying the datagram size (IP header + Transport header + Application Data), this means that Cisco includes the IP header (20 bytes) and the ICMP header (8 bytes) and thus you’ll have a total packet size of what you have specified in the size option of a ping.
http://krypted.com/windows-server/change-mtu-in-windows-server/