19、TCP连接四次挥手的过程,为什么是四次?【高频】

  1. 四次挥手的过程

在这里插入图片描述

假设客户端主动发起。

  • 第一次挥手:客户端向服务器 发送 FIN,表示 自己要断开数连接。随后,客户端 进入 FIN-WAIT-1 状态;服务器收到后,变为CLOSE_WAIT状态

  • 第二次挥手:服务器 发送ACK 作为响应,客户端收到后 进入 FIN-WAIT-2状态

  • 第三次挥手:服务器 发送 FIN 给客户端,表示自己也要断开连接,发送后 服务器 变为 LAST-ACK 状态

  • 第四次挥手:客户端 收到 FIN报文后,发送ACK 作为回应,随后进入 TIME-WAIT 状态。服务器 ACK 后 进入CLOSE 状态。客户端 等待2MSL后没有收到回复,则进入CLOSE状态,关闭连接。

    在这里插入图片描述

  1. 为什么需要四次挥手
  • 如果改成三次挥手的话,一般指的是第二次和第三次挥手的合并,也就是 ACK报文和FIN报文 合并。第一次挥手,客户端发送FIN报文,表示客户端不能再发送数据了,但还可以接收数据。第二次挥手的ACK表示 服务器收到了客户端的FIN报文,而此时 服务端可能还有数据需要处理和发送,把这些数据发送完毕后 才会发送FIN报文。

  • 所以说,在 ACK 和 FIN 之间,服务器可能还需要处理和发送数据,所以是四次挥手。当这两者之间没有数据要发送时,其实是可能会发送三次挥手的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/33592.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥云客 挖矿

0挖矿 - 蓝桥云课 问题描述 小蓝正在数轴上挖矿,数轴上一共有 n 个矿洞,第 i 个矿洞的坐标为 ai​。小蓝从 0 出发,每次可以向左或向右移动 1 的距离,当路过一个矿洞时,就会进行挖矿作业,获得 1 单位矿石&…

ssm:商业异常处理流程

第一步 定义全局R类制定标准 代码定义了一个通用的返回类 R<T>&#xff0c;用于封装API请求的结果&#xff0c;包括状态码、消息和数据。该类使用了Lombok的Data注解来减少样板代码&#xff08;如getter、setter方法等&#xff09;的编写。以下是代码的一些解释和建议&am…

Inficon IC5 沉积控制器 IC/5 型号

Inficon IC5 沉积控制器 IC/5 型号

农业建设项目管理系统评测:8款推荐工具优缺点分析

本文主要介绍了以下8款农业建设项目管理系统&#xff1a;1.PingCode&#xff1b; 2. Worktile &#xff1b;3. 建米农业工程项目管理系统&#xff1b;4. 开创云数字农业管理平台&#xff1b; 5. Trimble Ag Software&#xff1b;6.Conservis&#xff1b; 7. Agworld &#xff1…

大视频背景暗黑风格的wordpress企业主题免费下载

整体风格是黑色的&#xff0c;首页首屏大视频背景&#xff0c;动态效果非常好。向下滚动时&#xff0c;滚动的特效也不错。 原文 https://www.bixugao.com/wp/26.html

西门子S7-1200 PLC远程调试技术方案(巨控GRM532模块)

三步快速实现远程调试 硬件部署 准备西门子S7-1200 PLC、巨控GRM552YW-C模块及编程电脑。GRM552YW-C通过网口与PLC连接&#xff0c;支持4G/5G/Wi-Fi/有线网络接入&#xff0c;无需复杂布线。 软件配置 安装GVCOM3配置软件&#xff0c;注册模块&#xff08;输入唯一序列号与密…

系统思考:客户价值

“真正的市场竞争&#xff0c;不是比谁更能制造产品&#xff0c;而是比谁更能创造价值。” ——杰夫贝索斯 在组织辅导中&#xff0c;我经常问团队一个问题&#xff1a;“我们的客户是谁&#xff1f;”大多数人的第一反应是——“支付费用的就是客户。” 这在过去的市场扩张阶…

Centos7网卡 Failed to start LSB: Bring up/down networking

Centos7网卡 Failed to start LSB: Bring up/down networking 检查虚拟网络编辑器配置无误编辑ifcfg-ens33文件 Centos7重启网卡服务失败错误如下 给Centos7系统使用NAT模式配置静态IP地址&#xff1a; 检查虚拟网络编辑器配置无误 编辑ifcfg-ens33文件 vim /etc/sysconfig/ne…

第一个vue项目

项目目录 启动vue项目 npm run serve 1.vue.config.js文件 (CLI通过vue-cli-serve启动项目&#xff0c;解析配置配置文件vue-condig-js&#xff09; // vue.config.js //引入path板块&#xff0c;这是Node.js的一个内置模块&#xff0c;用于处理文件路径&#xff0c;这里引用…

【Qt】QWidget属性介绍

&#x1f3e0;个人主页&#xff1a;Yui_ &#x1f351;操作环境&#xff1a;Qt Creator &#x1f680;所属专栏&#xff1a;Qt 文章目录 前言1. enabled属性2.geometry属性2.1 改变控件位置2.2 女神表白程序2.3 知识补充——window frame 3. windowsTitle属性4. windowIcon属性…

嵌入式八股ARM篇

前言 ARM篇主要介绍一下寄存器和中断机制,至于汇编这一块…还请大家感兴趣自行学习 1.寄存器 R0 - R3 R4 - R11 寄存器 R0 - R3一般用作函数传参 R4 - R11用来保存程序运算的中间结果或函数的局部变量 在函数调用过程中 注意在发生异常的时候 cortex-M0架构会自动将R0-R3压入…

nerfstudio以及相关使用记录(长期更新)

NeRFStudio 是NeRF/3DGS研究和开发的集成平台。 提供了一个用户友好的界面和一系列工具&#xff0c;帮助研究人员和开发者更高效地构建、训练和评估 NeRF 模型。以前使用的时候用完就丢一边了&#xff0c;没有注意记录&#xff0c;现在有一个工程调用了nerfstudio&#xff0c;部…

《论分布式系统架构设计及其应用》架构师论文

【摘要】 2022年3月&#xff0c;我参与了某金融科技公司“智能风控云平台”项目的研发工作&#xff0c;担任系统架构师职务&#xff0c;负责分布式系统架构设计与核心技术选型。该平台旨在为银行、保险等金融机构提供实时风险评估、反欺诈及数据服务&#xff0c;需支撑每秒十万…

黄金还能再涨吗?

写在前面&#xff1a;【财富自由计算助手】已上线&#xff0c;快算算你的财富自由要多少 逻辑比事实更真实。 最近&#xff0c;黄金涨得妈都不认。 连菜市场大妈都在讨论&#xff0c;要不要囤点黄金。 2022 年初&#xff0c;俄乌冲突升级为全面战争以来&#xff0c;黄金价格…

AutoDev × MCP 双向赋能:AutoDev 即 MCP 服务,MCP 服务即 AutoDev 指令

在 Agentic Coding 这一话题下&#xff0c;工具使用&#xff08;Tool Use/Function calling&#xff09;是一个非常有意思的话题。完成一个软件开发任务&#xff0c;需要使用到大量的工具&#xff0c; 除去在 IDE 及其插件生态本身提供的功能外&#xff0c;还会使用到大量的外部…

DataWhale 大语言模型 - GPT和DeepSeek模型介绍

本课程围绕中国人民大学高瓴人工智能学院赵鑫教授团队出品的《大语言模型》书籍展开&#xff0c;覆盖大语言模型训练与使用的全流程&#xff0c;从预训练到微调与对齐&#xff0c;从使用技术到评测应用&#xff0c;帮助学员全面掌握大语言模型的核心技术。并且&#xff0c;课程…

安装 oepn-webui报错 Cannot connect to host api.openai.com:443 ssl

一、发现问题 安装 open-webui 的报错 api.openai.com 不通&#xff0c;因为 open-webui 最新版和以前的不一样了&#xff0c;所以网上的很多资料都用不了&#xff0c;经过一番摸索&#xff0c;找到解决办法 另外如果发现浏览器打开之后白屏&#xff0c;则是因为后台正在配置…

【6】树状数组学习笔记

前言 树状数组是我学的第一个高级数据结构&#xff0c;属于 log ⁡ \log log 级数据结构。 其实现在一般不会单独考察数据结构&#xff0c;主要是其在其他算法&#xff08;如贪心&#xff0c;DP&#xff09;中起到优化作用。 长文警告&#xff1a;本文一共 995 995 995 行…

研发团队协作软件推荐:18款工具对比

本文将深入对比18款主流研发团队协作软件&#xff1a;PingCode、 Worktile、钉钉、飞书、企业微信、Teambition、蓝湖、石墨文档、明道等。 在当今信息化时代&#xff0c;研发团队协作软件已经成为企业提高工作效率、改善团队沟通与管理的重要工具。借助这些软件&#xff0c;企…

Java8的新特性

1.Lambda表达式和函数式接口 Lambda的基础&#xff1a;函数式接口 Java 8与之前版本的区别&#xff1a; Java 7及之前&#xff1a;接口中只能包含抽象方法&#xff0c;无法通过函数式接口简洁地表示Lambda表达式。Java 8&#xff1a;通过FunctionalInterface注解&#xff0c;明…