在 ECN 生效的网络中,拥塞控制可以在不真正丢弃数据包的情况下进行,减少了因丢包导致的 TCP 窗口剧烈波动,有利于维持更高的链路利用率和更平滑的传输性能。
ECN 有 3 个选项,分别是关闭、双向开启、仅入站开启,默认情况下是仅入站开启,也就是 2,出于性能最优考虑建议把所有服务器都配置为 1,这样整条服务器链路都能享受 ECN 的好处。
| 0 | Disable ECN. |
|---|---|
| 1 | Allow incoming connections to request ECN. Outgoing connections will request ECN. |
| 2 (default) | Allow incoming connections to request ECN. Outgoing connections will not request ECN. |
Debian
编辑 /etc/sysctl.conf:
net.ipv4.tcp_ecn = 1
FreeBSD
编辑 /etc/sysctl.conf:
net.inet.tcp.ecn.enable = 1
