随着全球互联网(Inte.net)的迅猛发展,上网人数正以几何级数快速增长,以因特网技术为主导的数据通信在通信业务总量中的比列迅速上升,因特网业务已成为多媒体通信业中发展最为迅速、竞争最为激烈的领域。
Internet网络传输和处理能力的大幅提高,使得网上应用业务越来越多,特别是视音频压缩技术的发展和成熟,使得网上视音频业务成为Internet网上最重要的业务之一。
在Internet上实现的视频点播(VOD)、可视电话、视频会议等视音频业务和一般业务相比,有着数据量大、时延敏感性强、持续时间长等特点。因此采用最少时间、最小空间来传输和解决视音频业务所要求的网络利用率高、传输速度快、实时性强的问题,就要采用不同于传统单播、广播机制的转发技术及QoS服务保证机制来实现,而IP组播技术是解决这些问题的关键技术。
一、IP组播技术的基础知识概述
1.IP组播技术的概念
IP组播(也称多址广播或多播)技术,是一种允许一台或多台主机(组播源)发送单一数据包到多台主机(一次的,同时的)的TCP/IP网络技术。组播作为一点对多点的通信,是节省网络带宽的有效方法之一。在网络音频/视频广播的应用中,当需要将一个节点的信号传送到多个节点时,无论是采用重复点对点通信方式,还是采用广播方式,都会严重浪费网络带宽,只有组播才是最好的选择。组播能使一个或多个组播源只把数据包发送给特定的组播组,而只有加入该组播组的主机才能接收到数据包。目前,IP组播技术被广泛应用在网络音频/视频广播、AOD/VOD、网络视频会议、多媒体远程教育、“push”技术(如股票行情等)和虚拟现实游戏等方面。
2.IP组播地址和组播组
IP组播通信必须依赖于IP组播地址,在IPv4中它是一个D类IP地址,范围从224.0.0.0到239.255.255.255,并被划分为局部链接组播地址、预留组播地址和管理权限组播地址三类。其中,局部链接组播地址范围在224.0.0.0~224.0.0.255,这是为路由协议和其它用途保留的地址,路由器并不转发属于此范围的IP包;预留组播地址为224.0.1.0~238.255.255.255,可用于全球范围(如Internet)或网络协议;管理权限组播地址为239.0.0.0~239.255.255.255,可供组织内部使用,类似于私有IP地址,不能用于Internet,可限制组播范围。
使用同一个IP组播地址接收组播数据包的所有主机构成了一个主机组,也称为组播组。一个组播组的成员是随时变动的,一台主机可以随时加入或离开组播组,组播组成员的数目和所在的地理位置也不受限制,一台主机也可以属于几个组播组。此外,不属于某一个组播组的主机也可以向该组播组发送数据包。
3.组播分布树
为了向所有接收主机传送组播数据,用组播分布树来描述IP组播在网络中传输的路径。组播分布树有两个基本类型:有源树和共享树。
有源树是以组播源作为有源树的根,有源树的分支形成通过网络到达接收主机的分布树,因为有源树以最短的路径贯穿网络,所以也常称为最短路径树(SPT)。
共享树以组播网中某些可选择的组播路由中的一个作为共享树的公共根,这个根被称为汇合点(RP)。共享树又可分为单向共享树和双向共享树。单向共享树指组播数据流必须经过共享树从根发送到组播接收机。双向共享树指组播数据流可以不经过共享树。
4.逆向路径转发
逆向路径转发(RPF)是组播路由协议中组播数据转发过程的基础,其工作机制是当组播信息通过有源树时,组播路由器检查到达的组播数据包的组播源地址,以确定该组播数据包所经过的接口是否在有源的分支上,如果在,则RPF检查成功,组播数据包被转发;如果RPF检查失败,则丢弃该组播数据包。
5.Internet组播主干(MBONE)网络
Internet组播主干(MBONE)网络是由一系列相互连接的子网主机和相互连接支持IP组播的路由器组成。它可以看成是一个架构在Internet物理网络上层的虚拟网,在该虚拟网中,组播源发出的组播信息流可直接在支持IP组播的路由器组之间传输,而在组播路由器组和非组播路由器组之间要通过点对点隧道技术进行传输。
二、IP组播路由及其协议
1.IP组播路由的基本类型
组播路由的一种常见的思路就是在组播组成员之间构造一棵扩展分布树。在一个特定的“发送源,目的组”对上的IP组播流量都是通过这个扩展树从发送源传输到接受者的,这个扩展树连接了该组播组中所有主机。不同的IP组播路由协议使用不同的技术来构造这些组播扩展树,一旦这个树构造完成,所有的组播流量都将通过它来传播。
根据网络中组播组成员的分布,总的说来IP组播路由协议可以分为以下两种基本类型。第一种假设组播组成员密集地分布在网络中,也就是说,网络大多数的子网都至少包含一个组播组成员,而且网络带宽足够大,这种被称作“密集模式”(Dense-Mode)的组播路由协议依赖于广播技术来将数据“推”向网络中所有的路由器。密集模式路由协议包括距离向量组播路由协议(DVMRP:Distance Vector Multicast Routing Protocol)、组播开放最短路径优先协议(MOSPF:Multicast Open Shortest Path First)和密集模式独立组播协议(PIM-DM:Protocol-Independent Multicast-Dense Mode)等。
组播路由的第二种类型则假设组播组成员在网络中是稀疏分散的,并且网络不能提供足够的传输带宽,比如Internet上通过ISDN线路连接分散在许多不同地区的大量用户。在这种情况下,广播就会浪费许多不必要的网络带宽从而可能导致严重的网络性能问题。于是稀疏模式组播路由协议必须依赖于具有路由选择能力的技术来建立和维持组播树。稀疏模式主要有基于核心树的组播协议(CBT:Core Based Tree)和稀疏模式独立协议组播(PIM-SM:Protocol-Independent Multicast-Sparse Mode)。
2.密集模式协议
(1)距离向量组播路由协议 (DVMRP)
第一个支持组播功能的路由协议就是距离向量组播路由协议。它已经被广泛地应用在组播骨干网MBONE上。
DVMRP为每个发送源和目的主机组构建不同的分布树。每个分布树都是一个以组播发送源作为根,以组播接受目的主机作为叶的最小扩展分布树。这个分布树为发送源和组中每个组播接受者之间提供了一个最短路径,这个以“跳数”为单位的最短路径就是DVMRP的量度。当一个发送源要向组播组中发送消息时,一个扩展分布树就根据这个请求而建立,并且使用“广播和修剪”的技术来维持这个扩展分布树。
扩展分布树构建过程中的选择性发送组播包的具体运作是:当一个路由器接收到一个组播包,它先检查它的单播路由表来查找到组播组发送源的最短路径的接口,如果这个接口就是这个组播包到达的接口,那么路由器就将这个组播组信息记录到它的内部路由表(指明该组数据包应该发送的接口),并且将这个组播包向除了接受到该数据包的路由器以外的其他临近路由器继续发送。如果这个组播包的到达接口不是该路由器到发送源的最短路径的接口,那么这个包就被丢弃。这种机制被称为“反向路径广播”(Reverse-Path Broadcasting)机制,保证了构建的树中不会出现环,而且从发送源到所有接受者都是最短路径。。
对子网中密集分布的组播组来说DVMRP能够很好的运作,但是对于在范围比较大的区域上分散分布的组播组来说,周期性的广播行为会导致严重的性能问题。DVMRP不能支持大型网络中稀疏分散的组播组。
(2)组播开放最短路径优先 (MOSPF)
开放最短路径优先(OSPF)是一个单播路由协议,它将数据包在最小开销路径上进行路由传送,这里的开销是表示链路状态的一种量度。除了路径中的跳数以外,其他能够影响路径开销的网络性能参数还有负载平衡信息、应用程序需要的QoS等。
MOSPF是为单播路由组播使用设计的。MOSPF依赖于OSPF作为单播路由协议,就象DVMRP也包含它自己的单播协议一样。在一个OSPF/MOSPF网络中每个路由器都维持一个最新的全网络拓扑结构图。这个“链路状态”信息被用来构建组播分布树。
每个MOSPF路由器都通过IGMP协议周期性的收集组播组成员关系信息。这些信息和这些链路状态信息被发送到其路由域中的所有其他路由器。路由器将根据它们从临近路由器接收到的这些信息更新他们的内部连接状态信息。由于每个路由器都清楚整个网络的拓扑结构,就能够独立的计算出一个最小开销扩展树,将组播发送源和组播组成员分别作为树的根和叶。这个树就是用来将组播流从发送源发送到组播组成员的路径。
(3)独立组播密集模式协议(PIM-DM)
独立组播协议(PIM)是一种标准的组播路由协议,并能够在Internet上提供可扩展的域间组播路由而不依赖于任何单播协议。PIM有两种运行模式,一种是密集分布组播组模式,另一个是稀疏分布组播组模式,前者被称为独立组播密集模式协议(PIM-DM),后者被称为独立组播稀疏模式协议(PIM-SM)。
PIM-DM有点类似于DVMRP,这两个协议都使用了反向路径组播机制来构建分布树。它们之间的主要不同在于PIM完全不依赖于网络中的单播路由协议而DVMRP依赖于某个相关的单播路由协议机制,并且PIM-DM比DVMRP简单。
PIM-DM协议和所有的密集模式路由协议一样也是数据驱动的。但是既然PIM-DM不依赖于任何单播路由协议,路由器某个接收端口(就是返回到源的最短路径的端口)接收到的组播数据包被发送到所有下行接口直到不需要的分枝从树中被修剪掉。DVMRP在树构建阶段能够使用单播协议提供的拓扑数据有选择性的向下行发送数据包,PIM-DM则更加倾向于简单性和独立性,甚至