Please take a moment to read, to help share the message and support the initiative to tell our leaders to focus on addressing the global world problems, instead of complaining about the effects of their lack of leadership. Be a leader yourself, and share this with as many people as possible. #demandglobalchange //

Please consider donating:


IP Autotuning in Vista

At any given time, the amount that TCP can send is governed by three factors: the congestion window, the receive window and the number of bytes available to send. Without using TCP window scaling (which is disabled by default in previous versions of Windows), the maximum receive window a receiver can advertise is 64K bytes. Since the congestion window is usually greater than 64K bytes in high-bandwidth/high-latency networks, the receive window is often the limiting factor if the application is submitting enough data.


In previous versions of Windows, users can work around this problem by setting the TcpWindowSize registry key value. However, TcpWindowSize is a global setting applied to all connections, and it’s often hard for users to know the appropriate window size to set.


To address this issue in Windows Vista, Microsoft has implemented TCP auto-tuning. It enables TCP window scaling by default and automatically tunes the TCP receive window size based on the bandwidth delay product (BDP) and the rate at which the application reads data from the connection. With TCP auto-tuning, the developers have seen 1000% (10x) throughput improvements in internal testing over underutilized wide-area network links.


However, this new feature doesn’t work with clients, servers and devices that don’t support this option. (By default, all of the previous versions of Windows have the option turned off by default), and some OS’es (such as embedded Linux OS’es in wireless routers) don’t like the option at all, and tend to trip over the option … 


Have you ever noticed that your wireless Linksys/Netgear/Dlink router stops working after a while, especially when your Vista is copying a vast amount of data thru the wireless router ?   If you didn’t experience this behaviour with older versions of Windows, then you may want to disable IP Autotuning.  To be honest, as long as you don’t communicate with other Vista computers or Windows 2008 servers, you wouldn’t benefit from it at all…  If you’re doing a lot of small transfers, you would even see extra overhead because of the "window size negotiation" process…



So how to your control IP autotuning under Vista ?


To check the current status :


c:\netsh interface tcp show global


Querying active state…

TCP Global Parameters
Receive-Side Scaling State          : enabled
Chimney Offload State               : enabled
Receive Window Auto-Tuning Level    : disabled
Add-On Congestion Control Provider  : none
ECN Capability                      : disabled
RFC 1323 Timestamps                 : disabled


To disable IP autotuning :


c:\netsh interface tcp set global autotuning=disabled



To enable IP autotuning (default Vista behaviour)


C:\netsh interface tcp set global autotuning=normal



© 2008, Corelan Team (corelanc0d3r). All rights reserved.

Related Posts:

Comments are closed.

Corelan Live training

Since 2011, Corelan GCV has been teaching live win32 exploit dev classes at various security cons and private companies & organizations.

You can read more about the training and schedules here

Demand Global Change

The world needs your help !

Please take a few moments to read the "Demand Global Change Call For Action" document at
Read the full document at and share the message with as many people as possible.

Like the Facebook page, and SHARE it with everyone you know.


Want to support the Corelan Team community ? Click here to go to our donations page.

Want to donate BTC to Corelan Team?

Your donation will help funding server hosting.

Protected by Copyscape Web Plagiarism Tool

Corelan Team Merchandise

You can support Corelan Team by donating or purchasing items from the official Corelan Team merchandising store.

Corelan on IRC

You can chat with us and our friends on #corelan (freenode IRC)