MAC地址(Media Access Control Address),也称为局域网地址(LAN Address),以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认网络设备位置的位址。在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC位址 。MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址。
MAC地址一共6个字节,分成两段。前三个字节叫作OUI,用于标记网卡设备的生产商,后三个字节由生产商自行决定,OUI与生产厂商的对应关系需要网络设备生产商向IEEE的一个专门组织IEEE Registeration Authority购买和注册,并由这个组织统一管理。
而OUI中,有两个位是有特殊含义的,即第一个字节的最低两位。其中最低位表示MAC地址是单播地址还是多播地址,0代表单播地址,1代表组播地址。次低位表示是否由IEEE Registeration Authority统一发放。由该组织统一管理和发放的MAC地址,能够保证在全球范围内是唯一的,另外如果不是由IEEE统一管理的那部分MAC地址,作用就像局域网IP一样,需要用户自行分配并保证在网络中是唯一的。
所以自行修改的MAC地址,第二个十六进制位(第一字节的低四位),最低位是0,次低位是1(表示不是由IEEE统一管理发放的MAC地址),剩下两个任意,所以是:
0010 - 2
0110 - 6
1010 - A
1110 - E
xy:xx:xx:xx:xx:xx
x=0-9,A-F
y=2,6,A或者E(第二个数字一定是0、2、4、6、8、A、C、E其中的一个)
注:我们在写程序随机生成MAC地址时,切记MAC地址16进制中的第一个字节第二个数一定是偶数。