TCP建立CS连接及释放连接的三次握手和四次挥手
链接:https://www.nowcoder.com/questionTerminal/ec843c8a27c84a7693865f55a71a7e8c
来源:牛客网
来源:牛客网
三次握手:
1. 客户端发送SYN请求,进入SYN_SEND状态
2. 服务端收到SYN请求,并返回一个ACK应答,并发送一个SYN其请求,服务器进入SYN_RECV状态
3. 客户端收到服务端的SYN请求和ACK应答,发送ACK应答,客户端进入ESTABLISH状态,服务端收到应答后进入ESTABLISH。
如果没有收到应答,数据包都会根据TCP的重传机制进行重传。
四次挥手:
1. 客户端发送FIN包,请求断开连接,客户端进入FIN_WAIT1状态
2. 服务端收到FIN包后返回应答,进入CLOSE_WAIT状态
3. 客户端收到FIN的应答后进入FIN_WAIT2状态
4. 服务端发送FIN请求包,进入LAST_ACK状态
5. 客户端收到FIN请求包后,发送应答进入TIME_WAIT状态
6. 服务器收到ACK应答后,进入close状态。
#Java工程师112道面试常考题#