Answered by:
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.
Question
Answers
-
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
- Proposed as answer by kinghamster678 Saturday, May 3, 2014 5:20 PM
- Marked as answer by Michael_MartinModerator Monday, May 19, 2014 5:10 PM
All replies
-
Based on the test, "The request is not supported".
It seems that it doesn't not support this function in win8.
Regards,
Yolanda
-
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?
-
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
-
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.
-
-
-
-
-
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.
-
-
-
-
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
- Edited by tranceaddict30 Saturday, January 18, 2014 8:47 PM
- Proposed as answer by Mohamed Fat'hy Khashan Thursday, August 27, 2015 7:11 PM
-
-
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".
-
-
-
-
-
-
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.
-
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- Edited by kinghamster678 Saturday, May 3, 2014 5:13 PM
-
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
- Proposed as answer by kinghamster678 Saturday, May 3, 2014 5:20 PM
- Marked as answer by Michael_MartinModerator Monday, May 19, 2014 5:10 PM
-
-
This does not work, though it does successfully add to the registry it does not update the congestion control provider in command prompt
-
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!!!
-
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 : 2Edit: 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
- Edited by Mohamed Fat'hy Khashan Thursday, August 27, 2015 7:24 PM
-
-