HCIE数通知识精讲-IP组播基础(part-2)

2021-07-27 16:23:20 浏览数 (1)

(1)组播服务模型

组播服务模型的分类是针对接收者主机的,对组播源没有区别。组播源发出的组播数据中总是以组播源自己的IP地址为报文的源IP地址,组播组地址为目的地址。而接收者主机接收数据时可以对源进行选择,因此产生了ASM(Any-Source Multicast)和SSM(Source-SpecificMulticast)两种服务模型。这两种服务模型使用不同的组播组地址范围。

1.1.1. ASM模型

ASM模型仅针对组地址提供组播分发。一个组播组地址作为一个网络服务的集合,任何源发布到该组地址的数据得到同样的服务。接收者主机加入组播组以后可以接收到任意源发送到该组的数据。

为了提高安全性,可以在路由器上配置针对组播源的过滤策略,允许或禁止来自某些组播源的报文通过。最终从接收者角度看,数据是经过筛选的。

ASM模型要求组地址必须整个组播网络中唯一。“唯一”指的是同一时刻一个ASM地址只能被一种组播应用使用。如果有两种不同的应用程序使用了同一个ASM组地址发送数据,他们的接收者会同时收到来自两个源的数据。这样一方面会导致网络流量拥塞,另一方面也会给接收者主机造成困扰。

1.1.2. SSM模型

SSM模型针对特定源和组的绑定数据流提供服务,接收者主机在加入组播组时,可以指定只接收哪些源的数据。加入组播组以后,主机只会收到指定源发送到该组的数据。

SSM模型对组地址不再要求全网唯一,只需要每个组播源上保持唯一。这里的“唯一”指的是同一个源上不同的组播应用必须使用不同的SSM地址来区分。不同的源之间可以使用相同的组地址,因为SSM模型中针对每一个(源,组)信息都会生成表项。这样一方面节省了组播组地址,另一方面也不会造成网络拥塞。

(2)组播地址

为了使组播源和组播组成员进行通信,需要提供网络层组播,使用IP组播地址。为了在本地物理网络上实现组播信息的正确传输,需要提供链路层组播,使用组播MAC地址。必须存在一种技术将IP组播地址映射为组播MAC地址。

1.1.1. IPv4组播地址

IANA(Internet AssignedNumbers Authority,互联网编号分配委员会)将D类地址空间分配给IPv4组播使用。IPv4地址一共32位,D类地址最高4位为1110,因此地址范围从224.0.0.0到239.255.255.255,具体分类及含义见表1。

表1 IPv4组播地址的范围及含义

地址范围

含义

224.0.0.0~224.0.0.255

永久组地址。IANA为路由协议预留的IP地址(也称为保留组地址),用于标识一组特定的网络设备,供路由协议、拓扑查找等使用,不用于组播转发。常见的永久组地址如表2所示

224.0.1.0~231.255.255.255233.0.0.0~238.255.255.255

ASM组播地址,全网范围内有效

232.0.0.0~232.255.255.255

缺省情况下的SSM组播地址,全网范围内有效

239.0.0.0~239.255.255.255

本地管理组地址,仅在本地管理域内有效。在不同的管理域内重复使用相同的本地管理组地址不会导致冲突

表2 常见的永久组地址列表

永久组地址

含义

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(Open Shortest Path First,开放最短路径优先)路由器

224.0.0.6

OSPF DR(Designated Router,指定路由器)

224.0.0.7

ST(Shared Tree,共享树)路由器

224.0.0.8

ST主机

224.0.0.9

RIP-2(Routing Information Protocol version 2,路由信息协议版本2)路由器

224.0.0.11

移动代理(Mobile-Agents)

224.0.0.12

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)服务器/中继代理

224.0.0.13

所有PIM(Protocol Independent Multicast,协议无关组播)路由器

224.0.0.14

RSVP(Resource Reservation Protocol,资源预留协议)封装

224.0.0.15

所有CBT(Core-Based Tree,有核树)路由器

224.0.0.16

指定SBM(Subnetwork Bandwidth Management,子网带宽管理)

224.0.0.17

所有SBM

224.0.0.18

VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)

224.0.0.22

所有使能IGMPv3(Internet Group Management Protocol, Version 3,因特网组管理协议)的路由器

224.0.0.19 ~ 224.0.0.21224.0.0.23 ~ 224.0.0.255

未指定

1.1.2. IPv6组播地址

IPv6地址长度是128位,在RFC4291中对组播地址的定义如图1所示。

图1 IPv6组播地址的格式

和IPv4组播地址相比,IPv6组播地址有了明确的Group ID字段用于标识组播组。

· 0xFF:最高8位为11111111,标识此地址为组播地址。即IPv6组播地址总是以FF开头。

· Flags字段(4位),用来标识组播地址的状态。格式如下:

图2 Flags字段格式

表3 Flags字段各位取值及含义

取值说明

0位

最高位为保留位,必须为0

R位

§ 取0表示非内嵌RP的组播地址 § 取1表示内嵌RP的组播地址,此时P、T位也必须置1

P位

§ 取0表示非基于单播前缀的组播地址 § 取1则表示基于单播前缀的组播地址,此时T位也必须置1

T位

§ 取0表示永久分配组播地址 § 取1则表示非永久分配的组播地址

· Scope字段(4位):用来标识组播组的应用范围,例如是只包含同一本地网络、同一站点、同一机构中的节点,还是包含全球地址空间内的任何节点。其含义如下:

表4 Scope字段的取值及含义

取值

含义

0、3、F

保留

1

节点(或接口)本地范围(node/interface-local scope)

2

链路本地范围(link-local scope)

4

管理本地范围(admin-local scope)

5

站点本地范围(site-local scope)

8

机构本地范围(organization-local scope)

E

全球范围(global scope)

其他

未分配

· Group ID(112位):组播组标识号。用来在由Scope字段所指定的范围内唯一标识组播组,该标识可能是永久分配的或临时的,这由Flags字段的T位决定。

固定的IPv6组播地址的范围及含义如表3。

表5 IPv6组播地址的范围及含义

范围

含义

FF0x::/32

保留组地址,具体请参见表6

FF1x::/32(x不能是1或者2)FF2x::/32(x不能是1或者2)

ASM组播地址,全网范围内有效

FF3x::/32(x不能是1或者2)

缺省的SSM组地址范围,全网范围内有效

表6 IPv6常用组播地址范围及含义

范围

IPv6组播地址

含义

节点(或接口)本地范围

FF01::1

所有节点(接口)地址

FF01::2

所有路由器地址

链路本地范围

FF02::1

所有节点地址

FF02::2

所有路由器地址

FF02::3

未定义的地址

FF02::4

DVMRP路由器

FF02::5

OSPF IGP Routers

FF02::6

OSPF IGP DR

FF02::7

ST路由器

FF02::8

ST主机

FF02::9

RIP路由器

FF02::A

EIGRP路由器

FF02::B

移动代理

FF02::D

所有PIM路由器

FF02::E

RSVP封装

FF02::1:1

Link Name

FF02::1:2

所有DHCP代理

FF02::1:FFXX:XXXX

Solicited-Node地址,XX:XXXX表示节点IPv6地址的后24位

站点本地范围

FF05::2

所有路由器地址

FF05::1:3

所有DHCP服务器

FF05::1:4

所有DHCP中继

FF05::1:1000~FF05::1:13FF

服务位置

1.1.3. IPv4组播MAC地址

以太网传输IPv4单播报文的时候,目的MAC地址使用的是接收者的MAC地址。但是在传输组播数据时,其目的地不再是一个具体的接收者,而是一个成员不确定的组,所以要使用IPv4组播MAC地址,即IPv4组播地址映射到链路层中的地址。

IANA规定,IPv4组播MAC地址的高24位为0x01005e,第25位为0,低23位为IPv4组播地址的低23位,映射关系如图3所示。例如组播组地址224.0.1.1对应的组播MAC地址为01-00-5e-00-01-01。

图3 IPv4组播地址与IPv4组播MAC地址的映射关系

IPv4组播地址的前4位是固定的1110,对应组播MAC地址的高25位,后28位中只有23位被映射到MAC地址,因此丢失了5位的地址信息,直接结果是有32个IPv4组播地址映射到同一MAC地址上。例如IP地址为224.0.1.1、224.128.1.1、225.0.1.1、239.128.1.1等组播组的组播MAC地址都为01-00-5e-00-01-01。网络管理员在分配地址时必须考虑这种情况。

1.1.4. IPv6组播MAC地址

IPv6组播MAC地址的高16位为0x3333,低32位为IPv6组播地址的低32位。如图4所示,是IPv6组播地址FF01::1111:1的MAC地址映射举例。

图4 IPv6组播地址的MAC地址映射举例

可见IPv6中会有更多的组地址使用同一个MAC地址。

0 人点赞