当前位置: 首页 > news >正文

客户端主机宕机,服务端如何处理 TCP 连接?详解

文章目录

  • 一、客户端主机宕机后迅速重启
    • 1、服务端有数据发送
    • 2、服务端开启「保活」机制
    • 3、服务端既没有数据发送,也没有开启「保活」机制
  • 二、客户端主机宕机后一直没有重启
    • 1、服务端有数据发送
    • 2、服务端开启「保活」机制
    • 3、服务端既没有数据发送,也没有开启「保活」机制

一、客户端主机宕机后迅速重启

1、服务端有数据发送

服务端发出的数据报文得不到响应,一段时间(RTO)后触发「超时重传」机制,重传期间,重启客户端主机,重传报文到达后,Linux 内核回复 RST

2、服务端开启「保活」机制

服务端发出的探测报文得不到响应,一段时间(tcp_keepalive_intvl)后继续尝试发送探测报文,期间重启客户端主机,探测报文到达后,Linux 内核回复 RST

3、服务端既没有数据发送,也没有开启「保活」机制

服务端会一直维护这个连接,并且保持 ESTABLISHED 状态,直到重启服务进程

二、客户端主机宕机后一直没有重启

1、服务端有数据发送

服务端发出的数据报文得不到响应,一段时间(RTO)后触发「超时重传」机制,当重传总间隔时长超过某个阈值后,就会断开 TCP 连接

2、服务端开启「保活」机制

服务端发出的探测报文得不到响应,一段时间(tcp_keepalive_intvl)后继续尝试发送探测报文,连续几次达到保活探测次数(tcp_keepalive_probes)后,则认为当前的 TCP 连接已经死亡,由 Linux 内核通知进程

3、服务端既没有数据发送,也没有开启「保活」机制

服务端会一直维护这个连接,并且保持 ESTABLISHED 状态,直到重启服务进程

http://www.dtcms.com/a/278324.html

相关文章:

  • EasyExcel实现Excel文件导入导出
  • VScode链接服务器一直卡在下载vscode服务器,无法连接成功
  • C++之哈希表的基本介绍以及其自我实现(开放定址法版本)
  • 多客户端 - 服务器结构-实操
  • 史上最清楚!读者,写者问题(操作系统os)
  • 基于 Gitlab、Jenkins与Jenkins分布式、SonarQube 、Nexus 的 CiCd 全流程打造
  • SQL创建三个表
  • 从 JSON 到 Python 对象:一次通透的序列化与反序列化之旅
  • Dubbo高阶难题:异步转同步调用链上全局透传参数的丢失问题
  • Selenium动态网页爬虫编写与解释
  • 【微信小程序】
  • 当你在 Git 本地提交后,因权限不足无法推送到服务端,若想撤销本次提交,可以根据不同的需求选择合适的方法,下面为你介绍两种常见方式。
  • 清除 Android 手机 SIM 卡数据的4 种简单方法
  • 云手机常见问题解析:解决延迟、掉线等困扰
  • 云手机的多重用途:从游戏挂机到办公自动化
  • kafka的部署
  • 从零实现浏览器摄像头控制与视频录制:基于原生 JavaScript 的完整指南
  • 如何将数据从一部手机传输到另一部手机?
  • 马蹄集 BD202401补给
  • C#中如何阻止硬件休眠
  • Vue 低代码可视化表单设计器 FcDesigner v3.3 版本发布!表格布局升级+精细化权限控制
  • JDK1.8 ReentrantLock相关源码
  • 代数基本定理
  • 多模态数据处理新趋势:阿里云ODPS技术栈深度解析与未来展望
  • RabbitMQ中队列长度限制(Queue Length Limit)详解
  • LVS的集群技术和分布式
  • hive的相关的优化
  • 传统机器学习在信用卡交易预测中的卓越表现:从R²=-0.0075到1.0000的华丽转身
  • Android 性能优化:启动优化全解析
  • Android 16系统源码_窗口动画(一)窗口过渡动画层级图分析