(信号与信息处理专业论文)基于mpls的分级聚集组播机制研究.pdf_第1页
(信号与信息处理专业论文)基于mpls的分级聚集组播机制研究.pdf_第2页
(信号与信息处理专业论文)基于mpls的分级聚集组播机制研究.pdf_第3页
(信号与信息处理专业论文)基于mpls的分级聚集组播机制研究.pdf_第4页
(信号与信息处理专业论文)基于mpls的分级聚集组播机制研究.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(信号与信息处理专业论文)基于mpls的分级聚集组播机制研究.pdf.pdf 免费下载

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

文档简介

中文摘要 组播( m u l t i c a s t ) 作为点对多点的传输机制对群组性的网络传输可以有效地 降低网络的带宽需求,这一特点对视频会议、远程教学、网络电视乃至电子邮件 群发等的传输,尤为重要。由于组播核心网络路由器必须记录每一个群组的信息, 当群组数量增多时,会给核心路由器造成沉重的负担,使得组播机制的延伸性受 到限制,也导致了组播机制不能普遍运用。 聚集树( a g g r e g a t e dt r e e ) 的采用能有效压缩核心路由器记录群组的数量, 但却有浪费带宽的弊端。本论文以聚集树概念为基础,提出分级聚集树的机制, 并将m p l s ( m u l t i p r o t o c 0 1l a b e ls w i t c h i n g ;多协议标记交换) 导入组播结构, 以压缩核心路由器需记录的状态数量、降低传输带宽需求并提高数据包交换速 率,从而使组播机制更有效率,提高网络性能。 本文在详细介绍分级聚集组播机制的基础上,使用n s 仿真软件进行了验证, 在组播树数量、核心路由器记录的状态数、不必要的数据传输等性能指标等方面 与传统组播进行了比较。结果表明,聚集组播有效地降低了组播树的数量,减轻 了核心路由器的负担,分级聚集组播更减少了不必要的数据传输,节省了网络带 宽,m p l s 的引入有效改善了网络的性能。 论文最后对如何对聚集组播进行有效的分级,以及如何应用m p l s 在组播中 提高网络的q o s 水平做了进一步的分析,并将此作为今后继续研究的方向。 关键词:组播、延伸性、m p l s 、聚集树 t h em u l t i c a s ts c h e m ew i t hi t s1 一t o m a n yp r o p e r t yc a ne f f e c t i v e l yr e d u c et h e n e t w o r kb a n d w i d t hr e q u i r e m e n to fg r o u pc o m m u n i c a t i o n s t h i sm u m c a s tm e t h o dc a n b ea d o p t e di nv i d e oe o n f e r e n e i n g ,d i s t a n c el e a r n i n g ,w e bt v , a n dd u p l i c a t e de m a i l d e l i v e r y h o w e v e r , b e c a u s ec o r er o u t e r si nm u l t i c a s ts y s t e m sh a v et or e c o r ds t a t u so f e a c hg r o u p ,t h ei n c r e a s eo fg r o u pn u m b e rc a u s e st h ei n c r e a s eo fc o r er o u t e rl o a d i n g t h i sr e s u l tl i m i t sm u l t i c a s t ss c a l a b i l i t y t h o u g ht h ea g g r e g a t e dt r e es c h e m ec a nr e d u c et h en u m b e ro fs t a t u sr e c o r d so f c o r er o u t e r s ,m e a n w h i l e ,i tc a u s e se x t r ab a n d w i d t hc o n s u m p t i o n t os o l v et h i s p r o b l e m ,t h i sp r o p o s a ld e v e l o p sah i e r a r c h i c a la g g r e g a t e dt r e es c h e m ea n da p p l i e s m p l s ( m u l t i - p r o t o c o ll a b e ls w i t c h i n g ) a si t ss w i t c h i n gs c h e m ea m o n ga g g r e g a t e d g r o u p s i ti se x p e c t e dt h a tb yr e d u c i n gt h ea m o u n to fr e c o r d e ds t a t u sa n db a n d w i d t h r e q u i r e m e n t ,t r a n s m i s s i o ne f f i c i e n c ya n dm u l t i c a s ta p p l i c a t i o nd e v e l o p m e n ta r e e n h a n c e da sw e l l p e r f o r m a n c ee v a l u a t i o nc o m p a r i n gt h eh i e r a r c h i c a la g g r e g a t e dm u l t i c a s ts c h e m e w i t ht h ec o n v e n t i o n a lm u l t i c a s ta r ec o n d u c t e du s i n gt h en e t w o r ks i m u l a t o r ( n s 2 ) s i m u l a t i n gr e s u l t sd e m o n s t r a t et h es u p e r i o r i t yo ft h es c h e m ei nr e d u c i n gt h et r e e n u m b e r s ,l i g h t e n i n gt h el o a do fc o r er o u t e r sa n dr e d u c i n gt h eu n n e c e s s a r yp a c k e t s t h ep a p e ra l s oa n a l y z e dt h eh i e r a r c h yo f a g g r e g a t e dm u l t i c a s ta n dh o wm p l si s a p p l i e di nm u l t i c a s t ,w h i c hi st ob ed e v e l o p e di nt h ef u t u r e k e y w o r d s - m u l t i c a s t 、s c a l a b i l i t y ,m p l s ,a g g r e g a t e dt r e e 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得叁叠盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:各寿 签字日期:修 年月眵日 学位论文版权使用授权书 本学位论文作者完全了解鑫生态堂有关保留、使用学位论文的规定。 特授权苤鲞盘堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:务琦 签字日期:l 陪年7 月习日 导师签名: 签字日期: 一6 年月椤日 天津大学硕士学位论文第一章绪论 第一章绪论 随着网络技术的不断发展,越来越多的新应用不断地出现,其中多媒体应 用如视频会议( v i d e oc o n f e r e n c i n g ) 、远程教学( d i s t a n c el e a r n i n g ) 及网络电视( w e b t v ) 等,更是受到极大关注,。多媒体信息的传输特点是“点对多点”,而这正是 组播( m u l t i c a s t ) 的重要特征之一。因而,组播技术是值得深入研究的课题。组播 一直存在着延伸性( s e a l a b i l i t y ) 的问题:因为组播不同于一般单播方式,单播在核 心路由是采用分层方式传输,由于组播地址( c l a s sd ) 并没有网络位与主机位的区 分,核心路由器必须记录每一个群组的信息。这些记录在群组越来越多的时候, 会使核心路由器的负担变重,降低网络运行效率;因此,延伸性对高效运用组播 机制至关重要。对于一般的组播传输特点,以图1 1 做简单的说明,若网络上有 三个群组在传输数据( 在图1 1 中分别以线卜- j 、 j 、j 代表不 同群组所经过的路径) ,数据经过各个核心路由器被传输到目的端,为实现组播 路由,核心路由器必须记录每个群组的信息,图1 。1 中的每台核心路由器必须记 录三个传输状态。当网络中组播的群组不多时,不会对核心路由器造成过大负 担,但当群组数目很多时,核心路由器也必须记录大量的群组状态信息,占用 大量的内存和c p u 资源,因而严重影响网络运行效率。 口 图1 - 1 组播传输方式 为解决上述问题,已经提出了很多压缩核心路由器记录群组状态数据的方 法,如:将传输的群组状态进行整合【l 】;仅由少数中间路由器记录群组的状态, 以减少其他核心路由器记录群组的数量;采用聚集树( a g g r e g a t e dt r e e ) 技术嘲等。 本文借鉴了聚集树技术。所谓聚集树是把原核心路由器记录群组的状态,聚集成 天津大学硕士学位论文 第一章绪论 较少的记录的方法,这里以图1 2 来说明采用聚集树后的组播传输方式。原来三 个群组的数据包,经过二次封装( e n c a p s u l a t e ) 后成为同一个群组的i p 包在核心网 络内传输,最后由末端路由器解封装( d e c a p s u l a t e ) 复原并转发至终端,完成组播 传输。可以看出,采用聚集树技术,核心路由器仅记录一个状态就可以了,比起 图1 1 中需要记录三个状态而言,核心路由器的状态信息的确减少了。 虽然聚集树压缩了核心路由器需要记录的群组信息,但也引入了另外一个 问题即带宽浪费。由图1 2 右半部分可以看到,每个路由器都接收到了三个群组 的i p 包,解封装出属于它本网段的i p 包,把不属于它的数据丢弃( d i s c a r d ) ,但 这些不需要的i p 包也是经过了核心网络之后才被丢弃的,浪费了网络带宽,使 得组播传输节省带宽的意义打了折扣。 口 口 口a 【i 图1 - 2 运用聚集树降低路由状态 为了发挥组播的特性,有效降低核心路由器处理路由的数据量,同时克服 采用聚集树技术造成的带宽浪费的缺陷,本文提出了一种新的组播结构,保留聚 集树的概念,进行分级设计,不但可以解决组播通信延伸性的问题也可以减少带 宽的浪费。而原来聚集树对i p 包的“封装 及“解封装”,在本文中采用m p l s ( 多 协议标记交换) 【5 】结构来实现,以得到更高的传输性能。在m p l s 的结构中,路 由器不需要根据i p 包头内的地址信息来决定数据的转发,仅仅根据标记值就可 以实现转发,所以与传统的方式相比,有较高的交换效率,可以在聚集树的结构 下同时提高核心网络i p 交换性能与速度。 将m p l s 运用在聚集树的情况以图1 3 为例说明,假设开始发送端送出三个 群组的i p 包,进入第一个m p l s 区域( m p l s l ) 之后,会被贴上m p l s l 的标记在 该域内传输,在进入m p l s 2 或m p l s 3 之前,会被过滤掉一些不需要的群组i p 包,然后再贴上各自的标记继续传输,最后在末端的路由器将i p 包还原,这样 天津大学硕士学位论文 第一章绪论 就可以减少不必要的数据传输。 由此可见,m p l s 分级聚集树的结构,不仅可以有效压缩核心路由器记录群 组的状态数据,还可以提高i p 包在核心网络的交换速度闱,同时也可以减少不 必要的数据传输。 口口 图1 - 3 分级聚集树 天津大学硕士学位论文第二章i p 组播基础 2 1 组播通信模型 第二章i p 组播基础 组播是点对多点的通信,但又不同于广播通信,它是同一数据包发送给一 组特定的目的对象( 群组) 的通信方式4 。当然,采用单播通信也可以实现, 但这意味着主机需将同一个包的多个拷贝发给多个不同的冲地址,如图2 1 所 示。 接收端4接收端5 图2 - 1 用单播通信模型实现组播功能 接收端l 接收端2 接收端3 随着接收者数量的增多,需要发出的包的数量也会线性增加。对于n 个接 收者,便要发出同一个包的n 份拷贝,接收者增多到一定数量,发送主机负担加 重,包之间的延迟也会相对增加,路由器( 图2 1 的路由器e ) 及其链路负载加 大。 在i p 组播通信模型中,需要两种新型地址:i p 组播地址和e t h e m e t 组播地 址。i p 组播地址标识着一组接收者,它们接收单个或多个源发给整个组的组播 数据。因为所有i p 包都封装在e t h e r n e t 帧内,所以还需要组播e t h e m e t 地址。 为使组播模型正常工作,主机要能同时接收单播和组播数据,这要求主机有一个 单播i p 和e t h e m e t 地址、零个或多个i p 和e t h e m e t 组播地址。如果主机不准备 接收组播通信,就选取零组播地址;如果准备接收某组播组的通信,就选取某一 组或某几组的i p 和e t h e m e t 组播地址。单播和组播地址之间的主要区别是对于 每一主机都有一个全球唯一的单播地址,而组播地址则不然,它允许同一或不同 天津大学硕士学位论文第二章i p 组播基础 网络中的一个或多个主机进取同一组播i p 地址。 在i p 组播模型中,主机可以根据高层应用的要求,自由加入或离开组播组。 同时路由器必须有相应的路由协议对组播通信进行控制:路由组播数据包、根据 组播组成员的变化动态判断是否将组播数据包路由到某一子网。组播通信模型如 图2 2 所示。 2 2 组播地址 2 2 1 组播i p 地址 图2 - 2 组播通信模型 接收端2 接收螭3 i p v 4 编址方案中将3 2 位二进制i n t e m e t 地址空间划分成五类地址:a 类、b 类、c 类、d 类和e 类。a b 、c 类地址用于单播,e 类地址保留,最高四位 二进制为1 1 1 0 的d 类地址为i p 组播地址,i p v 4 的d 类地址的格式如图2 8 所 示。用“点分十进制表示时,d 类地址的取值范围为2 2 4 0 0 0 - 2 3 9 2 5 5 2 5 5 2 5 5 。 d 类地址:2 2 4 0 0 1 子网上的所有主机 2 2 4 。0 。0 2 子网上的所有路由器 图2 3 d 类i p 地址格式 与其它三类( a 、b 、c ) 地址不同,除1 1 1 0 之外的2 8 位二进制不再区分 成网络号、主机号,而是作为一个整体标识某一组播组:加入该组播组的所有主 机均能够接收发往该组播组地址的数据包。属于一个组播组的主机可分布于 天津大学砸士学位论文 第二章i p 组播基础 网络中的一个或多个主机进取同一组播i p 地址。 在i p 组播模型中,主机可以根据高层应用的要求,自由加入或离开组播组。 同时路由器必须有相应的路由协议对组播通信进行控制:路由组播数据包、根据 组播组成员的变化动态判断是否将组播数据包路由到某子网。组播通信模型如 图2 - 2 所示。 2 2 组播地址 2 2 1 组播i p 地址 圈2 = 2 组播通信模型 擅杠2 i p v 4 编址方案中将3 2 位二进制i n l e m c t 地址空间划分成五类地址:a 类、b 类、c 类、d 类和e 类。a + b 、c 类地址用于单播,e 类地址保留,晟高四位 二进制为1 1 1 0 的d 类地址为i p 组播地址,i p v 4 的d 类地址的格式如图2 - 8 所 示。用“点分十进制表示时,d 类地址的取值范围为2 2 4 0 0 0 - 2 3 9 2 5 5 2 5 5 ,2 5 5 。 i ! i ! l ! i ! i塑塑璺坚塑堡! d 类地址:2 2 40 o 1 子网上的所有主机 2 2 4 0 0 2 子网上的所有路由器 国2 - 3 d 粪i p 地址格式 与其它三类( a 、b 、c ) 地址不同,除1 1 1 0 之外的2 8 位二进制不再区分 成阻络号、主机号,而是作为一个整体标识某一组播组:加入该组播组的所有主 机均能够接收发往该组播组地址的数据包。属于一个组播组的主机可分布于 机均能够接收发往该组播组地址的数据包。属于一个组播组的主机可分布于 天津大学硕士学位论文 第二章i p 组播基础 i n t e m e t 的任一子网。任一主机均可动态地加入或离开某一组播组。组播组中对 主机的数量没有限制,属于或不属于某一组播组的主机均可向该组播组发送数 据。 i p v 6 地址分为三类:单播、组播、任播。与i p v 4 一样,发往组播地址的数 据可以发送到该组的所有主机。任播地址虽然也是标识一组站点,但任播与组播 之间的区别在于数据传输的过程:发送给任播地址的数据不是直接发送给组的所 有成员,而是只发送给组中最近的个成员。i p v 6 地址由1 2 8 位二迸制数组成, i p v 6 的组播地址格式如图2 4 所示。 1 1 1 1 1 1 1 1标志范围 组播组i d ( 1 1 2 位) l f( 8 位)( 4 位)( 4 位) 标志:0 0 0 t t = 0 表示为知名地址 t = i 表示为临时地址 范围;限制组播组的范围 图2 4i p v 6 组播地址格式 2 2 2 数据链路层组播地址 本文只讨论i p 组播,以太网的地址空间用4 8 位二进制数表示,i a n a ( i n t e r n e t 地址分配机构) 拥有高2 4 位为0 x0 00 05 e 的以太网地址分配权,它 的范围是0 xo oo o5 e0 0o o0 0 到o xo o0 05 e f ff ff f 。i a n a 将其中的半分 配为组播地址:从o xo o0 05 eo o0 00 0 到o x0 00 05 e 7 f f ff f 。高八位为0 x0 1 的地址表示该地址为组播地址,即与i p 组播地址对应的以太网组播地址的范围 为:0 x 0 10 05 e0 00 00 0 0 x0 10 05 e7 f f ff f 。 2 2 3i p 组播地址到数据链路层组播地址的映射 所有i p 包都必须封装在e t h e m e t 帧内才能通过以太网发送,故i p 组播地址 必须映射为以太网组播地址:将i p 组播地址的低2 3 位映射到以太网组播地址的 低2 3 位, i p v 4 映射方式如图2 5 所示( i p v 6 基本相同,1 1 2 位中的3 2 位用于 形成以太网组播地址) 。 天津大学硕士学位论文 第二章i p 组播基础 o 1 7 旷1 51 62 32 43 1 1 1 1 0 i p 组播地址的低2 3 位复制。 1r 17 到对应以太网地址中 1 图2 - 5i p 组播地址到数据链路层组播地址i 的映射 组播地址中的最高5 位在映射过程中没有使用( i p v 6 组播地址在映射的过 程中未被使用的位数更多) ,因此每个以太网组播地址对应的i p 组播地址并不是 唯一的。如i p v 4 组播地址2 2 4 1 2 8 6 4 3 2 和2 2 4 0 6 4 3 2 都映射到周一以太网组 播地址0 x 0 10 05 e0 04 02 0 。 由于地址映射不唯一,网卡驱动程序或i p 层应能够对数据进行过滤。 组播源主机的进程将目的i p 地址设定为i p 组播地址,网卡驱动程序将它映 射为相应的以太网组播地址,然后进行发送。组播接收端的接收进程必须通知i p 层,它们想接收发往特定组播地址的数据包,“通知 的过程就是“加入组播组, 的过程。同一主机上接收进程的数目可以不只一个,允许在同一主机或多个主机 上存在多个接收者接收一个或多个组播组的数据。接收端的数据链路层将网络层 要加入的i p 组播组地址映射成以太组播地址。此后,凡目标地址与网络接口卡 组播地址一致的数据帧,网卡均将该帧逐层传输给i p 层、u d p ( 组播和广播数 据仅采用u d p 协议传输) 、接收进程,每一层均对组播数据进行过滤,判断它是 否为某一接收进程真正想要接收的数据,是则继续传输给上一层,否则丢弃。组 播通信减少了对应用不感兴趣主机的负担。使用组播,主机可动态加入个或多 个组播组,网卡便能确定该主机属于哪个组播组( 虽然有时映射不唯一) ,然后 只接收主机所在组播组中的组播帧。通过网卡来过滤数据帧比通过上层协议更有 效。 在网络中进行组播时,需要路由器转发组播数据包,所以情况比较复杂。 首先需要有一个协议组播路由器了解并确定与之直连的网络中有没有属于某一 组播组的主机,该协议在i p v 4 中是i g m p ( i n t e m e t 组管理协议) ,而在i p v 6 中, 组管理的功能由i c m p ( i n t e r n e t 控制报文协议) 实现。其次,要有组播路由协议 将组播数据包从组播源路由到各个接收者的物理网络。本章剩余的部分,将对这 些内容进行简要介绍。 天津大学硕士学位论文第二章i p 组播基础 2 2 4 网络群组管理协议( i g m p ) 网络群组管理协议( i n t e m e tg r o u pm a n a g e m e n tp r o t o c o l ;i g m p ) 是让主机可 以加入或离开群组的协议,目前共有三个版本:i g m p v l ( r f c l l l 2 ) 、i g m p v 2 ( r f c 2 2 3 6 ) 以及发展中的i g m p v 3 ( r f c 3 3 7 6 ) 。 以下就针对这三个版本来进行介绍。 ( 1 ) i g m p v l i g m p v l 是i g m p 协议的第一个版本,定义在r f c l l l 2 t 1 5 】文件中,图2 - 6 说 明i g m p v l 标头的格式内容,表2 1 给出了各字段的含义。最前的四位代表i g m p 版本号,第一版i g m p 值为0 0 0 1 。随后四位为t y p e 字段,该字段i g m p v l 只有 两种形态,t y p e = l 时为主机成员查询( h o s tm e m b e r s h i pq u e r y ) ,网络上的路由器 会每隔一段时间就对群组地址( 2 2 4 0 0 1 ) 发出查询,已确定网络上是否还有群组 成员的存在,t y p e = 2 时为主机成员报告( h o s tm e m b e r s h i pr e p o r t ) ,该信息是当 主机收到查询的消息或是要加入一个群组时所发出的。随后的8 位尚未使用 ( u n u s e d ) ,设为0 ,而后是用以检查错误的1 6 位校验码( c h e c k s u m ) ,最后的3 2 位则是记录组播所使用的群组i p 地址。 v e r ( 4 ) t y p e ( 4 ) u n u s e d ( 8 ) c h e c k s u m ( 1 6 ) g r o u p a d d r e s s ( 3 2 ) 图2 - 6i g m p v l 消息格式 表2 ii g m p v l 各字段含义 v e r s i o ni g m p 的版本号码 t y p e 0 0 0 1 为主机成员查询( q u e r y ) 0 0 0 2 为主机成员报告( r e p o r t ) u n u s e d 没有使用,发送时设为0 c h e c k s u m校验码 g r o u pa d d r e s s 在主机成员查询中,其值为0 在主机成员报告中,其值为群组地 址 图2 - 7 说明了主机要加入群组的工作过程。主机发出主机成黼( r e p o r t ) 消息给所有的路由器,此时i g m p 消息头内群组地址指明要加入群组的地址,而 i p 包头的目的地址是代表所有组播路由器的地址2 2 4 0 0 2 ,收到该消息的路由 天津大学硕士学位论文 第二章i p 组播基础 器会把该主机加入群组内。而在i g m p v l 中主机没有特定的离开群组的方式,当 路由器发送几次主机成员查询( q u e r y ) 消息都没有获得群组成员报告的回应时, 代表此时子网内已经没有该群组的成员了,路由器就会将该群组从路由表中删 除,因而,在i g m p v l 中,主机并不需要通告路由器其对群组的离开。 图2 7 中也说明了怎样维护一个群组:组播路由器会发送主机成员查询消 息,该消息内i g m p 标头的群组地址位为0 ,i p 包目的地址则是代表网络上所有 主机的组播地址2 2 4 0 0 1 。当群组主机收到主机成员查询( q u e r y ) 消息后,会启 动一个定时器,此定时器所设定的时间是在o 1 0 秒( 以o 1 秒为单位) 随机取一 个数值,当此定时器归零的时候,主机就会发送主机成员报告消息。因为对路由 器而言,它只需要知道子网络上是否还有成员存在,而不必知道有多少成员,因 此只要有一个成员存在,该群组就存在。这是为了避免同时有太多主机发出成员 报告消息,造成网络的拥塞。 主机成员查询( q u e r y ) : i g m p 组标志位t0 i p 目的端:2 2 4 0 0 1 i p 源端t 路由器p 地址 鼹倦嚣 图2 7i g m p 中r e p o r t 与q u e r y 的工作 ( 2 ) i g m p v 2 i g m p v 2 1 8 】的消息格式与各字段功能说明分别见图2 。1 3 及表2 2 ,i g m p v 2 增加了两个新的查询消息:特定群组查询( g r o u p - s p e c i f i cq u e r y )以及离开群组 消息( l e a v eg r o u pm e s s a g e ) 。特定群组查询是指路由器可以对特定的群组发出查 询的消息,不像第一版里只能对全部的主机( 2 2 4 0 0 1 ) 发出查询。而离开群组消 息则可以缩短成员离开的时间。 在i g m p v 2 的消息格式中,t y p e 字段是前8 位,其数值如表2 。2 ,就该字 天津大学硕士学位论文第二章i p 组播基础 段与i g m p v l 中的v e r 与t y p e 两个字段做比较,在i g m p v 2 中t y p e 字段代表 主机成员查询的字段值为0 x 1 1 ;而在i g m p v l 中v e r 值为0 0 0 1 ,主机成员查 询的t y p e = 0 0 0 1 ,这种情况在主机成员报告时也相同,i g m p v 2 在主机成员报告 时t y p e = 0 x 1 2 :而在i g m p v l 中代表主机成员报告时t y p e = 0 0 0 2 。在t y p e 字段 后的8 位为最长响应时间,只有在主机成员查询时有用,默认值为1 0 秒,当它 的值为o 时,i g m p v l 与i g m p v 2 的格式就变成一模一样了。最长响应时间字 段之后的检验码以及群组地址都与i g m p v l 的定义一致【1 7 】。 t y p e ( 8 )m a x r e s p o n s e c h e c k s u m ( 1 6 ) t i m e ( 8 ) g r o u p a d d r e s s ( 3 2 ) 图2 - 8i g m p v 2 消息格式 表2 - 2i g m p v 2 各字段含义 t y p e 0 x l1 = 主机成员查询( q u e r y ) 0 x 1 2 = 版本1 主机成员报告( r e p o r t ) 0 x 1 6 = 版本2 主机成员报告( r e p o r t ) 0 x 17 = 离开群组消息 m a xr e s p o n s et i m e最长响应时间,1 0 秒为预设值 c h e c k s u m 校验码 g r o u pa d d r e s s 群组的i p 地址 i g m p v 2 主机加入群组的方式与i g m p v l 相同。而在主机离开群组时,应 发出离开群组消。息( m e s s a g e ) 。路由器接收到该消息时,会发送特定群组查询信 息,即路由器会将该群组地址作为目的地址而发送消息,显然只有同群组的成 员能收到该消息。一旦群组成员收到该消息,也会启动一个定时器,该定时器是 从0 - m a xr e s p o n s et i m e ( 路由器发出查询消息时指定) 中随机挑选某个数值,与 版本1 相同,也是以0 1 秒为单位。当定时器归零,且没有收到任何群组报告的 消息,这个主机就会发送报告消息。反之如果路由器没有收到任何关于这个群组 的成员报告,则表明此时没有群组成员在该子网内,路由器会将该群组从路由表 删除。 ( 3 ) i g m p v 3 i g m p 第三版【7 】的主要特点是加入了g r o u p a n d s o u r e e s p e c i f i cq u e r y ,而且 天津大学硕士学位论文 第二章i p 组播基础 对成员报告与离开消息做了一些修改。图2 - 9 是i g m p v 3 的消息格式,在t y p e 字段中的值除了与i g m p v 2 的t y p e 值相同外,还多了一个0 x 2 2 ,表示i g m p v 3 的主机成员报告。随后的最大回用时间、检查码、群组地址都与i g m p v 2 相同, 而后有4 位的保留字段,其值都为0 。随后的字段分别是1 位的sf l a g ( s u p p r e s s r o u t e r - s i d ep r o c e s s i n g ) 、4 位的q r v ( q u e r i e r sr o b u s t n e s sv a r i a b l e ) 、8 位的q q i c f q u e r i e r sq u e r yi n t e r v a lc o d e ) 、16 位的源端地址数目以及最后的源端地址的信 息。由i g m p v 3 的标头字段可以发现,i g m p v 3 可以支持多个源端的信息,当群 组拥有多个源端时,成员可以决定接收那一个源端的消息,当然也可以决定不接 收哪一个源端的消息,而路由器据此决定是否该源端的消息送给该主机。 m a xr e s p o n s e c h e c k s u m ( 1 6 ) t i m e ( 8 )l a d d r e s s ( 3 2 ) r e s v f s lq r vi q q i ( 8 ) ( 4 )( 1 )l( 4 )i n u m b e ro fs o u r c e a d d r e s s ( 16 ) s o u r c e a d d r e s s1 ( 3 2 ) 图2 - 9 i g m p v 3 消息格式 i g m p v 3 支持源过滤,它使得主机在向路由器其它的组播组成员发出报告 时可以同时报告它感兴趣的组播源一只想接收来自某些特定源的通信或只想接 收来自除某些特定源以外所有组播源的通信。利用这些信息,并对p i m s m 组 播路由协议作某些改进,便可实现在共享树内对组播源进行筛选,使组播路由器 尽可能的避免转发组播数据包到并没有感兴趣的接收者的网络。 筛选源的p i m s m 路由器为组播路由表中的( 拳,g ) 状态项及该状态项的输 出接口列表中的每一个( g ,i n t e r f a c e ) 对即( 组播组,接口) 对保存一个筛选状态 项( g ,i n t e r f a c e ,s i f t i n g 。m o d e ,s o u r c e 1 i s t ) 。筛选状态项( g ,i n t e r f a c e ,s i f t i n g m o d e , s o u r c e 1 i s t ) 中,g 为组播组地址;s i f t i n g m o d e 为筛选模式:s o u r c e l i s t 为组播源 地址列表。其中筛选模式为i n c l u d e ( 允许) 模式或e x c l u d e ( 拒绝) 模式。为减 少路由器中的状态项,每一个( gi n t e r f a c e ) 对同一时刻只取允许、拒绝模式中的 一种筛选模式。这两种模式可根据i g m p v 3 及筛选源的规则进行转化。 组播路由器为筛选状态项( g ,i n t e r f a c e ,s i f t i n g - m o d e ,s o u r c e - l i s t ) 中的组 播组g 、每一组组播维护一个计时器,路由器根据每次收到的下游发来的更新消 天津大学硕士学位论文第二章i p 组播基础 息重新启动有关计时器( 从某一默认的值开始递减,而下游路由器则在比该默认 值更短的时间内周期性地发送更新消息) 。 2 3 组播路由协议及组播树的分类 单播的数据传输需要有路由协议进行寻址工作,组播机制同样需要依靠路 由协议完成寻址工作。已经有多种组播路由协议,大部分组播路由协议基本上基 于单播路由协议工作。例如d v m r p 基于r i p 路由协议;m o s p f 基于o s p f 路 由协议。更好的方法应不依赖于特定的单播路由协议实现组播路由协议,以便寻 址工作更有效率、弹性。其典型代表是c b t 或p i m 。 2 3 1 组播树的分类 在更深入探讨组播路由协议之前,必须首先了解组播路由协议的一个重要 基础:“分散树( d i s t r i b u t i o nt r e e ) 州引。组播分散树分成两类,一是源分散树( s o u r c e d i s t r i b u t i o nt r e e ) ,二是共享分散树( s h a r e dd i s t r i b u t i o nt r e e ) 。对这两种不同的分 散树的简单介绍如下:。 ( 1 ) 源分散树( s o u r c ed i s t r i b u t i o nt r e e ) 源分散树,是以源端为依据,根据源端到目的端的最短路径建立的分散树, 所以源分散树又可称为最短路径树( s h o r t e s tp a t ht r e e ) 。图2 1 0 是源分散树传输 的例子,假设h o s t a 、b 及c 是属于同一个群组,当h o s tc 为发送端,r 1 为根 ( r 0 0 t ) 路由器,黑线为以h o s tc 为源端所建立的源分散树。若源端分别有数据要 发送给h o s ta 与h o s tb ,路由器会根据建立的分散树发送,因此r 1 会经过r 2 传给h o s ta ,而r 1 会经过r 3 及r 4 传输给h o s tb 。如果换成h o s ta 为源端, 那么源分散树就会重新建立,结果也不同,因此如果有n 个源端发送数据,就 必须分别建立n 个源分散树。 l k # l e 图2 1 0 以h o s t c 为源端所建立的源分散树 ( 2 ) 共享分散树( s h a r e dd i s t r i b u t i o nt r e e ) 天津大学硕士学位论文 第二章i p 组播基础 不同于源分散树,共享分散树使用一个中心路由器作为根路由器,该路由 器又称为集中点( r p ;r e n d e z v o u sp o i n t ) 。群组使用以这个中心路由器为根所建 立的树,这种机构称为共享分散树。图2 1 1 说明共享分散树传输组播数据的工 作过程;图中假设i m 是其r p ,如果h o s tc 为发送端,则h o s tc 与h o s ta 之间 的路径建立的分散树,可能为r 1 一r 5 一r 6 一r 2 ,而h o s tc 与h o s tb 之间的路 径则为r 1 一r 5 一r 6 一i 也一r 3 一r 4 。如果以h o s td 为发送端,那么h o s td 与 h o s t a 之间的路径可为r 7 一r 6 一r 2 ,h o s td 与h o s t a 之间的路径可为r 7 一r 6 一i 匕一i 毽一r 4 。虽然这是两个不同的源端进行数据传输,却可以用一个共享分 散树进行路由选择,虽然源端到目的端并不是最短路径。共享分散树的优点是一 个群组只需建立一个树,这样可以大大减轻网络的负担。 图2 - 1 1 共享分散树 不同的组播路由协议会使用不同的分散树,表2 3 给出了各种组播路由协议 所使用的分散树类型。i p 组播路由协议既可以生成源分散树( s ,g ) ,也可以生 成共享分散树( 木,g ) 。有些协议同时支持源分散树和共享分散树,路由器可以 为同一个组同时保持( 枣,g ) 和( s ,g ) 两种状态。当( 奉,g ) 和( s ,g ) 状 态中有同样的输入接口时,必须从( 木,g ) 流量中分离出( s ,g ) 的通信量。 在m p l s 中,共享的状态可以通过以下四种方式处理: 中止l s p ,将该组的所有数据通过第三层转发实现。 在共享分散树的节点上分配一个特殊的源标记,多个标记可以被附加在 一个( 卡,g ) 条目上,这样每一个活动的源有一个相关的标记,当从这些源发 出的数据到达时,节点通过标记识别哪一个源是活动的。 只在源分散树上采用标记交换,而在共享分散树上采用第三层转发。 具有( s ,g ) 状态的l s r 沿树向上游广播一个标记,直到汇聚点,指示 该l s p 是为( s ,g ) 流量创建的,确保( s ,g ) 分组在共享分散树上传输不经 过被s 剪除的分支。 表2 - 3 组播路由协议所使用的树 天津大学硕士学位论文第二章i p 组播基础 通信协议使用的树 d v m r p 源分散树( s o u r c ed i s t r i b u t i o nt r e e ) m o s p f 源分散树( s o u r c ed i s t r i b u t i o nt r e e ) c b t 共享分散树( s h a r e dd i s t r i b u t i o nt r e e ) p i m d m 源分散树( s o u r c ed i s t r i b u t i o nt r e e ) p i m s m 可动态切换两种树 ( 3 ) 密集拓朴与稀疏拓朴 组播路由协议基于网络上群组成员的多少及范围大小而分为密集( d e n s e ) 拓 朴以及稀疏( s p a r s e ) 拓朴两种。密集拓朴是指群组成员密集分布在网络上,一般 而言,此类拓朴的范围会比较小、节点密集、带宽较充裕,例如校园网络的环境 中就比较适合密集拓朴;而稀疏拓朴则是群组成员范围较大、较为分散、带宽较 为不足。不同的拓朴型式有不同的建立树的方式,对稀疏拓朴而言,其树的建立 较为简单,先建立起一个空的树,如果有成员要加入才加入新的树枝;至于密集 拓朴,其建立树的方式是用扩散( f l o o d i n g ) 再搭配截枝( p r u n e ) 的方式,其工作原 理是先用广播的方式使网络上每一个节点都可以收到组播的i p 包,当路由器收 到消息之后,如果其下游没有该群组成员存在时,路由器会发出截枝的消息给上 游的路由器,上游的路由器收到截枝消息之后,如果该路由器其它接口有该群组 的成员存在的话,那么该路由器就不会把该截枝的消息再继续往上游发送;如果 该路由器其它接口也没有该群组成员存在的话,截枝消息就会被继续往上游发 送,如此就可以完成树的结构了。不同的组播路由协议也有不同的适用拓朴,表 2 4 是各种组播路由协议所适用的拓朴。 表2 4 通信协议与适用的拓朴 通信协议适用的拓朴 d v 限p密集拓朴 m o s p f 密集拓朴 c b t稀疏拓朴 p i m d m 密集拓朴 p i m s m 稀疏拓朴 2 3 2 组播核心路由协议 针对各种不同的组播核心路由协议工作机制,分别简单介绍如下: ( 1 ) d v m r p 天津大学硕士学位论文第二章i p 组播基础 d v m r p ( d i s t a n c ev e c t o rm u l t i e a s tr o u t i n gp r o t o c o l ;距离向量组播路由协 议) ,采用r i p 计算源端到目的端的最近距离,并且使用先扩散后截枝( f l o o d i n g a n dp r u n e ) l 拘方式为每一个源端建立分散树。即当路由器首次收到某源端发送的 数据时,去查自己的路由表,如果是上游来的数据,路由器会继续向下游发送, 否则就丢弃该消息。末端路由器如果没有连接该群组成员,会向上游发送截枝 ( p r u n e ) 消息。如果有主机要加入群组时,路由器必须把自己接回分散树中,这个 动作称为接枝( g 1 啦) 。接枝的消息会向上游发送,直到遇到树的枝点为止。 ( 2 ) m o s p f m o s p f ( m u l f i c a s to p e ns h o n c s tp a t hf i r s tp r o t o c o l ;开放式最短路径优先组 播路由协议) ,

温馨提示

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

评论

0/150

提交评论