TCP 三次握手 四次挥手
三次握手:
第一次握手:客户端发送建立连接请求,进入 SYN_SEND状态 等待服务端确认。
第二次握手:服务端收到报文进行确认 ,进入 SYN_RECV状态。
第三次握手:客户端收到服务端发送的报文 向服务器发送ACK报文 ,发送完成后 客户端和服务端进入 ESTABLISHED状态。
四次挥手:
第一次挥手:客户端向服务端发送FIN报文 客户端进入FIN_WAIT_1状态表示客户端没有数据要发送了。
第二次挥手:服务端收到客户端发送的报文段,向客户端回复ACK 客户端进入 FIN_WAIT_2状态 表示可以关闭。
第三次挥手:服务端 向客户端发送FIN报文段 请求关闭连接 服务端进入LAST_ACK
第四次挥手:客户端收到服务端发送的FIN报文段 向服务端发送ACK报文 客户端进入 TIME_WAIT 状态 服务端收到ACK报文 关闭连接 客户端等待了两个最大段生命周期(2MSL,2 Maximum Segment Lifetime)之后,没有收到服务器端的 ACK ,认为服务器端已经正常关闭连接,于是自己也关闭连接,进入 CLOSE 状态。
参考:https://blog.csdn.net/silenceoo/article/details/77508439
https://hit-alibaba.github.io/interview/basic/network/TCP.html