欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

三握四挥的顺序到底是怎样的?

最编程 2024-10-19 16:50:23
...

TCP 的三次握手和四次挥手分别是建立连接和终止连接的两个过程。以下是它们的详细步骤和顺序:

三次握手(建立连接的过程)

  1. 第一次握手:客户端发送 SYN

    • 客户端向服务器发送一个 SYN(同步)报文,表示希望建立连接,并发送一个随机的初始序列号。
    • 这个 SYN 报文是请求建立连接的起点。
  2. 第二次握手:服务器回应 SYN + ACK

    • 服务器收到客户端的 SYN 报文后,回应一个 SYN + ACK(同步与确认)报文,表示同意建立连接,并附上自己的初始序列号。同时,它对客户端的 SYN 进行了确认(ACK)。
    • 这是服务器告诉客户端,它准备好进行通信了。
  3. 第三次握手:客户端回应 ACK

    • 客户端收到服务器的 SYN + ACK 报文后,发送一个 ACK(确认)报文,表示它已经确认服务器的序列号,并且客户端和服务器都准备好了,连接成功建立。

四次挥手(终止连接的过程)

  1. 第一次挥手:客户端发送 FIN

    • 当客户端完成数据发送后,它发送一个 FIN(终止)报文,表示不再发送数据,并请求关闭连接。
  2. 第二次挥手:服务器回应 ACK

    • 服务器收到 FIN 报文后,发送一个 ACK 报文,表示确认客户端的 FIN 请求。此时,连接处于半关闭状态,客户端不能再发送数据,但服务器仍可以发送数据。
  3. 第三次挥手:服务器发送 FIN

    • 当服务器完成数据发送后,也发送一个 FIN 报文,表示它也不再发送数据,请求关闭连接。
  4. 第四次挥手:客户端回应 ACK

    • 客户端收到服务器的 FIN 报文后,发送最后一个 ACK 报文,确认服务器的 FIN 请求。此时,连接完全关闭。

总结

  • 三次握手顺序: SYN → SYN+ACK → ACK
  • 四次挥手顺序: FIN → ACK → FIN → ACK

这样,三次握手确保连接建立,四次挥手确保双方的数据都已发送完毕,连接可以安全关闭。

推荐阅读