Windows Vista支持ECN但默认是关闭的我们可以通过:

Netsh interface tcp set global ecncapability=enabled来打开支持

 

ECN的作用主要是在网络出现拥塞的时候通知TCP,减少TCP连接中被丢弃的数据包数量,以避免重传、减少等待时间,网络堵塞时提高整体的传输速度,尤其是网络抖动。

但是也有一些网络设备的实现和配置规则不能很好的与ECN兼容(比如说一些打印机设备,路由器设备)。可能会将ECN交换包视为非法,丢弃已设置ECN的数据包,导致网络问题。也就是说需要两端(发送端和接收端)都要支持ECN才能更好的使用。

如果要禁用ECN的话,使用的是一样的命令:

netsh int tcp set glob ecncapability=disabled

建议您可以在网络出现延迟现象的时候,通过network monitor观察是否是由于ECN导致的,再禁用ECN。

 

请参考以下的文章:

Delays when you print from a server that’s running Windows Server 2012

https://support.microsoft.com/en-my/help/2999046/delays-when-you-print-from-a-server-that-s-running-windows-server-2012

 

https://social.technet.microsoft.com/Forums/zh-CN/de8f3d62-bda9-4a21-b4b1-69a2f02676e6/windows2012r2319953247920013tcpip32593324762115133021ecn33021215423110?forum=windowsserversystemzhchs