首页 > 编程知识 正文

tcp协议三次握手过程,2msl

时间:2023-05-06 03:06:17 阅读:9152 作者:4497

另一方面,挥手详述1、假设客户端开始了连接中断请求,即发送FIN消息。

2、服务器端收到FIN消息后,意思是“我客户端没有要发送给你的数据”,但是如果有数据还没有发送完成,就不需要着急关闭套接字,可以继续发送数据所以请先发确认,告诉'客户端'。 我收到了你的请求,但是还没有准备好。 请继续我的信息'。 此时,客户端变为FIN_WAIT状态,继续等待服务器端的FIN消息。

3、在服务器端确认数据发送完成后,向客户端发送FIN消息。 “告诉客户端,是的,我们的数据发送结束了。 已准备好关闭连接”。 客户端收到FIN消息后,'知道可以关闭连接,但他还不相信网络,怕服务器端不知道关闭,所以发送ACK后进入TIME_WAIT状态,进入sswait “,服务器端收到ACK后,发现'可以断开连接'。 如果客户端等待2MSL后仍未收到回复,则证明服务器端已成功关闭。 那客户端也可以关闭连接。 Ok,TCP连接就这样关闭了!

数据传输结束后,通信双方将断开连接,a和b都处于ESTABLISHED状态。 (http://www.Sina.com/——http://www.Sina.com/——3358 www.Sina.com/——http://www

1 ) a应用进程首先向该TCP发送连接释放报文段(A、B连接建立状态ESTABLISHED),停止数据重传,自行关闭TCP连接,进入等待状态2 ) b接收到连接释放报文段后,发出确认报文段,(A终止等待1状态FIN-WAIT-1),b进入关闭等待状态,此时TCP处于半封锁状态,a到b的连接为3 ) a接到来自b的确认后,进入FIN-WAIT-2 )等待结束2 )状态,等待来自b的连接释放信息段。 4 ) b没有数据发送到a,b进入连接释放段(B关闭等待状态CLOSE-WAITB为LAST-ACK )状态,等待a的确认。 5 ) a从b收到连接释放报文段后,对此发出确认报文段(A终止等待2状态FIN-WAIT-2),a进入TIME-WAIT )状态。 此时,TCP未释放,在计时器设置的时间超过2MSL后,a进入关闭状态。 )2)总结4次挥手流程:

最初,a和b在B最后确认状态LAST-ACK——A上发出断开连接报文段,在A时间等待状态TIME-WAIT——B上发出确认报文段,在http://www.Sina.com 等待进入http://ww .的b的连接释放报文段的——B没有数据发送给a,b发送连接释放报文段,进入3358www.Sina.com/——a,发送确认报文段,发送3http://ww.Sina.com

二、为什么A必须在时间等待状态下等2毫秒的时间?

MSL最长段寿命最大段寿命生命周期

答:两个原因: http://www.Sina.com/http://www.Sina.com/http://www.Sina.com/3358 www.Sina.com

1 )这个ACK消息段可能丢失,并且处于LAST-ACK状态的b不能接受发送的FIN ACK消息段的确认。 超声波重发FIN ACK消息段,而a能在2MSL时间内接收该重发的FIN ACK消息段。 然后a再次重新发送确认,重新启动2MSL计时器,最后a和b都进入关闭状态的B、A关闭状态CLOSED2 ) a在发送最后一个ACK段后再经过2MSL时,在本连接继续时生成三、服务器大量TIME_WAIT和CLOSE_WAIT的原因和解决方案服务器大量TIME_WAIT和CLOSE_WAIT的原因和解决方案

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