tcp 为什么要三次握手

TCP三次握手流程:

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

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

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

  • 首先客户端请求SYN报文,这将服务器与客户端之间建立请求连接,并且服务端接收到,证明客户端到服务端之间的连接时没问题的
  • 服务端响应SYN+ACK,客户端成功接收到,这将证明客户端可以成功接收到服务端发送的消息
  • 客户端将服务端发送的SYN+ACK返回至服务端,服务端成功收到,这证明客户端可以成功和服务端做数据交互
相关推荐
你又食言了哦8 分钟前
linux下使用wireshark捕捉snmp报文
linux·网络·wireshark
_揽43 分钟前
前端开发本地配置 HTTPS 全面详细教程
网络协议·http·https
S&Z34631 小时前
[FPGA Video IP] Video Processing Subsystem
网络协议·tcp/ip·fpga开发·video
古月方源aaaaa2 小时前
ospf综合作业
网络·智能路由器
Ll Lin3 小时前
OSPF中DR/BDR的选举
网络·智能路由器
阿巴~阿巴~3 小时前
云服务器 —— 公有 IP 与 私有 IP
运维·服务器·tcp/ip
大阔3 小时前
路由表是什么
网络协议
JhonKI3 小时前
【Linux网络】打造初级网络计算器 - 从协议设计到服务实现
linux·运维·网络
JavaGuide3 小时前
腾讯Java后端一面,被速通了!
网络·http·缓存·程序员·idea·多线程·校招·java基础·并发编程·aio·计算机基础·认证授权
JhonKI4 小时前
【Linux网络】构建HTTP响应与请求处理系统 - HttpResponse从理解到实现
linux·网络·http