I have the following configuration:
- Windows 7 SP1 64-bit Host
- Linux Debian 2.6.32-46 32-bit Guest, using vmxnet on a Vmware NAT device (thus Vmware tools installed).
- VMware Workstation 9.0.1 build-894247
When accessing low latency networks, I get a network throughput penalty (max 2.7MB/s) caused by the TCP window size set to 64KB and round-trip latency of 22ms (which results in a max theorethical bandwidth of 2.9MB/s, increasing TCP window size by 4 would also increase the througput by 4...).
Tracing the network traffic:
- From the Debian Guest to the remote machine: checked with wireshare on vmxnet, Linux sets the windows scale flag to 6 (actually increasing 16-bit TCP window sizes with a factor of 64)
- When checking the same TCP connection packet after NAT (from windows 7 host to remote machine), the tcp window scaling option is dropped (aka 1).
- The remote machine respond with a tcp window scaling of 7 (factor 128) as received on the Windows 7 host (wireshare)
- after the NAT this tcp window scaling is dropped: the packet received in the VM debian guest has its windows scale put to its default 1.
To be sure that windows does not something weird, I make the same connection between the Windows 7 host and the remote machine.
In this case the tcp window scale flags work correctly causing a bandwidth around 10MB/s instead. (gain of a factor 4!)
1) Is this normal behaviour for the VMWare NAT network driver?
2) Is there some option to change this (aka set the TCP window size/scale of the NAT device)?
Using a bridged device is in our setup no option.
Regards,
Luc