组播地址
如果采用组播方式传输信息,信息源该将信息发往何处?组播报文目的地址如何选取?这些问题简而言之就是组播寻址。
为了使信息源和组播组成员跨越互联网进行通讯,需要提供网络层组播,使用IP组播地址。
为了在本地物理网络上实现组播信息的正确传输,需要提供链路层组播,即硬件组播。当链路层应用以太网时,硬件组播使用组播MAC地址。
同时必须存在一种技术将IP组播地址映射为组播MAC地址。
IPv4组播地址
IPv4地址空间分为五类,即A类、B类、C类、D类和E类。D类地址为IPv4组播地址,用于标识组播组,使用在IPv4组播报文的目的地址字段。
IPv4组播报文的源地址字段为IPv4单播地址,可使用A、B或C类地址,不能出现D类地址。E类地址保留。
在网络层上,加入同一组播组的所有用户主机能够识别同一个IPv4组播组地址。一旦网络中某用户加入该组播组,则此用户就能接收以该组地址为目的地址的IP报文。
D类组播地址范围是从224.0.0.0到239.255.255.255,范围及含义见表2-2。
D类地址范围 |
含义 |
---|---|
224.0.0.0~224.0.0.255 |
为路由协议预留的永久组地址。 |
224.0.1.0~231.255.255.255 233.0.0.0~238.255.255.255 |
用户可用的ASM(Any-Source Multicast)临时组地址,全网范围内有效。 |
232.0.0.0~232.255.255.255 |
用户可用的SSM(Source-Specific Multicast)临时组地址,全网范围内有效。 |
239.0.0.0~239.255.255.255 |
用户可用的ASM临时组地址,仅在特定的本地管理域内有效,称为本地管理组播地址。本地管理组播地址属于私有地址,在不同的管理域内使用相同的本地管理组播地址不会导致冲突。 |
永久组地址:因特网地址分配组织IANA(Internet Assigned Number Authority)为路由协议预留的组播地址(也称为保留组地址),用于标识一组特定的网络设备。具体请参见表2-3。永久组地址保持不变,组成员的数量可以是任意的,甚至可以为零。
临时组地址:为用户组播组临时分配的IPv4地址(也称为普通组地址),组成员的数量一旦为零,即取消。
永久组地址 |
含义 |
---|---|
224.0.0.0 |
不分配 |
224.0.0.1 |
网段内所有主机和路由器(等效于广播地址) |
224.0.0.2 |
所有组播路由器的地址 |
224.0.0.3 |
不分配 |
224.0.0.4 |
DVMRP(Distance Vector Multicast Routing Protocol)设备 |
224.0.0.5 |
OSPF设备 |
224.0.0.6 |
OSPF DR(Designated Router) |
224.0.0.7 |
ST设备 |
224.0.0.8 |
ST主机 |
224.0.0.9 |
RIP-2设备 |
224.0.0.11 |
移动代理 |
224.0.0.12 |
DHCP(Dynamic Host Configuration Protocol)服务器/中继代理 |
224.0.0.13 |
所有PIM设备 |
224.0.0.14 |
RSVP(Resource Reservation Protocol)封装 |
224.0.0.15 |
所有CBT设备 |
224.0.0.16 |
指定SBM |
224.0.0.17 |
所有SBMS |
224.0.0.18 |
VRRP(Virtual Router Redundancy Protocol) |
224.0.0.19 ~ 224.0.0.21 |
未指定 |
224.0.0.22 |
所有使能IGMPv3的路由器 |
224.0.0.23 ~ 224.0.0.255 |
未指定 |
IPv6组播地址
IPv6组播地址的格式如图2-3所示:
IPv6组播地址以FF开头。
- 标识字段(4位),其含义如下:
0:表示是Internet地址分配机构制定的熟知的多播地址
1:表示是ASM范围的组播地址
2:表示是ASM范围的组播地址
3:表示是SSM范围的组播地址
其他:未分配
- 范围字段(4位):用于指示组播组是只包含同一本地网络、同一站点、同一机构中的节点,还是包含全球地址空间内的任何节点。其含义如下:
0:保留,可以为组播其他协议所用。
1:节点(或接口)本地范围(node/interface-local scope)
2:链路本地范围(link-local scope)
3:保留,可以为组播其他协议所用。
4:管理本地范围(admin-local scope)
5:站点本地范围(site-local scope)
8:机构本地范围(organization-local scope)
E:全球范围(global scope)
F:保留,可以为组播其他协议所用。
其他:未分配,可以当成普通地址使用。
固定的IPv6组播地址的范围及含义如表2-4。
范围 |
含义 |
---|---|
FF0x::/32 |
Internet地址分配机构制定的熟知的多播地址,具体请参见表2-5。 |
FF1x::/32(x不能是1或者2) FF2x::/32(x不能是1或者2) |
任意源组播地址。全网范围内有效。 |
FF3x::/32(x不能是1或者2) |
指定源组播地址。缺省的SSM组地址范围,全网范围内有效。 |
范围 |
IPv6组播地址 |
含义 |
---|---|---|
节点(或接口)本地范围 |
FF01:0:0:0:0:0:0:1 |
网段内所有主机和路由器(等效于广播地址) |
FF01:0:0:0:0:0:0:2 |
所有路由器地址 |
|
链路本地范围 |
FF02:0:0:0:0:0:0:1 |
所有节点地址 |
FF02:0:0:0:0:0:0:2 |
所有路由器地址 |
|
FF02:0:0:0:0:0:0:3 |
未定义的地址 |
|
FF02:0:0:0:0:0:0:4 |
DVMRP设备 |
|
FF02:0:0:0:0:0:0:5 |
OSPF设备 |
|
FF02:0:0:0:0:0:0:6 |
OSPF DR |
|
FF02:0:0:0:0:0:0:7 |
ST设备 |
|
FF02:0:0:0:0:0:0:8 |
ST主机 |
|
FF02:0:0:0:0:0:0:9 |
RIP设备 |
|
FF02:0:0:0:0:0:0:A |
EIGRP设备 |
|
FF02:0:0:0:0:0:0:B |
移动代理 |
|
FF02:0:0:0:0:0:0:D |
所有PIM设备 |
|
FF02:0:0:0:0:0:0:E |
RSVP封装 |
|
FF02:0:0:0:0:0:1:1 |
Link Name |
|
FF02:0:0:0:0:0:1:2 |
所有DHCP代理 |
|
FF02:0:0:0:0:1:FFXX:XXXX |
Solicited-Node地址,XX:XXXX表示节点IPv6地址的后24位 |
|
站点本地范围 |
FF05:0:0:0:0:0:0:2 |
所有路由器地址 |
FF05:0:0:0:0:0:1:3 |
所有DHCP服务器 |
|
FF05:0:0:0:0:0:1:4 |
所有DHCP中继 |
|
FF05:0:0:0:0:0:1:1000~FF05:0:0:0:0:0:1:13FF |
服务位置 |
组播MAC地址
- 单播MAC地址:第一个8位组的最后一位恒定为0。
- 组播MAC地址:第一个8位组的最后一位恒定为1。
组播MAC地址用于在链路层上标识属于同一组播组的接收者。
网络设备上的以太网接口板可以识别组播MAC地址。通过在驱动程序中配置某组播MAC地址,设备就可以在以太网上接收和转发该组播组的数据。其中,组播IPv4地址与组播MAC地址的映射关系为:
IANA规定,IPv4组播MAC地址的高24bit为0x01005e,第25bit为0,低23bit为组播IP地址的低23bit,映射关系如图2-4所示。
IPv4组播地址的前4bit是固定的1110,对应组播MAC地址的高25bit。IPv4组播地址的后28bit中只有23bit被映射到MAC地址,因此丢失了5bit的地址信息,直接结果是有32个IPv4组播地址映射到同一MAC地址上。
本手册着重介绍IP组播技术及设备操作。如果不加特别说明,本手册中出现的组播均指IP组播。