【udp报文】udp报文未自动分片,报文过长被拦截问题定位

news2024/9/19 10:34:06

问题现象

某局点出现一个奇怪的现象,客户端给服务端发送消息,服务端仅能收到小部分消息,大部分消息从客户端发出后,服务端都未收到。

问题定位

  • 初步分析

    • 根据现象初步分析,有可能是网络原因导致消息到服务端不可达,但是又无法佐证,因为确实有部分消息是能够被服务端接收到的。
    • 服务端应用问题,通过某些渠道了解到,接收端是客户自己实现的一个程序,可能是程序存在bug,导致消息丢失。该原因定位较困难,客户表示可以接收其他发送端消息,拒绝从接收端应用开始排查。
  • 抓包

    • 根据初步分析的第一点猜测,我们决定进行抓包进行分析,由于发送端使用的是udp包,所以我们使用tcpdump工具,在发送端进行抓包,抓包后的结果是,所有的数据包均被tcpdump捕获
    • 根据第一步的结果可以得出结论,问题并非出在发送应用端,接着我们在接收端进行tcpdump抓包,结果发现,发送端发出来的包,在服务端并没有全部被抓取到。问题已经显而易见了。
  • 分析
    根据上述抓包结果,基本可以定界到中间的网络传输将数据包丢弃。而后排查网络问题,发现是网络中的防火墙将数据包大于1472字节的包拦截并丢弃了。而防火墙的这一行为为出厂时默认配置,目的是为了防止网络攻击。

问题根因

对于udp数据包,当数据包过大时,网卡会将其自动分片发送,而在这个案例中,udp报文里ip层的flag为0x02,即df(don’t fragment)位为1,表示不允许分片发送。

df = 1的情况有以下两种

  1. 操作系统配置/proc/sys/net/ipv4/ip_no_pmtu_disc参数值
    若上述参数值为0(默认),则表示可分片。
    若上述参数值为2,则强制不进行分片。
    更详细的用法可以百度查一下。
    这个案例中发送端机器参数为。

  2. 确认发送端网卡的mtu值是否大于1500
    这里为什么是1500呢?因为当udp数据包发出去后,会在报文中添加28字节的报文头,其中8字节的udp层,20字节的ip层,而1500 - 28 = 1472,所以防火墙会将大于1472字节的数据进行拦截。
    经过排查后发现发送端的机器的mtu值为8192,所以当从发送端将大于1472,小于8166的数据包发送出去时,报文中所携带的df值为1,后续经过的所有路由都没有进行分片,导致数据包到达防火墙后被过滤。

查询网卡mtu方法:ifconfig
网卡mtu值
正常情况下,该值都为1500,所以数据包能被正常分片在1472字节内。

解决方案

修改网卡mtu值,这个操作可以直接百度到了。
ifconfig 网卡名称 mtu 1500 up

vim /etc/sysconfig/network-scripts/对应网卡的ifcfg文件
新增一行MTU="1500"
保存后退出,并执行service network restart重启网卡服务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1888641.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

湿法工艺特氟龙刻蚀清洗架 耐强酸四氟晶圆盒应用半导体行业

四氟花篮又叫四氟清洗花蓝 、 特氟龙卡匣、 特氟龙晶舟盒、特氟龙晶圆盒、特氟龙晶片清洗架、特氟龙晶圆架、特氟龙刻蚀花篮、特氟龙刻蚀清洗架、PTFE显影花篮 。四氟花篮在半导体、多晶硅、新能源、新材料、太阳能等行业广泛应用 。具备耐腐蚀性、耐高温性、不粘性、绝缘性、防…

SAR目标检测

Multi-Stage with Filter Augmentation 多阶段滤波器增强(MSFA) 对SAR合成孔径雷达目标检测性能的改善 MSFA ON SAR 传统方法: 预训练:传统方法开始于在通用数据集上预训练一个基础模型。 微调:这个预训练的模型会被微调以适应特定的SAR图像,试图缩小域间的差距 …

应急灯、车库灯毫米波雷达人体存在传感器模块,超低功耗uA级别,飞睿智能LED照明控制,抗干扰、远距离、参数可调

在智能化、自动化的浪潮中,我们的生活正在经历一场前所未有的创新。无论是智能家居、智能交通还是智能安防,科技的力量正在悄然改变着我们的生活。而在这场创新中,毫米波雷达人体存在传感器模块凭借其独特的优势,成为了智能设备中…

秋招——MySQL补充——MySQL是如何加行级锁

文章目录 引言正文什么SQL语句会加行级锁查询操作增加对应的行级锁事务的写法 update和delete修改操作也会增加行级锁 行级锁有哪些种类记录锁间隙锁Next-Key锁 MySQL是如何加行级锁?唯一索引等值查询查询记录是存在的查询记录是不存在的 唯一索引范围查找针对大于或…

一个暑假如何学习单片机

一个暑假是学习和掌握单片机基础知识的良好时机。以下是一个关于如何在暑假期间学习单片机的建议计划: 1. 了解基础知识 查阅资料:首先,了解单片机是什么,它的工作原理、常见型号和应用场景。学习编程语言:单片机通常…

【区块链+基础设施】蜀信链 | FISCO BCOS应用案例

蜀信链是在四川省经济和信息化厅指导下,在四川省区块链行业协会组织下,由全省区块链相关从业与应用机构 共同参与建设和运营的区域性区块链基础设施,通过多方协同,共同打造合作共赢的区块链产业生态。 蜀信链区块链服务生态秉承“…

移动网络捕获在数字化转型中的重要性

数字化转型重新定义了企业运营和与客户互动的方式。它为组织提供价值的方式带来了根本性的转变,使流程更易于访问、更高效、更具协作性和更安全。然而,跟上不断发展的数字环境可能是一项挑战,而未能接受数字化转型的企业则面临被淘汰的风险。…

农作物监测新利器:免费可视化工具让数据说话

从传统的“靠天吃饭”到如今的“智慧农业”,数据成为了驱动这一转变的关键力量。随着物联网、大数据、云计算等技术的深入应用,农业生产过程中的各类数据如雨后春笋般涌现。从土壤湿度、光照强度到作物生长周期、病虫害情况等,这些数据背后隐…

电路模型和电路定律

电路---为了某种需要由某些电工设备或元件按一定方式组合起来的电流的通路 实际电路的两个作用 1.电能的传输,分配和转换 2.传递和处理信号 电路中的几个基本概念 激励---电源或信号源的电压或电流,也称为输入 响应---由激励在电路各部分产生的电流…

基于ESP32 IDF的WebServer实现以及OTA固件升级实现记录(三)

经过前面两篇的前序铺垫,对webserver以及restful api架构有了大体了解后本篇描述下最终的ota实现的代码以及调试中遇到的诡异bug。 eps32的实际ota实现过程其实esp32官方都已经基本实现好了,我们要做到无非就是把要升级的固件搬运到对应ota flash分区里面…

应用密码学—(扩展)欧几里得、DES、RSA、SHA-1算法

1. 欧几里得算法 1.1 分析算法的实现原理 欧几里德(Euclid)算法,也既常说的“辗转相除法”,公式为gcd(m, n) { return gcd(n, m%n); },对于任意两个正整数m、n,每次求的一个数字r m % n,然后把…

气膜馆一小时电费有多高—轻空间

气膜馆因其独特的设计和功能性,广泛应用于体育场馆、展览馆和临时建筑等多个领域。除了其便捷的搭建和拆卸外,运营成本,尤其是电费,成为了许多关注气膜馆用户的重点。轻空间将详细分析气膜馆一小时的电费构成,并探讨其…

跨境电商自养号全攻略:TEMU、Shein、速卖通测评技巧揭秘

TEMU、Shein、速卖通等跨境平台都推出了全托管模式,普通平台讲究排名,销量,流量量,转化率等等。那么全托管为什么需要做测评呢?因为全托管平台讲究的是一个动销率,有的新品上架或许很快就出单,而…

【每日一练】Python遍历循环

1. 情节描述:上公交车(10个座位),并且有座位就可以坐下 要求:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果车上有空座位,才可以上。 seat 10 while seat > 0:money int(input(…

2024 年如何构建 AI 软件

人工智能 (AI) 是当今 IT 行业最热门的话题,受到大型科技公司、大型企业和投资者的青睐。如果有人不参与 AI,他们就出局了。虽然“AI 泡沫”一词尚未公开使用,但街上的每个人都可能听说过 AI 将取代我们的工作(可能不会&#xff0…

文献解读-长读长测序-第十四期|《作为了解棉花驯化的资源,印度棉(Gossypium herbaceum L. Wagad)基因组》

关键词:基因组;长读长测序;棉花基因组; 文献简介 标题(英文):The Gossypium herbaceum L. Wagad genome as a resource for understanding cotton domestication标题(中文&#xff…

【论文解读】iSDF: Real-Time Neural Signed Distance Fieldsfor Robot Perception

《iSDF: Real-Time Neural Signed Distance Fields for Robot Perception》提出了一种用于实时签名距离场(SDF)重建的持续学习系统。 论文:https://arxiv.org/abs/2204.02296https://arxiv.org/abs/2204.02296 项目:iSDFhttps:/…

手撕LLM,弄懂这些,你大模型就算入门了

在人工智能的浩瀚星空中,大型语言模型(Large Language Model, LLM)无疑是近年来最为耀眼的星辰之一。它们以惊人的文本生成能力、上下文理解能力以及广泛的应用潜力,正逐步改变着我们的生活方式和工作模式。对于想要踏入这一领域的…

Mac密室逃脱游戏推荐:Escape Simulator for mac安装包

Escape Simulator 是一款逃生模拟游戏,玩家在游戏中需要寻找线索、解决谜题,以逃离各种房间或环境。这种类型的游戏通常设计有多个关卡或场景,每个场景都有不同的设计和难度。 在 Escape Simulator 中,玩家的目标通常是找到出口或…

用MySQL+node+vue做一个学生信息管理系统(一):配置项目

先用npm init -y生成配置文件 在项目下新建src文件夹,app.js文件。src目录用来放静态资源文件,app.js是服务器文件,index.js是vue的入口文件 使用npm install express下载express框架 在app.js文件夹开启node服务,监听的端口为…