MAC地址格式


隨機配置一個mac地址,發現有的會報出Cannot assign requested address。

錯誤碼是EADDRNOTAVAIL。

檢查不是組播地址也不是全0地址。

組播地址就是第一個字節最低位為1,問題就是在這里。

發現第一個字節最低位為1時該函數就會返回0,driver中的set_mac_addr就會返回EADDRNOTAVAIL錯誤碼。

 

嚴格來說mac地址對於每塊網卡是固定的,每塊網卡被生產出來后,都會有一個全球唯一的編號來標識自己,不會重復,

這個編號就是MAC地址,也就是網卡的物理地址。MAC地址是由48位的二進制數組成,即6個字節。在通信中是用16進制表示的。

前24位是由生產廠家向IEEE標准組織申請的廠家代碼,是固定的,但是第一個字節的最低位一定是0,因為網卡的物理地址,一定是單播地址,

在IPv4的環境中,區分單播和組播地址就是校檢最低位的二進制數字,0代表單播地址,1代表組播地址。

也就是說第二個數字一定是0、2、4、6、8、A、C、E其中的一個。

所以mac地址雖然可以修改,但是不要亂改,要按照廠商規定來修改,以免重復。
---------------------
作者:kerneler_
來源:CSDN
原文:https://blog.csdn.net/skyflying2012/article/details/40322563
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM