TCP三次握手和四次挥手

三次握手

第一次握手,客户端发送syn包,并进入SYN_SEND状态等待服务器确认。

第二次握手,服务器收到syn包,必须确认客户的syn包ack+1,同时发送自己的syn包。即SYN+ACK包,服务器进入SYN_RECV状态。

第三次握手,客户端收到服务器syn+ack包,向服务器发送ack包,服务器和客户端同时进入established状态。

四次挥手

与建立连接的三次握手类似,断开一个TCP连接需要四次挥手。

第一次挥手:主动关闭方发送一个FIN,用来关闭主动方到被动方的数据传送,在fin包发送之前的数据,如果没有收到对应的ack确认报文,主动关闭方依然会重复发送这些数据,被动方进入close-wait(被动关闭)状态

第二次挥手,被动关闭方收到fin包后,发送一个ack给对方,确认序号为收到序号+1

第三次挥手:被动关闭发送一个fin,用来关闭被动方到主动方的数据传送,也就是告诉主动关闭方我的数据也传送完了,主动方进入time-wait主动方关闭

第四次挥手:主动关闭方收到fin后,发送一个ack给被动关闭方。

 

posted on 2021-03-01 13:59  清浊  阅读(59)  评论(0编辑  收藏  举报