I’m a beginner for network programming. I read some resources that I could find on the internet, where I came across TCP Window Scaling. As I understood, the scaling factor is negotiated when the connection is first established, in the SYN packet. So does this mean that TCP Window scaling cannot be set by the code that we would write for socket programming? Is it the operating system which does this? Say, in a windows environment, how does this happen and is there a way for us to manually/dynamically change it?
Share
No, I believe this can only be set at a global level. There is a registry setting for this under the
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameterskey.It’s called
GlobalMaxTcpWindowSize. See here: http://technet.microsoft.com/en-us/library/cc957546.aspxIf what you actually mean is to change the size of the socket receive and transmit buffers then these can be changed using Winsock. See
SO_RCVBUFandSO_SNDBUF.