IT评测·应用市场-qidao123.com

标题: TCP三次握手 [打印本页]

作者: 用多少眼泪才能让你相信    时间: 2025-3-13 13:36
标题: TCP三次握手
 TCP三次握手
  
  1. 两个核心概念
  2. ​SYN包:SYN=1,表示请求建立连接​(相当于说“我要和你通话!”)。
  3. ​ACK包:ACK=1,表示确认收到数据​(相当于说“我收到了!”)。
  4. 三次握手
  5. 第一次握手:客户端发一个 SYN=1 的包给服务端
  6. 目的:“我要和你建立连接!”
  7. 第二次握手:​服务端发送SYN+ACK包给客户端
  8. 目的:
  9. ACK=1:“我收到你的请求了!”
  10. SYN=1:“我也要和你建立连接!”
  11. 第三次握手:客户端发一个 ACK=1 的包给服务端
  12. ​目的:“我收到你的回应了,连接正式建立!”
  13. 一句话总结流程
  14. 客户端:SYN(我要连接) → ​服务端:ACK+SYN(同意+我也要连接) → ​客户端:ACK(同意) → ​开始传数据!​
复制代码
为什么TCP要三次握手,两次却不可以
   
  1. 核心问题​(两次握手的致命缺陷):
  2. ​无法验证客户端的接收能力
  3. 服务端发送 SYN+ACK 后,若客户端未返回 ACK,服务端无法确定客户端是否能正常接收数据,可能建立“半开连接”(服务端以为连接成功,客户端实际未建立)。
  4. ​无法抵抗网络丢包和延迟干扰
  5. 若服务端的 SYN+ACK 丢失,客户端不会发送数据,但服务端会一直等待,导致资源被长期占用。
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4