随着全球互联网(Internet)的迅猛发展,上网人数正以几何级数快速增长,以因特网技术为主导的数据通信在通信业务总量中的比列迅速上升,因特网业务已成为多媒体通信业中发展最为迅速、竞争最为激烈的领域。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则更加倾向于简单性和独立性。
2.稀疏模式组播路由协议
当组播组在网络中集中分布或者网络提供足够大带宽的情况下,密集模式组播路由协议是一个有效的方法,当组播组成员在广泛区域内稀疏分布时,就需要另一种方法即稀疏模式组播路由协议将组播流量控制在连接到组播组成员的链路路径上,而不会“泄漏”到不相关的链路路径上,这样既保证了数据传输的安全,又能够有效的控制网络中的总流量和路由器的负载。
(1)基于核心树的组播协议 (CBT)
和DVMRP和MOSPF为每个“发送源、目的组”对构建最短路径树不同的是,CBT协议只构建一个树给组中所有成员共享,这个树也就被称为共享树。整个组播组的组播通信量都在这个共享树上进行收发而不论发送源有多少或者在什么位置。这种共享树的使用能够极大的减少路由器中的组播状态信息。
CBT共享树有一个核心路由器用来构建这个树。要加入的路由器发送加入请求给这个核心路由器。核心路由器接收到加入请求后,沿反路径返回一个确认,这样就构成了树的一个分枝。加入请求数据包在被确认之前不需要一直被传送到核心路由器。如果加入请求包在到达核心路由器之前先到达树上的某个路由器,该路由器就接收下这个请求包而不继续向前发送并确认这个请求包。发送请求的路由器就连接到共享树上了。CBT将组播流量集中在最少数量的链路而不是在一个基于发送源的共享树上。集中在核心路由器上的流量可能会引起组播路由的某些问题。某些版本的CBT支持多个组播核心的使用,和单个组播核心相比多核心更能达到负载平衡。
(2)独立组播稀疏模式协议 (PIM-SM)
和CBT相似,PIM-SM被设计成将组播限制在需要收发的路由器上。PIM-SM围绕一个被称为集中点(RP:Rendezvous Point)的路由器构建组播分布树。这个集中点扮演着和CBT核心路由器相同的角色,接收者在集中点能查找到新的发送源。但是PIM-SM比CBT更灵活,CBT的树通常是组播组共享树,PIM-SM中的独立的接收者可以选择是构建组共享树还是最短路径树。
PIM-SM协议最初先为组播组构建一个组共享树。这个树由连接到集中点的发送者和接收者共同构建,就像CBT协议围绕着核心路由器构建的共享树一样。这共享树建立以后,一个接受者(实际上是最接近这个接收者的路由器)可以选择通过最短路径树改变到发送源的连接。这个操作的过程是通过向发送源发送一个PIM加入请求完成的。一旦从发送源到接收者的最短路径建立了,通过RP的外部分枝就被修剪掉了。
三、IP组播路由中的隧道传输机制
组播中的隧道概念指将组播包再封装成一个IP数据包在不支持组播的互联网络中路由传输。最有名的组播隧道的例子就是MBONE(采用DVMRP协议)。在隧道的入口处进行数据包的封装,在隧道的出口处则进行拆封。在达到本地全IP组播配置传输机制上,隧道机制非常有用。
四、网络多媒体的应用要求
因为多媒体信号是交互的、互动的,它对网络提出了以下的应用要求:
(1) 吞吐(throughtput)的要求:是指对高传输带宽、大存储缓冲带宽的要求和对流量的控制。
(2) 可靠性的要求:在这里对可靠性的要求不是重点。适当的数据丢失不会过多影响视频播出的实际效果。?
(3) 网络延时要求:对网络延时、抖动要求较高,因为多媒体视频流对网络传输延时和抖动比较敏感。如传输的视频信号与音频信号必须同步等。?
五、IP视频应用要求
因为网上信息的交互性和互动性,使网络中的信息传输量日益剧增,网络传输的瓶颈问题是突出的。在多媒体应用中,视频传输带来的网络带宽问题更突出。当n个IP地址同时接收网络多媒体视频流时,设每个视频流所需传输带宽为1.5 Mbps,按现在网络结构,所需带宽为n×1.5 Mbps,同时会带来无法忍受的网络延时和抖动。现有的大部分网络多是使用TCP/IP点到点的协议构置,因此我们研究的重点是如何在现有网络条件下不作过多的改变来实现视频的传输,即IP组播解决方案要与现有网络兼容。
多媒体视频流对数据可靠性要求不高,适当的数据丢失不会过多影响视频播出的实际效果。虽然多媒体视频流对网络传输延时和抖动比较敏感,而IP组播在网络中延时与抖动是很少的。所以用IP组播通信来传输IP视频信号是可行的。
六、利用IP组播实现视频传输的方法
目前在IP网上提供视频服务的方式主要有两种:
(1)完全利用路由器的Multicast技术,不需另加服务器转发,但会增加路由器负担,有“ 广播风暴”危险,网络路由协议也需调整。
(2)利用软件和服务器,在整个IP宽带网上叠加一个处理媒体流的叠加网,由叠加网实现点到多点组播、媒体流路由和多点注入等功能。
现在采用视频服务方式一般为方案(2)。具体地说就是:计算机配合专用软件组成服务器,实现实时控制。控制的目的是:对于多媒体视频服务器端,必须具有最大效率的发送机制,也就是说,系统能够最大限度地在最短时间内响应和满足从多媒体视频接收端送来的视频请求,一次完成指向需求用户所有地址的数据发送,计算机实时控制系统随时监控视频传输的质量,同时自动调整带宽等。当然传输方法的实现能与目前的网络设施兼容。
该方案实施过程中,计算机(服务器)时刻监控着系统,达到尽可能好的广播质量和高效率,绝不发生如“广播风暴”等危险。
用IP组播实现视频传输的系统由由4部分组成:即视频发送、视频转发、视频接收、视频控制。
视频发送为预制视频或者称为实时视频,它可以是独立的计算机,也可以与第一级“视频转发”单元共用一台计算机。具体地说,先将视频按MPEG-1 编码技术进行实时视频压缩,此格式的数码率为1.5 Mbit/s,图像采用SIF格式(352×288),每秒30帧,2路立体声伴音。之所以按MPEG-1 编码技术进行实时视频压缩,因为通过它压缩后的视频信号质量令人满意,而数码率带宽相对比较窄,有利于IP组播(当然也可以用其他编码技术),然后将压缩后的信号送到视频转发端。信号从视频发送连接到视频转发是点到点的传输(此单元属于IPv4的通信方式)。
视频转发主要是将从视频发送端发送来的视频信号,通过IP网络转发给视频接收端或下一级的视频转发端。它是IP组播传输视频信号的核心,视频信号用IP组播方式转发,即对一组特定IP地址(同一类请求的用户)进行数据传送。视频转发,由转发计算机(服务器)完成。
视频接收是用户的多媒体终端。要求用户的多媒体终端设备必须能支持IP组播。
视频控制的主要功能是对转发站点进行控制,用来建立和管理转发站点上的IP组播数据组的传输。控制系统要最大限度地满足完成指向需求用户的数据发送,同时密切注意视频传输的质量。具体地说就是要尽可能多地为同类请求用户发送数据,但要在允许的带宽范围之内。这个带宽是通过计算机实时控制的,计算机实时控制系统随时监控视频传输的质量,自动调整带宽;同时对网络其他各项参数也实现实时监控。可见,视频控制实质上也就是计算机的实时控制。计算机实时控制的好坏直接决定了IP组播的效果。
七、IP组播技术在多点视频数据传输方面的优势
由于数字视频在网络传输时有着很大的数据吞吐量,如果使用端对端的IP单播技术进行数字视频的多点传送,首先,视频服务器必须始终保持在侦听状态,以了解每一个动态加入的客户端的服务请求,而套接字的侦听非常消耗系统的CPU资源,过于频繁的侦听容易造成系统的不稳定,同时还会影响视频传输的实时性,造成视频在网络中传输时出现频繁抖动,最终影响视频传输的服务质量(QoS);其次,视频服务器面对不同的客户端的同一视频服务请求,需要进行重复发送,N个客户端需要占用N倍的网络带宽资源,极大地浪费了网络带宽资源,如果控制不力,还会引起广播风暴,造成系统全面崩溃。
因此,在网络带宽环境能够无限满足视频传输需要的前提下,点对点传送和组播在性能上无本质差异,但是,这种理想状态基本上不会出现,否则除了研究网络带宽以外,其它的网络技术就失去了研究的基础和意义。我们设想在10BASE-T的局域网环境下,当只有2个或单个客户机提出视频服务请求时,二者无明显性能差异;当有3个至5个客户机提出视频服务请求时,二者之间的差异就比较显著,采用点对点传送方式的视频服务器明显已经力不从心,网络丢包和延迟比较严重,接收端视频明显滞后、不连续;当有5个以上的客户机提出视频服务请求时,就造成了广播风暴,系统处于崩溃的边缘。
由此可见,IP组播技术在多点视频数据传输方面具有很大的优势,当某个IP站点向网络中的多个IP站点发送同一视频数据时,IP组播技术可以减少不必要的重叠发送,与多次点对点的单播(Unicast)相比,减轻了系统和网络的负担,提高了CPU资源和网络带宽的利用率,极大地改善了视频数据传输的实时性。参与通信的各主机不论是源站点还是目的站点均使用同一程序,无客户机和服务器之分,从而具有对等性。
IP组播带入了许多新的应用并减少了网络的拥塞和服务器的负担。目前IP组播的应用范围还不够大,但它能够降低占用带宽,减轻服务器负荷,并能改善传送数据的质量,尤其适用于需要大量带宽的多媒体应用,如音频、视频等。这项新技术已成为当前网络界的热门话题,并将从根本上改变网络的体系结构。
|