276 字
1 分钟
说说TCP的三次握手
客户端给服务端发送一个SYN(同步序列号消息)给服务器,服务器收到后回复一个SYN + ACK(同步序列编号-确认)消息,最后客户端再发送一个ACK(确认)消息确认服务器已经收到了SYN-ACK消息,从而完成三次握手,建立起可靠的TCP连接。
2025-09-16
-
-

流程#

客户端给服务端发送一个SYN(同步序列号消息)给服务器,服务器收到后回复一个SYN + ACK(同步序列编号-确认)消息,最后客户端再发送一个ACK(确认)消息确认服务器已经收到了SYN-ACK消息,从而完成三次握手,建立起可靠的TCP连接。

为什么需要三次握手#

  • 避免历史错误连接的建立,减少通信双方不必要的资源消耗
  • 帮助通信双方同步初始化序列号

所以为什么三次能解决历史错误连接的问题? 网络情况可能比较复杂,发送方第一次发送请求后,可能由于网络原因被阻塞住了,这个时候发送方可能又会再次发送请求,如果说握手只有两次,那么接收方只能拒绝或者接受,但是无法分清请求是旧的还是新的

为什么不是四次握手#

中间的syn + ack把两步合并了,精简了连接过程。

这篇文章是否对你有帮助?

发现错误或想要改进这篇文章?

在 GitHub 上编辑此页
说说TCP的三次握手
作者
MeowRain
发布于
2025-09-16
许可协议
CC BY-NC-SA 4.0