这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » MAC 合法性 ? *****************

共5条 1/1 1 跳转至

MAC 合法性 ? *****************

菜鸟
2006-03-29 19:44:48     打赏

在我们的系统中使用了网络芯片 CS8900A,并且这些网络芯片的MAC地址都是一样的;在系统设计中,要求每一个设备的MAC都不能一样,且我们的系统要走公共网络,这就涉及到了MAC的合法性问题。

IEEE考虑到有人并不愿意购买地址块,为此,IEEE将地址字段第1字节的最低第2位规定为G/L比。当G/L比特为1 时时全局管理,厂商购买的地址块都属于全局管理。当G/L比特为0 时是局部管理,这时用户可以任意分配网络上的地址。

又有,IEEE规定地址字段的第一个字节的最低位为I/G比特,当I/G比特为0 时,地址字段表示一个单个站地址。当I/G比特为1时表示组地址。因此IEEE只分配地址字段前3个字节中的23bit。

问题:基于 上述说明,如果我将地址字段的第1字节的最低位的I/G比特设置为0,表示单个站地址,然后将第1 字节的最低第2位的G/L比特位 设置为0,表示局部管理,剩下的比特位我随便设置(除地址为全0),这样我的MAC合法吗?如果不合法,该怎么办呢?

[align=right][color=#000066][此贴子已经被作者于2006-3-29 11:49:23编辑过][/color][/align]



关键词: 合法性     地址    

菜鸟
2006-03-30 01:24:00     打赏
2楼
对这个问题一直也很纳闷。询问一下厂商,每块CS8900A片子是否应该带一个MAC地址?

菜鸟
2006-03-30 02:48:00     打赏
3楼

ARM9说的有道理,如果经过了路由器的话,用的就是路由器的MAC地址了。从应用的角度来看是不会有问题的。其实,就是随便给一个MAC地址,也不会有问题,产生冲突的概率很小很小。

不过我更关心的是,怎么分配一个独一无二的MAC地址,也就是说,这个MAC地址不会在任何其他设备上出现。


菜鸟
2006-03-30 22:29:00     打赏
4楼

只要局域网内没有冲突的MAC地址,设备都是可以正常工作的,这也正如Twentyone 所说的“从应用的角度来看是不会有问题的”,但我们的设备作为商用产品的话,MAC地址就涉及到了合法性问题,向IEEE购买一个地址块当然可以,不过这得破费1000多美元呢。

在谢希仁的《计算机网络》第三版中,有这样一句话“ IEEE考虑到有人并不愿意购买地址块,为此,IEEE将地址字段第1字节的最低第2位规定为G/L。当G/L比特为1 时时全局管理,厂商购买的地址块都属于全局管理。当G/L比特为0 时是局部管理,这时用户可以任意分配网络上的地址。”

这句话是不是说,如果MAC设置为局部管理的话,就可以不必购买MAC块,同时MAC值又是合法的,只不过这个地址是自定义的,有可能和别人的地址发生冲突。


菜鸟
2006-03-30 22:46:00     打赏
5楼

如果你们不希望购买MAC地址的话,按你说的,你们把G/L比特置零,这样应该可以。这样的话,虽然存在地址冲突的可能性,但只会和用同样方法设置MAC地址的设备产生冲突。这样可以至少可以避免和网络节点产生冲突的可能性(一般节点上的设备应该用的都是购买的MAC地址)。


共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]