Windows Server 2012系统实例由于ECN功能导致建立连接较慢

免责声明: 本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

问题描述

使用Windows Server 2012系统实例部署业务后,由于ECN功能导致系统建立连接较慢。

问题原因

Windows Server 2012系统实例引入了ECN(Explicit Congestion Notification)新功能,该功能会根据RFC规定来减少网络包重传的机器,但是由于国内某些ISP封杀此类的SYN包,导致目标机器无法收到带有ECN标志的SYN包,Windows实例在发送2次ECN包没有得到响应后(第一次重传3秒,第二次重传6秒),会采用没有ECN标志位的SYN包,之后可以连接成功。

解决方案

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
  1. 使用管理员用户连接ECS服务器,如何连接请参见连接ECS实例
  2. 依次选择开始>运行,输入cmd,单击确定,打开命令行窗口。

  3. 执行以下命令,确认ECN功能值为enabled
    netsh interface tcp show global
  4. 执行以下命令,关闭ECN功能。

    netsh int tcp set global ecncapability=disabled
  5. 执行以下命令,确认ECN功能已经关闭。
    netsh interface tcp show global
    系统显示类似如下。

适用于

  • 云服务器ECS