赞
踩
TCP连接的终止需要进行四次挥手才能完成,它的过程如下图
(这里假设终止有客户端发起,但是无论是客户端还是服务器都可以发起因为TCP是全双工(全双工指可以同时(瞬时)进行信号的双向传输(A→B且B→A)),
即下图中客户端和服务器的位置对调也是可以的):
第一次挥手
客户端发送FIN给服务器,客户端状态由 ESTABLISHED 变为 FIN_WAIT_1。
第二次挥手
服务器收到FIN且发送ACK给客户端,服务器状态由 ESTABLISHED 变为 CLOSE_WAIT。
服务器将缓存中没发送的数据完继续发送给客户端
客户端收到ACK后状态由FIN_WAIT_1变为FIN_WAIT_2.
第三次挥手
服务器发送FIN给客户端,这时服务器的状态由CLOSE_WAIT变为 LAST_ACK。
第四次握手
客户端收到FIN后返回ACK给服务器,然后客户端的状态由FIN_WAIT_2变为TIME_WAIT,TIME_WAIT = 2MSL (maximum segement lifetime 分节在网络中最长生存时间,30秒到2分钟,根据系统实现不同而不同) 2MSL 范围是 1分钟到4分钟。
服务器收到ACK后&#x
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。