简介
TCP
快速打开(TCP Fast Open
,简称TFO
)是对计算机网络中传输控制协议(TCP
)连接的一种简化握手手续的拓展,用于提高两端点间连接的打开速度。
它通过握手开始时的 SYN
包中的 TFO cookie
(一个 TCP
选项)来验证一个之前连接过的客户端。如果验证成功,它可以在三次握手最终的 ACK
包收到之前就开始发送数据,这样便跳过了一个绕路的行为,更在传输开始时就降低了延迟。这个加密的 Cookie
被存储在客户端,在一开始的连接时被设定好。然后每当客户端连接时,这个 Cookie
被重复返回。
最显著的优点是可以利用握手去除一个往返 RTT
开启 TFO
net.ipv4.tcp_fastopen
是 Linux
内核中的一个配置参数,它用于控制 TCP Fast Open
功能。
具体地,net.ipv4.tcp_fastopen
的值可以是以下几种:
0
:禁用TCP Fast Open
功能。1
:在客户端启用TCP Fast Open
功能。2
:在服务器端启用TCP Fast Open
功能。3
:在客户端和服务器端都启用TCP Fast Open
功能。
通过设置这个参数,可以根据实际需求选择是否启用和在哪一端启用 TCP Fast Open
,从而优化网络性能。