Windows Server 2016/2012 telnet或打开网页慢

问题描述

  • windows虚拟机2016或者2012,telnet公网地址,发现需要9秒才能通,但是ping延时非常低,windows7虚拟机去telnet相同地址就正常。
  • 打开百度等公网网页慢,一直在转圈。

解决办法

通过抓包发现,前两个SYN请求包的中,带有ECN标记,到第三个SYN包没有带ECN标记才请求成功。
syncbbs-1660638043.png
查询官方文档,因为windows server 2016中的ECN功能默认是开启的,ECN利用了TCP/IP中未使用的字段来支持功能,目的是为了减少网络拥堵,但网络中间的各种设备可能不支持,并把该字段不为0的包丢弃。
telnet的时候第一次发送带ECN标志的SYN包,3秒后未收到响应,接着发第二次,6秒后未收到相应,第三次会采用不带ECN的SYN包,即可成功,所以导致telnet需要9秒多才可以连上。
可以使用管理员权限的CMD执行下面的命令:

netsh int tcp set global ecncapability=disabled
添加新评论