不建议开启tcp fast open功能

使用过程中遇到问题,欢迎到 网络跳越论坛 或 tg群组https://t.me/joinchat/JJLNEhXp0GoOIXSP1jrjPA 交流,或关注Youtube频道:网络跳越

TCP快速打开(TCP Fast Open, TFO),是Google在2011年提出的缩短页面加载时间的方案。众所周知,常规的tcp连接需要经历三次握手,对于向同一个主机的多次短连接完全是浪费时间。使用TFO后,已经连接过的主机可以使用原cookie再次连接,避免了重复的握手过程。根据Google测算,TFO可以节省4-40%的页面加载时间。

至2012年起,Linux 3.7内核支持TFO,2013年安卓4.4支持TFO,2015年iOS支持TFO,2016年Windows 10支持TFO。此外某些软硬件厂商的产品也支持TFO,例如大名鼎鼎的前端负载均衡器F5。

理想是美好的,现实是残酷的。到目前为止,极少浏览器支持TFO功能。即使有,TFO默认也是关闭的。究竟是什么原因让一个这么好的方案在现实中不受待见呢?

原因之一是与许多现有的软硬件不兼容,例如各种路由器、中间件等。其次使用了能跟踪用户行为的cookie,带来隐私问题。最后即将到来的HTTP/3、已经普及的TLS 1.3有更好的解决方法。因此,TFO在实践中较少用到,虽然Nginx等主流软件支持。

对于科学上网的人,TFO更是不建议开启。根据 shadowsocks-libev 的反馈,TFO在中国移动数据网络下不能正常工作,而且长城防火墙会识别和丢弃TFO的包,开启TFO只会自找麻烦。

虽然不建议用TFO,但是本站提供的 Shadowsocks/SS一键脚本ShadowsocksR/SSR一键脚本V2Ray一键脚本 均在服务端开启了TFO的内核支持,但在程序配置中默认禁用。如果你想尝试TFO,只需在配置文件中打开tcp fast open即可,但强烈不建议!

参考

1. The Sad Story of TCP Fast Open

留言评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code