针对网络应用层实现多播的探析(一)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

针对网络应用层实现多播的探析(一)

论文关键词:应用层组播;网络层组播;控制拓扑

论文摘要:传统的多播(Multicasting)服务被实现在TCP/IP协议的网络层,但由于网络层的多播服务实现需要扩展网络层的路由与数据包收发协议,这在大多数的实际网络环境里并不是一件容易的事情.为了加速组播的应用,解决现有组播存在的问题,近年来提出了应用层组播.将组播的功能从路由器转移到终端,不需要路由器维护组播组的路由表,且不用改变现有网络设施,方便实现组播功能.本文介绍了应用层多播的定义和方法,及现阶段国内外已提出的应用层多播协议,并简单地讨论了应用层多播协议的性能评价问题.0引言

1988年SteveDeering首先在他的博士论文中提出IP组播.IP组播用于一对多、多对多、多对一的组通信.它是一种有效的数据传输应用,发送的同一数据在物理链路中只传输一次,减少了数据包在网络传输中的冗余,节约了带宽,提高了传输效率.然而,十多年过去了,虽然对IP组播的研究一直都在进行,但是由于IP组播本身所带来的缺点,使得IP组播至今并没有能够得到广泛的应用.

IP组播要求路由器为每一个组播组保留状态信息.这样路由器的路由和转发表将需要对每一个不同的组播地址保留一个相应的路由表项,但是组播地址并不像单播地址一样容易集成,因此增加了路由器的系统开销和复杂性.

IP组播是一种尽力而为(besteffort)的服务.当要提供高层的特性时,例如:可靠传输、拥塞控制、流量控制以及安全管理等,就会比简单的单播要更困难,以至于因特网服务提供商(ISPs)不愿意提供IPMulticast的支持.虽然目前已经出现了针对上面这些特性的研究,但是这些解决方案目前在Internet上的影响并不明确,需要在大范围应用前进行更好的研究.

IP组播需要对现有网络做底层的改变.同时由于在收费机制方面的技术无法突破,使得目前只有少数的因特网服务供应商支持IP组播.

出于以上的考虑,近年来国外一些研究者开始研究新的组播架构,试图绕开IP组播的种种难题,因此提出了基于应用层的组播协议.即在应用层实现组播的功能,而不是再依靠网络层路由器来实现.这种组播方法不需要任何网络底层架构的改变来实现组播,从而为组播的大范围开展与应用提出了一种新的途径.应用层组播将对组播功能的支持从路由器转移到终端系统,在终端之间运用原来的单播方式进行传输,这样不必改变原有网络中基础设施,也不需要路由器维护组播组的路由表,可以比较容易地实现组播,加速了应用.

1应用层组播介绍

应用层组播的基本模型图如图1所示.图la为IP组播数据传输的方式,数据在网络内部的路由器上进行复制;图1b为应用层组播的数据包在网络的终端系统进行复制.

由于应用层多播不像网络层多播实现数据包的复制在网络层路由器,而是在应用层上.因此,应用层的多播协议要求具有以下特点:

(1)自组织性.多播所基于的逻辑拓扑结构的构建应该是分布式的自组织方式.参与多播的成员可能分布在极广的地理位置范围内,地理位置相近的成员应能先自组织成一个逻辑子拓扑结构来联人整个多播拓扑中.

(2)自适应性.多播基于的数据逻辑拓扑在构建后要能自适应地根据网络服务状态和多播组成员变化做出改变和优化,以便可选择更佳的多播传输路径.

(3)高效性一般地,多播构建的数据传输逻辑拓扑结构必须尽量使得在同一条逻辑传输路径上的冗余数据传输最低.但针对不同的应用要求,多播的高效性也具有不同的侧重含义.如对于视频会议的应用,多播的有效性是指传输的实时性,而对于白板之类的应用即要求实时性也要求传输的可靠性.1.1应用层组播的优点

(1)应用层组播能够很快就进人应用,不需要改变现有网络路由器.

(2)接人控制更容易实现.由于单播技术在这方面比较成熟,而应用层组播是通过终端系统之

间单播来实现的,所以差错控制、流控制、拥塞控制容易实现.(3)地址分配问题也就可以有相应的解决方案.

1.2应用层组播的缺点

(1)可靠性:终端系统的可靠性比路由差.

(2)可扩展性:底层的路由信息对应用层组播来说是隐藏其来的,可扩展性不好.

(3)延迟比较大:IP组播主要是在链路上的延迟,而在应用层组播中,数据还要经过终端系统,因而延迟相对要大一些.

(4)数据传输效率不如IP组播:应用层组播在数据传输过程中会产生数据冗余,因此它们比IP 组播的效率差.

2应用层组播协议的实现

应用层组播协议通常把组成员组织成两个逻辑拓扑:控制拓扑和数据传输拓扑.拓扑上的每条边相当于一条单播连线.控制拓扑主要用来在端系统间周期性的交换控制信息来发现和恢复由于一些成员的非法离开造成的拓扑破坏.数据拓扑通常是控制拓扑的一个子集,主要用来表明数据包的传输路径。实际上,数据拓扑一般是一个网状拓扑结构.因此,根据构建控制拓扑和数据拓扑的顺序,可以将目前网络层组播协议的实现方法分为:网优先(Mesh-first)多播、树优先(Tree-first)多播和隐含多播三类

相关文档
最新文档