每日一题:简述 TCP 三次握手、四次挥手的流程❓为什么需要三次握手❓为什么需要四次挥手❓

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

三次握手的过程如下🔽:

第一次握手🤝:小鱼🐟 想要与 小Y🐑 开始交流,于是 小鱼🐟 游到了 小Y🐑 面前,并向 小Y🐑 友好地挥动鱼鳍,表示他想要和 小Y🐑 开始交流,准备好了。(客户端向服务器发送 SYN 报文,请求建立连接)

第二次握手🤝:小Y 看到 小鱼🐟 的友好挥动,知道 小鱼🐟 想要和他交流。于是 小Y🐑 也跑过来,向 小鱼🐟 回应了一个友好的摆尾动作,表示他也准备好了,愿意和 小鱼🐟 开始交流。(服务器收到客户端的 SYN 报文,向客户端发送 SYN+ACK 报文,表示可以建立连接)

第三次握手🤝:小鱼🐟看到 小Y🐑 也友好地回应了摆尾动作,于是 小鱼🐟 也停下来,和 小Y🐑 一起用鱼鳍和尾巴进行握手,表示他确认 小Y🐑 也准备好了,现在他们可以开始正式交流了。(客户端收到服务器的 SYN+ACK 报文,向服务器发送 ACK 报文,表示连接已经建立)

为什么需要三次握手❓

三次握手的主要目的是确保双方的通信能力和参数都正常。这个过程可以防止已失效的连接请求报文段突然又传送到了服务器,导致资源浪费或混乱。

四次挥手的过程如下🔽:

第一次挥手👋:交流结束后,小鱼🐟 决定停止发送消息,他向 小Y🐑 挥动鱼鳍,表示他再发送消息了,但仍然愿意接收 小Y🐑 的消息。(客户端向服务器发送 FIN 报文,请求关闭连接)

第二次挥手👋:小Y🐑 看到 小鱼🐟 的挥鳍动作,知道 小鱼🐟 想要结束交流,于是 小Y🐑 也向 小鱼🐟 回应了一个摆尾动作,表示"好的,我知道了",并且停止发送消息,但仍然会接收 小鱼🐟 的消息。(服务器收到客户端的 FIN 报文,向客户端发送 ACK 报文,表示收到关闭请求)

第三次挥手👋:过了一会儿,小Y决定也停止发送消息了,于是 小Y🐑 向 小鱼🐟 摆动尾巴,表示他不再发送消息了,但仍然愿意接收 小鱼🐟 的消息。(服务器向客户端发送 FIN 报文,请求关闭连接)

第四次挥手👋:小鱼🐟 看到 小Y🐑 也不再发送消息,于是 小鱼🐟 也向 小Y🐑 回应了一个挥鳍动作,表示"好的,我们停止交流吧",并且停止发送消息。此时双方都知道不会再传输消息了,交流完全结束。(客户端收到服务器的 FIN 报文,向服务器发送 ACK 报文,表示收到关闭请求)

为什么需要四次挥手❓

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

总结💡:三次握手的本质是确认通信双方收发数据的能力 ,四次挥手的目的是关闭一个连接。

相关推荐
掘根2 小时前
【消息队列项目】虚拟机管理实现
网络
老王熬夜敲代码3 小时前
网络中数据传输的具体过程
linux·网络·笔记
汤愈韬4 小时前
TK_网络基础和常见攻击(笔记)
网络·笔记
北邮刘老师5 小时前
【智能体互联协议解析】需要“智能体名字系统”(ANS)吗?
网络·人工智能·大模型·智能体·智能体互联网
照海19Gin6 小时前
【企业网架构实验解析】三层组网与 AC+AP 无线部署的协议逻辑(eNSP 仿真实践)
网络
Lilixxs6 小时前
wireshark LLDP 协议抓包获取 M580 PLC 网口地址
网络·测试工具·wireshark·plc·施耐德·lldp·m580
vortex56 小时前
Linux下局域网IPv6地址发现与扫描
网络
北邮刘老师7 小时前
【智能体互联协议解析】身份码-智能体的身份证号
网络·人工智能·大模型·智能体·智能体互联网
车载测试工程师7 小时前
CAPL学习-AVB交互层-媒体函数2-其他类函数待分类
学习·tcp/ip·媒体·capl·canoe
日更嵌入式的打工仔8 小时前
Ethercat COE 笔记
网络·笔记·ethercat