当前位置: 首页 > news >正文

以太网传输出现不分包

最近对手件反馈,在传输文件的时候,我们这边发包太快,导致对手件网络出现了拥塞,把他们程序给搞死了。他们抓了一下他们收到的包,发现我们发送的数据包都大于了MTU设置的值。现在被要求更改。

排查方法:为什么我们发送的数据包会大于MTU的值。

可能性一:配置了Don't Fragment

验证:我们去抓我们发送出去的包,发现确实配置了Don't Fragment。如下图:

接下来就是取消Don't Fragment。取消代码如下:

int val = 0;// 设置MTU发现选项if (setsockopt(sock, IPPROTO_IP, IP_MTU_DISCOVER, &val, sizeof(val)) < 0) {error("setsockopt IP_MTU_DISCOVER failed");}

然后再次验证,发现Don't Fragment确实取消了,但是发包数据量还是大于了MTU。如下图:

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Facebook主页,广告账户,BM被封分别怎么解决?
  • HTTP请求工具类
  • 在 Java 中使用 bean 有什么好处
  • 【人工智能】OpenAI发布GPT-o1模型:推理能力的革命性突破,这将再次刷新编程领域的格局!
  • 使用 Docker 进入容器并运行命令的详细指南
  • c++ 编辑器 和 编译器 的详细解释
  • centos 7 升级Docker 与Docker-Compose 到最新版本
  • Android以及IoT设备传感器软件开发总结
  • Docker 安装配置和基本命令详解以及案例示范
  • Vue安装及环境配置【图解版】
  • Fisco Bcos 2.11.0通过网络和本地二进制文件搭建单机节点联盟链网络(搭建你的第一个区块链网络)
  • SAP自动化-ME12批量更新某行价格
  • 京东广告投放平台整洁架构演进之路
  • CMake构建学习笔记15-组建第一个程序项目
  • fly专享
  • JS 中的深拷贝与浅拷贝
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 2017前端实习生面试总结
  • JavaScript学习总结——原型
  • Node 版本管理
  • node.js
  • Phpstorm怎样批量删除空行?
  • Shell编程
  • 编写符合Python风格的对象
  • 对象管理器(defineProperty)学习笔记
  • 基于webpack 的 vue 多页架构
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 聊聊sentinel的DegradeSlot
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 前端之Sass/Scss实战笔记
  • 算法---两个栈实现一个队列
  • 我与Jetbrains的这些年
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • # Maven错误Error executing Maven
  • #在 README.md 中生成项目目录结构
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (C++)八皇后问题
  • (C11) 泛型表达式
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (区间dp) (经典例题) 石子合并
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转)mysql使用Navicat 导出和导入数据库
  • (转)人的集合论——移山之道
  • (自用)交互协议设计——protobuf序列化
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .Net 6.0 处理跨域的方式
  • .net 7 上传文件踩坑
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET HttpWebRequest、WebClient、HttpClient
  • .NET 动态调用WebService + WSE + UsernameToken
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .net开发日常笔记(持续更新)
  • .NET中使用Redis (二)
  • /usr/bin/env: node: No such file or directory