乐闻世界logo
搜索文章和话题

TCP 三次握手的过程和原理是什么?

2月21日 17:10

TCP 三次握手详解

TCP 三次握手是建立可靠连接的关键过程,确保双方都准备好进行数据传输。

握手过程

  1. 第一次握手(SYN):客户端发送 SYN=1、seq=x 的报文段,进入 SYN_SENT 状态,等待服务器确认
  2. 第二次握手(SYN+ACK):服务器收到 SYN 后,发送 SYN=1、ACK=1、seq=y、ack=x+1 的报文段,进入 SYN_RCVD 状态
  3. 第三次握手(ACK):客户端收到 SYN+ACK 后,发送 ACK=1、seq=x+1、ack=y+1 的报文段,双方进入 ESTABLISHED 状态

为什么需要三次握手

  • 防止已失效的连接请求突然又传到服务器:如果是两次握手,客户端发送的失效连接请求到达服务器,服务器误认为是新连接,造成资源浪费
  • 同步双方的初始序列号:三次握手确保双方都知道对方的初始序列号,为可靠传输奠定基础
  • 确认双方的接收和发送能力:通过三次交互,双方都能确认对方的收发功能正常

相关问题

  • 三次握手过程中,如果第三次握手丢失会发生什么?
  • SYN Flood 攻击是如何利用三次握手的?如何防御?
  • 为什么不是两次握手或四次握手?
标签:TCP