Disconnections due to media MTU mismatches are far more common than most people realise.
RDP packets are flagged don’t fragment so under a number of situations including some interesting ones (see http://support.microsoft.com/kb/900926and http://support.microsoft.com/kb/902347) MTU mismatches will lead to disconnections..
If you run ping –f –l 1500 (-f don’t fragment) across your WAN link and get dropped packets it could be a really good idea to reduce your server/virtual host MTU. Simply reduce the value after –l (packet length) until the ping is successful and that should be your new preferred MTU.
On Server 2003 and Windows XP changing the MTU (see http://support.microsoft.com/kb/826159)
Setting the MTU on Server 2008 is really easy because you can do it on the fly (no reboot needed) using the netsh command.
First you need to pick the interface you want to change, either by using the following command,
netsh interface ipv4 show subinterfaces
C:\Users\rmack>netsh interface ipv4 show subinterfaces
MTU MediaSenseState Bytes In Bytes Out Interface
------ --------------- --------- --------- -------------
4294967295 1 0 1464 Loopback Pseudo-Interface 1
1500 1 2083227755 326455809 Local Area Connection
Or click on start > run and enter “ncpa.cpl” and copy the name (rename > ctrl-c) of the interface
To change the MTU of the LAN interface use the following command syntax:
netsh interface ipv4 set subinterface “%network connection name%″ mtu=%mtu_size% store=persistent
C:\Users\rmack>netsh interface ipv4 set subinterface "Local Area Connection" mtu=1400 store=persistent
This changes the MTU and makes the value permanent. If you want to experiment then you could use “store=active” which would be reset once you reboot.
Note that reducing the size of the MTU will have very little effect on communications throughput with the server, but it may have a major positive effect in reducing unwanted disconnections.