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

服务端处于 TIME_WAIT 状态的 TCP 连接,收到相同四元组的 SYN 后会发生什么?详解

文章目录

  • 一、先判断 SYN 是否合法
    • 1、开启「时间戳」机制
      • 1.1、合法 SYN
      • 1.2、非法 SYN
    • 2、关闭「时间戳」机制
      • 1.1、合法 SYN
      • 1.2、非法 SYN
  • 二、收到合法 SYN
  • 三、收到非法 SYN

一、先判断 SYN 是否合法

1、开启「时间戳」机制

1.1、合法 SYN

客户端的 SYN「序列号」比服务端「期望下一个收到的报文序列号」要大,并且 SYN「时间戳」比服务端「最后收到的报文时间戳」要大

1.2、非法 SYN

客户端的 SYN「序列号」比服务端「期望下一个收到的报文序列号」要小,或者 SYN「时间戳」比服务端「最后收到的报文时间戳」要小

2、关闭「时间戳」机制

1.1、合法 SYN

客户端的 SYN「序列号」比服务端「期望下一个收到的报文序列号」要大

1.2、非法 SYN

客户端的 SYN「序列号」比服务端「期望下一个收到的报文序列号」要小

二、收到合法 SYN

提前结束 TIME_WAIT 状态进入三次握手流程
在这里插入图片描述

三、收到非法 SYN

在这里插入图片描述
服务端收到 RST 后,看 Linux 内核参数 tcp_rfc1337 值

  • /proc/sys/net/ipv4/tcp_rfc1337=0(默认):提前结束 TIME_WAIT 状态,释放连接
  • /proc/sys/net/ipv4/tcp_rfc1337=1:丢掉 RST
http://www.dtcms.com/a/298457.html

相关文章:

  • HCIP上HCIA复习静态综合实验
  • 移动端设备能部署的llm
  • 系统日志与用户信息绑定实现日志跟踪
  • 前端基础知识Vue系列 - 27(Vue项目中如何解决跨域)
  • 从 SQL Server 到 KingbaseES V9R4C12,一次“无痛”迁移与深度兼容体验实录
  • js基础概念-1
  • 牛客NC16660 [NOIP2004]FBI树(递归 + 二叉树后序遍历)
  • electron中IPC 渲染进程与主进程通信方法解析
  • 常用设计模式系列(十二)—享元模式
  • 如何在 FastAPI 中玩转 GraphQL 和 WebSocket 的实时数据推送魔法?
  • C++中使用Essentia实现STFT/ISTFT
  • git 连接GitHub仓库
  • 强化学习之策略熵坍塌优化-clip conv kv conv
  • 若依搭建详解
  • Android Paging 分页加载库详解与实践
  • 第七章 愿景11 琦琦复盘测试
  • Keepalived 深度技术解析与高可用实践指南
  • C++编程学习(第15天)
  • ServletRegistrationBean相关知识点
  • 用 Docker 一键部署 Flask + Redis 微服务
  • NX848NX854美光固态闪存NX861NX864
  • 截稿倒计时 TrustCom‘25大会即将召开
  • C++中AC、WA、RE、CE、TLE、MLE、PE、OLE的意思
  • 【ResNet50图像分类部署至RK3588】模型训练→转换RKNN→开发板部署
  • 安装本地python文件到site-packages
  • 专题:2025电商增长新势力洞察报告:区域裂变、平台垄断与银发平权|附260+报告PDF、原数据表汇总下载
  • Linux运维新人自用笔记(Rsync远程传输备份,服务端、邮箱和客户端配置、脚本)
  • 【c++思维题】洛谷 P1496 火烧赤壁
  • 【js(8) for...in和for...of】
  • NVM踩坑实录:配置了npm的阿里云cdn之后,下载nodejs老版本(如:12.18.4)时,报404异常,下载失败的问题解决