首页 > 编程知识 正文

tcp快速打开,java web

时间:2023-05-03 17:06:48 阅读:176046 作者:814

1 .为了tfo改善web APP应用的适当的延迟,谷歌发表了通过修改TCP协议利用3次握手进行数据交换的TFO(TCPfastopen,RFC 7413 )。

TFO允许在TCP握手期间发送和接收第一个SYN包中的数据。 如果客户端和服务器都支持TFO功能,则可以减少到同一服务器的多个TCP连接的延迟。这是通过在初始TCP握手之后在客户端上存储TFO cookie来实现的客户端稍后重新连接时,会将此TFO cookie发送到服务器,以便通过连续的TCP握手跳过往返延迟,从而减少延迟。

2. TFO原理

第一次连接:

客户端发送SYN包,具有Fast open选项,cookie值为空的客户端接收SYN,稍后生成cookie,放入ACK SYN包的Fast open选项中,然后发送回客户端

客户端向服务器发送ACK时,我还带走了刚缓存的cookie,还带走了数据

服务器验证收到的cookie的合法性。 如果不合法,扔掉现在的包,普通握手三次。 如果合法,服务器将向客户发送ACK SYN并携带数据包

客户端向服务器发送ACK进行确认

3. TFO的好处第一次连接断开了,开始第二次连接了:

当第二次请求时,TFO可以将请求消息和响应消息放在前面的第二次握手的过程中,因此第二次请求可以在一个RTT中获得响应数据

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。