Say Bye To Half-open TCP Connections Limit In Vista/2008 SP2

Good news from Microsoft!

At May 6, 2009, In this article, Microsoft confirm that:
By default, the half-open TCP connections limit is disabled in Windows Server 2008 with Service Pack 2 (SP2) and in Windows Vista with Service Pack 2 (SP2).

Thank for this, my doubts about RateLimit long time ago has been solved by Microsoft's answer.

Last year, I found a case. In Vista, I can simply modify the value "TcpCreateAndConnectTcbRateLimitDepth" from 1 to 0 in the kernel memory, and then the Half-open TCP connections limit has been removed immediately!
But I am not sure whether this is a safe method. so, in tcp-z, this function never be active. TCP-Z only show this value.

After Vista 16670 and Windows 7 6956, Microsoft strangely set TcpCreateAndConnectTcbRateLimitDepth to 0 in default.
In latterly version of TCP-Z, it will show a lock icon to distinguish these difference.

Now, Microsoft answer: It's safe! and provide a simple modification method by registry.
When you add a registry entry "EnableConnectionRateLimiting", and set to 1 or 0, it will switch TcpCreateAndConnectTcbRateLimitDepth between 1/0 synchronously.
You can see the changes in the graph of TCP-Z.
After TcpCreateAndConnectTcbRateLimitDepth change to 1, Windows will calculate the create rate and do the limitation. In testing you can see the value is limited to 11.


This registry entry only works in Windows Server 2008 with SP2 / Windows Vista with SP2 / Window 7.

It is time to retire for me!


Full article in Microsoft.com


How to enable the half-open TCP connections limit in Windows Vista with Service Pack 2 and in Windows Server 2008 with Service Pack 2

INTRODUCTION

By default, the half-open TCP connections limit is disabled in Windows Server 2008 with Service Pack 2 (SP2) and in Windows Vista with Service Pack 2 (SP2). This article describes how to impose the half-open TCP connections limit in Windows Server 2008 with SP2 and in Windows Vista with SP2. The limit is ten connections.

Note In Windows Server 2008 and in Windows Vista with Service Pack 1 (SP1), the system allows for a maximum of ten half-open TCP connections at any time.

MORE INFORMATION

How to enable the half-open TCP connections limit

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:

322756 How to back up and restore the registry in Windows

To enable the half-open TCP connections limit in Windows Server 2008 with SP2 or in Windows Vista with SP2, set the value of the EnableConnectionRateLimiting DWORD registry entry to 1 (0x00000001).

To do this, follow these steps:

1) Click Start, type regedit in the Start Search box, and then click regedit.exe in the Programs list.

If you are prompted for an administrator password or for confirmation, type your password, or click Continue.

2) Locate and then double-click the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip
\Parameters\EnableConnectionRateLimiting

3) In the Value data box, type 1, and then click OK.

4) Exit Registry Editor.
5) Restart the computer.


Comment by deepxw: In fact, It's no need to restart computer.

Posted by deepxw at 20:48   |    

16 comments:

oldino said... May 8, 2009 3:41 PM  

Thanks for the update with this article.
But one thing is not clear to me:
once I modify the registry, how musch is the limit? I go from 10 to unlimited? What if I just want to increase the number without making it unlimited?

Anonymous said... May 8, 2009 4:00 PM  

I'm not going to update to Vista or Windows 7 cause of this in the next 3 or 4 years. Windows 2003 64bit does all I want todo with my (old) PC. Therefor your patch is needed!

Please keep this great project online!

Anonymous said... May 8, 2009 7:27 PM  

Noo! Don't retire! We need you for all your projects, not just half open patcher!

Don't dump all your fans!

deepxw said... May 9, 2009 2:12 AM  

To oldino: In default, it's unlimited.
Switch to limit mode: set EnableConnectionRateLimiting=1.
Then system will calculate the create speed, and limit to 10.
In limit mode, you can use TCP-Z modify the limit value to which you want.

Switch to unlimited mode: set EnableConnectionRateLimiting=0.

deepxw said... May 9, 2009 2:16 AM  

Thanks!
I will continue to update the other patch.

Anonymous said... May 15, 2009 3:02 AM  

I'm quite unclear on what the situation is in Win7, even after reading the above a couple times.

Even though the MS article makes no mention of Win7, are you saying that the limit for it has also been lifted by default?

Juhani said... May 26, 2009 3:36 PM  

The registry trick didn't work for me on Windows 7 RC 7127.

Universal Tcpip.sys Patch worked like a charm.

deepxw said... May 29, 2009 10:24 PM  

For NT6.x(Vista/Server2008/Windows 7)

In TCP-Z, if "Memory Limit" > 0, and "Create depth" = 0, it means current system is unlimite.

In TCP-Z, if "Memory Limit" > 0, and "Create depth" > 0, it means current system is limit.

In latese Win7, it is unlimited in default.

Edward John said... June 13, 2009 5:13 AM  

In using the Universal Tcpip.sys Patch for my Windows XP SP2 x86 system, what value would you best recommend for my setup? Thank you for your time and hope to hear from you.

Anonymous said... June 26, 2009 1:31 PM  

My system is Vista 64-bit SP2, When i used TCP-Z there is no lock icon even after I added "EnableConnectionRateLimiting" and set it to "0".
it shows that the Create Depth is 0 instead of 1, File and Memory limit is 10.
So is the Half-open TCP connections limit removed??

Anonymous said... July 19, 2009 1:01 AM  

Ok I know someones going to think that I do not know what I am talkin about or say that I miss read something...I assure you I did notand I know my way around my registry...I am running an Acer using Vista 32bit and I follow the instructions(provided at the bottom)I find the string up to "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip
\Parameters" BUT the end of it
(\EnableConnectionRateLimiting)
is NOWHERE to be found I cannot properly seed to people with so few connections can anyone PLEASE help with this...

To enable the half-open TCP connections limit in Windows Server 2008 with SP2 or in Windows Vista with SP2, set the value of the EnableConnectionRateLimiting DWORD registry entry to 1 (0x00000001).

To do this, follow these steps:

1) Click Start, type regedit in the Start Search box, and then click regedit.exe in the Programs list.

If you are prompted for an administrator password or for confirmation, type your password, or click Continue.

2) Locate and then double-click the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip
\Parameters\EnableConnectionRateLimiting

3) In the Value data box, type 1, and then click OK.

4) Exit Registry Editor.
5) Restart the computer.

Anonymous said... July 31, 2009 4:59 AM  

[quote/]Ok I know someones going to think that I do not know what I am talkin about or say that I miss read something...I assure you I did notand I know my way around my registry...I am running an Acer using Vista 32bit and I follow the instructions(provided at the bottom)I find the string up to "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip
\Parameters" BUT the end of it
(\EnableConnectionRateLimiting)
is NOWHERE to be found I cannot properly seed to people with so few connections can anyone PLEASE help with this...
[quote]

yes, it's not there for me either. am using windows seven home premium 7600 x86

Anonymous said... August 1, 2009 1:32 AM  

me too vista ultimate 64 sp2

Andie said... August 25, 2009 5:55 PM  

That entry is not in my registry either. Running Vista Ultimate SP2 x64. Gonna keep using the patcher.

Anonymous said... August 29, 2009 12:40 PM  

I believe it is just as simple as, once you are at "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip
\Parameters", to just right click-> new DWORD Value. Then call it EnableConnectionRateLimiting and set it to 0 or 1. I'm not sure this will actually have any effect, but it's something you can try.

Anonymous said... August 31, 2009 11:07 PM  

Hi deepxw, I like your nice program :)

But now, I had little confusion about half-open TCP connections value should be (limited/unlimited).

- Which's best? Limited or Unlimited (if limited, what the value should be?)
- If I had change to Limited/Unlimited, should I use TCP-Z Virtual Device again?
- Did limited/unlimited value affect the download/browsing speed?

Thx before 4 your answer
Best regards! :)

Post a Comment

Next previous home
 
Copyright 2009 deepxw | TCP-Z, Best TCP/IP Patch