当前位置:网站首页>字节秋招二面把我干懵了,问我SYN报文什么情况下会被丢弃?
字节秋招二面把我干懵了,问我SYN报文什么情况下会被丢弃?
2022-08-09 11:33:00 【InfoQ】
- 开启 tcp_tw_recycle 参数,并且在 NAT 环境下,造成 SYN 报文被丢弃
- accpet 队列满了,造成 SYN 报文被丢弃
坑爹的 tcp_tw_recycle
net.ipv4.ip_local_port_range- 防止具有相同四元组的旧数据包被收到,也就是防止历史连接中的数据,被后面的连接接收,否则就会导致后面的连接收到一个无效的数据,
- 保证「被动关闭连接」的一方能被正确地关闭,即保证最后的 ACK 能让被动关闭方接收,从而帮助其正常关闭;
- net.ipv4.tcp_tw_reuse,如果开启该选项的话,客户端(连接发起方) 在调用 connect() 函数时,内核会随机找一个 time_wait 状态超过 1 秒的连接给新的连接复用,所以该选项只适用于连接发起方。
- net.ipv4.tcp_tw_recycle,如果开启该选项的话,允许处于 TIME_WAIT 状态的连接被快速回收;

accpet 队列满了
- 半连接队列,也称 SYN 队列;
- 全连接队列,也称 accepet 队列;
- Recv-Q:当前 accpet 队列的大小,也就是当前已完成三次握手并等待服务端 accept() 的 TCP 连接个数;
- Send-Q:当前 accpet 最大队列长度,上面的输出结果说明监听 8088 端口的 TCP 服务进程,accpet 队列的最大长度为 128;
- 调大 accpet 队列的最大长度,调大的方式是通过调大 backlog 以及 somaxconn 参数。
- 检查系统或者代码为什么调用 accept() 不及时;
边栏推荐
猜你喜欢

x86 Exception Handling and Interrupt Mechanism (3) Interrupt Handling Process
[工程数学]1_特征值与特征向量

《数字经济全景白皮书》银行业智能营销应用专题分析 发布

Redis高可用部署

Semaphore SIGCHLD use, how to make the parent that the child performs over, how to make the distinction between multiple child processes. The end
![[现代控制理论]4_PhasePortrait爱情故事动态系统分析](/img/cd/dc1266addc58c3cd3e087f168bebf9.png)
[现代控制理论]4_PhasePortrait爱情故事动态系统分析

【Adobe Premiere Pro 2020】pr2020安装和基本操作【PR安装、新建项目流程、导入及管理素材项目文件、添加标记、创建出入点剪辑视频、快速剪接及自动音乐卡点的方法

enum in c language

ICML 2022 | Out-of-Distribution检测与深最近的邻居

PTA习题 分类统计字符个数(C)
随机推荐
PTA 换硬币
Visual Studio 2017 ASP.NET Framework MVC 项目 MySQL 配置连接
C# async 和 await 理解
[现代控制理论]5_系统的可控性_controllability
ICML 2022 | Out-of-Distribution检测与深最近的邻居
CANopen DS402名词
元宇宙:下一代互联网启程(附元宇宙深度报告PDF)
ClickHouse之MaterializeMySQL引擎(十)
Oracle Database Architecture
enum in c language
从零开始Blazor Server(9)--修改Layout
Fapi_StatusType Fapi_issueProgrammingCommand使用注意事项
es6的async函数
PTA 计算天数
OC-块对象
PTA 指定位置输出字符串(c)
Win10调整磁盘存储空间详解
PTA 矩阵运算
《数字经济全景白皮书》银行业智能营销应用专题分析 发布
C语言中信号函数(signal)的使用