IANA已经把D类地址空间分配给了IP组播地址.
D类空间的地址在其第一个字节的前4位,用二进制值1110来识别.
所以组播地址的范围是:
224.0.0.0到239.255.255.255.
D类地址:
字节1 字节2 字节3 字节4
1110xxxx xxxxxxxx xxxxxxxx xxxxxxxx
原理是这样的:
该空间的地址用二进制表示并且第一个八位数的前4位用1110表示.
1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
下面给出一些常用的局部链接的组播地址:
224.0.0.1 所有主机
224.0.0.2 所有组播路由器
224.0.0.3 没有分配
224.0.0.4 DVMRP路由器
224.0.0.5 OSPF路由器
224.0.0.6 OSPF 指定路由器(DR)
224.0.0.7 ST路由器
224.0.0.8 ST主机
224.0.0.9 RIP2路由器
224.0.0.10 IGRP路由器
224.0.0.12 DHCP服务器/中继代理
224.0.0.13 所有的PIM路由器
224.0.0.15 所有CBT路由器
224.0.0.18 VRRP
224.0.0.19 到 224.0.0.255是可以使用的。其他的建议保留以便网络中的设备或者主机使用.
这里还要说明的是,实际上保留的地址空间远远不止那些.
IANA还预留了239.0.0.0--239.255.255.255的地址范围作为管理范围地址,以供在私有的组播领域内使用.
组播MAC地址
xxxxxx11.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
MAC地址我们都知道是48位的,在第一个8位中的最后2位如果置为1的话,那么就规定为是组播的MAC地址.
以太网IP与组播MAC地址映射
由于IPv4组播地址的高4位是1110,代表组播标识,而低28位中只有23位被映射到IPv4组播MAC地址,这样IPv4组播地址中就有5位信息丢失。于是,就有32个IPv4组播地址映射到了同一个IPv4组播MAC地址上,因此在二层处理过程中,设备可能要接收一些本IPv4组播组以外的组播数据,而这些多余的组播数据就需要设备的上层进行过滤了。
NOTES:
可以看到,三层组播IP是以 1110 开始的。
范围从1110 0000 - 1110 1111 ,也就是224到239.
那么这里组播MAC是以0x010005E开始的.
最后可以看到,三层组播IP,224-239开头的,最后映射到二层组播MAC,都变成一个了.
说到这里,就会产生一个问题。
MAC地址映射的性能影响:
因为第三层IP组播地址信息的全部28位比特不能映射进23bit可用的mac地址空间,所以在映射的过程中,丢失了5bit的地址信息,这会导致组播地址映射到第二层IEEE MAC地址时,会有2的5次方,或者32:1的地址不明确.这也就意味着,每一个IEEE IP多播MAC地址可以表示32个IP地址组播地址.
MAC和IP的后23位一一对应,后第24位可以是0或1,这一位没有对应上。每一个2层地址可以映射成32个3层地址。
0100.5e01.0101
0100.5e可以映射成IP地址的第1个字节:224-239
01.0101可以映射成IP地址的后3个字节:1.1.1和129.1.1
这个MAC地址可以映射成:224.1.1.1、224.129.1.1、225.1.1.1、225.129.1.1….239.129.1.1这么32个IP地址。