This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6678 的MAC地址为什么是可以软件设置的



我理解的MAC地址应该唯一的,不可以改变的,这样才能保证设备在连接到网络上的时候不会与其他设备发生冲突,但是看C6678例程的时候发现,其mac地址是自己在编程的时候手动设定的,然后写入ALE的look up table,将该mac地址与port映射起来。

这样做的话岂不是随便写一个MAC地址,都可以用,不怕与网络上的其他设备发生冲突吗?

  • 一般MAC地址都是可改变的,为了避免mac地址冲突,各大厂商都有自己专用的MAC地址段,每个厂商保证自己段内没有设备有IP重复问题。

    对芯片生产商来说,是不会再流片阶段就把MAC固化进去的,因此必须用软的方式来确定MAC地址,一般用NAND或者EEPROM来存储这个信息。

    至于测试工程,随便编一个MAC地址就行。

    ps,以太网应用中,由于最常见的是C类地址,一个网段里最多254台设备,因此实际上只要保证这254台设备里mac地址不冲突的话,就没有问题