tcp 为什么要三次握手

TCP三次握手流程:

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

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

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

  • 首先客户端请求SYN报文,这将服务器与客户端之间建立请求连接,并且服务端接收到,证明客户端到服务端之间的连接时没问题的
  • 服务端响应SYN+ACK,客户端成功接收到,这将证明客户端可以成功接收到服务端发送的消息
  • 客户端将服务端发送的SYN+ACK返回至服务端,服务端成功收到,这证明客户端可以成功和服务端做数据交互
相关推荐
怕什么真理无穷7 分钟前
解析OSI 七层模型
网络
斯普信专业组12 分钟前
Calico网络架构与实现深度解析(上)
网络·架构
luoganttcc13 分钟前
can 协议 600#09000000000000c0 分析
网络
痕忆丶14 分钟前
本地搭建简易RTSP流媒体服务器
网络
network_tester15 分钟前
IXIA XM2网络测试仪租赁方案:让高端测试能力触手可及的技术实践
网络·网络协议·tcp/ip·5g·网络安全·信息与通信·tcpdump
..空空的人33 分钟前
C++基于protobuf实现仿RabbitMQ消息队列---技术认识1
服务器·网络·个人开发·protobuf·muduo
神秘的土鸡1 小时前
openEuler 安全加固与性能实测: SELinux,防火墙等多维防护实践
网络·安全·apache·openeuler
Ronin3051 小时前
【Linux网络】数据链路层
linux·网络·数据链路层·arp协议·局域网通信
星梦客1 小时前
FRP 内网穿透工具部署教程
网络·经验分享·笔记
zt1985q1 小时前
fnOS 飞牛云 NAS 本地部署开源 TTS 文本转语音工具 EasyVoice 并实现外部访问
运维·服务器·网络协议·开源