每日一题:简述 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 报文,表示收到关闭请求)

为什么需要四次挥手❓

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

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

相关推荐
赖small强41 分钟前
【Linux 网络基础】libwebsockets 技术文档
linux·网络·https·tls·lib·websockets
TT哇1 小时前
消息推送机制——WebSocket
java·网络·websocket·网络协议
wadesir3 小时前
当前位置:首页 > 服务器技术 > 正文Linux网络HSRP协议(实现路由器热备份与高可用性的实用指南)
linux·服务器·网络
带土14 小时前
4. 两台win11 笔记本局域网内文件传输
网络
00后程序员张4 小时前
iOS 抓不到包怎么办?从 HTTPS 解密、QUIC 排查到 TCP 数据流分析的完整解决方案
android·tcp/ip·ios·小程序·https·uni-app·iphone
xixixi777775 小时前
“C2隐藏”——命令与控制服务器的隐藏技术
网络·学习·安全·代理·隐藏·合法服务·c2隐藏
在多学一点5 小时前
iptables的源地址转换和iptables的目标地址转换
网络
gadiaola5 小时前
【计算机网络面试篇】HTTP
java·后端·网络协议·计算机网络·http·面试
罗汉松(山水白河)5 小时前
关于串口与UDP通讯的实验
单片机·嵌入式硬件·网络协议·udp·tcp·串口、
凉晓风6 小时前
Linux上TCP通信异常排查工具命令
linux·运维·tcp/ip