现在请求的步骤是:
- 客户端发起
SYN请求 - 服务返回
SYN+ACK响应 - 客户端发起
ACK请求,同时会带上具体请求的信息 - 服务端返回数据
TCP快速打开的步骤:
- 客户端先发起
SYN请求 - 服务端返回
SYN+ACK+Cookie响应 - 客户端发起
ACK+HTTP请求 - 服务端返回数据
- 再次连接,客户端发起
SYN+Cookie+HTTP请求 - 服务端返回
SYN+ACK+Data

TFO的主要思路是:能不能简化三次握手的过程
=> 要简化三次握手的过程就需要知道三次握手主要是为了干什么?
- 为了建立可靠的连接
- 协商滑动窗口等信息
那么 TFO是否可以首次仍旧照例建立连接,并且在首次连接中把滑动窗口的信息存储在Cookie中带到客户端,当客户端之后再次建立连接时,直接带上Cookie信息然后直接获取数据
TFO 现状
目前很多路由器,防火墙会过滤TFO,很多服务器即使支持TFO但是也会默认关闭该功能,想要打开该功能需要设置net.ipv4.tcp_fastopen
