TCP的三次握手和四次挥手

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

三次握手:

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

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

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

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

四次挥手:

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

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

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

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

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

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

相关推荐
程序员清风3 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
yyuuuzz4 小时前
跨境站点日志时区混乱的排查记录
运维·服务器·网络·云计算·aws·1024程序员节
GlobalInfo5 小时前
全球及中国风电叶片检测机器人行业研究报告(2026版):市场现状、行业前景与占有率分析
运维·网络·人工智能·机器人
数字新视界6 小时前
一体化机柜在数据中心运维中的创新应用与优势分析
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
运维行者_7 小时前
网络监控工具怎么选?从设备监控到智能运维的能力清单
运维·服务器·开发语言·网络·人工智能·支持向量机·php
2401_868534787 小时前
陈冲2026年上海纽约大学全英文毕业演讲
服务器·网络
晚风吹北巷9 小时前
Linux复习篇(自用)
linux·运维·服务器·1024程序员节
FPGA小迷弟9 小时前
FPGA开发Vivado Block Design/Vitis/SDK/xlinx/开发教程,保姆级别,一看就会!
网络协议·tcp/ip·fpga开发·verilog·fpga
数字新视界9 小时前
信创机房动环监控技术在智能运维中的应用与优势分析
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
FPGA小迷弟9 小时前
基于FPGA实现智能网卡的概念,什么是智能网卡
网络协议·tcp/ip·fpga开发·verilog·fpga