tcp 为什么要三次握手

TCP三次握手流程:

  1. 首先客户端发起请求,想服务端发送SYN报文
  2. 服务端接收到客户端请求过后,产生SYN+ACK报文,并将SYN+ACK报文返回给客户端
  3. 客户端收到SYN+ACK报文之后将此报文再发回服务端,至此三次握手完成,连接建立

那么为什么要三次握手,不是两次?不是四次?

核心观念在于TCP是面向连接的全双工通信,他需要验证两端的通信连通

  • 首先客户端请求SYN报文,这将服务器与客户端之间建立请求连接,并且服务端接收到,证明客户端到服务端之间的连接时没问题的
  • 服务端响应SYN+ACK,客户端成功接收到,这将证明客户端可以成功接收到服务端发送的消息
  • 客户端将服务端发送的SYN+ACK返回至服务端,服务端成功收到,这证明客户端可以成功和服务端做数据交互
相关推荐
feng_you_ying_li5 小时前
linux之数据链路层
linux·网络·智能路由器
国科安芯8 小时前
人在回路中的总线:商业空间站环境控制与生命保障系统CANFD网络的可靠性与功能安全
网络·嵌入式硬件·安全·架构·php·抗辐射
国科安芯9 小时前
算力上天之后的电与静:星上边缘计算载荷带外管理网络的低功耗调度与辐射容错
网络·人工智能·嵌入式硬件·安全·边缘计算·低轨卫星·商业航天
wdeok9 小时前
Socket编程UDP-简单的聊天室
网络·网络协议·udp
QXWZ_IA14 小时前
定位数据怎么推给 IoT 平台?消息协议选型与接入准备
网络·人工智能·物联网·安全
wdeok15 小时前
Socket编程Tcp
服务器·网络·tcp
xiaoye-duck1 天前
《C++ 项目:手写大模型接入 SDK》Ollama接口设计(上):初始化、全量响应实现和测试
开发语言·网络·c++·语言模型
无足鸟ICT1 天前
【RHCA+】iptraf-ng(网络监控分析)
linux·网络
坤坤子吖1 天前
Linux网络编程:TCP服务器的多进程与多线程实现
linux·服务器·开发语言·网络·c++·笔记·学习
xiaoye-duck1 天前
《C++ 项目:手写大模型接入 SDK》LLMManager架构设计与实现
开发语言·网络·c++·语言模型