三、组播转发
由于组播源是向组播组发送数据包而非单播模型中的具体目标主机,所以组播路由器不能依靠IP包中的目标地址来决定如何转发数 据包,而必须将组播数据包转发到多个外部接口上,以便同一组播组的成员都能接收到数据包。这使组播转发比单播转发更加复杂。大多数现有组播路由协议使用逆 向路径转发(RPF)机制作为组播转发的基础。
3.1
逆向路径转发(Reverse Path Forward: RPF)
当组播数据包到达路由器时,路由器作RPF检查,以决定是否转发或抛弃该数据包,若成功则转发,否则抛弃。
RPF
检查过程如下:
检查数据包的源地址,以确定该数据包经过的接口,是否在从源到此的路径上;
若数据包是从可返回源主机的接口上到达,则RPF检查成功,转发该数据包到输出接口表上的所有接口,否则RPF检查失败,抛弃该数据包。
3.2
组播转发缓存
对于每一个输入组播数据包进行RPF检查会导致较大的路由器性能损失。因此,建立组播转发缓存时,通常由组播路由确定RPF接口。然后将RPF接口变成组播转发缓存项的输入接口。一旦RPF检查程序使用的路由表发生变化,必须重新计算RPF接口;并更新组播转发缓存项。
3.3 TTL
阈值
当路由器转发组播数据包,IP包中的TTLTime To Live)值都减1。若数据包的TTL减少到0,则路由器将抛弃该数据包。TTL阈值可用于组播路由器的各个接口,以防止在该接口上转发低于TTL阈值的 组播数据包。这样可对组播的范围加以控制。表2给出典型的初始TTL值和作为不同TTL边界的路由器接口TTL阈值。

2 典型的TTL边界值

范 围

初始TTL

TTL阈值

本地网

1

N/A

区域

15

16

地区

63

64

全球

127

128

3.4 管理权限边界
TTL阈值外,组播提供另一种称为管理权限的地址机制作为边界,以限制组播信息转发到域外。管理权限的组播地址是239.0.0.0239.255.255.255,这段地址被认为是本地分配(类似于单播中的192.168.xx.xx),不能用于Internet。这种机制使得在Intranet内部可重复使用组播地址,提高组播地址空间的利用率。

四、组播路由协议

要想在一个实际网络中实现组播数据包的转发,必须在各个互连设备上运行可互操作的 组播路由协议。组播路由协议可分为三类:密集模式协议(如DVMRPPIM-DM)、稀疏模式协议(如PIM-SMCBT)和链路状态协议 MOSPF),下面分别介绍各个协议的工作原理。

4.1
距离向量组播路由协议(Distance Vector Multicast Routing ProtocolDVMRP

DVMRP
由单播路由协议RIP扩展而来,两者都使用距离向量算法得到网络的拓扑信息,不同之处在于RIP根据路由表前向转发数据,而DVMRP则是基于RPF。为 了使新加入的组播成员能及时收到组播数据,DVMPR采用定时发送数据包给所有的LAN的方法,然而这种方法导致大量路由控制数据包的扩散,这部分开销限 制了网络规模的扩大。另一方面,DVMRP使用跳数作为计量尺度,其上限为32跳,这对网络规模也是一个限制。目前提出了分层DVMRP,即对组播网络划 分区域,在区域内的组播可以按照任何协议进行,而对于跨区域的组播则由边界路由器在DVMRP协议下进行,这样可大大减少路由开销。

4.2
开放式组播最短路径优先协议(Multicast Open Shortest Path FirstMOSPF

MOSPF
是一种基于链路状态的路由协议,是对单播OSPF协议的扩展。
OSPF类似,MOSPF定义了三种级别的路由:
●MOSPF
区域内组播路由:用于了解各网段中的组播成员,构造(源网络S,组G)对的SPT
●MOSPF
区域间组播路由:用于汇总区域内成员关系,并在自治系统(AS)主干网(区域0)上发布组成员关系记录通告,实现区域间组播包的转发。
●MOSPF AS
间组播路由:用于跨AS的组播包转发。
域内MOFPF利用了链路状态数据库,对单播OSPF数据格式进行扩充,定义了新的链路状态通告(Link State AdvertisementLSA),使得MOSPF路由器了解哪些组播组在哪些网络上。路由器使用Dijkstra算法构造(源网络S,组G)对的SPTMOSPFDVMRP相比,路由开销较小,链路利用率高,然而Dijkstra算法计算量很大,为了减少路由器的计算量,MOSPF执行一种按 需计算方案,即只有当路由器收到组播源的第一个组播数据包后,才对(SGSPT计算,否则利用转发缓存(cache)中的(SGSPT
MOSPF
继承了OSPF对网络拓扑的变化响应速度快的优点,但拓扑变动使所有路由器的缓存失效重新计算SPT,因而消耗大量路由器CPU资源。这就决定了MOSPF不适合高动态性网络(组成员关系变化大、链路不稳定),而适用于网络连接状态比较稳定的环境。另外,对于有大量组播源子网络的网络而 言,MOSPF的扩展性问题引起了人们的关注,有待于进一步研究。

4.3
协议无关组播(Protocol Independent MulticastPIM

PIM
IDMR(域间组播路由)工作组设计,顾名思义,PIM不依赖于某一特定单播路由协议,它可利用各种单播路由协议建立的单播路由表完成RPF检查功能, 而不是维护一个分离的组播路由表实现组播转发。由于PIM无需收发组播路由更新,所以与其它组播协议相比,PIM开销降低了许多。PIM的设计出发点是在Internet范围内同时支持SPT和共享树,并使两者之间灵活转换,因而集中了它们的优点提高了组播效率。PIM定义了两种模式:密集模式(Dense-Mode)和稀疏模式(Sparse-Mode
4.3.1 PIM-DM
PIM-DM
DVMRP很相似,都属于密集模式协议,都采用了扩散/剪枝机制。同时,假定带宽不受限制,每个路由器都想接收组播数据包。主要不同之处在于DVMRP使用内建的组播路由协议,而PIM-DM采用RPF动态建立SPT

 

 

该模式适合于下述几种情况:高速网络;组播源和接收者比较靠近,发送者少,接收者多;组播数据流比较大且比较稳定。

4.3.2 PIM-SM
PIM-SM
与基于扩散/剪枝模型的根本差别在于PIM-SM是基于显式加入模型,即接收者向RP发送加入消息,而路由器只在已加入某个组播组输出接口上转发那个组播组的数据包。
PIM-SM
采用共享树进行组播数据包转发。每一个组有一个汇合点(Rendezvous Point: RP),组播源沿最短路径向RP发送数据,再由RP 沿最短路径将数据发送到各个接收端。这一点类似于CBT,但PIM-SM不使用核的概念。PIM-SM主要优势之一是它不局限于通过共享树接收组播信息, 还提供从共享树向SPT转换的机制。
尽管从共享树向SPT转换减少了网络延迟以及在RP上可能出现的阻塞,但这种转换耗费了相当的路由器资源,所以它适用于有多对组播数据源和网络组数目较少的环境。