WiFi MAC地址的常见问题

什么样的MAC地址是合法的?

wifi地址第1个字节的低2bit必需为0,这两个有特殊含义。
比如:

  • 00-12-22-33-44-78(这个是合法的)
  • 03-12-22-33-44-78(下面这些都是不合法的)
  • 01-12-22-33-44-78
  • 02-12-22-33-44-78
  • 0e-12-22-33-44-78

MAC地址低2bit有什么特殊含义?

MAC地址的第1个字节的8个BIT从低位到高位分别用BIT1~BIT8表示。
BIT2:
0代表 Universal administered
1代表 locally administered
所有的厂商这个BIT都是0。
BIT1:
0代表是单播MAC。接收方的MAC与这一帧的目的MAC一样的话,就会接收这一帧;否则会丢掉。
1代表是多播MAC。接收方会检查自己允许接收的多播MAC列表,如果接收的这一帧的目的MAC在列表中才接收,否则就丢掉。

不写MAC地址会怎么样?

如果wifi用的是模组,则MAC地址不用写,模组里面有。如果不是模组,不在NVRAM写MAC地址的话,手机会自动生成一个随机的合法的MAC地址。但是这样会有nvram warning(如下图所示)。Mtk也不会拿掉这个warning,因为这样不合规范。

为什么会有NVRAM WARNING:Err = 0x10?

原因是没有写合法的MAC地址。这个warning ,是mtk提示您写合法的mac地址。因为不写mac地址,用个随机数代替,这个是不符合规范的。

MAC地址一样会有什么风险?

mac地址一样会导致wifi无法正常工作。
wifi收到的包都是根据mac地址来发的。打个比方就是,当邮递员拿到一封寄给76号的信时,他发现这条街所有门牌号都是76号,这个时候就有问题了。可能这封信就没有发到应该发到的地方。引用到wifi上来就是会出现莫名其妙的断线,死机,等等问题。

mac地址要申请就是为了管理,让厂家和厂家之间不会出现mac地址不惟一的情况。随机写mac地址的话,不能保证是惟一的,但发生mac地址一样的概率是比较小的,毕竟有6字节。但要注意的是第一字节的最后2bit一定要是0,这两位有特殊含义。

发布了234 篇原创文章 · 获赞 64 · 访问量 95万+

猜你喜欢

转载自blog.csdn.net/zhoumushui/article/details/101427092