




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 捅要 近年来,随着网络技术的迅速发展,网络服务的多样化,传统的点对点传输 的单播数据传输模式无法继续适应这种需求。i p 组播作为一种一方或多方发送, 多方接收的传输模式,很好的解决了单播技术的缺点,成为下一代网络应用的关 键技术。然而,目前i p 组播的服务模型和协议还存在一些不足,使其至今无法大 规模部署,应用层组播将组播功能从路由器转移到端系统,避免了l p 组播遇到的 问题,因此,基于应用层的组播技术受到广泛的关注。 本文提出了一种新的应用层组播协议e m t p 。采用分布式的思想设计了e m t p 协议,基于树优先的结构,控制拓扑基于数据拓扑构建。实现了控制报文和数据 报文分开处理,减少组播成员的开销。提出了对不同节点的异构带宽的判断,使 逻辑拓扑更加合理。在环路机制上设计了环路回避机制,减少组播协议的开销。 采用缓存机制,保证失效的快速恢复。e m t p 协议能够支持较大规模的组播服务, 面向多种组播应用。 本文基于e m t p 协议设计并实现一种新的应用层组播中间件e m t p m ,采用 模块化设计思想,设计了可以根据实际需要开发和部署的三个主要模块,能适应 多种应用需求,容错性高,易于维护和升级。在实际测试中采用流媒体视频点播 服务,测试结果表明e m t p m 各个模块工作正常,每个部署主机可以播放流畅的 视频文件。 关键词:组播,m 组播,应用层组播,中间件 a b s t r a c t r e c e n t l y , w i t ht h ei m p r o v e m e n tr a p i d o fn e t w o r kt e c h n o l o g ya n dt h em u l t i p l i c i t yo ft h e n e t w o r ks e r v i c e ,t r a d i t i o n a lp o i n t - t o - p o i n tc o m m u n i c a t i o nu n i c a s tt e c h n o l o g yc a l lh a r d l yf u l l a l lt h e n e e do ft h i sa p p l i c a t i o n i pm u l l i c a s tp r o v i d e sa ne f f i c i e n tw a yf o ro g r e - t o - m a n ya n dm u l t i - p a r t y c o m m u n i c a t i o n , s o l v e st h ep r o b l e mo fu n i c a s tw e l l i ti sak e yt e c h n i q u ef o rt h en e x t - g e n e r a t i o n i n t e r a c ta p p l i c a t i o n s h o w e v e r , u n s o l v e di s s u e si ni pm u l t i c a s ts e r v i c em o d e la n dp r o t o c o lp r e v e n ti t f r o mw i d e l yd e p l o y i n ga ti n t e m e t i na p p l i c a t i o n - l a y e rm u l t i c n s t ( a u 田,m u l t i c a s tf u n c t i o n sa g e m o v e df r o mt o u t e r st oe n ds y s t e m s a l ma v o i d st h ep r o b l e mo fi pm u l t i c a s t t h a t sw h ya l m b e g i n st oa t t r a c tw i d ea t t e n t i o n an e wa l m p r o t o c o ln a m e de m t p i s p r e s e n t e di n t h i sp a p e r e m t i i sad i s t r i b u t i n ga n d t r e e - b a s e dp r o t o c 0 1 t h ec o n t r o lt o p o l o g yi sc o n s t r u c t e db a s e do i ld a t at o p o l o g y t h ec o n t r o l m e s s a g ea n dt h ed a t aa mh a n d l e ds e p a r a t e l y , w h i c hr e d u c e st h ee x p e i l s e so fe v e r ym e m b e r t h e c o n t r o lt o p o l o g yi sm o r er a t i o n a lb e c a u s et h eb a n d w i d t hi so n ep a r a m e t e rw h e nc o n s t r u c t i n gt h e c o n t r o lt o p o l o g y e m t pe m p l o y sal o o pa v o i d a n c e ,i n s t e a do fl o o pd e t e c t i o na n dr e s o l u t i o n b y c a c h i n gn o d em e c h a n i s m , e m t pi m p l e m e n t sa ne f f i c i e n tm e c h a n i s mo ff a s tr o u t i n gr e s t o r i n ga n d s w i t c h i n g e m t p c a l lb ed e p l o y e dw i d e l y , m e e t i n gm a n ym u l t i c a a ts e r v i c e s an e wa u mm i d d l e w a r ew h i c hi sb a s e do ne m t pi sd e s i g n e dt h i sp a p e r , c a l l e de m t p m i ti s d e s i g n e db a s e do i lm o d u l a f i z a t i o n m o d u l a f i z a t i o nm a k e si tf l e x i b l ei nd e v e l o p m e n ta n dd e p l o y m e n t i ti se a s yt om a i n t a i na n du p d a t e e m t p mt r a n s m i t sv i d e of d ei nt h et e s lt h et e s tr e s u l to fe v e r y m o d u l eo f e m t p ms h o w st h a ti tc a nw o r kw e l l e v e r ym e m b e rp l a y sv i d e of l u e n t l y k e y w o r d :m u l t i c a s t , i pm u l t i c a s t , a p p l i c a t i o n l a y e rm u l t i c a s t ( a l m ) , m i d d l e w a r e 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 耋i 三匠日期丝2 :兰:缉 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生 在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕业 离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。学 校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部 或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文在 解密后遵守此规定) 本学位论文属于保密在一年解密后适用本授权书。 本人签名: 导师签名: 日期丕璺乙兰:! 兰 日期挫2 :2 :f 竺 第一章绪论 第一章绪论 1 1 研究背景 随着网络技术的迅速发展,网络用户的不断增加,涌现出各种各样的多媒体 服务和新兴流媒体业务,例如视频点播、视频会议、远程教育、互动游戏等。由 于这些应用需求的不断增加,导致传统的点对点的单播( u n i c a s t ) 数据传输模式 已经无法满足这些应用的需求。而组播【1 】( m u l t i c a s t ) 作为一方或多方发送,多方 接收的传输模式,正好弥补了单播数据传输模式的缺点,有效地节省了网络资源, 减少了数据重复发送的次数,提高了网络传输性能,为数据的多点并发传送提供 了有效途径。 单播数据传输的模式如图1 1 所示,图中圆圈表示端主机,方块表示路由器, s 表示发送源服务器。从图中可以发现,发送源服务器s 要为每一个接收源都复制 一份相同的数据报文,经路由器分别发送到接收源,数据报文的内容是完全的相 同的,只有接收源的口地址不同,路由器根据不同的口地址将数据报文发送到目 标源,这就大大增加了服务器的负担和服务器到路由器的网络负荷,影响传输效 率,无法满足大规模的部署应用。 图1 1 :单播传输模式 1 1 1 i p 组播及其存在的问题 i p 组播【2 j1 3 1 ( 1 pm u l t i c 鸹n 和应用层组播【4 l ( a p p l i c a t i o n 1 a y e rm u l t i c a s t ,a l m ) 是 实现组播的两种机制。i p 层组播就是在路由器上实现组播的功能,i p 层组播己被 大多数人接受并有了一定的应用。口组播是对标准i p 网络层协议的扩展。它通过 使用特定的i p 组播地址,按照最大投递的原则,将口数据报传输到一个组播群组 的主机集合。i p 组播提供不可靠的、尽力而为的服务。如图1 2 所示,i p 组播的 基本思想是:当某一个端主机向一组端主机发送数据时,它不需要为每一个接收 源都复制一份数据报文并发送,而只需要将数据报文发送到一个特定的预约组播 地址,所有加入该组播组的接收源均可以收到这份数据报文。这样对于发送者而 2 应用层组播协议e m t p 及其中间件的设计和研究 言,数据只需发送一份就可以发送到所有的接收者,大大减轻了网络的负载和发 送者的负担。 从图1 2 中我们可以看到,发送源s 仅将一份数据报文发送给路由器r 1 ,这 就大大减少了发送源的负担和网络的负载。路由器r 1 根据组播组的地址信息,将 数据报文复制成三份,分别发送到接收源。与单播相比,i p 组播不存在数据发送 的冗余问题,同一时刻在同一条链路上不会出现两份以上内容相同的数据报文。 所有的数据都由路由器根据组播组地址信息来复制并转发,路由器负责维护组播 路由表,这就大大减轻了发送源服务器的负担,提高了网络的性能,减小了网络 的负荷。 图1 2 :l p 组播 然而,廿组播本身有很大的局限性【2 l : f 1 】要求所有路由器都支持组播的功能,因为组播数据包的复制和转发都由路 由器来完成; 【2 】路由器必须为每个组播组保存状态,限制了系统的可扩展性; 【3 】组播地址空间太小( 针对i p v 4 ) ,组播使用的d 类地址,范围是 2 2 4 0 0 0 - 2 3 9 2 5 5 2 5 5 2 5 5 : 【4 】面对单源点和多源点等各种复杂的应用,无法用统一的模型来适应所有的 应用; 【5 】在安全方面,由于很多防火墙不能识别口组播使用的d 类i p 地址,目前 的解决办法是使用隧道技术来穿越防火墙,这样在部署组播服务的同时也 造成一些安全漏洞。 1 1 2 应用层组播 针对口组播的各种问题和难点,近年来许多人提出了用应用层组播来代替m 组播的功能,即将组播的功能从路由器端移到端主机来实现。因此应用层组播成 为近年来研究的热点。 应用层组播的基本实现是屏蔽底层物理网络的拓扑细节、将组成员节点直接 第一章绪论 3 自组织成一个逻辑拓扑网( o v e r l a yn e t w o r k ) ,并在应用层提供组播路由协议来构建 和维护该网络,为数据传输提供高效、可靠的服务。应用层组播将所有组播功能 完全集成在主机中,由应用层软件具体实现。如图1 3 所示,将所有组播功能迁移 到终端主机,传输网络的构建完全独立于m 层的物理链路,数据报文的复制转发 由终端主机控制。这种基于主机控制的报文复制方法使得在某些分支节点所对应 的物理链路及中间转发节点与路由器之间的路径中存在多个相同的报文,存在数 据冗余,因此应用层组播对带宽的利用率不及m 组播。 图1 3 :应用层组播 从图1 3 中可以看出,发送源s 向目标节点a 和b 发送了2 份数据报文,报 文经过路由传到了目标节点a 和b ,报文在发送源s 和路由器r 1 之间传送存在数 据冗余。节点a 在接收到s 的数据报文后,复制数据报文并将报文转发给目标节 点c 。从图中我们可以发现,相对于m 组播,应用层组播将组播的功能移到端主 机实现,由端主机负责维护组播路由表,复制并转发数据报文,这样就不需要路 由器来支持组播。数据报文在路由器上还是以单播的形式传送,不需要改变底层 网络,所以部署起来相对比较容易。但是应用层组播会存在一定的数据冗余,而 且端主机的性能也影响了应用层组播的性能。 应用层组播与m 组播相比较的优点主要是: 【1 】应用层组播不需要改变底层网络,不需要路由器支持组播功能,组播服务 的部署相对容易。 【2 】应用层组播不需要路由器支持,也不需要在路由器上维护组播组的状态, 因此具有良好的扩展性。 【3 】利用t c p 的拥塞控制、错误控制等机制使得应用层组播具有更好的可靠 性。由于单播技术在这方面比较成熟,而应用层组播是通过终端系统之间 单播来实现的,所以差错控制、流控制、拥塞控制容易实现。 【4 】应用层组播可以很好的解决组播地址分配不足的问题。 4 应用层组播协议e m t p 及其中间件的设计和研究 1 2 研究现状 应用层组播的研究是下一代互联网研究的热点,近年来提出了多种应用层组 播的协议和解决方案。 2 0 0 0 年,e f r a n c i s 发表了y o i d l 5 】组播系统的相关论文。y o i d 集成了现有坤组 播技术并向非口组播区域提供组播服务,y o i d 可以看作一个协议集,在支持m 组播的网络中使用口组播,在没有m 组播支持的主机之间使用应用层组播连接。 y c h u 等人提出了基于n a r a d a 【6 l 组网协议的e s m t 7 1 ( e n ds y s t e mm u l t i e a s 0 ,适合予 在中小规模稀疏型组播应用。j j a n n o t t i e t a l 提出了o v e r c a s t i s 。y a t i n d i l i p c h a w a t h e 在他的博士论文中提出了s c a t t e r c a s t 9 1 系统,这是一种基于代理的组播体系结构, 组播服务通过各策略配置点间的代理协作实现。 2 0 0 1 年,d i m i t r i o sp e n d a r a k i s 等人提出了集中式的应用层组播的架构 a l m i t l o l ( a p p l i c a t i o n 1 a y e rm u l t i c a s ti n f r a s t r u c t u r e ) ,v r o c a 等人提出了h b m 1 1 1 ,两 者都采用集中式控制的协议,适用于规模较小的组播组。s q z h a n g 提出了 b a y e u x 1 羽,s r a t n a s a m y 提出了c a n 1 3 】组播,两者都是基于p e e r - t o p e e r0 ”z p ) 技术 的应用层组播。其中b a y e u x 中每个节点拥有全局唯一的i d ,并维护一个邻居表, 这些邻居节点的i d 和本节点i d 在一定数量的位上相同。转发中第n 跳节点i d 和 目的节点i d 至少有n 位相同。c a n 组播利用哈希函数,将组播组映射到笛卡儿坐 标空间中,使每个组播组都对应一个小的c a n 网络,在这个小c a n 网络上通过 泛洪实现组播转发。 2 0 0 2 年,b e i e h u a nz h a n g 等人提出了h m t p 1 4 】组播协议,h m t p 和y o i d 类似, 在局部、小规模、支持坤组播的网络中使用口组播,在没有i p 组播支持的主机 之间使用应用层组播,h m t p 协议采用数拓扑优先的组播协议。m c a s t r o 在j s a c 上发表了s c r i b e 1 5 】,s c r i b e 和b a y e u x 类似,但s c r i b e 具有更好的扩展性,它借助 底层p 2 p 网络p a s t r y 可以进行动态的自组织来适应网络条件的变化。s u n m a n b a n e r j e e 提出了基于n i c e 1 6 j 的可扩展应用层组播协议,主要针对大量接收者的低 带宽、数据流应用,它基于分层的结构,同时具有较小的控制负荷,具有良好的 扩展性。 2 0 0 3 年,d t r a n 提出了基于p 2 p 的层次型应用层组播系统z i g z a g 1 7 1 ,它采 用了“分层”( h i e r a r c h i c a l ) 和“分群”( o u s t e 0 的思路,解决了在只有一个数据源 时构造大规模组播树的问题。m h e f f e d a 提出了p r o m i s e i 堋,与s c r i b e 类似,p r o m i s e 也是在p a s t r y 网络之上构建组播系统,所不同的是p r o m i s e 不需要构建组播树,而 是由底层的p 2 p 系统查找满足需要的发送者,然后由接收者从中挑选一些,并行 发送组播数据。 2 0 0 4 年, r o i em e l a m e d 提出了a r a n c o l a 1 9 】组播系统,它适用于在动态环境 第一章绪论 5 下转发组播数据。a h m e ds o b c i h 提出一种基于环的应用层组播协议v r i n g 2 0 l 。 1 3 论文内容及相关工作 本文的工作重点主要在于设计新的应用层组播,并在协议的基础上设计实现 应用层组播中间件。在对现有应用层组播协议和中间件进行深入研究的基础上, 提出新的应用层组播协议e m t p ,并基于该协议实现中间件e m t p m 。e m t p 协议 采用分布式的思想,基于树优先的结构,控制拓扑基于数据拓扑构建,组成员能 高效的加入和退出组播组。控制报文和数据报文分开处理,减少组播成员的开销。 在逻辑拓扑构网构建中加入带宽的判断,使逻辑拓扑更加合理。在环路机制上采 取环路避免机制,减少组播协议的开销。采用缓存机制,保证失效的快速恢复。 e m t p 协议能够支持较大规模的组播服务,面向多种组播应用。e m t p m 采用模块 化设计思想,可以根据实际需要开发和部署,能适应多种应用需求,容错性高, 易于维护和升级,具有较好的扩展性,能支持多种组播应用。本文主要工作集中 在以下几个方面: 【1 】分析并总结了现有的应用层组播协议的优点和缺点,对三种典型的协议进 行分析比较,提出了一种适用面较广,扩展性较好、效率较高的基于树优 先的应用层组播协议e m t p ,采用延时和带宽机制,协议可以根据带宽的 异构性构建并优化组播树。协议还设计了环路回避机制和节点缓存机制, 提高组播树的优化能力,并对其进行了分析评价。 【2 】研究了现有的应用层组播中间件,总结了应用层组播中间件具有的基本功 能,提出了基于e m t p 协议的应用层组播中间件e m t p m 。采用模块化设 计思想,将中间件设计为三个模块,汇聚点模块、控制拓扑和数据处理模 块,可以根据实际需要采用不同技术开发,并将不同的模块部署在不同的 节点上,能适应多种应用需求,容错性高,易于维护和升级。 【3 】对e m t p m 进行实际测试,采用流媒体视频点播服务,测试结果表明 e m t p m 各个模块工作正常,每个部署主机可以播放流畅的视频文件,达 到预期的设计。 1 4 论文各章节的安排 本文各章节的安排如下: 第二章首先介绍了现有的应用层组播协议,对三类典型协议进行了分析对比, 指出各自存在的优缺点及改进方法。接着分析了现有的应用层组播中间件,研究 其优缺点,总结了应用层组播中问件的基础功能。 第三章详细介绍了应用层组播协议e m t p 的设计。包括创建、加入、离开组 播组,树结构优化,节点失效的判断和处理、节点的开销等,并对算法复杂性进 6 应用层组播协议e m t p 及其中间件的设计和研究 行了分析。 第四章设计并实现了基于e m t p 协议的应用层组播中间件e m t p m ,详细介 绍了e m t p m 的设计思想、体系结构、基本功能和应用范围,分析了e m t p m 的 优缺点。 第五章对应用层组播中间件e m t p m 进行测试,并分析测试结果。 第二章应用层组播路由协议及中间件技术研究 7 第二章应用层组播路由协议及中间件技术研究与分析 本章主要介绍应用层组播协议及中间件技术。首先详细介绍了应用层组播与 i p 组播的优缺点。接着详细分析了三类应用层组播协议的特点及比较。然后介绍 了典型的应用层组播中间件技术,总结了中间件具有的基础功能。 2 1 i p 组播与应用层组播的关系 近年来,随着网络技术、信息技术的快速发展,出现了大量基于网络的多媒 体业务应用,这些媒体服务逐渐成为人们家庭生活,工作学习,娱乐的一部分。 视频点播、电视会议、网上教学、互动游戏等媒体服务的出现,导致传统的点到 点的单播通信方式由于其严重的带宽浪费和效率低下而无法满足这些需求。在这 样的环境下,人们提出了组播的概念。组播是一种源发送一次就可以将数据报文 从源点传送到多点的通信方式。 9 0 年代初d e e r i n g 【1 l 在他的一篇论文中提出了利用网络层实现组播的架构。 在d e e r i n g 的架构中,路由器构成一个组播树,当数据包从树的根节点即数据源发 出后,数据包在不同的树结点路由器上进行复制,最后到达每个接收终端。即将 数据报文复制转发的任务交给路由器来处理,而不需要由源节点来一次复制多个 同样的数据报文发送,发送的同一数据在物理链路中只传输一次,减少了数据包 在网络传输中的冗余,节约了带宽,提高了传输效率。由于能有效地将数据包的 复制减小到最小的限度,口组播一直以来被认为是最有效的一种用来实现数据的 群分发的方法,这也正是当初d e e r i n g 提出豫组播的原因。 然而,由于口组播本身所带来的各种难点和缺点,使得口组播虽然经过十 多年的研究和发展,依然无法得到广泛的部署和应用,主要原因在于: 【1 】i p 组播要求路由器为每一个组播组保留状态信息。这样路由器的路由和 转发表将需要对每一个不同的组播地址保留一个相应的路由表项,但是组 播地址并不像单播地址一样容易集成,因此增加了路由器的系统开销和复 杂性。 【2 】2i p 组播是一种尽力而为( b e s te f f o r t ) 的服务。当要提供高层的特性时, 例如:可靠传输、拥塞控制、流量控制以及安全管理等,就会比简单的单 播要更困难,以至于因特网服务提供商( i s p s ) 不愿意提供对i p 组播的 支持。虽然目前已经出现了许多针对上面这些特性的研究,但是这些解决 方案目前在因特网上的影响并不明确,需要在大范围应用前进行更好的研 究。 【3 】i p 组播需要对现有网络做底层的改变。同时由于在收费机制方面的技术 无法突破,使得目前只有少数的服务提供商支持m 组播。当前组播的研 8 应用层组播协议e m t p 及其中间件的设计和研究 究主要还是受学术的驱动,而客户需求驱动较少。 出于以上的考虑,近年来国外一些研究者开始研究新的组播架构,试图绕开 i p 组播的种种难题,因此提出了基于应用层的组播协议,即在应用层实现组播的 功能,而不再依靠网络层路由器来实现。这种组播方法不需要任何网络底层架构 的改变来实现组播,从而为组播的大范围开展与应用提出了一种新的途径。 应用层组播就是将组播的功能由路由器端移到端主机上实现,它并不像口组 播那样数据报文在路由器进行复制转发,而是在端系统上复制并转发,同时端系 统也负责组播组成员的管理。端系统在逻辑上组成了一个逻辑网络拓扑,应用层 组播路由就是根据端主机的逻辑网络拓扑来计算的,而实际的数据报文传输是在 物理拓扑上进行的,所以逻辑上的网络拓扑要尽可能的接近端主机在物理上的网 络拓扑,这样才能保证整个应用层组播的性能是最佳的。否则,物理拓扑上相邻 的两个节点在逻辑拓扑上可能相距很远,进而,基于这种逻辑拓扑所计算的组播 路径对于逻辑拓扑而言是最优的,而在实际的物理网络上可能产生大量的冗余传 输。 图如2 1 所示,虚线剪头表示数据流在逻辑拓扑上的传输,实线箭头表示数据 报文在路由器上的传输,虚线表示端主机和路由器的连接。端主机组成了逻辑网 络拓扑,而实际的数据报文传输是在底层的路由器上,即由路由器组成的物理拓 扑。因此,端主机形成的逻辑拓扑应尽可能的和物理拓扑相符,才能保证组播的 性能最佳。 r c o m p u t 刮 图2 1 :逻辑拓扑与物理拓扑 应用层组播的优点: 【1 】应用层组播不需要路由器对组播支持,因而不会改变底层网络,组播服务 的部署相对容易,能够很快进入应用。 【2 】应用层组播不需要在路由器上维护组播组的状态,所有组管理功能都由终 端主机完成,可以支持大量的组成员,解决m 组播扩展性差的问题,能 第二章应用层组播路由协议及中间件技术研究 9 支持大规模的部署,同时也很好的解决组播组地址分配不足的问题。 【3 】3 应用层组播的接入控制更容易实现。由于单播技术在这方面比较成熟,而 应用层组播的数据传输最终是通过终端系统之间的单播来实现的,终端本 身只负责复制和转发,所以差错控制、流控制、拥塞控制容易实现。 【4 】应用层组播可以根据网络条件的变化,动态的优化组播树的结构,实现服 务定制功能。 应用层组播的缺点: 【1 1 可靠性:终端系统的可靠性比路由器差,终端系统大多时候是一台个人电 脑,其性能、可靠性都比路由器要差很多,受网络条件等环境约束也很大。 【2 】延迟比较大:i p 组播主要是链路上的延迟,而在应用层组播中,数据还要 经过终端系统,需要终端系统处理数据的复制、转发,因而受到端主机的 影响会比较大,延迟相对口组播要大一点,性能上也会差一点。 【3 】传输效率不如口组播:m 组播在一条链路上,同样的数据只传输一次, 而应用层组播则有可能会传输多次,所以在数据传输过程中会产生数据冗 余,因此它比即组播的效率差。 2 2 应用层组播协议研究 应用层组播将组播功能实现于终端主机中,终端主机即组成员的动态变化对 组播有很大影响。应用层组播协议除了要有效的构建组播树以外,还要针对节点 的动态变化提供可靠的组播管理算法,在动态网络环境下维持组播的稳定性。应 用层组播路由协议面临的主要问题是,如何在广域网环境下,针对节点的动态性, 在节点上建立必要的状态信息,并根据这些信息构建优化组播路由协议。图2 2 根 据协议构造算法的差异对现有应用层组播路由协议的构造方法进行了分类。 应用层组撬协议 集中式算法 分布式算法 局部信息全局信息网优先树优先其它 n a r a d a 、 n i c e 、z i g z a g 、 a l m i卸b m y o i d 、珊订t p 等 , s c a t t e r c a s t 等 c a n m u r i e a s t 等 图2 2 :应用层组播协议分类 2 2 1 集中式算法 集中式算法在协议中有一个汇聚点用于维护全局信息,集中管理所有组成员 的状态变化及成员之间的逻辑拓扑,负责组播树的创建和维护,并定期计算、优 化逻辑拓扑。 1 0 应用层组播协议e m t p 及其中间件的设计和研究 集中式方法能够掌握全局信息,获得较优的逻辑拓扑,具有较高的可靠性, 能减少控制过载,易于维护组播树的一致性和效率。但由于控制点要维护全局信 息,受单点失效的限制,因而缺乏可伸缩性和可扩展性,比较适合小规模稀疏型 组播应用。根据协议优化所依赖信息的不同,集中式算法有可分为基于全局信息 和基于局部信息两种组播树优化策略。a l m i 和h b m 都属于集中式应用层组播协 议。 a l m i 基本上可以划分为两个模块:一个是会话控制器模块和成员管理模块。 会话控制模块属于控制平面,功能包括组播树构造、会话管理和组播树优化等; 成员管理模块属于数据平面,功能包括成员控制和组播数据分发。a l m i 的会话控 制器只属于控制平面,并不影响会话成员间的数据分发,即使会话控制器失效, 只要失效前所形成的成员关系不发生变化,成员间仍然能够进行通信。a l m i 使用 集中式控制方法来维护组播树的一致性和有效性。a l m i 的一个会话组包括一个会 话控制器和多个会话成员,会话控制器和会话成员间的通信依靠a l m i 的控制协议 进行。会话控制器集中处理成员注册,周期性地计算和维护组播树,并将结果以 ( p a r e n t ,c h i l d r e n ) 列表的形式通知所有成员。a l m i 的组播树是带度约束的双向共 享树,树中的成员之间具有父子关系一旦构造好组播树,会话成员就可以发送 或接收组播数据,同时也负责向邻居结点转发组播数据。a l m i 协议采取基于局部 信息的优化算法,对每个节点所监视的邻居节点数进行限制。因此,a l m i 构建的 组播树是次优的。 h b m 是基于全局信息的应用层组播路由协议,它将组成员分成核心成员和非 核心成员,核心成员形成数据分发树的主干节点,非核心成员只能作为叶子节点。 组播中所有活动都通过一个汇聚点控制,汇聚点维护所有组成员的信息,逻辑拓 扑的优化完全依赖于汇聚点中的全局信息。较a l m i 而言,h b m 比较容易得到最 优化的网络拓扑。 2 2 2 分布式算法 分布式算法中没有集中的汇聚点来控制全局信息,组成员的管理、数据传输 的控制通过每个节点维护的局部信息协作完成。分布式算法可避免集中式算法受 单点约束的限制,具有更好的扩展性。然而,在动态分布环境中,节点本身各种 频繁的操作及网络条件的变化使组播树极为动态。因此,基于分布式算法的组播 协议设计更为复杂和困难,通常需要协调和衡量协议设计所引起的节点维护状态 信息量、控制过载、通信代价等开销,为适应系统的动态性,保证组播传输的有 效性,分布式算法通常将组成员组织成控制拓扑和数据拓扑两种具有不同功能目 标、但均覆盖所有成员的网络结构。拓扑上的每条边都相当于一条单播链路。控 制拓扑主要用来在端系统间周期性的交换控制信息来发现和恢复由于一些成员的 第二章应用层组播路由协议及中间件技术研究 1 1 非法离开造成的拓扑破坏。数据拓扑通常是控制拓扑的一个子集,主要用来表明 数据包的传输路径。实际上,数据拓扑一般是一棵树形结构,而控制拓扑要求有 更多的连接,则通常是一个网状拓扑结构。因此,根据构建控制拓扑和数据拓扑 的顺序,可以将目前网络层组播协议的实现方法分为:网状拓扑优先方法、树状 拓扑优先方法以及其它方法。 网状拓扑优先方法 在此类方案中,组的成员首先自己组织成一个网状的拓扑,即控制拓扑,每 两个成员之间有多条路径。在这个网状拓扑中,每一个成员都会保存这个组中其 他的所有成员的状态信息,而这个信息将会得到周期性的刷新。目前较成熟的此 类协议有n a r a d a “,是由c m u 组播通信组开发的最早的应用层组播协议之一。 n a r a d a 被认为是最早的应用层组播协议之一。当有新成员加入时,会从某一 个汇聚点获得所有已加入的组成员的列表,汇聚点只负责控制拓扑,不参与数据 传输。然后随机选择部分成员作为自己加入的邻接点,当至少有一个成员成为这 个新成员的邻接点时,此新成员就成功加入了这个组播组。成功加入后,此新成 员开始和它的所有邻接点交换状态信息。n a r a d a 中每个成员都会保留所有组其它 成员的信息,当组成员发生改变时,改变信息将会通过控制拓扑传输到所有成员 中,也增加了整个系统的健壮性。同时每个成员也会周期性地产生一个状态刷新 消息来及时刷新自己所保留的所有成员状态信息。这样分发每个成员状态信息给 其它所有的成员将会导致整个系统控制信息的系统开销增大达到o ( n ) ( n 为组的 大小) ,缺乏可扩展性,适用于中小规模的稀疏型组播应用。 n a r a d a 的数据传输拓扑实际上就是控制拓扑的生成树。n a r a d a 采用类似于 d v m r p 的反向路径转发( r e v e r s ep a t hf o r w a r d i n g ) 算法为各个发送源分别建立数 据分发树。 树拓扑优先方法 与网状拓扑优先不同的是,基于树状拓扑优先的端系统组播协议首先会建立 起一个共享的数据传输树拓扑。然后,根据这个树状拓扑增加一些成员间的连接 便可组成控制网状拓扑。此类比较有代表的协议有y o i d l 5 】和h m t i d l 4 】等。 y o i d 是一个出现得较早的应用层组播协议。所有基于数据拓扑优先方法的组 播协议都会创建一个共享的数据传输拓扑树,每个成员的任务就是找到合适于自 己的父结点。既然y o i d 是直接建立的数据传输树,那么为了使组播达到更好的性 能,它就会对树的结构给出直接的限制,例如每个成员结点的度、邻接点的选择 等。当有新成员需要加入时,其会查询汇聚点得到的已加入成员的信息,然后新 成员通过这些信息找到合适的父结点。一个结点如果成为这个新成员的合适的父 结点必须满足两个条件:如果选其做新成员的父结点,数拓扑上将不会出现循环; 如果选新成员做其子结点不会超过其度的要求。如果新成员找到了多个合适的父 1 2 应用层组播协议e m t p 及其中间件的设计和研究 结点,那么它将根据具体实际量度的要求来找出最合适的一个父结点。由于每个 成员都会自己选择合适的度即子结点的个数,则很有可能导致树的深度加深,使 得数据传输出现比较长的传输路径。 为了防止由于某个非叶结点的意外断开而使得整个数据传输树被分割,y o i d 中的每个成员会在数据传输拓扑上随机选取一些非父结点添加到其的连接,这样 便组成了控制拓扑。 2 2 3 其它方法 除了以上两类之外,还有一些应用层组播的解决方案,这些方案都还在研究 和发展中。比如基于层次结构的应用层组播和基于p 2 p 路由的应用层组播等。 基于层次的应用层组播将所有的端主机组织到一个层次拓扑结构中,所有的 成员结点都以簇的形式组织到第o 层( l o ) 中。每个簇包含一组互相距离( 根据 不同的实际需要,距离可以有不同的定义,例如:带宽、延时等) 最近的点。并 选取簇的图论中心节点作为簇头,k 层的所有簇头形成k + l 层的所有节点,随后根 据该层次结构定义控制拓扑和数据拓扑。新成员加入时从最高层向下顺序探测最 后加入到b 层的某个簇中。n i c e 、z i g z a g 1 7 】都属于层次形结构的应用层组播协议。 l l 图2 3 :基于层次结构的应用层组播 如图2 3 所示,图中实线表示控制拓扑,箭头代表数据流流向,虚线连接所有 在不同层次的同一节点,即簇头节点。其中节点a 、b 、c 和d 组成一个簇,b 节 点为选取出来的簇头,b 层共有3 个簇。这个层次拓扑图最终将被用来定义控制 拓扑和数据传输拓扑。在控制拓扑中,每个簇中的每个成员都保留着其所属簇中 的其它成员的状态信息,并且互相问周期性地交换这些状态信息,来确保所有成 员能够快速地对成员变化做出反应,并能够对一些拓扑结构的破坏进行快速地修 复。 十 第二章应用层组播路由协议及中间件技术研究 1 3 为了避免数据循环传输,数据传输拓扑同样选择了树形结构,箭头代表数据 流的转发路径。对于基于层次结构的应用层组播协议来说,其特定数据源的数据 传输路径已经在控制拓扑中隐式地定义了。因此,在控制拓扑上系统只需要决定 哪些成员需要转发数据。 p 2 p 路由方式。b a y e u x 、s c r i b e 、c a n m u l t i c a s t 都建立在p 2 p 路由基础上的 应用层组播协议。b a y e u x 以应用层路由协议t a p e s t r y 为基础,采用显示途径为每 个发送源分别建立和维护组播树。b a y e u x 有良好的扩展性和容错能力,但是每个 成员的加入退出都要经过根节点处理,因此受到根节点单点失效的限制。s c r i b e 建立在p 2 p 对象定位和路由协议p a s t r y 之上,其控制拓扑与p a s t r y 的控制拓扑相 同,每个成员都包含路由表,邻接点集合叶子集入口等信息。s c r i b e 的组播树通常 由p a s t r y 的逻辑拓扑的子集组成,与b a y e u x 不同的是,s c r i b e 包含从每个目标节 点到根节点的信息,而b a y e u x 包含从根节点到每个目标节点的路由信息。s c r i b e 中每个节点维护的状态信息比较少,而且成员的请求操作由本地处理,因此,s c r i b e 有更好的扩展能力。 c a n m u l t i c a s t 以c a n ( c o n t e n t - a d d r e s s a b l en e t w o r k ) 为基础,c a n 将组成 员组织成一个n 维笛卡尔坐标空间,每个成员占据一个空间。c a n m u l t i c a s t 没有 组播树的概念,而是根据会话组分别建立c a n 子网形成数据传输拓扑。每个节点 只维护自己组的信息,数据传输通过泛洪方式传输。c a n 中每个成员只需维护2 d 个邻接节点( d 为坐标维数) 。 2 2 4 应用层组播协议评价 应用层组播是一个建立在应用层之上的逻辑网络,虚拟网络特征使得协议涉 及必须从物理网络和上层应用两个方面考虑网络的性能。从网络角度,逻辑网络 拓扑应尽量使物理链路上的荣誉传输达到最少;从应用角度,逻辑网络拓扑应能 满足具体应用的端到端延迟需求。常用的评价标准包括: 伸张度( s t r e t c h ) :指从发送源到某一个成员之间在逻辑拓扑上的延时和从发 送源到该成员在直接单播路径上延时的比值。伸张度实质上反映了数据传输的相 对延迟损失。 压力度( s t r e s s ) :是指一条物理链路上传输同一个数据包的次数。组播协议对 网络带宽的利用率与压力度成反比关系。以上两个标准较难直接测量,通常与底 层拓扑结构有很大关系。 树的最大度约束( m a x i m u mt r e ed e g r e e ) :与上面的两种评价标准有间接的关 系,但是相对较容易测量:在y o i d 和h m t p 中,成员自己选择度,提供树的度上 限。n a m d a 定义了度的最大上限,但是有时需要放宽限制以允许更多的用户加入, 否则用户在满足度约束条件时,就不能同时满足从发送者到接收者的延时需求。 1 4 应用层组播协议e m t p 及其中间件的设计和研究 平均控制代价( a v g c o n t r o lo v e r h e a d ) :维护拓扑的平均代价,用控制信息的 数目或其占用的带宽来计算。组播网优先( m e s h f i r s t ) 的协议有较大的平均控制 代价,这是因为每个成员同其它成员交换状态信息。对n i c e 和c a n 来说,平均 控制代价是恒定的。 数据丢失率( l o s s e sa f t e rf a i l u r e ) :指当一个成员失效后,平均数据包的丢失 率。该参数主要测试的是系统的健壮性。 首次加入时间( t i m et of i r s tp a c k e t ) :指一个新成员从加入一个正在进行的组 播组到接收到该组播组第一个数据包的时问。 2 2 。5 对现有的应用层组播协议的分析 集中式算法由于有一个汇聚点维护全局信息,因此容易获得全局最优的组播 逻辑拓扑,对节点的加入,退出统一管理,减少了单个节点的开销,减轻了网络负 荷。但是,汇聚点的开销非常大,不能支持大规模的组播应用,扩展性不强,存 在瓶颈问题。a l m i 的加入协议,系统中每个成员都受到度约束,规定最多可以接 受的孩子数目。控制者在满足度限制的情况下,选择延时最小的路径,使加入者 连到最小生成树中。随着组成员的增加,在某一新成员加入时,满足度要求的节 点会增加,新成员必须探测与所有这些节点之间的延时,才能选出父节点,新成 员的加入代价较大。 在分布式算法中,网优先的结构都需要在数据传输之前先生成一个控制拓扑, 通常是一个网状结构,数据传输是这个控制拓扑的一个真子集,通常数据传输是 沿组播树的结构分发的。网优先的结构在维护这个控制拓扑上要花费很大的开销, 每个节点都需要维护几乎整个组播组的节点,不利于大规模的组播系统。树优先 的结构相对网优先来说控制拓扑的开销比较少,但是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大连淘宝代运营服务合同涵盖店铺优化及数据分析
- 说课课件公众号
- 语言文字规范知识培训教案课件
- 2025浙江省医疗机构安全保卫劳动合同
- 红色足迹课件
- 2025现代企业合同管理中存在的问题及解决的对策
- 农业发展农业科技投入优惠合作协议
- 红楼梦第3回课件
- 红楼梦判词课件
- 红楼梦元春课件
- 汽车传感器的原理与应用课件
- 电梯每日巡视检查表
- 《健康评估技术》课件-7.《发绀》
- 《分析化学总复习》课件
- 《生物试卷分析》课件
- 皮肤科常见疾病瘙痒症护理的课件
- 2023年湖北黄石新港(物流)工业园区总工会协理员招考聘用笔试历年难易错点考题荟萃附带答案详解
- 电力电子技术(第3版)PPT全套完整教学课件
- 招投标结果申诉函
- 内部准驾证管理办法
- dd5e人物卡可填充格式角色卡夜版
评论
0/150
提交评论