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

4.1011

目录

四次挥手中收到乱序的FIN包会如何处理?

在 TIME_WAIT 状态的 TCP 连接,收到 SYN 后会发生什么? 


四次挥手中收到乱序的FIN包会如何处理?

如果FIN报文比数据包先道道客户端,此时FIN是一个乱序报文,此时客户端的TCP连接并不会从FIN_WAIT_2状态转到TIME_WAIT状态。

乱序FIN会放到乱序队列,等再次收到前面被网络延迟的数据包时,会判断乱序队列有没有数据,然后会检测乱序队列中是否有可用的数据,如果能在乱序队列中找到与当前报文的序列号保持的顺序的报文,就会看该报文是否有 FIN 标志,如果发现有 FIN 标志,这时才会进入 TIME_WAIT 状态。

在 TIME_WAIT 状态的 TCP 连接,收到 SYN 后会发生什么? 

关键是要看 SYN 的「序列号和时间戳」是否合法,因为处于 TIME_WAIT 状态的连接收到 SYN 后,会判断 SYN 的「序列号和时间戳」是否合法,然后根据判断结果的不同做不同的处理。

 收到合法的SYN后,就会重用此四元组连接,跳过2MSL转变为SYN_RECV状态,接着就能进行建立连接过程。

 收到非法的SYN后,处于 TIME_WAIT 状态的连接收到「非法的 SYN 」后,就会再回复一个第四次挥手的 ACK 报文,客户端收到后,发现并不是自己期望收到确认号(ack num),就回 RST 报文给服务端

 

http://www.lryc.cn/news/140980.html

相关文章:

  • uniapp中引入axios的错误?
  • Discuz!论坛发帖标题字数限制80字符可以修改吗?修改发帖标题字数的方法
  • R语言画样本不均衡组的箱线图
  • ArcGIS学习总结(19)——要素转点与空间连接(属性表字段映射)
  • 【每日一题Day306】LC228汇总区间 | 双指针
  • vue中实现echarts三维散点图
  • 多头自注意力机制的代码实现
  • 抽象工厂模式
  • 登录校验-Filter-详解
  • 堆栈方法区笔记记录
  • 新版微信小程序获取用户手机号
  • CSS实践 —— 悬浮盒子阴影加上移效果
  • 安全测试基础知识
  • 列表首屏毫秒级加载与自动滚动定位方案
  • 小区物业业主管理信息系统设计的设计与实现(论文+源码)_kaic
  • Fortran 微分方程求解 --ODEPACK
  • 8路光栅尺磁栅尺编码器或16路高速DI脉冲信号转Modbus TCP网络模块 YL99-RJ45
  • 【Python】函数
  • centos安装MySQL 解压版完整教程(按步骤傻瓜式安装
  • 【后端速成 Vue】第一个 Vue 程序
  • Macbook pro M1 安装Ubuntu教程
  • 前端console.log打印内容与后端请求返回数据不一致
  • SQL入门:多表查询
  • 【C++】进一步认识模板
  • Mysql Oracle 区别
  • 华为OD-第K长的连续字母字符串长度
  • 【编程题】有效三角形的个数
  • 【mysql是怎样运行的】-EXPLAIN详解
  • 数据结构例题代码及其讲解-链表
  • [Open-source tool] 可搭配PHP和SQL的表單開源工具_Form tools(1):簡介和建置