TCP(传输控制协议)的三次握手和四次断开是其建立和关闭连接的重要过程。
三次握手 :
1. 第一次握手:客户端向服务器发送一个 SYN (同步)包,请求建立连接。这个包中包含客户端选择的初始序列号(SEQ)。
2. 第二次握手:服务器收到客户端的 SYN 包后,向客户端发送一个 SYN/ACK (同步确认)包。其中,SYN 表示服务器也希望建立连接,ACK 表示确认收到了客户端的 SYN 包。服务器选择的初始序列号也包含在这个包中。
3. 第三次握手:客户端收到服务器的 SYN/ACK 包后,向服务器发送一个 ACK (确认)包,确认收到了服务器的 SYN/ACK 包。此时,连接建立成功,双方可以开始传输数据。
四次断开 :
1. 第一次断开:客户端向服务器发送一个 FIN (结束)包,表示客户端没有数据要发送了,请求关闭连接。
2. 第二次断开:服务器收到客户端的 FIN 包后,发送一个 ACK 包,确认收到客户端的关闭请求。此时,客户端到服务器方向的连接关闭,但服务器还可以向客户端发送数据。
3. 第三次断开:服务器向客户端发送一个 FIN 包,表示服务器也没有数据要发送了,请求关闭连接。
4. 第四次断开:客户端收到服务器的 FIN 包后,发送一个 ACK 包,确认收到服务器的关闭请求。此时,连接完全关闭。
三次握手是一个连接建立过程。为了在转发真正需要传递的数据前,先通过3次交流,来确定是否可以发送和接收,如何接收。
四次断开是一个连接断开过程。为了确保双方都能完整地关闭连接,处理完剩余的数据且确保没有数据的丢失。