TCP-三次握手四次挥手
Posted 张紫韩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP-三次握手四次挥手相关的知识,希望对你有一定的参考价值。
- 三次握手:
- 服务端新建套接字,绑定地址信息后开始监听,进入到listen状态,客户端新建套接字,绑定地址信息你后调用connect,发送临界请求SYN并进入到SYN_SENT状态
- 服务端一旦监听到客户端的连接请求后,就会将连接请求放到内核的请求队列中,并向客户端发送SYN和确认报文段ACK,进入到SYN_RECD状态
- 客户端收到服务端的SYN和ACK后,就会向服务端发送确认报文段ACK,并进入到ESTABLISHED状态,开始读写数据,服务端收到客户端的确认报文段ACK后就会进入到ESTABLISHED状态,就可以开始读写数据
- 四次挥手:
- 客户端主动调用close,向服务端发送结束报文段FIN,同时进入到FIN_WAIT1状态,
- 服务端会收到结束报文段FIN,服务器会返回确认报文段ACK并进入到CLOSE_WAIT状态,此时如果服务端还有数据要发送的话,服务端仍需要接收数据。客户端收到服务端的确认报文段ACK后,就会进入到FIN_WATI2状态,开始等待服务器的结束报文段。
- 服务器端传输数据完成后,当服务器真正调用close关闭连接时,会向客户端发送结束报文段FIN包,此时服务器进入到LASE_ACK状态,等待最后一个ACK的到来
- 客户端收到服务器发送过来的结束报文段后,进入到TIME_WAIT,并发送确认报文段ACK;服务器收到了对结束报文段的确认ACK,进入到CLOSED状态,断开连接。而客户端需要等待2msl的时间,才会进入到CLOSED状态。
以上是关于TCP-三次握手四次挥手的主要内容,如果未能解决你的问题,请参考以下文章