TCP的三次握手和四次挥手

TCP(Transmission Control Protocol)是⼀种⾯向连接的协议,为了保证数据传输的可靠性,TCP 使⽤了三次握 ⼿和四次挥⼿的过程。

三次握手:

第⼀次握手:客户端向服务器发送 SYN 报文,请求建⽴连接。

第⼆次握手:服务器收到客户端的 SYN 报文,向客户端发送 SYN+ACK 报文,表示可以建⽴连接。

第三次握手:客户端收到服务器的 SYN+ACK 报文,向服务器发送 ACK 报文,表示连接已经建⽴

三次握手的目的是为了确认双⽅的收发能力和同步初始序列号。之所以是三次而不是两次握手的原因是为了防止多次连接请求导致连接混乱。比如客户端发送多次请求,服务端第一次同意连接请求后不知道客户端有没有收到同意的报文,因此只能重复同意,这样过期的请求就会造成请求混乱。如果是四次握手会造成资源浪费,三次握手刚刚好。

四次挥手:

四次挥手的目的是为了保证数据的完整性和可靠性。在关闭连接之前,双方需要通过四次挥手确保所有数据都已经传输完毕。

第⼀次挥手:客户端向服务器发送 FIN 报⽂,请求关闭连接

第⼆次挥手:服务器收到客户端的 FIN 报⽂,向客户端发送 ACK 报⽂,表示收到关闭请求

第三次挥手:服务器向客户端发送 FIN 报⽂,请求关闭连接。

第四次挥手:客户端收到服务器的 FIN 报⽂,向服务器发送 ACK 报⽂,表示收到关闭请求

总结:三次握⼿的本质是确认通信双⽅收发数据的能⼒力,四次挥⼿的⽬的是关闭⼀个连接

相关推荐
wuyk5551 天前
【Socket 进阶之路】第 3 章 TCP 三次握手 & 四次挥手深度剖析|连接建立、断开、状态机、TIME_WAIT 核心工程问题
服务器·开发语言·网络·物联网·网络协议·tcp/ip
平头哥AI1 天前
Day 22 _ 包装错误别丢链_%w、errors.Is 与 errors.As
android·服务器·学习·golang·go
QYRdata1 天前
权威数据披露:2026至2032年边缘云服务CAGR达15.6%,赛道发展驶入快车道
网络·人工智能·云计算·服务发现·边缘计算
新时代牛马1 天前
PCI与PCIe 硬件原理、配置空间/BAR 与 Linux 驱动完整篇:从 LTSSM、TLP 到 ECAM 与probe
java·linux·服务器
两点王爷1 天前
解决 Linux 中 version `CXXABI_1.3.8‘ not found 报错
linux·运维·服务器
啦啦啦啦啦zzzz1 天前
利用RAII机制进行日志的采集
linux·服务器·c++·网络编程·c++20
0+1111 天前
Linux --线程概念与控制
linux·运维·服务器·jvm
Yang96111 天前
鼎讯信通DXB-2000S OTDR光时域反射仪模块技术拆解:0.8m盲区
网络
中科三方1 天前
两家域名注册商资质被ICANN终止:企业域名资产安全再受关注
前端·网络·安全·域名
超智算科技1 天前
2026服贸会现场直击|Net Zero Hub净零算力枢纽全球首发! 超智算受邀深度参与服贸会全球OPC共创节
网络·人工智能·科技·物联网·gpu算力