TCP Fast Open 的实现
前两天重装VPS的时候突然发现Shadowsocks支持[TCP Fast Open 特性],找了会资料才理解这个. TCP Fast Open简称TFO,是谷歌为了加速网络传输速度和效率,其特性就是在三次握手的第一次握手时客户端发送(syn+TFO cookie)包;服务端收到后,如果其支持TFO则发出了(ack+syn+TFO cookie)回应包后,立即就开始发数据包,缩短了TTFB的时间;如果服务端不支持TFO,则会发送正常的(syn+ack)回应包,走正常的三次握手流程. 因此,使用TFO的特性需要两端都支持TFO.客户端侧需要Linux Kernel 3.6及以上版本;而服务端侧则是Linux Kernel 3.7及更高版本才支持.并且服务端侧需要设置内核的net.ipv4.tcp_fastopen参数为2或3. net.ipv4.tcp_fastopen参数释义: 1 表示客户端请求开启. 2 表示服务端请求开启. 3 表示客户端与服务端请求同时开启. 服务端使用命令: echo “net.ipv4.tcp_fastopen=3” >> /etc/sysctl.conf sysctl -p 客户端使用命令: echo “net.ipv4.tcp_fastopen=1” >> /etc/sysctl.conf sysctl -p … “TCP Fast Open 的实现”
Read More