“知识点++”主题专注于记录日常学习中有意思的知识点,并用一篇文章阐述清楚,选题可能是某个概念、工具、原理、应用等。
前言
面试中问到 TCP 相关知识时一般会问到三次握手和四次挥手,内容大家一定回答过很多次并熟记于心了。传统的 TCP 建立连接时需要三次握手,并且握手时只发送简单的 SYN 和 ACK 报文(部分优化的网络协议栈可以在第三次握手时直接发送数据)。
从网络带宽的资源利用的角度来看,传输层的 TCP 头部 + 网络层的 IP 头部,最少有 40 个字节,为了发送几个字节的报文数据包,而额外组装了 40 个字节的头部,着实有点浪费资源。
从应用优化的角度来看,因为要等到 TCP 经过三次握手建立连接之后才能发送应用层数据,所以会造成应用程序首次发送数据时存在一定的延迟,尤其是短连接、移动设备等场景中,这种副作用会加剧。
为解决上述问题,TCP Fast Open 应运而生。
2025年2月10日大约 6 分钟