MAC地址规则

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://www.blogbus.com/herren0167-logs/221441607.html

MAC 地址第二位数字必须是偶数。以下是详细介绍。

MAC 地 址通常表示为12 个16 进制数,每2 个16 进制数之间用冒号隔开,如:08:00:20:0A:8C:6D 就是一个MAC 地址,其中前6 位16 进制数 08:00:20 代表网络硬件制造商的编号,它由IEEE 分配,而后3 位16 进制数0A:8C:6D 代表该制造商所制造的某个网络产品(如网卡)的系列 号。每个网络制造商必须确保它所制造的每个以太网设备都具有相同的前三字节以及不同的后三个字节。这样就可保证世界上每个以太网设备都具有唯一的MAC 地 址。

我们需要注意的是以太网地址的第32 位是组播地址的标志位:

位 47 ~33 制造厂商标识
32 组播标识位
31 ~24 制造厂商标识
23 ~0 系列号

当组播标识位为1 时表示该MAC 地址是一个组播地址。对于网卡MAC ,这一位必须是0 ,表示一个单播MAC 地址。以下:

X0:XX:XX:XX:XX:XX
X2:XX:XX:XX:XX:XX
X4:XX:XX:XX:XX:XX
X6:XX:XX:XX:XX:XX
X8:XX:XX:XX:XX:XX
XA:XX:XX:XX:XX:XX
XC:XX:XX:XX:XX:XX
XE:XX:XX:XX:XX:XX

为合法的以太网网卡地址。上面的X 代表0 -F 中的任一个。如果你不是购买网卡,而是自己购买芯片制造,那么地址怎么办?可以自己使用一个还没有被ieee 分配的厂商编号就可以了。就算是使用已经分配的厂商编号也没有不可,只要你能保证在你使用的局域网内,任何两个网卡的地址不一样就可以了。地址 FF:FF:FF:FF:FF:FF 为广播地址,只能用在目的地址段,不能作为源地址段。目的地址为广播地址的数据包,可以被一个局域网内的所有网卡接收 到。

地址:

X1:XX:XX:XX:XX:XX
X3:XX:XX:XX:XX:XX
X5:XX:XX:XX:XX:XX
X7:XX:XX:XX:XX:XX
X9:XX:XX:XX:XX:XX
XB:XX:XX:XX:XX:XX
XD:XX:XX:XX:XX:XX
XF:XX:XX:XX:XX:XX

为组播地址,只能作为目的地址,不能作为源地址。组播地址可以被支持该组播地址的一组网卡接收到。组播地址主要用在视频广播,远程唤醒(通过发一个特殊的 数据包使网卡产生一个中断信号,启动电脑),游戏(多个人在局域网里联机打游戏)里等。下面是一些具体的组播地址,其他组播地址跟TCP/IP 无关,不做 介绍:

地址                                                             范围
01:00:5E:00:00:00 ~ 01:00:5E:7F:FF:FF 用于ip 地址的组播

网卡可以接收以下3 种地址的数据包:
 1 目的地址跟自己的网卡地址是一样的数据包
 2 目的地址为FF:FF:FF:FF:FF:FF 广播地址的数据包
 3 目的地址为跟自己的组播地址范围相同的数据包

那么在以太网的应用当中,如果你希望你的数据包只发给一个网卡,目的地址用对方的网卡地址;如果你想把数据包发给所有的网卡,目的地址用广播地址;如果你想把数据包发给一组网卡,目的地址用组播地址。

组播IP 与组播MAC 的映射

二层组播MAC 定义为:01:00:5e:xx:xx:xx ,其中 xx 由三层的IP 组播组确定。组播地址:组播流使用的 IP 是D 类IP 地址(二进制1110 开始),从224.0.0.0 ~239.255.255.255 。由于组播MAC 地址是一个虚拟的地址,并不是真实网卡的MAC 地址,那么网卡在发送报文时二层MAC 地址怎么确定呢?答案是采用地址映射的方法将三层IP 地址映射到MAC 地址。映射关系如下:



从上面的映射关系可以看出IP 地址的五个bit 无法映射到MAC 层,因为MAC 层的这五个bit 已经确定。也就是说有32 个IP 组播组会被映射为同一个MAC 地址。

查询网卡MAC地址所属生产厂商(ieee.org)

网卡MAC码是由全球惟一的一个固定组织来分配的,未经认证和授权的厂家无权生产网卡。
每块网卡都有一个固定的卡号,并且任何正规厂家生产的网卡上都直接标明了卡号,
一般为一组12位的16进制数。其中前6位代表网卡的生产厂商(Intel为00-07-F6)

全部厂商列表:
http://standards.ieee.org/regauth/oui/oui.txt

网页查询地址:
http://standards.ieee.org/regauth/oui/index.shtml
在Search the public OUI listing . . .输入网卡MAC地址前三位即可,如00-0D-65
得到结果:
00-0D-65 (hex) Cisco Systems
000D65 (base 16) Cisco Systems
80 West Tasman Dr.
SJ-M/1
San Jose CA 95134
UNITED STATES