Auto Tuning - TCP/IP receive level

ByLine
How to Enable or Disable the Receive Window Auto Tuning Level in Vista
Synopsis
This will show you how to see your current TCP/IP Auto Tunning settings and how to test it to see if you have a problem with it. You will see a list of possible problems associated with this.
How to Enable or Disable the Receive Window Auto Tuning Level in Vista

information   Information
The TCP receive window size (RWIN) is the amount of data that a TCP receiver (your computer) allows a TCP sender (other internet or local network computer) to send before having to wait for an acknowledgement. After the connection is established, the receive window size is advertised in each TCP segment. Advertising that maximum amount of data that the sender can send is a receiver-side flow control mechanism that prevents the sender from sending data that the receiver cannot handle. A sending host can only send at a maximum the amount of data advertised by the receiver before waiting for an acknowledgment and a receive window size update. Auto Tuning adjusts the receive windows size continually based upon the changing network conditions. This usually happens if you have a network device (EX: Router, modem, etc.) that doesn’t support RFC 1323 “TCP Extensions for High Performance”.
Note   Note
The TCP window size field controls the flow of data and is limited to between 2 and 65,535 bytes, and cannot be expanded anymore. Thus, a scaling factor is used to get a larger TCP receive window size to achieve more efficient use of high bandwidth networks. The TCP window scale option is used to increase the maximum window size from 65,535 bytes to 1 Gigabyte. Scaling up to larger TCP congestion window sizes is a part of what is necessary for TCP Tuning.

When dealing with slow network performance in Vista, the problem may be due to the above mentioned TCP Window Scaling option, where many older routers and and packet firewalls do not properly implement TCP Window Scaling (doesn’t support RFC 1323), and rewrite the window scaling factor during a transmission, and causing sending and receiving sides to assume different TCP window sizes. The situation causes malfunction Internet connection, non-stable traffic that is very slow, or network connection that is only available intermittently.

Beside, Windows Vista enhances further TCP window scaling with auto tuning feature, where TCP stack in Vista system will auto tune and adjust the RWIN size to increase the percentage of full-sized TCP segments that are used during bulk data transmission based on the network scenario it encountered. And thus it’s no longer possible to specify a custom size for the TCP/IP Receive Window (RWIN) size with the inclusion of new auto tuning feature, unless the application it self uses SO_RCVBUF. However, Vista TCP auto tuning feature may get things wrong sometimes. Instead of optimal true receive window size, incompatible and out of range RWIN size may be used.

By default, Vista in normal auto tuning level will use RWIN size of 256 bytes with a scale factor of 8. This value is not suitable for all routers and servers which does not support TCP scale factor, and continue to communicate with 65536 bytes.

UPDATE: An Update on Windows TCP AutoTuningLevel - Windows 10 Forums

Tip   Tip
Possible TCP/IP Auto Tuning Related Problems:
  • Indefinite delay (hang) when opening the Certificate Services snap-in.
  • Slow (sometimes no) group policy application.
  • Trying to select a domain user in order to add that principal to a local security group (the object picker) would hang indefinitely.
  • Instant Messaging is not working well. Sometimes not at all by not being able to sign in.
  • Access to local file servers (EX: networked drives, etc.) are extremely slow and sometimes did not succeed at all (appears to hang).
  • Internet connection problems.
  • Extremely slow file transfers.
  • Other strange unexplained network connecting issues.
  • Wireless network connection problems
  • Website browsing and downloads are extremely slow.





FIRST
How To See Current Auto Tuning Settings

2. Click on Continue in the UAC prompt.​
3. In the command prompt, type in bold belowand press Enter. (See screenshot below)​
netsh interface tcp show global
Current setting.jpg

4. Close the command prompt when done.​
5. Run through the steps below to see if you have a TCP/IP Auto Tuning issue​





STEP ONE
How to Restrict Auto Tuning

2. Click on Continue in the UAC prompt.​
3. To Restrict Auto Tuning
NOTE: Allows for the receive window to grow beyond the default value of 65,535 bytes, but limits such growth in some scenarios.​
A) In command prompt, type in bold below and press Enter. (See screenshot below)​
netsh interface tcp set global autotuninglevel=restricted

B) You will get a OK response if successful. If not, repeat step 3A.​
Restricted.jpg

C) Go to step 5.​

4. To Highly Restrict Auto Tuning
NOTE: Allows for the receive window to grow beyond the default value of 65,535 bytes, but doing so very conservatively. In this mode, Vista will by default use a RWIN of 16,384 bytes with a scale factor of 2.​
A) In the command prompt, type in bold below and press Enter. (See screenshot below)​
netsh interface tcp set global autotuninglevel=high

B) You will get a OK response if successful. If not, repeat step 4A.​
Highly restricted.jpg


5. Close the command prompt window and restart the computer to apply the changes.​
6. If it fixed your problem stop here. If not, continue to Step Two below.​






STEP TWO
How to Disable Auto Tuning

NOTE: Disables the autotunning feature in Vista completely, and sets and locks the RWIN receive window to the default value as 65536 bytes.
2. Click on Continue in the UAC prompt.​
3. In the command prompt, type in bold belowand press Enter. (See screenshot below)​
netsh interface tcp set global autotuninglevel=disabled

Note   Note
You can also type in bold below and press enter after each command:
Note   Note

  • netsh
  • interface
  • tcp
  • set heuristics disabled
  • set global autotuninglevel=disabled
  • exit
4. You will get a OK response. If not, repeat step 3.​
Disable.jpg

5. Close the command prompt and restart the computer to apply the changes.​
6. If it fixed your problem stop here. If not, you may not have a issue with Auto Tuning and will need to turn it back on. Continue to Step 3 below.​






STEP THREE
How to Enable Auto Tuning Back to Normal Default

NOTE: This turns Auto Tuning back to the default on (Normal) setting in Vista. Allows for the receive window to grow to accommodate almost all scenarios. See NOTE at the top of the tutorial for more on this.
2. Click on Continue in the UAC prompt.​
3. In the command prompt, type in bold below and press Enter. (See screenshot below)​
netsh interface tcp set global autotuninglevel=normal

Note   Note
You can also type in bold below and press enter after each command:
Note   Note

  • netsh
  • interface
  • tcp
  • set heuristics enabled
  • set global autotuninglevel=normal
  • exit
4. You will get a OK response if successful. If not, repeat step 3.​
Enable.jpg

5. Close the command prompt and restart the computer to apply the changes.​
That's it,
Shawn


 
Last edited by a moderator:
Shawn Brink

Comments

Im stuck on what to do with this, i ran the cmd and the command; netsh interface tcp show global but my recieve window auto-tuning level says "highlyrestricted" What does this mean?? any advice on what i should do? thanks.
 
Hi Mafia_Boy,

That just means that you had ran Step One in the tutorial to restrict the TCP/IP Auto tuning. If you want the normal settings again, run Step Three.

Hope this helps,
Shawn
 
This is exactly what I needed.

I was transferring files from my home server to my main rig with Vista newly installed and was getting slooow speeds of ~12MBps on a GigE network. I tried the high setting and I got an immediate boost to 42MBps which is good but not as good as the ~52MBps I was getting in XP Pro.

I decided to try the disabled setting figuring that it would not net me much if anything. Lo and behold I got the fastest speeds I've seen on my LAN, 67MBps! I'm impressed.

Thanks for the tut! Great site BTW.
 
Hi Swarfega,

It may if you run a networked game through a network device that doesn’t support RFC 1323 “TCP Extensions for High Performance”.

Otherwise, most likely it will not. ;)

Shawn
 
Would this help with gaming at all?
Apparently when Windows Vista is connected to high speed broadband Internet connection, there may be some incompatibilities and conflict problem occuring lags in games.
It is reported sometimes that disabling auto tuning resolves this lag problem.
I just don't know as i only play chess on line :)
 
Should I be concerned if my auto tuning is disabled? I've used a few tweak programs prior to reading this. Just curious to know. Thanks!
 
Hi Stat,

Welcome to Vista Forums. :party:

If you are not having any problems with your network connection, then I would not be to concerned with it.

You can try it set as enabled and restricted to compare it to how it is running now as set to disabled to see which setting runs better for you.

Hope this helps,
Shawn
 
Hi Stat,

Welcome to Vista Forums. :party:

If you are not having any problems with your network connection, then I would not be to concerned with it.

You can try it set as enabled and restricted to compare it to how it is running now as set to disabled to see which setting runs better for you.

Hope this helps,
Shawn
Thanks a lot Brink! Im not having a problem, except the other forum I frequent (which I'm a moderator of) isn't loading. I'm thinking it's because we're switching servers, but I asked around and no one else is having the same problem.
 
Hi Stat,

Welcome to Vista Forums. :party:

If you are not having any problems with your network connection, then I would not be to concerned with it.

You can try it set as enabled and restricted to compare it to how it is running now as set to disabled to see which setting runs better for you.

Hope this helps,
Shawn
Thanks a lot Brink! Im not having a problem, except the other forum I frequent (which I'm a moderator of) isn't loading. I'm thinking it's because we're switching servers, but I asked around and no one else is having the same problem.
Stat,

You may be having a temporary DNS server address issue with your ISP. Try these Open DNS addresses to see if you can connect to the website with them. Just click on the Computer, or Router if you use one, and follow the instructions on how to enter the addresses into your network device properties page.

https://www.opendns.com/start

Hope this helps,
Shawn
 
Hi Stat,

Welcome to Vista Forums. :party:

If you are not having any problems with your network connection, then I would not be to concerned with it.

You can try it set as enabled and restricted to compare it to how it is running now as set to disabled to see which setting runs better for you.

Hope this helps,
Shawn
Thanks a lot Brink! Im not having a problem, except the other forum I frequent (which I'm a moderator of) isn't loading. I'm thinking it's because we're switching servers, but I asked around and no one else is having the same problem.
Stat,

You may be having a temporary DNS server address issue with your ISP. Try these Open DNS addresses to see if you can connect to the website with them. Just click on the Computer, or Router if you use one, and follow the instructions on how to enter the addresses into your network device properties page.

https://www.opendns.com/start

Hope this helps,
Shawn

No luck with that one. Great site btw. As soon as I type in the url for my forum I get the "internet cannot display page error." But then I hit refresh and it loads S-L-O-W-L-Y and all the images do not show up.
 
Don't really understand the importance but in my TCP Global Parameters it shows Chimney Off load State as disabled. Never changed anything there, is "enabled" important?
 
Omfg i disabled this it was set at high and i also disabled page clearing or whatever and yea but before i did this i was at around 13MBs download and 1MB upload. Now... IM AT 30MBs download!!! But still only 1MB upload. Thank you so much you seriously make me happy ^_^. Now i can tell my friends that i almost know for a fact my connection is better than theirs lol Also i disabled the reserved bandwidth. Thank you so much again!!!
 
What are we talking about here? Disabled what? "TCP/IP" or "netsh interface tcp set global chimney"? Please, do reply.
 
What are we talking about here? Disabled what? "TCP/IP" or "netsh interface tcp set global chimney"? Please, do reply.
TCP/IP but if you were referring to me i also disabled QOS Packet Scheduler and i think those two are what gave me the freakin amazing boost!

Well now i just went down to 8MBs i dont know what happened because before i made the changes last time i tested it and then made the changes and got the boost. But now i put the TCP/IP autotune setting to experimental and a decent portion of the speed came back i tried the settings i had before and nothing worked... I just dont get computers or the internet anymore lol.
 
Last edited:
Top