How can I enable Compound TCP (CTCP) on Windows 8 / 8.1?

Hello,

So in Windows 7 for example, I could enable CTCP via this command: "netsh int tcp set global congestionprovider=ctcp" under CMD.

While in Windows 8 & 8.1 this is not working.

I have  tried some other alternatives, including solutions from Answers.Microsoft.com like:

"set supplemental congestionprovider=ctcp"

set-nettcpsetting -Settingname Custom -CongestionProvider CTCP

and so on.. But none is working, neither through CMD nor PowerShell.

Does anyone know how to enable it?

Thanks in advance.


October 22nd, 2013 7:36pm

Based on the test, "The request is not supported".

It seems that it doesn't not support this function in win8.

Regards,

Yolanda

Free Windows Admin Tool Kit Click here and download it now
October 23rd, 2013 3:23pm

Hello Yolanda, and thank you for your response.

So there is absolutely no way to enable CTCP in Windows 8 / 8.1?

Has Microsoft implemented a new alternative to CTCP that we can force the congestion provider to in order to improve our networks' throughput?

October 23rd, 2013 11:25pm

Windows 8 and 8.1 support CTCP.  The powershell model is a bit different from what you've tried though.  The TCPIP stack has several built-in "profiles" that tune a number of TCP settings.  One of the settings is the congestion provider (either CTCP or DCTCP).  You can view the list of profiles with Get-NetTCPSetting.

Now you can actually select which profile to use on a per-interface, per IP address range, or even per-port range.  For example, you can create a filter that says "for all addresses in the 10.x.x.x range, use the Datacenter profile (which uses DCTCP)." Then add a default filter that says "for all other connections, use the Internet profile (which uses CTCP)".

If you want to check what the current default profile's congestion provider is, you can run this command:

(Get-NetTransportFilter |
Where DestinationPrefix -eq '*' |
Get-NetTCPSetting).CongestionProvider


Free Windows Admin Tool Kit Click here and download it now
October 24th, 2013 4:02am

Hello and thank you for  your reponse.

Could you please elaborate on that and give me a detailed description onto what steps I have to take and which commands I must enter in order to enable it (how I can create such a filter)?

I would like to share this information with others that are also interested on this. However, most of us do not have such technical knowledge (including me), so I would like the commands I need to type and in what order to enable CTCP.

I hope you find the time to respond to this.

Thanks in advance.

October 24th, 2013 9:56pm

Or maybe someone else can explain how to enable it?
Free Windows Admin Tool Kit Click here and download it now
October 27th, 2013 12:43am

I still require an official response on this.
November 1st, 2013 4:42pm

I still need help with this, I do not understand why both of you MS employees gave me answers which contradict each other and then vanish.

This is very unprofessional.

Free Windows Admin Tool Kit Click here and download it now
November 11th, 2013 5:00pm

  Probably because they thought your request was unreasonable. As a general rule, a forum is not the place to expect step by step solutions to a problem.

  Jeffrey told you what steps you need to follow.

November 12th, 2013 3:59am

All he provided is a way to check the current filter, and not a way to change it from what I can see, while additionally the command he gave me I cannot type the way he does (entering it results to nothing).

Moreover both employees contradict each other.

Where exactly do you see the steps I need to follow, enlighten me please, because many people are interested in this.

Free Windows Admin Tool Kit Click here and download it now
November 12th, 2013 2:14pm

(Get-NetTransportFilter | Where DestinationPrefix -eq '*' | Get-NetTCPSetting).CongestionProvider

this is the actual command ! the other one is right but space might be improper if you copy and paste this here work !

November 13th, 2013 4:22pm

Great, thank you the command works, can we change it though?

Free Windows Admin Tool Kit Click here and download it now
November 14th, 2013 3:00am

Hey, can you tell me how did you do it? I dont understand how to do it.
January 13th, 2014 4:22pm

Hi I have found the solution to this problem

http://www76.zippyshare.com/v/18371009/file.html

run this file and add it to the registry

then open a command prompt and use this command

set supplemental congestionprovider=ctcp

then finally run this command netsh interface tcp show global

Under Addon Congestion Provider it should now say CTCP ;)

I am on Windows 8 and here it is after the above steps.

http://s30.postimg.org/59rn5r2i7/Untitled.jpg

Free Windows Admin Tool Kit Click here and download it now
January 17th, 2014 9:06pm

Hi I have found the solution to this problem

http://www76.zippyshare.com/v/18371009/file.html

run this file and add it to the registry

then open a command prompt and use this command

set supplemental congestionprovider=ctcp

then finally run this command netsh interface tcp show global

Under Addon Congestion Provider it should now say CTCP ;)

I am on Windows 8 and here it is after the above steps.

http://postimg.org/image/a8f5ka6b1


January 18th, 2014 2:02am

Hi I have found the solution to this problem

http://www76.zippyshare.com/v/18371009/file.html

run this file and add it to the registry

then open a command prompt and use this command

set supplemental congestionprovider=ctcp

then finally run this command netsh interface tcp show global

Under Addon Congestion Provider it should now say CTCP ;)

I am on Windows 8 and here it is after the above steps.

http://postimg.org/image/a8f5ka6b1


Free Windows Admin Tool Kit Click here and download it now
January 18th, 2014 2:02am

Hi I have found the solution to this problem

http://www76.zippyshare.com/v/18371009/file.html

run this file and add it to the registry

then open a command prompt and use this command

set supplemental congestionprovider=ctcp

then finally run this command netsh interface tcp show global

Under Addon Congestion Provider it should now say CTCP ;)

I am on Windows 8 and here it is after the above steps.

http://postimg.org/image/a8f5ka6b1


January 18th, 2014 2:02am

Hi I have found the solution to this problem

http://www76.zippyshare.com/v/18371009/file.html

run this file and add it to the registry

then open a command prompt and use this command

set supplemental congestionprovider=ctcp

then finally run this command netsh interface tcp show global

Under Addon Congestion Provider it should now say CTCP ;)

I am on Windows 8 and here it is after the above steps.

http://postimg.org/image/a8f5ka6b1


Free Windows Admin Tool Kit Click here and download it now
January 18th, 2014 5:02am

Hi I have found the solution to this problem

http://www76.zippyshare.com/v/18371009/file.html

run this file and add it to the registry

then open a command prompt and use this command

set supplemental congestionprovider=ctcp

then finally run this command netsh interface tcp show global

Under Addon Congestion Provider it should now say CTCP ;)

I am on Windows 8 and here it is after the above steps.

http://postimg.org/image/a8f5ka6b1


January 18th, 2014 5:02am

executes the cmd as administrator
Free Windows Admin Tool Kit Click here and download it now
January 21st, 2014 8:45pm

Hi I have found the solution to this problem

http://www76.zippyshare.com/v/18371009/file.html

run this file and add it to the registry

then open a command prompt and use this command

set supplemental congestionprovider=ctcp

then finally run this command netsh interface tcp show global

Under Addon Congestion Provider it should now say CTCP ;)

I am on Windows 8 and here it is after the above steps.

http://postimg.org/image/a8f5ka6b1


Not working for me. Did the steps, stll showing "none".

January 27th, 2014 12:17am

Well it is the registry hack that makes the difference on my machine, without the registry file installed

set supplemental congestionprovider=ctcp  does nothing

but after I installed the registry file then run command and reboot it shows CTCP working

Free Windows Admin Tool Kit Click here and download it now
January 28th, 2014 1:42am

didnt work for me...
February 14th, 2014 12:26pm

Hello Tranceaddict30

Thank you, that work for me !

Before 10 Mo/s from my PC to my NAS, and now, between 70 to 100 Mo/s


  • Edited by fjojo Monday, February 17, 2014 4:25 PM
Free Windows Admin Tool Kit Click here and download it now
February 17th, 2014 4:23pm

Hello Tranceaddict30

Thank you, that work for me !

Before 10 Mo/s from my PC to my NAS, and now, between 70 to 100 Mo/s


  • Edited by fjojo Monday, February 17, 2014 4:25 PM
February 17th, 2014 4:23pm

thank you very much, it really worked!!! its amazing, thank you a lot!!!
Free Windows Admin Tool Kit Click here and download it now
March 18th, 2014 10:29am

Glad it worked :)  after you add the registry file to the registry make sure to reboot the computer then use the  command set supplemental congestionprovider=ctcp

March 24th, 2014 8:47pm

Thank you Jeffrey Tippet.

After performing the above script to check the default congestion provider, the return was CTCP.  My installation is a standard Windows 8.1 running on a HP desktop. Most of ours are standard installs.  So, under my configuration, CTCP is already default.  nothing to change.  thanks.  been searching for an hour.  should have come here first.  ;)

I'm just a front line computer tech.  wanted to tweak the laptop to run better. I'll tell the techs above me. dont worry about it. and show them the above script.  Good to see it default CTCP.

Free Windows Admin Tool Kit Click here and download it now
April 25th, 2014 1:28am

ok here is what you are you going to do 
1.open notepad and copy this:Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nsi\{eb004a03-9b1a-11d4-9123-0050047759bc}\0]
"0200"=hex:00,00,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"1700"=hex:00,00,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
2.close the notepad then click save and then name it the file as enable-esn-ctcp.reg and on the encoding option you will see the option is set to ASNI change that to unicode and save
3.double click the file or import it to your registry then restart your computer
4.finally type netsh int tcp show global on an elevated or administrator cmd done
May 3rd, 2014 5:10pm

ok here is what you are you going to do 
1.open notepad and copy this:Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nsi\{eb004a03-9b1a-11d4-9123-0050047759bc}\0]
"0200"=hex:00,00,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"1700"=hex:00,00,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
2.close the notepad then click save and then name it the file as enable-esn-ctcp.reg and on the encoding option you will see the option is set to ASNI change that to unicode and save
3.double click the file or import it to your registry then restart your computer
4.finally type netsh int tcp show global on an elevated or administrator cmd done
Free Windows Admin Tool Kit Click here and download it now
May 3rd, 2014 5:10pm

ok here is what you are you going to do 
1.open notepad and copy this:Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Nsi\{eb004a03-9b1a-11d4-9123-0050047759bc}\0]
"0200"=hex:00,00,00,00,00,00,01,00,00,00,00,00,00, 00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00,00,00,00,\
00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00,00,00,00,\
ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"1700"=hex:00,00,00,00,00,00,01,00,00,00,00,00,00, 00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00,00,00,00,\
00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00,00,00,00,\
ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
2.close the notepad then click save and then name it the file as enable-esn-ctcp.reg and on the encoding option you will see the option is set to ASNI change that to unicode and save
3.double click the file or import it to your registry then restart your computer
4.finally type netsh int tcp show global on an elevated or administrator cmd done
May 3rd, 2014 5:18pm

ok here is what you are you going to do 
1.open notepad and copy this:Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Nsi\{eb004a03-9b1a-11d4-9123-0050047759bc}\0]
"0200"=hex:00,00,00,00,00,00,01,00,00,00,00,00,00, 00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00,00,00,00,\
00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00,00,00,00,\
ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"1700"=hex:00,00,00,00,00,00,01,00,00,00,00,00,00, 00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00,00,00,00,\
00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00,00,00,00,\
ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
2.close the notepad then click save and then name it the file as enable-esn-ctcp.reg and on the encoding option you will see the option is set to ASNI change that to unicode and save
3.double click the file or import it to your registry then restart your computer
4.finally type netsh int tcp show global on an elevated or administrator cmd done
Free Windows Admin Tool Kit Click here and download it now
May 3rd, 2014 5:18pm

So i used this and enabled it properly but i got worse results form it any way i may revert the effects?

July 4th, 2014 2:44am

This does not work, though it does successfully add to the registry it does not update the congestion control provider in command prompt
  • Proposed as answer by afg boy 7 hours 2 minutes ago
  • Unproposed as answer by afg boy 7 hours 2 minutes ago
Free Windows Admin Tool Kit Click here and download it now
October 16th, 2014 10:24am

This does not work, though it does successfully add to the registry it does not update the congestion control provider in command prompt
  • Proposed as answer by afg boy Thursday, April 23, 2015 12:20 AM
  • Unproposed as answer by afg boy Thursday, April 23, 2015 12:20 AM
October 16th, 2014 10:24am

This does not work, though it does successfully add to the registry it does not update the congestion control provider in command prompt
  • Proposed as answer by afg boy Thursday, April 23, 2015 12:20 AM
  • Unproposed as answer by afg boy Thursday, April 23, 2015 12:20 AM
Free Windows Admin Tool Kit Click here and download it now
October 16th, 2014 10:24am

This does not work, though it does successfully add to the registry it does not update the congestion control provider in command prompt

Thank You so much! It works for everyone!!!

After you installed the file and added to registry you need to restart your computer and 

then open a command prompt and use this command

set supplemental congestionprovider=ctcp

then finally run this command netsh interface tcp show global!!!

I'm sure it will work!!!

Try it!!!

April 22nd, 2015 8:24pm

Thanks a lot, It worked after restart, and here are my results

C:\Windows\System32>netsh interface tcp show global
Querying active state...

TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State          : enabled
Chimney Offload State               : enabled
NetDMA State                        : disabled
Direct Cache Access (DCA)           : disabled
Receive Window Auto-Tuning Level    : enabled
Add-On Congestion Control Provider  : ctcp
ECN Capability                               : disabled
RFC 1323 Timestamps                 : disabled
Initial RTO                         : 2000
Receive Segment Coalescing State    : disabled
Non Sack Rtt Resiliency             : disabled
Max SYN Retransmissions             : 2

Edit: changed "Receive Window Auto-Tuning Level" to normal by running this command (run cmd as admin): netsh int tcp set global autotuninglevel=normal

and sorry if I bumped an old thread :) but it's useful


Free Windows Admin Tool Kit Click here and download it now
August 27th, 2015 3:17pm

Thanks a lot, It worked after restart, and here are my results

C:\Windows\System32>netsh interface tcp show global
Querying active state...

TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State          : enabled
Chimney Offload State               : enabled
NetDMA State                        : disabled
Direct Cache Access (DCA)           : disabled
Receive Window Auto-Tuning Level    : enabled
Add-On Congestion Control Provider  : ctcp
ECN Capability                               : disabled
RFC 1323 Timestamps                 : disabled
Initial RTO                         : 2000
Receive Segment Coalescing State    : disabled
Non Sack Rtt Resiliency             : disabled
Max SYN Retransmissions             : 2

Edit: changed "Receive Window Auto-Tuning Level" to normal by running this command (run cmd as admin): netsh int tcp set global autotuninglevel=normal

and sorry if I bumped an old thread :) but it's useful


August 27th, 2015 7:15pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics