Windows – Slow CIFS file copy over routed network with different bandwidths

networkingwindows

We have a long distance 100 Mbit/s link between sites over internet
Ping over vpn:
Reply from : bytes=32 time=38ms TTL=60
Reply from : bytes=32 time=38ms TTL=60

Speed of intersite file copy is near 1mb/sec if Server(w2k8) and client(W7) both have 1Gb Full Duplex LAN connections

If we change one or another host's NIC mode to 100Mb Full Duplex then speed of file copy grows up to 5mb/sec

Problem is same with differrent drivers, hardware, OS versions, tcp/NIC/ethernet settings (flow control, offloading, chimney, ECN, MTU, RSS, tcp windowsize autotuning)

Certainly we cannot accept slowing down one-side link as workaround
Can we have fast intersite file copy and fast LAN connection simultaneously?

Jumbo is disabled on both ends

ping -f -l 1200 server
Reply from 192.168.1.2: bytes=1200 time=39ms TTL=123
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 38ms, Maximum = 39ms, Average = 38ms

ping -f -l 8000 server
Packet needs to be fragmented but DF set.
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

ping -l 8000 server
Reply from 192.168.1.2: bytes=8000 time=42ms TTL=124
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 42ms, Maximum = 42ms, Average = 42ms

Best Answer

As far as I understand, you suspect that the problem is somehow caused by the unbalance in speeds between LAN hosts' NICs and the intersite link. You also mention many different options that you have tried and that has not helped. Because you do not mention Jumbo Frames, I suggest you trying to disable them in hosts' NIC driver properties (or at least on the server) - they probably cause fragmentation (and possibly drops of the fragments) at your router (which you don't mention either and that's why I'd also suggest you to include more details about your topology) and please do some more tests, including pinging with the -l (size) and -f (do not fragment) options in different combinations, for example: ping -f -l 1200 192.168.1.2, ping -f -l 8000 192.168.1.2 (this one probably will not work), ping -l 8000 192.168.1.2 etc. to determine path's MTU and to gather more statistics.

UPDATE 1:

OK, if turning off Jumbo frames didn't help could you please uncheck the Disable NetBIOS over TCP/IP checkbox in TCP/IP properties (do it on all participating hosts; modern Windows versions should not use this setting anyway, so doing this should not hurt). If this won't help either, could you please try another way of transferring files between your sites, for example, deploy (temporarily) IIS on your server and try to upload/download large files through HTTP and/or FTP. If this will work, than the problem is not with the TCP/IP stack, but somehow related to the CIFS protocol/implementation itself.