首页
社区
课程
招聘
[原创]TCP三次握手为什么不能简化成两次?
发表于: 7小时前 168

[原创]TCP三次握手为什么不能简化成两次?

7小时前
168

最近在学习计算机网络,了解到TCP建立连接需要经过三次握手。我的理解是客户端发送SYN,服务端返回SYN+ACK后,双方似乎已经知道彼此存在,理论上两次握手就可以建立连接。但资料中普遍提到必须进行第三次ACK确认,以避免失效连接请求导致的问题。想请教一下大家,除了教材中提到的原因外,在实际网络环境中还有哪些场景能够体现第三次握手的必要性?欢迎指正我的理解错误之处。


[招生]科锐逆向工程师培训(2026年7月3日实地,远程教学同时开班, 第56期)!

最后于 6小时前 被mb_vphxqidb编辑 ,原因:
收藏
免费 6
打赏
分享
最新回复 (2)
雪    币: 28
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
三次握手不是为了简单证明“双方存在”,而是为了让双方都确认:彼此的发送能力、接收能力、初始序列号,以及当前连接意愿都是有效的。

更具体地说:

第一次 SYN:客户端证明自己能发,服务端知道客户端想连
第二次 SYN+ACK:服务端证明自己能收也能发,客户端知道服务端可用
第三次 ACK:客户端证明自己能收,服务端知道客户端收到了自己的确认

所以三次握手后,双方才都具备完整确认:

客户端:我能发、我能收;服务端也能发、也能收
服务端:我能发、我能收;客户端也能发、也能收

这就是为什么 TCP 不能只用两次握手。
4小时前
0
雪    币: 6
活跃值: (398)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
666
3小时前
0
游客
登录 | 注册 方可回帖
返回