Windows 10: netsh congestion broken

jyi786

Supreme [H]ardness
Joined
Jun 13, 2002
Messages
5,758
I'd like some of you guys to chime in on this.

In Windows 7, there is a netsh command that allows you to change the congestion provider to CTCP. Given the fact that I'm using almost enterprise grade switches and equipment at home, I want to get the full speed of the hardware I'm paying for.

Using CTCP, I get almost gigabit transfer speeds. If I use the regular default OOTB settings of disabled, things get jittery. Bottom line is that I've historically done this on ALL my machines, both at work and at home, and have never had an issue with file transfer speeds.

Yesterday, I installed Windows 10 on a VM for the umpteenth time to try and give it a fair shot. One of the first things I did was try and modify netsh settings, but it seems it's been deprecated. To make things even worse, I found that congestion provider settings are locked down in Windows 10 (also to a degree in Windows 8/8.1), and you cannot change the congestion provider settings. Microsoft's excuses rang hollow to me, and don't make any sense.

https://social.technet.microsoft.co...ions-due-to-a-network?forum=w8itpronetworking

http://www.neowin.net/forum/topic/1271672-set-nettcpsetting-still-incomplete-code-in-windows-10/

This is the thread where a Microsoft PM who works in the Core Networking team made some comments that didn't make sense to me.
https://social.technet.microsoft.co...-tcp-set-supplemental?forum=w8itpronetworking

Here's a bunch of forum posts which clearly show the effect of enabling ECN and CTCP on a Windows 8 machine.
http://www.networkedmediatank.com/showthread.php?tid=63992&pid=588255

This is kind of a deal breaker to me. Yes, I have noticed slower transfer speeds when I tried Windows 10 before, but I haven't run any statistical benchmarks or anything, since I wasn't seriously considering keeping the OS.

Any of you [H] networking gurus have thoughts to contribute to this?
 
Last edited:
Are you sure the VM is not already using CTCP? Starting with Windows 8, many connection settings are done per connection instead of globally and you configure them via Powershell. I just checked 2 of my Windows 10 machines and they are both using CTCP for most connections by default.

To verify this use Powershell and run "Get-NetTcpSetting | select SettingName, CongestionProvider"

On my systems the InternetCustom and Internet profiles use CTCP. Next run "Get-NetTcpConnection" and you should see which profile is being applied for each connection. In my case, I see that most of my connections have the Internet profile applied which uses CTCP as verified in the first command.

If you do need to change the default profiles for some reason, you should be able to use the Set-NetTcpSetting cmdlet, although I haven't tested that because all my machines appear to behave properly by default.
 
Are you sure the VM is not already using CTCP? Starting with Windows 8, many connection settings are done per connection instead of globally and you configure them via Powershell. I just checked 2 of my Windows 10 machines and they are both using CTCP for most connections by default.

To verify this use Powershell and run "Get-NetTcpSetting | select SettingName, CongestionProvider"

On my systems the InternetCustom and Internet profiles use CTCP. Next run "Get-NetTcpConnection" and you should see which profile is being applied for each connection. In my case, I see that most of my connections have the Internet profile applied which uses CTCP as verified in the first command.

If you do need to change the default profiles for some reason, you should be able to use the Set-NetTcpSetting cmdlet, although I haven't tested that because all my machines appear to behave properly by default.

I should have made it more clear. I'm not dumb enough to use a VM for reference. Yes, I did install this on my main rig when I got a new SSD, back when Windows 10 first came out. It was just now that I decided to maybe let the telemetry (spying) stuff slide, but after this, I can't let it. Apparently, Microsoft has limited it and is not going to change it.

http://www.neowin.net/forum/topic/1271672-set-nettcpsetting-still-incomplete-code-in-windows-10/
 
Back
Top