积极答复者
附加拥塞控制提供程序 Add-On Congestion Control Provider问题咨询!

问题
-
尊敬的微软工程师,
TCP中附加拥塞控制提供程序 Add-On Congestion Control Provider默认在Windows2008r2,2012r2,2016各版本是不同的
Windows2008r2默认状态下值为CTCP
Windows2012r2默认状态下值为None
Windows2016默认状态下值为None
Windows2019默认状态下值为default
我想咨询这个究竟应该怎么设置比较合理?
CTCP、None、default在系统注册表中对应的键值是什么能否告知?
谷青松
- 已编辑 谷青松 2020年9月16日 7:38 补充修改
答案
-
Hello,
暂时没有08的机器做测试,拿了16和19做了一下测试。根据我的测试结果,从12之后Add-On Congestion Control Provider应该是没有办法更改的,也没有对应的注册表键值。如果您发现可以更改的话,可以分享一下您的方法,我这边再做测试。
在12之后,应该是要选择TCP模板来配置对应的CongestionProvider。比如在08或者是windows7上都能直接通过netsh interface tcp set global congestionprovider=ctcp/none去更改Add-On Congestion Control Provider中的显示。而12之后,必须要指定TCP模板之后,才能去更改congestionprovider。
如下图所示,server16上如下的TCP模板类型,通过netsh int tcp show supplemental命令可以看到当前默认使用的是internet模板,对应的congestionprovider是CTCP:
通过命令将模板更改为internetcustom,然后再更改CongestionProvider为DCTCP。
12和16上可以切换CTCP和DCTCP。而到了19上,默认是使用Cubic拥塞算法了,可以切换cubic和LEDBAT:
关于server 2019上的TCP模板,可以参考以下的文章:
对于Add-On Congestion Control Provider,server 12,server 16,server 19都会一直显示其默认状态下的值。并没有找到方法修改。
此致
Candy
Please remember to mark the replies as an answers if they help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com- 已编辑 Candy LuoMicrosoft contingent staff, Moderator 2020年9月17日 7:27
- 已标记为答案 谷青松 2020年9月18日 1:24
-
Hello,
12和16上只能在CTCP和DCTCP之间进行切换,19上默认是CUBIC算法。
可以对比一下新旧两种版本的默认值之间吞吐量比较:
CUBIC可以通过更快地提升到更高的速度来更好地管理拥塞,从而提高整体吞吐量。19上默认就是CUBIC不建议去进行变动。
>>感谢您的测试结果,还是希望您能告诉我设置什么值比较合理,默认究竟应该是CTCP还是DCTCP,None和default这两个意味着是什么值?
没有找到任何文档说明。说实话,这个有点太深入了,这些都已经涉及到底层算法逻辑了。和同事进行了讨论之后,我们认为不要去修改这些值了。我们基本上不会涉及到让用户去修改CongestionProvider参数的。
如果想要深入了解这个信息的话,我建议还是和微软开case的,他们可能有更多详细的资料可供研究。
此致
Candy
Please remember to mark the replies as an answers if they help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com- 已标记为答案 谷青松 2020年9月24日 5:31
全部回复
-
Hello,
暂时没有08的机器做测试,拿了16和19做了一下测试。根据我的测试结果,从12之后Add-On Congestion Control Provider应该是没有办法更改的,也没有对应的注册表键值。如果您发现可以更改的话,可以分享一下您的方法,我这边再做测试。
在12之后,应该是要选择TCP模板来配置对应的CongestionProvider。比如在08或者是windows7上都能直接通过netsh interface tcp set global congestionprovider=ctcp/none去更改Add-On Congestion Control Provider中的显示。而12之后,必须要指定TCP模板之后,才能去更改congestionprovider。
如下图所示,server16上如下的TCP模板类型,通过netsh int tcp show supplemental命令可以看到当前默认使用的是internet模板,对应的congestionprovider是CTCP:
通过命令将模板更改为internetcustom,然后再更改CongestionProvider为DCTCP。
12和16上可以切换CTCP和DCTCP。而到了19上,默认是使用Cubic拥塞算法了,可以切换cubic和LEDBAT:
关于server 2019上的TCP模板,可以参考以下的文章:
对于Add-On Congestion Control Provider,server 12,server 16,server 19都会一直显示其默认状态下的值。并没有找到方法修改。
此致
Candy
Please remember to mark the replies as an answers if they help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com- 已编辑 Candy LuoMicrosoft contingent staff, Moderator 2020年9月17日 7:27
- 已标记为答案 谷青松 2020年9月18日 1:24
-
Hello,
12和16上只能在CTCP和DCTCP之间进行切换,19上默认是CUBIC算法。
可以对比一下新旧两种版本的默认值之间吞吐量比较:
CUBIC可以通过更快地提升到更高的速度来更好地管理拥塞,从而提高整体吞吐量。19上默认就是CUBIC不建议去进行变动。
>>感谢您的测试结果,还是希望您能告诉我设置什么值比较合理,默认究竟应该是CTCP还是DCTCP,None和default这两个意味着是什么值?
没有找到任何文档说明。说实话,这个有点太深入了,这些都已经涉及到底层算法逻辑了。和同事进行了讨论之后,我们认为不要去修改这些值了。我们基本上不会涉及到让用户去修改CongestionProvider参数的。
如果想要深入了解这个信息的话,我建议还是和微软开case的,他们可能有更多详细的资料可供研究。
此致
Candy
Please remember to mark the replies as an answers if they help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com- 已标记为答案 谷青松 2020年9月24日 5:31