MAC地址分成三类,分别是广播地址、组播地址和单播地址。
首先,FF:FF:FF:FF:FF:FF毫无疑问是广播地址。
单播地址的特征是头8位的最低位为0,于是单播地址共有47位的地址空间。每个网卡出厂时被分配唯一一个单播地址,头24位是设备制造厂商的编号(OUI),由IEEE(电气与电子工程师协会)分配,后24位是设备厂商为网卡制定的唯一编号。例如08:00:20:0A:8C:6D是单播地址的例子,其中08:00:20是著名的CPU厂商AMD的编号。
另一类地址就是组播地址。MAC组播地址的特征是头8位的最低位是1,于是MAC组播地址空间相当巨大——除去全1的47位地址空间。例如01:80:C2:00:00:00是一个组播地址,表示802.1d网桥多播组。网桥就是使用这个地址,相互之间交换配置信息,运行分布式生成树算法,消除网络拓扑结构中的环路。
IP层也有单播、组播和广播的概念。MAC组播地址中的01:00:5E:00:00:00到01:00:5E:7F:FF:FF共计23位对应于IP组播地址。给定一个IP组播地址,将其低23位与01:00:5E:00:00:00的低位取“与”运算,即可的到一个 MAC组播地址。但IP组播地址有28位地址空间,对应的MAC组播地址却只有23位,这样每32个IP组播地址被映射到同一MAC地址上。
MAC组播地址空间远远大于IP组播地址空间。如果网络层仅有IP协议,那么完全能将IP组播地址一对一地映射到MAC组播地址!但MAC地址是一个数据链路层的概念,其上层的网络层远远不只有IP。
对于这个问题,不唯一,有重叠是肯定得了。32个IP组播组是无法区分的。 32个IP组播地址对应一个相同的MAC组播地址。32:1的关系。这个原因的造成也许是经济问题,但是我更倾向于MAC地址分配规定:前3个字节标识单位或者获得者,后面的表示主机。那么本身只有24位MAC地址,IANA给定的地址范围后3个字节的最高位又是相同的并且为0。那么只剩下23位
可以用来影射了。 所以才是目前的状况。
创始人开展研究的时候在做二三层映射的时候需要申请mac地址段(要付钱的)。他的老板不愿意给他披这么多经费,给的钱只够买这么多的。所以不能做到一对一映射,ip到mac的映射方法决定了2的(28-23)=5次方的地址会被映射到同一个二层地址,即32对一。