美文网首页
TCP四次挥手

TCP四次挥手

作者: 梁森的简书 | 来源:发表于2021-03-03 10:38 被阅读0次
    0.四次挥手.jpg

    A:FIN+ACK(发起断开连接)
    B:ACK(对断开连接进行确认)
    B:FIN+ACK(发起断开连接)
    A:ACK(对断开连接进行确认)
    之前开辟的资源销毁

    为什么需要四次挥手?

    TCP是全双工模式,需要双方都发出FIN信号

    CLOSING

    双方同时发送FIN,这样两次挥手就可以断开连接了

    TIME-WAIT

    关闭主动方需等待一段时间(一般是MSL的两倍)后才能真正关闭
    MSL:Maximum Segment Lifetime(最大分段生存期)
    为啥不能立马关闭?
    可能由于网络原因,最后一次ACK无法发送到另一方,另一方就会再次发送FIN+ACK,而此时新的进程占用原来的端口,这样新的进行还没有和服务器建立连接就发起了断开连接的请求。

    将第二次、第三次合并

    当一方收到另一方的关闭FIN后,同时也没有数据要给另一方发送了,这时可以即那个第二次和第三次合并,直接发送FIN+ACK,这样三次挥手就可以断开连接了。

    为什么不能前三次挥手之后就直接断开?

    客户端或服务器需要对自己发出的请求进行确认。

    相关文章

      网友评论

          本文标题:TCP四次挥手

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