美文网首页
为什么 TCP 断开连接要四次挥手?

为什么 TCP 断开连接要四次挥手?

作者: Lol刀妹 | 来源:发表于2019-08-20 23:12 被阅读0次

    开局一张图:

    图片来自百度百科

    内容全靠。。。


    我们知道 TCP 采用三次握手策略让发送端和接收端都能确认双方收发功能OK,以此保证可靠传输。

    为何断开却要四次?

    注:
    FIN 表示关闭连接
    ACK 表示确认

    因为当服务端收到客户端的 FIN 数据包后(第一次挥手),服务端不会立即close,为什么不立即close?因为可能还有数据没发完,服务端会先将 ACK 发过去告诉客户端我收到你的断开请求了(第二次挥手),但请再给我一点时间,这段时间用来发送剩下的数据报文,发完之后再将 FIN 包发给客户端表示现在可以断了(第三次挥手)。客户端收到 FIN 包后发送 ACK 确认断开信息给服务端(第四次挥手)。


    个人理解:

    A: 我准备断了
    B: 可以,等我把剩下的数据发完就断
    过了一会儿~
    B: OK,发完了,断吧
    A: OK

    相关文章

      网友评论

          本文标题:为什么 TCP 断开连接要四次挥手?

          本文链接:https://www.haomeiwen.com/subject/uuarsctx.html