当前位置:   article > 正文

四次挥手详解

四次挥手

四次挥手

  1. 四次挥手即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务器端发送4个数据包以确定连接的断开。在socket编程中,有客户端和服务器端任一方执行close触发。
  2. 由于TCP连接是全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当一方完成数据发送任务后,发送一个FIN来终止这一方向的连接,收到一个FIN只意味着这个方向不在收到数据了,直到这个方向也发送了FIN,首先进行关闭的一方执行主动关闭,而另一方执行被动关闭。
    在这里插入图片描述
    第一次辉手:客户端发送FIN=N用来关闭客户端到服务器端的数据传送,客户端进入FIN_WAIT_1状态。
    第二次辉手:服务器收到FIN=N后,先发送ack = m + 1,这个时候客户端的状态变成FIN_WAIT_2了。
    第三次辉手:当服务器确定数据已经发送完成,则向客户端发送FIN=N报文,服务端进入LAST_ACK状态,
    第四次辉手:客户端收到FIN=N报文后,就知道要关闭连接了,但是他还不相信网络,怕服务器不知道关闭连接,所以发送ack = n + 1后进入TIME_WAIT状态了,如果服务器端没有收到ACK,则可以重传。服务器收到ACK后,就知道可以断开连接了。客户端等待了2MSL后依然没有收到回复,则证明服务器端已正常关闭,那好,我客户端可以断开连接了,最终完成4次挥手
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/code123/article/detail/60192
推荐阅读
相关标签
  

闽ICP备14008679号