TCP/IP(十)TCP的连接管理(七)CLOSE_WAIT和TCP保活机制

news2024/11/19 16:45:13

一  CLOSE_WAIT探究

CLOSE_WAIT 状态出现在被动关闭方,当收到对端'FIN'以后回复'ACK',但是自身'没有'发送FIN包之前

①   服务器出现大量 CLOSE_WAIT 状态的原因有哪些?

1、通常来讲,CLOSE_WAIT状态的'持续'时间应该很'短',正如SYN_RCVD状态

2、但是在一些'特殊'情况下,就会出现大量'连接长时间'处于CLOSE_WAIT状态的情况

3、观察TCP连接状态,包括'CLOSE_WAIT'

netstat -nat | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

说明:'分析'一个'普通'的 TCP 服务端的'流程' 

备注: 注意每'一'步

分析: 导致服务端'没有'调用 close 函数的'原因'

主要分析的'方向'就是服务端'为什么没有'调用 close --> 没有发送'FIN'包

线上大量CLOSE_WAIT的原因深入分析

一次 Netty 代码不健壮导致的大量 CLOSE_WAIT 连接原因分析

二  如果已经建立了连接,但是客户端突然出现故障了怎么办?

TCP 连接,一端断电和进程崩溃有什么区别?

①  TCP保活机制

/proc/sys/net/ipv4/tcp_keepalive_intvl  

/proc/sys/net/ipv4/tcp_keepalive_probes  

/proc/sys/net/ipv4/tcp_keepalive_time

SO_KEEPALIVE 选项  --> '保活' 机制

②  操作系统默认值TCP保活计算方式

③  nginx listen 指令的tcp选项参数

Linux下 nginx so_keepalive 参数详解

④  开启TCP保活连接考虑场景

⑤  应用层实现心跳机制

三  如果已经建立了连接,但是服务端的进程崩溃会发生什么?

四   发送RST包的场景

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【动态库】Ubuntu 添加动态库的搜索路径

在运行程序时,经常遇到下面这种动态库加载失败的情况,这时往往是系统在动态库的搜索路径下没有找到对应的库文件导致的。 目录 一、使用 LD_LIBRARY_PATH 二、修改 /etc/ld.so.conf 一、使用 LD_LIBRARY_PATH 环境变量 LD_LIBRARY_PATH是动态库的搜索…

【例题】逆波兰表达式求值(图解+代码)

【例题】逆波兰表达式求值(图解代码) 这里写目录标题 【例题】逆波兰表达式求值(图解代码)逆波兰表达式解释优点转换计算代码 题目描述 : 逆波兰表示法是一种将运算符(operator)写在操作数(operand)后面的描述程序(算式…

1600*A. Linova and Kingdom(DFS优先队列贪心)

Problem - 1336A - Codeforces Linova and Kingdom - 洛谷 解析: 开始认为分情况讨论 k 小于等于叶子结点和大于叶子结点的情况,然后选择深度最深的叶子结点和子孙数量最小的结点,但是发现如果把某一个非叶子结点选取,那么其子孙…

VTP协议

VTP的概念 个人简介 VTP--------------VLAN Trunking protocol VLAN干道协议(思科私有协议) 同步VLAN编号 VTP(Virtual Trunking Protocol)是思科(Cisco)网络设备中的一种协议,用于在交换机之…

Qt QMultiMap

QMultiMap 文章目录 QMultiMap摘要QMultiMapQMultiMap 特点代码示例 关键字: Qt、 QMultiMap、 容器、 键值、 键值重复 摘要 今天在观摩小伙伴撸代码的时候,突然听到了QMultiMap自己使用Qt开发这么就,竟然都不知道,所以趁没…

【环境】我决定半场开香槟!ubuntu20.04 安装 pytorch

还在下载当中,我决定半场开香槟!自信稳定安装成功! ubuntu20.04 安装 pytorch 硬件及其他环境:win10 ubuntu20.04 3080显卡查找pytorch的版本是最重要的、也是最耽误时间的 PyTorch中torch、torchvision、torchaudio版本对应关…

使用IntelliJ Idea必备的插件!

趁手的工具让开发事半功倍,好用的IDEA插件让效率加倍。 今天给大家分享几个优秀的IDEA插件。 插件安装 首先得知道在IDEA哪安装插件? 点击File---->Settings---->找到Plugins标签,即可搜索想要的插件进行安装了。 现在来看下有哪些值…

bigemap制作专题地图-标绘图斑-标绘设计地图

制作专题地图-标绘图斑-标绘设计地图 发布时间:2018-01-17 版权:BIGEMAP 同步视频教程:卫星地图_高清卫星地图_卫星地图视频_制作专题地图-设计规划测量地图应用详解 专题地图制作视频教程:卫星地图_高清卫星地图_卫星地图视频_地…

点餐小程序实战教程09-订单功能开发

目录 1 创建数据源2 订单确认功能3 提交订单4 订单成功页面总结 我们上一篇已经将商品加入了购物车,如果购买完毕,点击选好了按钮就进入到订单确认页面,确认无误后就写入到订单表。为了实现上述的业务逻辑,我们需要先创建数据源来…

压缩包过大,如何使用split命令拆分压缩包

split命令介绍 1. 使用案例 将文件rebar_count_datasets.zip拆分为N个大小不超过100M的文件&#xff01; split -b 100M -d rebar_count_datasets.zip datasets.zip.运行效果 2. 常用方式 2.1 压缩 & 文件拆分 # tar -czf - <被压缩的内容> | split -b <目…

【java学习】访问权限修饰符(24)

文章目录 1. 四种访问权限修饰符2. private修饰符3. 无(缺省)修饰符3.1. 什么是父子类 4. protected修饰符5. public修饰符6. 练习题 1. 四种访问权限修饰符 Java 权限修饰符public、protected、private 置于类的成员定义前&#xff0c;用来限定对象对该类成员的访问权限。 修…

【车载开发系列】嵌入式开发之中断向量表

【车载开发系列】嵌入式开发之中断向量表 嵌入式中断向量表 【车载开发系列】嵌入式开发之中断向量表一. 中断向量表的概念1&#xff09;中断向量2&#xff09;中断向量表3&#xff09;中断向量表的存放 二. 中断向量表的特点三. 中断向量表的作用四. 上电后第一条指令五. 芯片…

ardupilot罗盘数据计算航向

目录 文章目录 目录摘要1.数据特点2.数据结论1.结论2.结论摘要 本节主要记录ardupilot 根据罗盘数据计算航向的过程。 如果知道了一组罗盘数据,我们可以粗略估计航向:主要后面我们所说的X和Y都是表示的飞机里面的坐标系,也就是X前Y右边,如果按照罗盘坐标系Y实际在左边。 我…

USB 转串口芯片 CH340

目录 1、概述 2、特点 3、封装 4、引脚 6、参数 6.1 绝对最大值&#xff08;临界或者超过绝对最大值将可能导致芯片工作不正常甚至损坏&#xff09; 6.2 电气参数&#xff08;测试条件&#xff1a;TA25℃&#xff0c;VCC5V&#xff0c;不包括连接 USB 总线的引脚&…

甘特图组件DHTMLX Gantt示例 - 如何有效管理团队工作时间?(一)

如果没有有效的时间管理工具&#xff0c;如工作时间日历&#xff0c;很难想象一个项目如何成功运转。这就是为什么我们的开发团队非常重视项目管理&#xff0c;并提供了多种选择来安排DHTMLX Gantt的工作时间。使用DHTMLX Gantt这个JavaScript库&#xff0c;您可以创建一个强大…

自定义一个简单的操控器类

目录 1. 前言 2. 操控器需求 3. 功能实现 3.1. 预备知识 3.2. 代码实现 3.3. 代码难点说明 1. 前言 osg已经自己实现了很多操控器类&#xff0c;这些操控器类存放在osg源码目录下的src\osgGA目录。感兴趣的童鞋&#xff0c;可以自己去研究源码。下面两篇博文是我研究osg的…

设备管理工具

做了一个代理类,抽象出来后在注册表中&#xff0c;查找已经注册的设备 python 中 dict 和 lua 中的 table 一样高效 先初始化找到的设备通信程序,底层接口准备好C,这个设备调试界面就是可以用的,剩下就是MV了 软件升级已经稳定可用了 包括软件的备份和回滚操作登录时为设备页面…

【工作流引擎】Activiti的使用03

流程定义查询 // 获取部署时的信息ProcessEngine processEngine ProcessEngines.getDefaultProcessEngine();RepositoryService repositoryService processEngine.getRepositoryService();ProcessDefinitionQuery processDefinitionQuery repositoryService.createProcessDe…

直观全面解释Transformer模型;上海人工智能实验室推出首个图文混合创作大模型浦语灵笔

&#x1f989; AI新闻 &#x1f680; 上海人工智能实验室推出首个图文混合创作大模型浦语灵笔 摘要&#xff1a;上海人工智能实验室推出了一款名为浦语灵笔的图文混合创作大模型&#xff0c;并宣布其开源。浦语灵笔基于书生・浦语大语言模型&#xff0c;具备强大的多模态性能…

LabVIEW开发卫星测试平台

LabVIEW开发卫星测试平台 已经有不少的大学和研究机构经常使用立方体卫星。它们的广泛使用通常归因于使用廉价零件、无偿学生劳动和简单的设计。科学、技术、工程和数学学生已被证明可以通过参与实际工作宇宙飞船系统的规划、开发和测试而从中受益。通过鼓励来自不同学术领域的…