首页 > 编程知识 正文

tcp三次挥手四次挥手过程简述,TCP的三次握手和四次挥手过程

时间:2023-05-06 10:37:08 阅读:32770 作者:3955

挥手四次

状态转化:A,b连接建立状态等待ESTABLISHED - A结束1状态等待FIN-WAIT-1 - B结束状态2等待2CLOSE-WAIT - A结束2状态等待FIN-WAIT-2 - B最后状态last

四次挥手过程挥手: a的数据传输完成后需要断开连接。 a的APP应用进程向该TCP发出连接释放消息段(FIN=1,序列号seq=u ),停止数据重传,自行关闭TCP连接,进入FIN-WAIT-1状态,等待b的确认。

第二次挥手: b收到连接释放报文段后,发出确认报文段(ACK=1、确认号ack=u 1、号seq=v ),b进入关闭等待状态,此时的TCP为另一方面,a在得到b的确认后,进入FIN-WAIT-2状态,等待来自b的连接释放信息段。

第三次挥手: b的数据传输结束后,b发出解除连接报文段(FIN=1、ACK=1、编号seq=w、确认编号ack=u 1) ),b进入a的最后一个状态

第4次手势: a在接受来自b的连接并释放报文段后,对其发送确认报文段(ACK=1、seq=u 1、ack=w 1),a进入时间等待(TIME-WAIT )状态。 此时,TCP未释放,在计时器设置的时间超过2MSL后,a进入关闭状态。

为什么A必须在时间等待状态下等待2MSL (最大消息生存时间)的时间? 1 .保证a发送的最后一个ACK报文段可以到达b,保证a、b正常进入关闭状态。

这个ACK段可能会丢失,处于LAST-ACK状态的b不能得到发送的FIN ACK段的确认。 超声波重发FIN ACK段,a可以在2MSL的时间内接收到这个重发的FIN ACK段,然后a再次重发确认,同时重启2MSL计数器,2MSL时间后a和b进入关闭状态。 如果a在等待时间接收到b的FIN ACK消息段后,向b发送了一个确认消息段,不再确认b是否立即进入关闭状态,则表示b没有成功接收到a的确认消息段

2 .防止本连接中出现“禁用的连接请求消息段”。

在a发送最后一个ACK段以来经过2MSL时,它将丢失在此连接持续时间内发生的所有段,并确保在下一个新连接中不会出现留给旧连接的请求段。

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