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

为什么需要四次挥手❓

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

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

相关推荐
小小说( ̄(エ) ̄)3 分钟前
RSTP---快速生成树
网络
末日汐14 分钟前
应用层协议HTTP
网络·网络协议·http
NaclarbCSDN14 分钟前
User role controlled by request parameter-Burp 复现
网络·安全·网络安全
果粒蹬i15 分钟前
自用超半年的免费 OCR 工具分享:告别付费,本地搭建更安心
前端·网络·ocr
忘忧记28 分钟前
Pytest + Requests + YAML 数据驱动+日志模块
网络·python·pytest
上海云盾-小余32 分钟前
高防 IP 与高防 CDN 如何搭配使用?攻防效率最大化实战指南
网络·网络协议·tcp/ip
区块block32 分钟前
连接人类算力与 AI 智能体:Aethr Protocol 正为 Web4.0 构建“能源网络”
网络·人工智能·能源
HalvmånEver34 分钟前
Linux:基于TCP Socket的客户端-服务器实现的远程命令行项目
linux·运维·服务器·网络·tcp/ip
24zhgjx-fuhao42 分钟前
配置多区域OSPF
网络·智能路由器
come112341 小时前
本地 Docker 容器的“网络端点状态异常”,如何快速修复
网络·docker·容器