蒋东星 郑少仁
南京通信工程学院ATM中心
摘要 本文综述了ip网络中组播实现体制和技术的新发展。首先,对在IP层实现组播的体系结构——IP组播进行了深入的探讨,分析、比较了IP组播两种业务模型――标准业务模型和确定源节点业务模型,讨论了IP组播存在的问题和发展趋势。接着,对应用层实现组播的体系结构进行了讨论,描述了应用层组播体制的主要功能和机制,对主要的几个应用层组播方案进行了比较,探讨了应用层组播体制的优缺点。最后对未来Internet中组播业务的实现提出了一些看法。
关键词 Internet 组播业务 IP组播 叠加网 应用层组播
1 前言
组播(multicast)是一到多或者多到多的多方通信形式,远程会议、交互式仿真、分布式内容系统、多方游戏等应用都对组播业务(multicast service)提出了需求。在OSI模型的网络层或者应用层实现业务是目前组播业务的两种实现体制,本文对这两种体制的体系结构进行了讨论,对两种体系结构的发展及其对IP网络体系结构的影响提出了一些看法。
2 IP组播的历史、现状及困境
1988年Deering提出了将组播的功能机制增加到数据网IP层的组播实现体系结构,这种体系结构称为 IP组播(IP multicast)。IETF RFC1112对IP组播的业务提供的方式和形式进行了描述和定义,被看成是IP组播的标准业务模型的定义。
标准IP组播业务模型定义了主机和路由器IP层应有的功能机制和上层所看到的组播业务的形式。主机组(host group)是IP组播概念的核心,多个主机组成主机组,用一个IP组播地址标识,以组地址为目的地址的组播数据以IP数据报的best-effort方式转发到主机组的各个主机。组播路由器承担组播数据的寻路和转发控制功能,这些路由器及链路在网络中形成了一个控制组播数据传送的逻辑结构,称为组播转发结构(delivery structure),这种结构一般是树形的结构,称为转发树,在转发树上的组播路由器接收、复制、转发组播数据。
历经20多年的研究和发展,IP组播已经形成了较为完整的组播协议体系,包括组播主机和网络的交互协议、组播路由协议、组播的地址管理协议等。
组播路由协议是IP组播协议体系中最核心的功能。IP组播路由协议的发展分成域内(intra-domain)和域间(inter-domain)两个阶段:最初的IP组播路由协议将网络看成没有层次结构的平面网络,组播路由算法采用广播方式交互协议消息,因而只能应用在IP网络的路由自治域内,称为域内路由协议;域间路由协议的出现是为了解决在大型的、分层的IP网络中组播路由问题,大型IP网络采用自治域结构形式组织网络,域间路由协议解决了分层结构网络的组播路由问题。
1992年IP组播实验网——Mbone建立,从1992~1997年,IP组播的协议标准和部署方法在Mbone中进行研究实验。1997年以后,分层结构网络域间组播路由的标准化成为IP组播研究的主要领域,域间路由协议体系的部署实验开始在Internet 2的两个骨干网(vBNS, Abilene)中进行,从1999年中开始采用MBGP/MSDP[1,2]和PIM-SM[3]协议体系实现域间组播路由。
目前绝大多数面向内部网络的路由器都实现了PIM-SM组播路由协议和IGMP协议,具有支持组播业务的能力。在一些内部网络中,IP组播业务已经得到一些应用,比如基于IP组播建立的视频传输系统可以有效地支持大规模的接收终端,但是由于对组播业务的管理还缺乏有效的解决方案,路由器的组播功能往往没有开放。
随着对IP网络组播研究的深入,业界普遍认识到仅仅依靠标准组播业务模型无法很好地支持所有的组播应用,而大量的、可以预见的组播应用是源节点确定的应用,由此提出了采用单源组播业务模型支持单源组播应用的思想,IETF提出的 SSM(source specified multicast)[4]体系结构是基于单源组播思想的,SSM采用了严格的一到多业务模型。
SSM业务模型引入了组播通道的概念,组播通道(组播源地址,组播组)是二元组,组播源地址是唯一可以发送组播数据的源主机的IP地址,组播组是一个SSM组播地址,组播通道是组播路由器转发组播数据报使用的信息。
与标准组播业务模型相比较,SSM业务模型具有以下的优点:SSM模型提供了组播接入的限制机制;组播源节点确定,路由协议实现简化;组播组的管理由源节点管理和协调,不需要全网络的组地址管理机制。
SSM业务模型提出后,迅速得到了学术界、工业界的重视和支持,实现SSM业务的协议体系研究进入了一个快速发展时期,提出了PIM-SSM和IGMPv3草案,PIM-SSM是支持SSM业务模型的组播路由协议,IGMPv3草案支持SSM业务模型。
从因特网中IP组播的应用现状看,尽管经过了20多年的发展,IP组播并没有取得预期的成功。一方面,因特网中的网络极少开放IP组播业务,至今还没有全因特网范围的组播业务;另一方面,基于IP组播的上层应用也屈指可数,相对于WWW等新的体系结构,IP组播的发展非常缓慢。
从因特网发展的过程和IP网络的体系结构看,阻碍IP组播业务发展的主要因素为:
IP组播体系结构缺乏可扩展性。路由器需要为每个活动的组维护路由状态信息,而且这些组播地址不能聚合,网络中大量的活动组将需要路由器巨大的存储和处理开销。此外,组播组成员的动态使网络必须动态维护路由状态,更增加了组播路由器的处理开销。
开放的IP组播模型在开放的因特网环境中难以支持有效的管理和控制机制。标准的IP组播业务模型是一种any source、any receiver的开放模型,任何节点都可以创建组,可以向组发送数据,节点可以加入任何感兴趣的组接收数据,发送节点不知道具体的单个接收节点,接收节点也不需要知道发送数据的节点。在这种模型下,接入控制、组管理、组地址的协调机制一直没有有效的解决方案.
IP组播还没有清晰的商业费用模型,网络运营商之间有不同的利益取向。目前骨干网运营商以带宽使用获得收益,对承载的是IP单播业务还是IP组播业务没有必要区分,也就没有动力在路由器中增加对IP组播的支持。
3 应用层组播
面对IP组播业务在因特网中的困境,一些研究者开始反思IP组播体系结构本身的问题,提出将复杂的组播功能放在端系统实现的新思想。
端系统实现组播业务的思想是将组播作为一种叠加的业务,实现为应用层的服务,因此,端系统组播又称为应用层组播(application layer multicast)。图1显示了应用层组播在IP体系结构中所处的位置。应用层组播网的节点是组播成员主机,数据路由、复制、转发功能都由成员主机完成,成员主机之间建立一个叠加在IP网络之上的、实现组播业务逻辑的功能性网络,称为叠加网(overlay network),主机基于自组织算法建立和维护叠加网。图2示意了应用层组播的基本思想及其与IP组播的差别,IP组播的数据沿着物理链路复制和转发,而应用层组播的数据则在主机实现复制和转发,数据报沿着逻辑链路转发,多跳逻辑链路可能经过同一条物理链路。
自组织算法是端系统组网的核心功能和机制,自组织算法的主要功能包括:周期性地交换节点状态信息,通报组成员状态;周期性地收集网络逻辑连接的带宽、时延等动态参数;动态地调整叠加网拓扑。
直观上,端系统实现组播功能可以避开网络层实现组播功能的许多难题:一是应用层组播的状态在主机系统中维护,不需要路由器保持组的状态,解决了业务的扩展性问题,网络可以支持大量的组播组。二是组播应用可以随时部署,不需要网络设备的升级和功能扩展。三是可以简化组播的控制、可靠等功能的实现,建立在网络连接之上的应用层组播可以使用TCP、UDP服务,如可以利用TCP的可靠和拥塞控制简化组播的可靠和拥塞控制。
当然,应用层组播也有许多局限:一是端系统对IP网络的了解有限,节点参与组网时,只能通过探测获得一些网络性能参数,选取的逻辑链路难以优化;二是主机不了解IP网络的拓扑结构,只能通过带宽和时延等外在的特性参数,以启发式的方式建立叠加网,逻辑链路不能较好地利用质量较好的底层网络资源,叠加网的多条链路可能经过同一条物理链路。
4 应用层组播的研究现状和进展
应用层组播思想提出后的短短几年内,多个研究机构开展了应用层组播体系结构的研究项目,如:ESM(end system multicast)[5]、YOID[6]、Scattercast[7]、Overcast[8]、ALMI[9]、HM(host multicast)[10]等,我们首先对这几个项目进行简单的介绍,然后做一个比较。
(1)ESM
ESM是CMU(卡耐基·梅隆大学)开展的一个端系统组播研究项目,是目前为止最成功的一个项目。2000年,ESM的研究表明,在端系统中实现组播功能的体系结构是可行的,可以支持组成员在几百范围内、分布稀疏的、较小规模的多方通信。2001年,通过在因特网中实际运行基于ESM的视频会议,验证了ESM采用的自组织协议可以在动态的、异构的因特网中支持较小规模的视频应用。
Narada是ESM的组网协议。Narada协议首先在组播成员之间建立一个网状的叠加网, 然后在叠加网上运行组播路由协议,建立一棵组播转发树。通过动态探测网络状态,Narada动态地对叠加网进行维护和改良。
(2)YOID
YOID是ACIRI(AT&T Center for Internet Research at ICSI) 研究中心在2000年提出的,基于应用层组播的一整套内容分发的解决方案,包括了应用层组播之上的可靠、安全、拥塞控制等机制。YMTP(YOID multicast tree PRotocol)是YOID体系的核心,是一种自组织的拓扑管理协议,将主机组织成网状网和共享的组播转发树。
(3)Scattercast
2000年,Berkeley大学的Y.Chawache在其博士论文中提出了Scattercast的体系结构。这是一种基于应用层组播实现因特网大规模广播业务的体系结构。其思想是在因特网中部署支持广播业务的服务器,称为Scattercast Proxy节点,应用层组播将这些服务器组织成一个因特网广播业务的支撑网,支持用户规模巨大的Internet 广播和软件分发应用。
Scattercast体系结构包括应用层组播机制、应用层组播之上的传输层机制以及内容请求的实现机制。Gossamer是Scattercast体系结构的自组织组网协议。
(4)Overcast
Overcast是在Cisco公司支持下开展的一个研究项目,是解决因特网内容分布的一个体系结构,实现可靠的组播业务。通过在网络中战略性地部署Overcast节点,然后由应用层组播机制将该节点组成一个骨干转发网络,能够以可靠的方式实现内容的分发。Overcast和Scattercast思想类似,采用在网络边界部署应用层组播节点组成一个业务网络的策略,两者在实现应用层组网的机制不同,并且Overcast侧重于实现组播数据的可靠分发。
(5)ALMI
ALMI是美国华盛顿大学St.Louis分校计算机系从2000年开始进行的研究项目,提出了将应用层组播作为端系统基础服务功能的体系结构。ALMI设计了在操作系统的套接口(socket)之上,以中间件(middleware)的形式向上层应用提供组播服务的结构,中间件实现自组织组网、组播复制和转发功能,在组播成员节点之间组成一个应用层组播网。ALMI研究组以java代码实现了中间件的原型。
ALMI的自组织协议在组成员节点之间建立和维护一棵共享的最小代价生成树(minimum spanning tree),支持组规模较小的多方通信。ALMI可以针对上层的应用需求构建不同性能的叠加网。
(6)HM
美国密西根大学电子工程与计算机科学系2000年开始的端主机系统组播(end-host multicast)项目提出了host-multicast体系结构。
HM的基本思想是通过应用层组播来桥接IP组播,连接分布在因特网中多个IP组播岛中的组成员,实现IP组播跨越因特网的数据分发。
同一个网的IP组播组成员选举一个成员作为代理,代理节点之间通过应用层组播机制建立一个连接各个IP组播网的骨干网,桥接进出网络的IP组播数据。HM框架的其它部分包括网络服务的获取、IP组播地址的转换等实现IP组播桥接的功能体系。
从各种方案面向的上层应用、支持的组规模、组网时考虑连接的参数等几个方面对以上方案进行了比较,如表1所示。
在已经提出的各种应用层组播体系结构中,除了HM之外,其它的方案都面向特定的上层应用。此外,在因特网中,一些内容服务供应商采用的分布式内容服务系统实际也采用了应用层组播技术,将内容服务器通过应用层组播连接成一个分布式的系统。
5 对应用层组播发展的一些看法
当前,应用层组播的研究还处于起步阶段。目前的各种应用层组播体系结构是某种应用的解决方案,这些体系结构支持的应用不同,组网协议的性能侧重点不同。
如果针对多种不同特点的组播应用,在网络中部署多种不同的应用层组播协议,那么将来的主机中需要实现多种应用层组播协议。因此我们认为,建立一个可以复用、可灵活配置的支持多种业务的应用层组播服务层将是一个主要的发展方向。
从目前的研究成果看,以中间件的形式实现应用层组播业务是一种可行的结构。我们认为,通过定义应用层组播业务模型,明确应用层组播的各个功能机制并建立一个标准化的框架,可以建立一个以中间件形式存在的、标准的、可配置和复用的、灵活的应用层组播基础设施。
6 结束语
根据对IP组播体系结构局限性的分析,我们认为,IP组播在公众网中部署的前景并不乐观。当然,IP组播作为一种很高效率的组通信实现体系结构,可以在专用网络中广泛应用,或者作为公众网络中一种受限的业务提供给特定的用户。在IP组播体系结构进一步发展和完善后,可以在公众网络中针对特定用户开放IP组播业务。
目前网络发展的总体趋势是:网络业务多层次实现,骨干网业务简单高速。核心网只提供单一的IP单播业务,而其它在网络核心中难以实现的功能迁移到网络的边缘或者网络端系统,是保持IP网络核心简单高效的根本。叠加网层将成为未来网络体系结构中一个重要的业务实现层次,而将来的网络也将有可能通过提供某些基本的业务,比如向上层提供组成逻辑链路的物理链路信息或者网络的拓扑信息,专门支持叠加网业务的实现。随着应用层组播研究的深入,最终将通过叠加网层实现一个功能强大的,支持多种组播应用的组播业务。
----《电信科学》