秦皇岛网站制作小程序开发,在线排版设计,网站开发有哪些软件有哪些,网站开发和广告制作由于 MAC 地址的问题#xff0c;导致网络不通的原因和分析
将现象及原因分析发给大家#xff0c;供大家参考#xff0c;以后有类似问题时有个解决问题的参考开发板网络不通#xff0c;也抓不到包#xff0c;折腾了好久#xff0c;将电脑和开发板用网线直连#xff0c;结…由于 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 地址。