问题描述
在Windows 2012实例访问外部网站时,出现访问速度较慢或者TCP连接重传的现象。
问题原因
客户端的系统启用了ECN功能,在访问外部网站时,会向服务端发送带有ECN位的数据包,但在传输过程中,如果某个设备不支持ECN功能,则会直接丢弃有ECN位的数据包。
解决方案
- 登录服务器,单击 开始 > 运行,输入 cmd,进入命令行窗口。
- 执行如下命令,查看TCP全局参数的信息。
netsh interface tcp show global
系统显示类似如下,则说明系统已经开启ECN功能。 - 执行如下命令,关闭ECN功能。
netsh interface tcp set global ecncapability=disabled
- 执行如下命令,查看TCP全局参数的信息,确认 ECN 功能 为 disabled。
netsh interface tcp show global
更多信息
ECN的作用主要是在网络出现拥塞时通知TCP的传输层,减少TCP连接中被丢弃的数据包数量,达到避免重传、减少等待时间、减少网络抖动的效果。但是有些网络设备的配置规则不能与ECN兼容,例如打印机、路由器。这些设备会将ECN交换包视为非法,同时丢弃已设置ECN的数据包,导致网络出现问题。