UDP广播接收小优化

  • Linux 系统排查与优化

    • 查看当前缓冲区大小(默认通常很小,如 212992 字节): bash

      运行

      复制代码
      sysctl net.core.rmem_default  # 默认接收缓冲区
      sysctl net.core.rmem_max      # 最大接收缓冲区
    • 临时调高缓冲区(立即生效,重启失效): bash

      运行

      复制代码
      sysctl -w net.core.rmem_default=26214400  # 25MB
      sysctl -w net.core.rmem_max=52428800      # 50MB
    • 永久生效:编辑 /etc/sysctl.conf,添加上述两行,执行 sysctl -p 加载。

优化接收端 IP 分片重组缓冲区(核心)

Linux/Windows 默认的 IP 分片重组缓冲区较小,若大包分片到达不及时 / 数量多,会导致重组失败,表现为 "抓包能看到所有分片,但应用层收不到 UDP 包"。

(1)Linux 系统优化(临时 + 永久)

bash

运行

复制代码
# 1. 查看当前分片重组配置
sysctl net.ipv4.ipfrag_high_thresh  # 重组缓冲区高阈值(默认131072字节)
sysctl net.ipv4.ipfrag_low_thresh   # 低阈值(默认196608字节,注意:高阈值 < 低阈值是正常的)
sysctl net.ipv4.ipfrag_time         # 分片保留时间(默认30秒,即分片需30秒内全部到达)

# 2. 临时调高缓冲区(立即生效,重启失效)
sysctl -w net.ipv4.ipfrag_high_thresh=524288  # 512KB
sysctl -w net.ipv4.ipfrag_low_thresh=1048576  # 1MB
sysctl -w net.ipv4.ipfrag_time=60             # 延长分片保留时间到60秒

# 3. 永久生效(编辑/etc/sysctl.conf)
echo "net.ipv4.ipfrag_high_thresh = 524288" >> /etc/sysctl.conf
echo "net.ipv4.ipfrag_low_thresh = 1048576" >> /etc/sysctl.conf
echo "net.ipv4.ipfrag_time = 60" >> /etc/sysctl.conf
sysctl -p  # 加载配置
相关推荐
树℡独1 天前
ns-3仿真之应用层(五)
服务器·网络·tcp/ip·ns3
小小管写大大码1 天前
如何让vscode变得更智能?vscode接入claude实现自动编程
运维·ide·vscode·自动化·编辑器·ai编程·腾讯云ai代码助手
嵩山小老虎1 天前
Windows 10/11 安装 WSL2 并配置 VSCode 开发环境(C 语言 / Linux API 适用)
linux·windows·vscode
Fleshy数模1 天前
CentOS7 安装配置 MySQL5.7 完整教程(本地虚拟机学习版)
linux·mysql·centos
zhang133830890751 天前
CG-09H 超声波风速风向传感器 加热型 ABS材质 重量轻 没有机械部件
大数据·运维·网络·人工智能·自动化
a41324471 天前
ubuntu 25 安装vllm
linux·服务器·ubuntu·vllm
Configure-Handler1 天前
buildroot System configuration
java·服务器·数据库
津津有味道1 天前
易语言TCP服务端接收刷卡数据并向客户端读卡器发送指令
服务器·网络协议·tcp·易语言
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.1 天前
Keepalived VIP迁移邮件告警配置指南
运维·服务器·笔记
物联网软硬件开发-轨物科技1 天前
【轨物洞见】告别“被动维修”!预测性运维如何重塑老旧电站的资产价值?
运维·人工智能