tcp 为什么要三次握手

TCP三次握手流程:

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

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

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

  • 首先客户端请求SYN报文,这将服务器与客户端之间建立请求连接,并且服务端接收到,证明客户端到服务端之间的连接时没问题的
  • 服务端响应SYN+ACK,客户端成功接收到,这将证明客户端可以成功接收到服务端发送的消息
  • 客户端将服务端发送的SYN+ACK返回至服务端,服务端成功收到,这证明客户端可以成功和服务端做数据交互
相关推荐
黄豆匿zlib26 分钟前
OpenSpeedy下载 - 全平台网盘提速加速工具|官网入口
网络·娱乐
jiunian_cn1 小时前
【Linux网络】TCP协议
linux·网络·tcp/ip
墨白曦煜3 小时前
HTTP首部字段(速查-全47种)
网络·网络协议·http
MOON404☾7 小时前
基于TCP的简易端口扫描器
网络·tcp/ip·php
lendsomething8 小时前
解决SSL握手失败问题:SSLHandshakeException: Received fatal alert: handshake_failure
网络·网络协议·ssl
bestcxx9 小时前
(二十六)、Kuboard 部署网络问题 &k8s 使用本地镜像 & k8s使用 register本地镜像站 综合应用
网络·容器·kubernetes
红米饭配南瓜汤10 小时前
WebRTC 发送端 SSRC 生成流程总结
网络·网络协议·音视频·webrtc·媒体
H3C-Navigator11 小时前
RPC在分布式存储系统中的应用
分布式·网络协议·rpc
DIY机器人工房11 小时前
NAT 模式、命令行版、桥接模式方式给ubuntu虚拟机配网步骤:
linux·网络协议·ubuntu·嵌入式·桥接模式·diy机器人工房
老坛程序员11 小时前
抓包解析MCP协议:基于JSON-RPC的MCP host与MCP server的交互
人工智能·网络协议·rpc·json·交互