我了解到您可以在 tcp 握手期间使用第二个 ACK 携带数据,并且当您实际上已经可以做到时,拥有一个单独的功能来进行双向握手感觉有点多余。
使用 cookie 而不是简单地使用序列号,如果确实有什么好处的话,有什么好处?
无需 TCP 快速打开,client 就可以通过 second 数据包发送数据,即 SYN(客户端)、SYN+ACK(服务器)、ACK+data(客户端)。
通过 TCP 快速打开,server 可以使用 first 数据包发送数据,即 SYN(客户端)、SYN+ACK+data(服务器)。
但是,如果客户端 IP 地址被欺骗,服务器在第一个数据包中发送数据可能会导致针对某些第三方系统的放大攻击。这就是为什么只有在 TFO cookie 提供的有关客户端未被欺骗的先前知识时才使用它。