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
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
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?
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.
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.
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?
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
- Edited by
tranceaddict30
9 hours 39 minutes ago
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
-
Edited by
tranceaddict30
Saturday, January 18, 2014 8:47 PM
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
-
Edited by
tranceaddict30
Saturday, January 18, 2014 8:47 PM
-
Proposed as answer by
Mohamed Fat'hy Khashan
12 hours 11 minutes ago
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
-
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
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
- Edited by
tranceaddict30
15 hours 0 minutes ago
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
- Edited by
tranceaddict30
Saturday, January 18, 2014 8:47 PM
January 18th, 2014 5:02am
executes the cmd as administrator
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
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
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!!!
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.
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
-
Edited by
kinghamster678
Saturday, May 03, 2014 5:13 PM
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
-
Edited by
kinghamster678
Saturday, May 03, 2014 5:13 PM
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
-
Proposed as answer by
kinghamster678
Saturday, May 03, 2014 5:20 PM
-
Marked as answer by
Michael_MartinModerator
Monday, May 19, 2014 5:10 PM
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
-
Proposed as answer by
kinghamster678
Saturday, May 03, 2014 5:20 PM
-
Marked as answer by
Michael_MartinModerator
Monday, May 19, 2014 5:10 PM
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
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
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
-
Edited by
Mohamed Fat'hy Khashan
11 hours 58 minutes ago
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
-
Edited by
Mohamed Fat'hy Khashan
Thursday, August 27, 2015 7:24 PM
August 27th, 2015 7:15pm