ECN是需要双方机器都开启才有效。
ECN在Linux、macOS、iOS、Windows Server都是默认开启的。
但是桌面版Windows似乎默认没开。
打开PowerShell
- netsh interface tcp set global ecncapability=enabled
复制代码
就开启了。
当然ECN这个东西是百害而无一利的,建议不要开(?
宁夏网友:接收方缩放状态:netsh int tcp set global rss=enabled
RFC 1323 时间戳:netsh int tcp set global timestamps=enabled
ECN 功能:netsh int tcp set global ecncapability=disabled
快速打开 netsh int tcp set global fastopen=enabled
快速打开回退 netsh int tcp set global fastopenfallback=enabled
接收窗口自动调谐级别:netsh int tcp set global autotuninglevel=disabled
禁用TCP接收窗口自动调优 Netsh int tcp set global autotuning=disabled
本地计算机这样配置到话,会加速本地打开网页的体验,实现jd taobao秒开,代价就是转发 反代慢的一批,基本没法超过10mbps,自己选,我是不建议优化
重庆网友:为啥说ECN是百害无一利?
我百度了一下ECN.
ECN的作用主要是在网络出现拥塞的时候通知TCP,减少TCP连接中被丢弃的数据包数量,以避免重传、减少等待时间,网络堵塞时提高整体的传输速度,尤其是网络抖动。
但是也有一些网络设备的实现和配置规则不能很好的与ECN兼容(比如说一些打印机设备,路由器设备)。可能会将ECN交换包视为非法,丢弃已设置ECN的数据包,导致网络问题。也就是说需要两端(发送端和接收端)都要支持ECN才能更好的使用。
广西网友:所以这是什么
澳门网友:
因为我瞎几把说的。
台湾网友:系统自带的网络加速器
贵州网友:大佬的bbr2很棒,期待后续更新
重庆网友:服务器端bbr2开了了ECN,终端是mac和ios设备,中间路由器不知道支持不支持ECN