(计算机应用技术专业论文)基于区分应用分层环状应用层组播模型的研究与设计.pdf_第1页
(计算机应用技术专业论文)基于区分应用分层环状应用层组播模型的研究与设计.pdf_第2页
(计算机应用技术专业论文)基于区分应用分层环状应用层组播模型的研究与设计.pdf_第3页
(计算机应用技术专业论文)基于区分应用分层环状应用层组播模型的研究与设计.pdf_第4页
(计算机应用技术专业论文)基于区分应用分层环状应用层组播模型的研究与设计.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(计算机应用技术专业论文)基于区分应用分层环状应用层组播模型的研究与设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京邮电大学硕士研究生学位论文 摘要 摘要 近年来,随着i n t e m e t 的迅速普及,产生了许多新的应用,其中不少是高带宽的多媒 体应用,譬如网络视频会议、网络音频视频广播。这就带来了带宽的急剧消耗和网络拥 挤问题。为了缓解网络瓶颈,人们提出采用a p p l i c a t i o nl a y e rm u l t i c a s t ( 译为组播、多播或 多路广播,下文不加区分) 技术。 此类应用无需修改网络配置,只在终端实现。但是同时它们也带来了一些很严重的问 题,例如对网络资源的无节制的掠夺与浪费等等。于是如何提高应用层组播的服务质量就 成了迫在眉睫需要解决的问题。 本文提出一种高效的层次环状结构应用层组播模型,该模型以环形结构为基础,具有 混乱情况下自愈性强、传输数据速度快等优点;在数据传输时根据实际应用采取p u s h 和 p u l l 相结合的方法,同时取消了分层组播模型中的层中控制节点,降低了结构的复杂性; 并根据网络状况的变化动态优化系统的拓扑结构。通过仿真试验得知应用该模型的应用层 组播其性能得到提高。 关键词:应用层组播,层次环,区分应用,动态优化,服务质量 南京邮电大学硕士研究生学位论文 a b s t r a c t a b s t r a c t i nr e c e n ty e a r s ,w i t ht h er a p i dp o p u l a r i z a t i o no fi n t e r n e t ,c o m ef - o 劬s o m en e w a p p l i c a t i o n s ,m a n yo fw h i c ha r em u l t i m e d i aa p p l i c a t i o n s ,f o re x a m p l e :v i d e o c o n f e r e n c i n g ,n e t w o r kv i d e ob r o a d c a s t b u tt h e s ea p p l i c a t i o n sb r i n gb o t ht h er a p i d b a n d w i d t hc o n s u m p t i o na n dt h en e t w o r kc o n g e s t i o np r o b l e m i no r d e rt oa l l e v i a t e t h en e t w o r kb o t t l e n e c k ,a p p l i c a t i o nl a y e rm u l t i c a s tw a sp r o p o s e d h a sb e e n p r o p o s e d i to n l yn e e dt ob es u p p o r t e db yt e r m i n a ls y s t e m b u ts i m u l t a n e o u s l yt h e ya l s o h a v eb r o u g h ts o m ev e r ys e r i o u si s s u e s ,s u c ha st h eu n c o n t r o l l e de x p l o i t a t i o no ft h e i n t e r n e ta n daw a s t eo fr e s o u r c e sa n ds oo n s oh o wt oe n h a n c et h eq u a l i t yo f s e r v i c eo f a l mb e c o m e st h ep r o b l e mw h i c hi si m m i n e n tt ob es o l v e d t h i s p a p e rp r e s e n t s a ne f f i c i e n t a p p l i c a t i o nl a y e r m u l t i c a s tm o d e lw i t h h i e r a c h i c a l r i n ga r c h i t e c t u r e t h em o d e lc a nt r a n s m i td a t aw i t hh i g hs p e e da n d r e s u m ei t s e l fi nad i s o r d e r e ds i t u a t i o n ;i tc h o o s e sp u l l i n go rp u s h i n gt h ed a t a a c c o r d i n gt ot h ea p p l i c a t i o n sd u r i n gt r a n s m i s s i o n t h em o d e lc a n c e l st h el e a d e r n o d et or e d u c et h es t r u c t u r ec o m p l e x i t y a n da l s o ,i to p t i m i z e st h et o p o l o g y d y n a m i c a l l yc o r r e s p o n d i n g t ot h es t a t u so ft h ec u r r e n te n v i r o n m e n t t h r o u g h n e t w o r ks i m u l a t i o n ,b e t t e rp e r f o r m a n c ec o m p a r e dt oo t h e rr e l a t i v em o d e l si s a c h i e v e d k e y w o r d s :a p p l i c a t i o n - l a y e rm u l t i c a s t ,h i e r a c h i c a l r i n g ,d i f f a p p ,d y n a m i c a l o p t i m i z a t i o n ,q u a l i t y o fs e r v i c e u 南京邮电大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得南京邮电大学或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意。 研究生签名:碰害塾日期靼 南京邮电大学学位论文使用授权声明 南京邮电大学、中国科学技术信息研究所、国家图书馆有权保留 本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其 他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一 致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权 南京邮电大学研究生部办理。 研究生签名:燃 导师签名: 迦魄4 必 南京邮电大学硕士研究生学位论文 第章绪论 1 1 研究背景与目的 第一章绪论 随着i n t e m e t 在商业和家庭中的普及,网站和个人发布资源的极大丰富,人们对于从 网络下载资源也越来越热衷。在传统的c l i e n t s e r v e r 模式下,所有的用户都需要连接服务 器并从服务器处获得资源,对服务器来说连接越多,服务器的负担越重,对客户机来说下 载速度严重依赖于网络带宽和其地理位置,并且对网络状态的要求很高,如果在服务器到 客户机之间的网络处于繁忙状态则客户机的下载速度将会越来越低。 i n t e m e t 中的多媒体应用逐渐增多。这些多媒体应用,例如视频点播、网络直播、视频 会议、媒体文件分发,可以为用户带来丰富的视听体验。多媒体数据已经成为i n t e m e t 中 的数据流的重要部分【1 1 。这些应用的共同特点是数据量大、接收者多、对服务质量( q u a l i t y o f s e r v i c e ,q o s ) 有要求严格。如果这些多媒体应用中的每个接收者同时建立单独的单播连 接到服务器,将会消耗服务器端大量的网络带宽,使服务器性能下降。 为了适应多媒体应用和快速下载的这些特点,在i n t e r n e t 中需要使用可扩展的数据传 输技术。组播是一种同时发送数据到多个接收者的有效通信方式。1 9 8 8 年d e e r i n g 提出在 i p 层实现组播功能的框架【2 1 。i p 组播的核心思想是通过在路由器对数据复制,从而转发给 加入组播组的每个接收者。尽管i p 组播的研究已经进行了1 0 多年,但是由于技术和商业 模式上的难题【3 j ,i p 组播目前并没有在i n t e m e t 上得到广泛的应用。在技术上,首先,为 了提供组播转发,需要在路由器上添加组播组管理协议,例如i g m p t a j ,来维护组播接收 者的状态信息,并且需要运行组播路由协议,例如d v m r p l 5 1 、m o s p f 6 1 来转发数据,在 路由器上的开销使得i p 组播的扩展性差;其次,提供i p 组播需要对i n t e m e t 的所有不支持 i p 组播的路由器进行更换,代价太大;另外,现有的i p 组播缺乏有效的安全性、可靠性、 以及拥塞控制等机制。最后就是商业的因素,不同互联网运营商( i n t e m e ts e r v i c ep r o v i d e r , i s p ) 之间通常有服务级别协议( s e r v i c el e v e la g r e e m e n t ,s l a ) ,不同i s p 通常按照网络间的 数据包流量计费结算。从其他i s p 网络传入某个i s p 网络的单个口组播数据包,可以在该 i s p 网络内部复制成多个,然后传到第三方i s p 网络,从而造成计费的不对称。因此,即 使有的路由器具有口组播功能,i s p 也没有开放路由器对i p 组播功能的支持。 由于i p 组播固有的问题,其他的解决方案吸引了广泛研究,主要包括基于对等网络 堕室唑皇奎堂堡主堕窒圭兰垡丝奎堑二雯堕笙 ( p e e r - t o p e e r ,p 2 p ) t 7 】【8 】的方案,以及基于内容分发网络( c o n t e n dd i s t r i b u t i o nn e t w o r k ,c d n ) 9 1 的方案。p 2 p 网络中没有集中的服务器,每个端系统既做客户端,也作服务器。与传统的 c l i e n t s e r v e r 模型相比,p 2 p 的端系统间通过协作,具有更大的灵活性。c d n 是一组地理 上分散的边界服务器构成的o v e r l a y 网络,这些边界服务器上复制了相同的内容,用户对 某一内容的访问会被定向到离用户最近的边界服务器,这样用户对内容的访问时延得到了 减小。 无论是基于p 2 p 网络还是基于c d n 的解决方案,都是需要把源内容从一个发送者传 输到多个接收者。因此,应用层组播( a p p l i c a t i o nl a y e rm u l t i c a s t ,a l m ) 技术近年来吸引了 广泛的研究【1 0 】【l l 】【1 2 】【1 3 1 。与m 组播不同的是,a l m 不需要路由器提供i p 层组播功能,端 系统之间通过单播连接,在应用层建立一个虚拟的o v e r l a y 网络,一些接收者收到数据后, 通过单播连接再转发给其他接收者。a l m 与i p 组播的根本区别在于,a l m 在端系统实现 复制转发,而i p 组播必须要在路由器上实现。 a l m 具有很多优点。首先,a l m 不需要对现有的i n t e m e t 底层进行修改,只需要通 过端系统之间的协作,在应用层就可以实现组播。其次,a l m 可以直接利用现有单播传输 成熟的拥塞控制、可靠性等机制,因而可以很方便得到实用。最后,由于端系统具有比路 由器更多的资源( c p u 处理能力,存储) ,a l m 可以利用这些资源来优化时延、吞吐率等性 能。因此,a l m 并不是m 组播的简单替代品,a l m 具有很好的应用前景。 i n t e m e t 上现有流行的组播应用,比如实时直播,文件分发,视频点播等,都可以利用 a l m 实现。但是a l m 本身也有很多问题,下文将在详细介绍这些问题的同时给出解决办 法。 1 2 论文内容安排 论文共分六章,首先阐述了应用层组播产生的原因和发展,然后介绍应用层组播存在 的问题,在分析问题的同时提出自己的解决方案,最后对提出的方案加以论证。 第一章为绪论,主要讲述论文的研究背景、目的与内容的章节安排。 第二章首先介绍组播与单播、广播的区别,然后介绍组播在i p 层的应用及其原理。 因为组播首先是应用在i p 层上的,由特殊的设备支持。正是由于i p 组播对网络的要求较 高所以难以部署。由此引出了应用层的组播技术。 第三章介绍应用层组播的原理及其应用,在分析应用的同时指出其弊端所在。并分析 应用层组播的相关技术和构建应用层组播模型的关键因素。 2 南京邮电大学硕士研究生学位论文 第一章绪论 甭面覃茬磊三焉溪汪活磷端的基础上提出一种新的应用层组播模型,并详细介绍组播 模型的构建、系统设计、拓扑维护、传输算法以及安全因素的考虑。 第五章对第四章提出的模型进行试验仿真,首先介绍模型参数的含义,并详细描述通 过仿真平台建立模型的过程。最后分析结果、得出结论。 第六章先总结新模型的特点,然后提出还有待解决的问题。 南京邮电火学硕士研究生学位论文 第二章i p 层组播原理与缺陷 第二章i p 层组播原理与缺陷 近年来在i n t e m e t 上产生了许多新的应用,譬如网络视频会议、网络音频视频广播、 a o d v o d 、股市行情发布、多媒体远程教育、c s c w 协同计算、远程会诊。这就带来了 带宽的急剧消耗和网络拥挤问题。为了缓解网络瓶颈,人们提出各种方案,归纳起来,主 要包括以下四种: ( 1 ) 增加互连带宽: ( 2 ) 服务器的分散与集群,以改变网络流量结构,减轻主干网的瓶颈: ( 3 ) 应用q o s 机制,把带宽分配给一部分应用; ( 4 ) 采用i pm u l t i c a s t 技术。 比较而言,i p 组播技术有其独特的优越性在组播网络中,即使用户数量成倍增长, 主干带宽不需要随之增加。这个优点使它成为当前网络技术中的研究热点之一。 2 1 组播网络的工作原理 组播是一种允许一个或多个发送者( 组播源) 发送单一的数据包到多个接收者( 一次 的,同时的) 的网络技术。组播源把数据包发送到特定组播组,而只有属于该组播组的地 址才能接收到数据包。组播可以大大的节省网络带宽,因为无论有多少个目标地址,在整 个网络的任何一条链路上只传送单一的数据包。图2 - 1 、图2 - 2 和图2 - 3 为基于三种通讯 方式的网络结构和数据传递过程。 单播( u n i c a s t ) 传输:在发送者和每一接收者之间需要单独的数据信道。如果一台主 机同时给很少量的接收者传输数据,一般没有什么问题。但如果有大量主机希望获得数据 包的同一份拷贝时却很难实现。这将导致发送者负担沉重、延迟长、网络拥塞;为保证一 定的服务质量需增加硬件和带宽。 组播( m u l t i c a s t ) 传输:它提高了数据传送效率。减少了主干网出现拥塞的可能性。组播组中的 主机可以是在同一个物理网络,也可以来自不同的物理网络。 广播( b r o a d c a s t ) 传输:是指在i p 子网内广播数据包,所有在子网内部的主机都将 收到这些数据包。广播意味着网络向子网主机都投递一份数据包,不论这些主机是否乐于 接收该数据包。然而广播的使用范围非常小,只在本地子网内有效,因为路由器会封锁广 播通信。广播传输增加非接收者的开销。 4 南京邮电大学硕士研究生学位论文 第二章i p 层组播原理与缺陷 接收者1 接收者2 接收者3 接收者4接收者5 图2 1 单播方式实现组播功能 接收者1接收者2接收者3接收者4接收者5 口口口口口口口口口口口口口图2 2 组播方式实现组播功能 接收者接收者 数据源接收者接收者 图2 3 广播实现组播功能 2 2i p 组播简介 2 2 1i p 组播的前提条件 实现i p 组播传输,则组播源和接收者以及两者之间的下层网络都必须支持组播。这包 括以下几方面: ( 1 ) 主机的t c p i p 实现支持发送和接收i p 组播; 5 堕室堕皇奎兰堡主竺壅皇兰垡笙奎 至三垦! ! 星望堡壁堡皇墼堕 ( 2 ) 主机的网络接1 2 1 支持组播; ( 3 ) 有一套用于加入、离开、查询的组管理协议,即i g m p ( v l ,v 2 ) : ( 4 ) 有一套i p 地址分配策略,并能将第三层i p 组播地址映射到第二层m a c 地址; ( 5 ) 支持i p 组播的应用软件; ( 6 ) 所有介于组播源和接收者之间的路由器、集线器、交换机、t c p i p 栈、防火墙均 需支持组播。 目前,i p 组播技术得到硬件、软件厂商的广泛支持,比如,新生产的以太网卡几乎都 支持组播;c i s c o 的路由器不仅支持d v m r p 、p i m 路由协议、i g m p 组管理协议,而且支 持c i s c o 专有c i s c o 组管理协议c g m p ,再如微软的w i n d o w s9 5 支持i p 组播和i g m p v l , 而w i n d o w s9 8 还支持i g m p v 2 。对于不支持i p 组播传输的中间路由器采用i p 隧道技术 作为过渡方案。 2 2 2 组播地址分配 在组播通信中,我们需要两种地址:一个i p 组播地址和一个e t h e m e t 组播地址。其中, i p 组播地址标识一个组播组。由于所有i p 数据包都封装在e t h e m e t 帧中,所以还需要一 个组播e t h e m e t 地址。为使组播正常工作,主机应能同时接收单播和组播数据,这意味着 主机需要多个i p 和e t h e m e t 地址。 i p 地址方案专门为组播划出一个地址范围,在i p v 4 中为d 类地址,范围是2 2 4 0 0 0 到2 3 9 2 5 5 2 5 5 2 5 5 ,并将d 类地址划分为局部链接组播地址、预留组播地址、管理权限组 播地址;在i p v 6 中为组播地址提供了许多新的标识功能,图2 - 4 为i p v 4 和i p v 6 的组播地 址格式,其中i p v 6 中特殊域的定义见表2 - 1 。 i p v 4 组播地址格式 b i t 壁! 兰墨兰; l1loi 组标示符 i l h 6 组播地址格式 o78l l1 2 1 5 1 61 2 7 图2 - 4 口i p v 4 和i p v 6 的组播地址格式 6 南京邮电大学硕士研究生学位论文第二章i p 层组播原理与缺陷 表2 1i p v 6 中特殊域的定义 域值含义 f l a g s 0 0 0 0 永久组播地址 0 0 0 1 动态组播地址 s c o p e 0 0 0 1 本地地址 0 0 1 0本地链路 0 1 0 1 本地网点 1 0 0 0 本地组织 1 1 l o 全局组播地址 其他保留或未指定 局部链接地址:2 2 4 0 0 0 , - - 2 2 4 0 0 2 5 5 ,用于局域网,路由器不转发属于此范围的i p 包; 预留组播地址:2 2 4 0 1 0 - - 2 3 8 2 5 5 2 5 5 2 5 5 ,用于全球范围或网络协议; 管理权限地址:2 3 9 0 0 0 - - 2 3 9 2 5 5 2 5 5 2 5 5 ,组织内部使用,用于限制组播范围; i p 组播帧都使用以0 x 0 1 0 0 5 e x x x x x x 的2 4 位前缀开始的m a c 层地址,但只有其 中的一半m a c 地址可以被p 组播使用,剩下的m a c 地址空间的2 3 位作为第三层i p 组播 地址进入第二层m a c 地址的映射使用。由于第三层i p 组播的2 8 位地址不能映射到只有2 3 位的可用m a c 地址空间,造成有3 2 :1 的地址不明确,所以主机c p u 必须对收到的每一 个组播数据包做出判断。这增加了主机c p u 的开销。此外,还产生抑制第二层局域网交换 的组播扩散问题。 2 2 3 组播树 在单播模型中,数据包通过网络沿着单一路径从源主机向目标主机传递,但在组播模 型中,组播源向某一组地址传递数据包,而这一地址却代表一个主机组。为了向所有接收 者传递数据,一般采用组播分布树描述i p 组播在网络里经过的路径。 组播分布树有三种基本类型:泛洪法、有源树、共享树。 1 洪泛法( f l o o d i n g ) 这是最简单的向前传送组播路由算法,并不构造所谓的分布树。其基本原理如下:当 组播路由器收到发往某个组播地址的数据包后,首先判断是否是首次收到该数据包,如果 7 南京邮电大学硕士研究生学位论文 第二章i p 屡组播原理与缺陷 是首次收到,那么将其转发到所有接口上,以确保其最终能到达所有接收者;如果不是首 次收到,则抛弃该数据包。 2 有源树 有源树也称为基于信源的树或最短路径树( s h o r t e s tp a t ht r e e ,s p t ) 。它是以组播源 为根构造的从根到所有接收者路径都最短的分布树。如果组中有多个组播源,则必须为每 个组播源构造一棵组播树。由于不同组播源发出的数据包被分散到各自分离的组播树上, 因此采用s p l 有利于网络中数据流量的均衡。 3 共享树 共享树也称r p 树( i 心t ) ,是指为每个组播组选定一个共用根( 汇合点r p 或核心) , 以i 心为根建立的组播树。同一组播组的组播源将所要组播的数据单播到r p ,再由r p 向其 它成员转发。目前,讨论最多同时也是最具代表性的两种共享树是s t e i n e r 树和有核树。 s t e i n e r 树是总代价最小的分布树,它使连接特定图中的特定组成员所需的链路数最少。 有核树是由根到所有组成员的最短路径合并而成的树。 2 2 4 组管理协议i g m p 主机使用i g m p 通知子网组播路由器,希望加入组播组;路由器使用i g m p 查询本地子 网中是否有属于某个组播组的主机。 1 加入组播组 当某个主机加入某一个组播组时,它通过“成员资格报告 消息通知它所在的i p 子 网的组播路由器,同时将自己的i p 模块做相应的准备,以便开始接收来自该组播组传来 的数据。如果这台主机是它所在的i p 子网中第一台加入该组播组的主机,通过路由信息 的交换,组播路由器加入组播分布树。 2 退出组播组 在i g m p v l 中,当主机离开某一个组播组时,它将自行退出。组播路由器定时( 如1 2 0 秒) 使用“成员资格查询”消息向i p 子网中的所有主机的组地址( 2 2 4 0 0 1 ) 查询,如果某 一组播组在i p 子网中已经没有任何成员,那么组播路由器在确认这一事件后,将不再在子 网中转发该组播组的数据。与此同时,通过路由信息交换,从特定的组播组分布树中删除 相应的组播路由器。这种不通知任何人而悄悄离开的方法,使得组播路由器知道i p 子网中 已经没有任何成员的事件延时了一段时间,所以在i g m p v 2 0 中,当每一个主机离开某一 个组播组时,需要通知子网组播路由器,组播路由器立即向i p 子网中的所有组播组询问, 南京邮电大学硕士研究生学位论文第二章i p 层组播原理与缺陷 从而减少了系统处理停止组播的延时。 2 3i p 组播特点 2 3 1 组播的可靠性 从端到端传输延迟和可靠性方面考虑,组播应用可大致分为三类。 ( 1 ) 实时交互应用,如视频会议系统,这类应用对可靠性要求相对较低,但对端到端 传输延迟和网络抖动的要求很高。 ( 2 ) 实时非交互型应用,如数据广播,这类应用传输延迟要求相对前一类应用较低, 但在一定延迟范围内,却对可靠性提出更高要求。 ( 3 ) 非实时应用,如软件分发,这类应用中,可靠性是最基本的要求,在满足可靠性 要求的前提下,必须保证传输延迟在可接受的范围之内。 对于不同类型的应用必须在确认方式( 肯定确认a c k 和否定确认n a c k ) ,集中确认 与分布确认、重传机制、重传范围、流量控制、拥塞控制、e n d t o e n d 延迟和广播延迟、 网络抖动、可伸缩性与网络的异构性等方面做出综合考虑,提出相应的解决办法。 i p 组播数据包典型使用用户数据报协议( u d p ) ,而u d p 是一种“尽力而为”( b e s t - e f f o r t ) 协议。因此,i p 组播应用必定会遇到数据包丢失和乱序问题。 迄今为止,尽管在广域网环境中已经存在许多可靠组播协议,包括可靠组播协议 ( r e l i a b l em u l t i c a s tp r o t o c o l ,r m p ) 、可扩展可靠组播( s c a l a b l er e l i a b l em u l t i c a s t ,s r m ) 、 基于日志的可靠组播( l o g b a s e dr e l i a b l em u l t i c a s t ,l b r m ) 和可靠组播传输协议( r e l i a b l e m u l t i c a s tt r a n s p o r tp r o t o c o l ,r m t p ) ,但组播的可靠性研究仍然是国际上的重点研究课题 之一。 2 3 2 组播的安全性 安全组播就是只有注册的发送者才可以向组播组发送数据,只有注册的接收者才可以 接收组播数据。然而i p 组播很难保证这一点。 首先,p 组播使用u d p ,任何主机都可以向某个组播地址发送u d p 包,并且低层组 播机构将传送这些u d p 包到所有组成员。其次,i n t e m e t 缺少对于网络层的访问控制。第 三,组成员可以随时加入退出组播组。这几点使组播安全性问题同组播的可靠性问题一样 9 塑塞墅皇奎堂婴主婴壅圭堂垡笙壅茎三至堡星望堡堕望兰鳖堕 难以解决。 总的来说,安全组播可分为集中式和分布( 分层) 式密钥管理体系。目前,对于组播 安全性问题已有n a i v e 密钥管理、i o l u s 、n o r t e l 框架和( s e c u r er e l i a b l em u l t i c a s t ,s r m ) 等解决方案。然而现有的解决方案都不同程度的存在不足,安全组播仍然是一个技术难点。 2 3 3 网络的异构性导致组播的复杂性 i n t e m e t 是一个异构网络,这种异构性表现在很多方面。第一,i n t e r n e t 的低层硬件平 台千差万别,可以是e t h e m e t 、a t m 、f d d i 、令牌环网、帧中继、串行链路( p s t n 、x d s l ) 、 无线网络、卫星网络、移动网络等等。这些低层网络具有不同的带宽、硬件存取控制方式、 时延特征。在多链路情况下,各链路的带宽与代价也可能不同。另外,某些网络平台的数 据链路具有非对称性,比如x d s l 和卫星网络。第二,主机的硬件处理能力和操作系统各 不相同。就操作系统而言,主要的操作系统,如u n i x 、w i n d o w s 、m a c o s 、o s 2 有不同 的变种和版本,对i p 组播的支持程度、进程的调度与管理、t c p i p 的实现方式和a p i 都 有差异。第三,互连设备的差异。路由器、交换机、网络服务器在背板能力、包转发率、 支持的路由协议的互操作性方面都不尽相同。这些异构性都导致在实现口组播网络时的复 杂性。 网络中不同部分的带宽不同、接收者的处理要求和处理能力不同,而所有接收者都要 与同一组播源交互,这就要求采取某些方法使得每一个接收者接收到与其接收能力和从组 播源到接收者之间带宽相适合的数据流( 即公平性) 。a t m 面向连接的特点在i p 组播传输 中带来了新的问题,这使i p 组播与删组播具有不同特点。 所以,在设计i p 组播网络时,必须充分考虑到网络的异构性。 2 4i p 组播的问题和解决办法 i p 组播存在以下问题: ( 1 ) 路由器必须为每个组播组保存状态,扩展性差; ( 2 ) 要求所有路由器都支持,不利于推广使用; ( 3 ) 用统一的模型来适应所有应用,算法设计困难; ( 4 ) 组播组加入、退出和管理等开销大; ( 5 ) 组播地址空间太小; ( 6 ) 打破了传统的根据进入流量计费的机制; 1 0 南京邮电大学硕士研究生学位论文 第二苹i p 层组搔原理与缺陷 ( 7 ) i p 组播由于自身的特点在安全、拥塞控制等方面也存在漏洞。 可知实现i p 组播对网络层设备有较大的依赖,需要对组播路径上所有的网络层设备进 行调整和升级,为大范围部署i p 组播带来了阻碍。口组播要求在路由器维护每个组播会 话的状态信息,增加了路由设计的复杂度和控制开销,对一些热点问题( 如域间路由) 上 仍然没有好的解决方案。另外,i p 组播缺乏有效的可靠性机制和拥塞控制手段,且缺乏有 效的计费机制等,使得i s p 在网络层进行组播业务时格外小心。 从以上对于坤组播的介绍可以看出m 组播技术自身有很多难以解决的问题,限制了 i p 组播得发展。于是应用层组播技术a l m 技术得到越来越多的应用,应用层组播的基本 思想是将组成员组织成一个覆盖网络( o v e r l a yn e t w o r k ) ,通过组成员之间的协作实现高效、 可靠的数据传输服务。应用层组播将路由器的组播功能提升至端主机的应用层实现,即组 成员主机在接收报文的同时,还将报文复制并传递给其它组成员主机,实现了应用层的数 据组播( 而报文在网络层实际是用单播机制传送的) 。它不改变网络的基础设施的结构, 仅在终端主机上实现组播转发功能,所以也被称为终端系统组播。如b t 、e m u l e 、s k y p e 、 i m 即时通信工具、网络直播软件等等。这些应用都提供了快速的数据下载和视频直播服务。 南京邮电大学硕士研究生学位论文 第三章应用层组播协议与应用 第三章应用层组播协议与应用 向大规模的用户群提供高质量、可交互的服务一直都被认为是当今i n t e r n e t 技术发展 的主要目标之一。传统的c l i e n t s e r v e r 架构远远不能满足大量并发用户对高质量服务的需 求。 基于此目前有两种主流的解决方法,其一就是通过i p 层的组播技术和客户端流合并技 术来提高系统的并发服务量。然而由于i p 层组播在通用性、可靠性、安全性等方面存在的 缺陷,使得这种技术在实际网络环境应用中没有得到有效的推广。 其二就是取代口组播而在应用层实现的组播技术,能够满足集群用户的服务要求,人 们为此建立了很多模型:n i c e 【12 1 ,n 枷a 【1 4 1 ,g o s s 锄e r 【1 5 1 ,r m x 1 6 1 ,c h o r d t l7 1 ,c a n 1 8 】等 等。此类在应用层实现组播的技术在某些应用上甚至是用户越多,更能得到及时和优质的 服务。 应用层组播与口组播的主要区别: ( 1 ) 报文转发位置。应用层组播数据转发节点是覆盖式网络中的终端主机,而m 组播 的报文转发必须由核心路由器来处理; ( 2 ) 网络拓扑的创建方法。应用层组播的覆盖式网络是由节点间直连而成的一个虚拟 图( 有向图或无向图) ,完全隐藏了底层的物理网络拓扑。这种覆盖式网络拓扑是完全可 控的,且可以利用一些额外的知识或特定的度量对网络拓扑进行优化。而在i p 组播中, 路由器是预先部署的,因此网络拓扑难以控制和改变; ( 3 ) 组成员关系维护。i p 组播的组成员关系信息分布于组播路由器,而应用层组播的 成员关系由系统中的会聚点集中控制或完全分散于各个节点。 应用层组播协议的种类和应用有很多种,下面将介绍目前流行的分层组播模型n i c e 和环状结构模型c h o r d 。 3 1 应用层组播协议 3 1 1n i c e 协议 n i c e 协议是一种可扩展的应用层组播协议,支持带有大量接收者的低带宽数据流应 用。它的优点在于根据建立的覆盖( o v e r l a y ) 网络来隐性的确定组播树,这样在覆盖网络的 1 2 塑塞塑皇奎堂堡主堕壅竺堂垡丝茎蔓兰雯壁旦星丝堡塑坚皇壁旦 顶部就不需要额外的路由算法。 1 组织结构 n i c e 协议将组播成员集合安排到一个如图3 1 的层次结构中。这种层次结构通过分配 成员到不同的层来创建,层数用l 表示,从最底层l o 开始逐层递加。所有的成员都加入到 k 层。每层上的主机被划分为各个群集( c l u s t e r ) ,群集的大小在k 和3 k - i ( k 是常数) 之间。 每个群集都有领导( l e a d e r ) ,从图论的角度说,领导是群集的中心,也就是群集中到其它节 点的最大距离最小的主机。层l i 上各群集的领导组成l i + 1 层。这里定义超群集( s u p e r - c l u s t e r ) 的概念:设任意主机x ,仅属于层l o l i + 1 ,让 x y z 是l 层的群集,他的领导是y ,那 么x 的超群集就是l 。m 也就是它的领导y 所属的层。 图3 一ln i c e 的结构 2 协议的工作原理 本节详细描述n i c e 协议的工作原理。首先,假定存在这样一个主机被称为r p 主机, 每个想要加入组播组的主机通过与l i p 联系来初始化加入过程。为简便起见,假定r p 不是层 次结构的一部分,且保持同最高层群集的领导之间的联系( 如图3 1 ) 。 1 ) 组播树的创建 n i c e 协议中有两种路径:一种是控制路径,一种是数据传输路径。为了使得控制信息 更快更好的在控制路径上汇聚且不产生比较高的开销,n i c e 协议采用了一种连通性比较高 的控制路径结构,选用树作为数据传输路径。n i c e 协议中的数据路径是由控制路径隐性决 定的,给定一个源就唯一地决定了一组组播路径( 如图3 3 所示,源为a o ) 。也就是说,在控 制路径上决定了一个分发数据的源点,也就决定了一棵做为组播树的源树( 女n t n 3 2 和图3 3 所示) 。 南京邮电大学硕士研究生学位论文第三章应用层组播协议与应用 a o 图3 - 2 传输控制信息的控制路径 2 ) 组播成员的加入 概括起来讲,组播成员的加入过程是一个由i 冲发起的,从层次结构的顶部开始的递归 过程。当一个新的组播成员加入时,它必须通过某种算法被映射到l o 层的某个群集中。下 面就用主机x 加入组播组的过程来具体描述成员加入组播组的步骤( 如图3 4 所示) 。 ( 1 ) x ) 发j o i nq u e r y 消息联系r p , r p 将最高层上的成员c 0 作为默认的离c 0 最近的成员通 知给x 。 a 0 a 0 图3 - 3 传输数据信息的数据传输路径 图3 4 主机x 的加入过程 1 4 南京邮电大学硕士研究生学位论文 第三章应用层组播协议与成用 ( 2 ) c o 将以自己为领导的l l 层的群集中的成员b o ,b 1 ,b 2 通知给x ,x 搦o i nq u e r y 消息给 他们,并以此来测量这些成员到x 的距离,选择距离最近的那个( 这里设y 寸b 2 ) 作为下一轮 迭代查找的起点。 ( 3 ) 由于b 2 为领导的群集在l o 层,所以过程结束,x 加入b 2 所在的l o 层的群集。( 为简 便起见这里以三层结构为例,所以搜索群集的过程较简,若层次较多,新成员则要重复上 一步的查找过程直到找到l 0 层上包含离x 最近的成员的群集为止) 。 ( 4 ) 如果x 加入后,l o 层以b 2 为领导的群集的成员数超过t 3 k 1 ,则要将该群集分裂 成两个的群集,每个群集的成员数均为对( 3 k 1 ) h i l l 下取整;如果成员数没有超出范围则 加入过程结束。 ( 5 ) 分裂后的群集各自选出一个领导加入到他们的超群集中,而原来的领导b 2 从l l 层 中撤出。同样的,被加入的超群集若超过了3 i ( - 1 也要进行同样的分裂过程。至此,加入过 程结束。 3 ) 组播成员的离开 成员的离开比较简单,当某成员要离开组播组的时候,它就向组中所有的成员发送一 个l e a v e 消息,通知自己的离开。除此之外,如果群集中的成员发现在某个周期内没有接收 到成员x 的h e a r t b e a t 消息也认为x 离开了成员组。 成员离开组播组会触发其它的一些行为。 ( 1 ) 领导的选举:如果离开的是某个群集的领导,那么剩下的成员就通过相互间的距离 估计来推选出一个新的领导。如果新选出的领导不唯一,则在任两个候选领导间通过交流 l e a d e r t r a n s f e r 消息来协调,从而确定唯一的新领导。前文所述群集分裂后导致的领导选举 的过程也是这样的。 ( 2 ) 群集的合并:如果某个成员的离开导致其所在群集的成员数小于k ,就要进行群集 的合并。群集合并的机制阐述如下: 为了不失一般性,设定群集x ( l i 层) 领导为l ,l 还属于l i + i ,层中它的超群集y 。在y 中 离l 最近的成员是m ,m 是l i 层群集z 的领导。一旦发现自己为领导的群集的成员数小于k ( k 是常数) ,l 就发送c l u s t e r m e r g e r e q u e s t 消息给m ,初始化x 和z 的合并操作。l 和m 通过 c l u s t e r m e r g e r e q u e s t 消息更新各自为领导的群集x z 中的成员。合并完了以后,l 从l i + l 层撤 出。若合并后的群集成员数超过了3 k 1 的上限,则继续进行分裂操作,直到符合成员数的 限定要求为止。 南京邮电大学硕士研究生学位论文第三章应用层组播协议与应用 3 。1 。2c h o r d 协议 c h o r d 是一种大规模的分布式路由查找机制,具有可扩展,自组织等优点。c h o r d 项目 是m i t 的p 2 p 研究项目。在分布式系统中,资源的查找是个很重要也很棘手的问题,一般的 说来主要有两种方式 一种采用集中式的查找,有一个索引服务器,n a p s t e r 就是这种这种方式,还有诸如 l d a p ,都是这种方式的代表。这种方式虽然查找起来方便,但是容易受攻击,目录服务 器垮了这个系统也就不行了。这显然不能满足p 2 p 的技术要求( 但是在其他的分布式系统, 如g d d q h 却可以应用的很好) ,p 2 p 是针对于一般用户的,它的准入策略不能太严格,在开 始的情况下,只能假定所有人都是善意的。 另一种查找方式就是分散式的查找。在n a p s t e r 因法律问题而受到打压以后,研究人员 开始明白仅仅文件时分散是不够的,p 2 p 就是要完全的去中心化,但是怎么解决查找的问 题,很自然的一个思路就是采取一种“洪泛”的策略,把要查找的信息告诉所有知道的邻居, 这样递归的查找下去,最终肯定可以找到所需要的资源。采用这种方式最主要的有g n u t e l l a 和f r e e n e t 。 在对原有系统修修补补的同时,另外一些研究者确在思考全新的解决方案。既然集中 式和分散式各有优缺点,那么能不能把它们结合起来呢? 既不完全分散也不完全集中。把 所有索引信息,分别存放在很多节点之上,但是这又不能和那种多级索引一样,虽然分散 了索引,但是仍然有顶级节点,一旦最上面的索引服务器垮掉,整个系统还是垮了。 d h t 的全称是d i s t r i b u t e dh a s h i n gt a b l e ,分布式哈希表。从这个名称似乎已经隐约可 见端倪了,它的思想正是上面所提到的那样。不过为了哈希表放到不同的节点之上,还是 做了很精心的设计的,c h o r d 的设计也是非常巧妙的。p 2 p 的研究到此似乎也就走出了困境, 而各种d h t 算法也在c h o r d 之后如雨后春笋般的发展起来了。由于基于d h t 的p 2 ps y s t e m 和 以前的p 2 ps y s t e m 之间的一个显著的区别是为了保证各个节点能够h a s h n 另外的节点。所有 节点的i d 必须是预先规定的。因此被称为s t r u c t u r e dp 2 ps y s t e m ,有结构的p 2 p 系统。把以前 洪泛的p 2 p 系统称为u n s t r u c t u r e dp 2 ps y s t e m ,无结构的p 2 p 系统。 1 相容哈希 通过哈希函数,每个节点和关键字赋予一个m 位的标识符,节点的标识符即其i p 地址 的哈希值,关键字的标识符是其自身值的哈希值。m 值必须足够大,以保证任意两个节点 或关键字的标识相同的概率接近于零( 注:节点和关键字的标识符可以相同) 。 相容哈希将关键字分配给节点的方法:关键字的标识符按模2 m 的大小顺序,顺时针排 1 6 南京邮电大学硕七研究生学位论文第三章应用层组播协议与应用 列成个环,关键字k 赋予在环中从k 开始包括k ,顺时针方向找到的第一个节点。该节点 称为关键字k 的后继,记为s u c c e s s o r ( k ) 。如图3 5 所示,标识为1 0 的关键字信息保存在标识 为1 4 的节点中,标识为2 4 ,3 0 的关键字保存在标识为3 2 的节点中以此类推。 图3 5 关键字分配 n 3 2 图3 - 6f i n g e rt a b l e 定义 2 路由查找机制 因为所有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论