总结四次挥手流程:
(1)第一次挥手:主动方发送一个FIN,用来关闭主动方到被动方的数据传送,主动方进入FIN_WAIT_1状态。
(2)第二次挥手:被动方收到FIN后,发送一个ACK给主动方,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),被动方进入CLOSE_WAIT状态。
(3)第三次挥手:被动方发送一个FIN,用来关闭被动方到主动方的数据传送,被动方进入LAST_ACK状态。
(4)第四次挥手:主动方收到FIN后,主动方进入TIME_WAIT状态,接着发送一个ACK给被动方,确认序号为收到序号+1,被动方进入CLOSED状态,完成四次挥手。
目的:
主动方发送关闭给被动方,表示已经没有数据可以传输过来,但被动方可能还有数据没有传输完毕,等被动方数据传输完毕,在主动发起关闭,确保数据发送完
客户端或服务器都可以主动发起关闭,故用主动方和被动方来表示发起者。
转载链接: