TCP Windows Size vs Socket Buffer Size on Windows

I am new to Windows networking. When people talk about TCP tuning on Windows platform, they always mention about TCP Window Size. I am wondering whether Windows uses the concept of “Socket Buffer Size”?

On Windows XP, the TCP window size is fixed. We can set it using the TCPWindowSize registry value. How about Socket Buffer Size? How can we set Socket Buffer size on Windows? Can we set it to a value different from TCP window size?

Answer

AFD.sys is the library used to support sockets in Windows. To change the send and receive buffer sizes

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Afd\Parameters]
DefaultReceiveWindow = <value>
DefaultSendWindow = <value>

A reboot is required for the changes to take affect.

I’ve found the sweet spot for 1GbE to be 65536 and personally I think this should be the default instead of the current one which is 8192. RAM is cheap. 😀

Attribution
Source : Link , Question Author : userpal , Answer Author : Ryan Davies

Leave a Comment