当前位置:网站首页>字节秋招二面把我干懵了,问我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() 不及时;
边栏推荐
猜你喜欢
[现代控制理论]6_稳定性_李雅普诺夫_Lyapunov
End-to-End Object Detection with Fully Convolutional Network学习笔记
ICML 2022 | Out-of-Distribution Detection with Deep Nearest Neighbors
log4net使用指南(winform版,sqlserver记录)
mysql8.0和navicat premium15下载安装
PTA 实验7-5 输出大写英文字母(10 分)
UNIX Philosophy
拍频造成的轻微震荡
实现strcat函数
Number theory knowledge
随机推荐
排序--快排(图解)
bat文件(批处理文件)运行时一闪而过解决方法
x86异常处理与中断机制(1)概述中断的来源和处理方式
ICML 2022 | Out-of-Distribution检测与深最近的邻居
ECCV 2022 Oral | CCPL: 一种通用的关联性保留损失函数实现通用风格迁移
学习阶段总结(背包问题)
双向链表的各种操作
湖南进芯电子替代TIC2000的可能性
富媒体在客服IM消息通信中的秒发实践
【Data augmentation in NLP】——1
Win10调整磁盘存储空间详解
mysql + redis + flask + flask-sqlalchemy + flask-session 配置及项目打包移植部署
PAT1003
mysql参数学习----max_allowed_packet
web课程设计
PAT1010
es6的async函数
LeetCode 1413.逐步求和得到正数的最小值
PAT1004
x86 Exception Handling and Interrupt Mechanism (3) Interrupt Handling Process