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

由于 MAC 地址的问题,导致网络不通的原因和分析

由于 MAC 地址的问题,导致网络不通的原因和分析

  • 将现象及原因分析发给大家,供大家参考,以后有类似问题时有个解决问题的参考
  • 开发板网络不通,也抓不到包,折腾了好久,将电脑和开发板用网线直连,结果包能抓到了,网络通了(代码未做修改)
  • 分析原因:最有可能的是以太网的 CRC 32 校验错误,导致交换机将这个包给过滤掉了。(用的是 H3C 的交换机)
  • 接着折腾,查CRC32算法,甚至把数据包抓出来算出 CRC32 校验。所有的结果都证明,板子的 CRC32 校验是正确的。
  • 接着实验分析,不用交换机用网线直连能通,用普通的傻交换机能通,用 H3C 网管型交换机网络不能通。怀疑开发板发出的包是个特殊的包,被交换机给虑掉了。
    看代码中,开发板的 MAC 地址是 E1:E1:E1:E1:E1:E1 ,感觉有些特殊,换掉了,改成 11:22:33:44:55:66 六六大顺。结果还是不通。
  • 继续折腾,实在是看不出问题所在,再次关注到 MAC 地址上来发现 E1:E1:E1:E1:E1:E1 和 11:22:33:44:55:66 都是组播地址,接着查看相关文章,组播地址不能当成以太网的源地址。
  • 接着改,将 MAC 地址改成 00:11:22:33:44:55 结果网络通了。

结果:

MAC[47:0] 共 48 位,从 0 开始数,第 40 位为 1 时是多播地址。就是说,MAC 的最高字节是奇数的话就是多播地址。
比如下面的地址就是多播地址

x1:xx:xx:xx:xx:xx
x3:xx:xx:xx:xx:xx
x5:xx:xx:xx:xx:xx
x7:xx:xx:xx:xx:xx
x9:xx:xx:xx:xx:xx
xb:xx:xx:xx:xx:xx
xd:xx:xx:xx:xx:xx
xf:xx:xx:xx:xx:xx

  • 多播地址只能当目的 MAC 地址,不能当成源 MAC 地址。
http://www.lryc.cn/news/188231.html

相关文章:

  • 游戏开发中的设计模式
  • React核心原理与实际开发
  • Springboot+vue的企业OA管理系统(有报告),Javaee项目,springboot vue前后端分离项目。
  • 3、字符设备驱动框架和开发步骤
  • [MySQL]基础篇
  • Meta Semantic Template for Evaluation of Large Language Models
  • Git相关知识(1)
  • pytorch中nn.DataParallel多次使用
  • 制作电商页面(Html)
  • Android Sutdio依赖Snapshot版本,无法同步最新的包
  • Feign调用异常触发降级捕获异常
  • Springboot 音乐网站管理系统idea开发mysql数据库web结构java编程计算机网页源码maven项目
  • 微信支付v2-02
  • 企业的销售活动是什么?CRM销售管理系统给你答案
  • 【PG】PostgreSQL参数格式 配置文件格式
  • 应用层协议 HTTP
  • Springboot+vue的应急救援物资管理系统,Javaee项目,springboot vue前后端分离项目。
  • 创建properties资源文件,并由spring组件类获取资源文件
  • 你知道npm、yarn、pnpm的区别吗?
  • 利用excel表格进行分包和组包
  • Go 语言切片扩容规则是扩容2倍?1.25倍?到底几倍
  • 突破封锁|华为芯片10年进化史:从K3V1到麒麟9000S
  • vue建项目
  • 天龙八部服务端Public目录功能讲解
  • 好用的Java工具类库—— Hutool
  • IDEA的使用(三)Debug(断点调试)(IntelliJ IDEA 2022.1.3版本)
  • 285_C++_web提取AI告警信息JSON格式
  • (Qt5Gui.dll)处(位于 xxx.exe 中)引发的异常: 0xC0000005: 读取位置 XXXXXXXX 时发生访问冲突
  • AI:11-基于深度学习的鱼类识别
  • c#学习系列相关之多线程(三)----invoke和begininvoke