Skip to content

三次握手四次挥手 ​

2023-03-27 11:22:36

TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层协议。在建立 TCP 连接时,需要进行三次握手;在断开 TCP 连接时,需要进行四次挥手。

三次握手 ​

三次握手指的是,在建立 TCP 连接时,客户端和服务器之间需要进行三次通信,以确保双方都能正常收发数据。具体流程如下:

  • 第一次握手:客户端发送 SYN 包(同步包)给服务器,并将自己的初始序列号随机选择并发送给服务器。

  • 第二次握手:服务器接收到 SYN 包后,发送 SYN+ACK 包(同步应答包)给客户端,表示收到了客户端的请求,并将自己的初始序列号随机选择并发送给客户端。

  • 第三次握手:客户端接收到 SYN+ACK 包后,发送 ACK 包(应答包)给服务器,表示收到了服务器的应答,并确认双方都能正常收发数据。

至此,TCP 连接建立成功,双方可以开始正常收发数据。

四次挥手 ​

四次挥手指的是,在断开 TCP 连接时,客户端和服务器之间需要进行四次通信,以确保双方都能正常断开连接。具体流程如下:

  • 第一次挥手:客户端发送 FIN 包(结束包)给服务器,表示客户端已经没有数据要发送给服务器了,但仍然可以接收服务器发送的数据。

  • 第二次挥手:服务器接收到 FIN 包后,发送 ACK 包给客户端,表示已经收到了客户端的请求,但服务器仍然有数据要发送给客户端。

  • 第三次挥手:服务器将所有数据发送完毕后,发送 FIN 包给客户端,表示服务器已经没有数据要发送了。

  • 第四次挥手:客户端接收到 FIN 包后,发送 ACK 包给服务器,表示已经收到了服务器的请求,同时告诉服务器可以断开连接了。

至此,TCP 连接断开成功,双方都可以安全地关闭连接。

Released under the MIT License.