原因
因為Explicit Congestion Notification(ECN)預設開啟
解決辦法
Windows
檢查ECN狀態
1 | netsh int tcp show global |
關閉ECN
1 | netsh interface tcp set global ecncapability=disabled |
開啟ECN
1 | netsh interface tcp set global ecncapability=enabled |
Linux
檢查ECN狀態
1 | cat /proc/sys/net/ipv4/tcp_ecn |
開啟/關閉ECN
1 | sudo sysctl -w net.ipv4.tcp_ecn=0 |
- 0 : 禁用ECN,不發起也不接受
- 1 : 啟用ECN,當傳入連接請求時,並也在傳出連接時嘗試請求ECN
- 2 : (預設)傳入連接請求時啟用ECN,但不在傳出連接上請求ECN
Reference
[1] Explicit Congestion Notification
[2] https://www.bufferbloat.net/projects/cerowrt/wiki/Enable_ECN/