TCP四次挥手过程
四次挥手流程
- 第一次挥手:客户端A的应用进程先向服务端TCP发出连接释放报文文段(FIN=1,序号seq=u),并停止再发送数据,主动关闭TCP连接,进入FIN-WAIT-1(终止等待1)状态,等待服务端B的确定。
- 第二次挥手:服务端B收得到连接释放报文段后即发出确认报文段(ACK=1,确认号ack=u+1,序号sep=v),服务端B进入CLOSE-WAIT(关闭等待)状态,此时的TCP处于半关闭状态。A收到B的确认后,进入FIN-WAIT-2(终止等待2)状态,等待B发出的连接释放报文段。
- 第三次挥手:服务端B没有要向客户端A发出的数据,B发出连接释放报文段(FIN=1,ACK=1,序号seq=w,确认号ack=u+1),B进入LAST-ACK(最后确认)状态,等待A的确认。
- 第四次挥手:客户端A收到服务端B的连接释放报文段后,对此发出确认报文段(ACK=1,seq=u+1,ack=w+1),A进入TIME-WAIT(时间等待)状态。此时TCP未释放掉,需要经过时间等待计时器设置的时间2MSL后,A才进入CLOSED状态。