1、基本概念
MAC地址分成三类,分别是广播地址、组播地址和单播地址。首先,FF:FF:FF:FF:FF:FF毫无疑问是广播地址。每个网卡出厂时被分配唯一一个单播地址,头24位是设备制造厂商的编号,由IEEE(电气与电子工程师协会)分配,后24位是设备厂商为网卡制定的唯一编号。例如08:00:20:0A:8C:6D是单播地址的例子,其中08:00:20是著名的CPU厂商AMD的编号。单播地址的特征是头8位的最低位为0,于是单播地址共有47位的地址空间。
另一类地址就是组播地址。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。
2、 以太网怎么组播的 (multicast)?
以太网具有广播属性,一个节点发送的数据包会被以太网泛洪,导致每一个以太网网卡接口都会收到这个数据包。接口收到数据包后,并不马上交给节点CPU处理,而是进行MAC地址比较,如果数据包的目的MAC地址和接口的MAC地址一样,它才接受,把数据包交给计算机,否则就把数据包丢弃。组群成员的网卡接口除了硬件MAC地址 (unicast MAC),还有组播MAC地址 (multicast MAC)。接口收到组播包,会把此包的目的MAC地址 (是个组播MAC)和自己的MAC地址比较,如果组播地址相同,就会接受此包。这样,局网内这个组群的所有成员,都会收到送往该组群的组播包。
3、 IP-Ethernet 的组播地址和组播MAC地址有什么关系?
许多MAC组播地址是从IP组播地址转换而来。例,OSPF IP组播地址是224.0.0.5, 转换为相应的MAC组播地址如下:
(1) 把IP地址(32位)用二进制表现 1110000: 00000000: 00000000: 00000101
(2) 然后抽出最右边的23叫做A: 0000000: 00000000: 00000101
(3) 把IEEE定义的组播01:00:5e作为B. B有24位 (二进制是 00000001:00000000:01011110)
(4) 合成相应的MAC组播地址如下:连接 B,0,A。 B有24位,在左边; 0是一位,在中间;A有23位,在右边。共48位。 二进制是 00000001:00000000:01011110:000000000: 00000000: 00000101 十六进制是 01:00:5e:00:00:05
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。