温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

TCP/IP如何握手

发布时间:2026-09-15 12:07:32 来源:亿速云 阅读:97 作者:小樊 栏目:软件技术

TCP/IP 中的“握手”通常指的是 TCP 的三次握手(Three-way Handshake),用于建立可靠的连接。下面用通俗 + 标准方式说明:


一、为什么需要握手?

TCP 是面向连接的协议,通信前双方必须:

  • 确认对方收/发能力正常
  • 同步初始序列号(ISN)
  • 建立连接状态

二、三次握手过程

假设:

1️⃣ 第一次握手(SYN)

Client → Server

  • 发送:SYN = 1
  • 初始序列号:seq = x

含义:

“我想和你建立连接,我的初始序号是 x”

此时 Client 状态:SYN_SENT


2️⃣ 第二次握手(SYN + ACK)

Server → Client

  • 发送:SYN = 1, ACK = 1
  • 序列号:seq = y
  • 确认号:ack = x + 1

含义:

“收到,我也想建立连接,我的序号是 y,你下次从 x+1 开始发”

此时 Server 状态:SYN_RCVD


3️⃣ 第三次握手(ACK)

Client → Server

  • 发送:ACK = 1
  • 序列号:seq = x + 1
  • 确认号:ack = y + 1

含义:

“收到你的回应,连接可以建立了”

此时:

  • Client:ESTABLISHED
  • Server:ESTABLISHED

✅ 连接建立完成,可以传输数据


三、为什么是“三次”而不是两次?

  • 两次无法确认 客户端的接收能力
  • 三次能有效防止历史无效连接请求造成资源浪费

四、简单记忆口诀

SYN → SYN+ACK → ACK


五、补充说明

  • UDP 没有握手(无连接)
  • TCP 断开连接用 四次挥手
  • 握手发生在 传输层(TCP),不是 IP 层

如果你愿意,我也可以画一个时序图或讲四次挥手 / Socket 编程示例

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI