news 2026/4/3 4:19:28

SNMP 请求响应报文传输分片定位

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SNMP 请求响应报文传输分片定位

1.分片报文

通过tcpdump 抓包,查看响应报文得内容如下:

image-20251017170120282

有一段很关键得报文内容如下:

"6876","2025-10-16 15:56:25.677396","172.16.25.13","172.16.11.102","IPv4","1516","Fragmented IP protocol (proto=UDP 17, off=0, ID=007b)"

这段报文得主要内容:

字段 值 含义

序列号 6876 报文在捕获中的编号

时间戳 2025-10-16 15:56:25.677396 精确到微秒的捕获时间

源IP 172.16.25.13 发送方IP地址

目的IP 172.16.11.102 接收方IP地址

协议 IPv4 网络层协议

长度 1516 bytes 报文总长度

详细信息 Fragmented IP protocol... IP分片详情

2.分片参数详解

2.1 分片参数详解

Fragmented IP protocol (proto=UDP 17, off=0, ID=007b)

参数 值 含义

proto=UDP 17 UDP协议,协议号17 传输层协议类型

off=0 分片偏移量=0 这是第一个分片

ID=007b 分片标识符=0x007b(123) 同一数据包的所有分片共享此ID

2.2 分片技术细节

IP分片头部字段:

总长度: 1516 bytes

标识: 0x007b (123)

分片标志: MF=1 (More Fragments,还有后续分片)

分片偏移: 0 (这是第一个分片)

3. 网络流量分析

3.1 通信方向

172.16.25.13 → 172.16.11.102

源: 172.16.25.13 (可能是客户端或服务请求方)

目的: 172.16.11.102 (可能是服务器或服务提供方)

3.2 分片原因分析

为什么需要分片:

MTU限制: 路径上某个链路的MTU小于1516字节

常见MTU值:

以太网: 1500字节

PPPoE: 1492字节

隧道协议: 更小值

计算:

复制代码

原始UDP数据包:

[IP头20][UDP头8][数据1488] = 总长1516字节

分片后:

分片1: [IP头20][UDP头8][部分数据] + 分片标志MF=1, Offset=0

分片2: [IP头20][剩余数据] + 分片标志MF=0, Offset=1480/8=185

复制代码

4.2 协议栈层次

复制代码

应用层数据

UDP头部 (8字节)

IP头部 (20字节) + 分片信息

网络传输

复制代码

5. 可能的应用场景

5.1 常见的UDP大包应用

复制代码

# DNS响应 (通常不会这么大)

# NTP协议

# SNMP Trap

# TFTP文件传输

# 视频流媒体

# 自定义UDP应用

复制代码

5.2 网络诊断

# 检查路径MTU

ping -M do -s 1472 172.16.11.102 # 测试MTU

# 使用traceroute检查路径

traceroute 172.16.11.102

6. 网络优化建议

6.1 避免分片的方法

# 调整应用层数据大小

应用程序设置: MTU - IP头 - UDP头 = 1500 - 20 - 8 = 1472字节

# 系统级MTU配置

ifconfig eth0 mtu 1500

6.2 监控建议

# 监控分片统计

netstat -s | grep -i fragment

# 使用tcpdump持续监控

tcpdump -i any -n 'host 172.16.25.13 and host 172.16.11.102'

7. 解决方法

1.设置调整路由设备得mtu值

2. 设置snmp 采集轮询中每次walk数据量得大小;即设置 snmp 在 getBulk时得 MaxRepetition 参数,将这个参数调小,每次响应得数据变小,就可以正常响应了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/27 14:54:41

分享一个MySQL万能备份脚本

此脚本适用于 MySQL 各个生命周期的版本#!/bin/bash# mybackup.sh# 备份保留天数,建议保留三天days7# 备份时间time$(date %Y%m%d%H%M%S)# 备份保存路径backup_dir/opt/backup# 备份工具toolmysqldump# 端口port"3306"# 是否采用 --all-databases 备份所有…

作者头像 李华
网站建设 2026/3/28 5:22:07

强力解锁:OpenCode正则搜索功能助你告别代码大海捞针

强力解锁:OpenCode正则搜索功能助你告别代码大海捞针 【免费下载链接】opencode 一个专为终端打造的开源AI编程助手,模型灵活可选,可远程驱动。 项目地址: https://gitcode.com/GitHub_Trending/openc/opencode 作为一名编程新手&…

作者头像 李华
网站建设 2026/3/31 0:24:50

地平线与生态伙伴共拓自动驾驶规模化商用之路

时代奔涌,风聚成潮。中国智能驾驶产业在经历了技术验证与场景探索后,正步入以“规模化商用”为核心命题的攻坚阶段。值此重要节点,智驾科技领军企业地平线于近日举办了“向高 同行”2025 地平线技术生态大会。近百位企业管理者、行业专家齐聚…

作者头像 李华
网站建设 2026/4/1 10:35:04

Mozzi终极指南:在Arduino上实现专业级音频合成的完整教程

Mozzi终极指南:在Arduino上实现专业级音频合成的完整教程 【免费下载链接】Mozzi sound synthesis library for Arduino 项目地址: https://gitcode.com/gh_mirrors/mo/Mozzi 想要在小小的Arduino板上创造出令人惊艳的声音效果吗?Mozzi音频合成库…

作者头像 李华