




已阅读5页,还剩66页未读, 继续免费阅读
(计算机科学与技术专业论文)ip组播协议的实现与改进.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
口组播协议的实现与改进 ip 组播协议的实现与改进 摘要 随着网络技术的飞速发展,在i n t e m e t 上出现了很多新的应用,比 如网络会议、视频点播、分布式内容系统、远程教学等,这些应用都 依赖于从一台主机向多台主机或者从多台主机向多台主机发送同一 信息的能力,而传统的i p 单播在提供这方面服务的时候效率非常低, 已经不能满足人们的需要,因此,i p 组播技术发展了起来。通过i p 组播传输数据,可以获得很高的效率,同时可以最大限度的利用现有 的带宽,解决带宽的急剧消耗和网络拥挤等问题,缓解了网络瓶颈, 这使它的应用范围越来越广,发展空间也越来越大。 本文主要阐述了在终端路由器上实现i p 组播协议软件。在研究和 分析了组播技术的前提下,提出了在路由器上的i p 组播功能集。论 文主要突出了对组播技术的理解、实现和改进。 本人在v l r t 终端路由器上实现了由组成员管理协议i g m p 和协 议无关组播路由协议p i m s m 组成的i p 组播功能集,实现了i p 数据 从一台主机向多台主机以及从多台主机向多台主机发送信息的功能。 在此基础上,对项目产品进行了详细的测试和分析,并且提出对协议 无关组播路由p i m s m 改进的想法和见解。 关键字组成员管理协议协议无关组播路由稀疏模式有源树 最短路径树 口组播协议的实现与改进 t h er e a i 。i z a t i o na n di m p r o v e m e n to fi p m u i j i c a s tp r o t o c o l a b s t r a c t w i t hf a s td e v e l o p m e n to fn e t w o r k ,t h e r e a p p e a r sa l o to fn e w a p p l i c a t i o n s ,s u c h a so n l i n e m e e t i n g ,v i d e oo nd e m a n d ,d i s t r i b u t e d c o m p u t e rs y s t e m ,o n l i n ec l a s s ,e t c t h e r ei s ac o m m o n a l i t yo ft h e m , w h i c hi sa l lo ft h e s ea p p l i c a t i o n sa r ed e p e n d i n go nt h e c a p a b i l i t yo f t r a n s f e r r i n g d a t af r o mo n ec o m p u t e rt o m a n yo t h e r s ,o rf r o mm a n y c o m p u t e r s t h e m a n yo t h e r s h o w e v e r , t h e t r a d i t i o n a li pu n i c a s t t e c h n o l o g yc a nn o t h a n d l ew i t ht h i ss i t u a t i o nv e r yw e l l t om e e tt h en e e d o ft h e s ea p p l i c a t i o n s ,p e o p l ei n t r o d u c et h et e c h n o l o g yo f i pm u l t i c a s t ,a n d i nr e c e n ty e a r s ,i td e v e l o p sv e r yf a s t b yu s i n gi pm u l t i c a s t ,w ec o u l d t r a n s f e rd a t am o r ee f f i c i e n t l y , a tt h es a m et i m ew ec o u l dt a k eb e t t e r a d v a n t a g eo fb a n d w i d t hw h i c h i s v e r y l i m i t e di nt h ei n t e r n e t i n c o n c l u s i o n ,t r a n s f e rd a t ab yu s i n gi pm u l t i c a s ti m p r o v e st h es i t u a t i o no f i n t e r n e ta n ds o l v et h ep r o b l e mo fn e t w o r kc o n g e s t i o n ,a sar e s u l to ft h i s , i pm u l t i c a s ti sb e c o m i n gm o r ea n dm o r ep o p u l a r , a n di tc o u l db eu s e di n m o r ea n dm o r ea r e a s i nt h i sa r t i c l e ,ih a v ed e s c r i b et h ep r o c e s so fd e v e l o p i n gt h ei p m u l t i c a s ts o f t w a r ei nr o u t e r s ih a v ep u tf o r w a r dt h ef u n c t i o nm o d u l eo fi t a f t e ris t u d ya n da n a l y s i st h ei pm u l t i c a s tt e c h n o l o g y ia mf o c u so nt h e p r o c e s so fc o m p r e h e n d i n g ,d e v e l o p i n ga n di m p r o v i n gt h ei pm u l t i c a s t t e c h n o l o g yi nt h i sa r t i c l e ih a v ed e v e l o p e dt h ei pm u l t i c a s tf u n c t i o nm o d u l eo nr o u t e r s ,w h i c h i n c l u d e si g m pa n dp i m - s mm o d u l e ih a v ed e v e l o p e dt h es o f t w a r e w h i c ha i m sa tt r a n s f e ri n f o r m a t i o nf r o mo n ec o m p u t e rt om a n yo t h e r so r f r o mm a n yc o m p u t e r st om a n yo t h e r s ,b e s i d e st h i s ,ih a v et e s t e da n d a n a l y z e di t i nd e t a i l a f t e rt h i s ,ih a v ep u tf o r w a r ds o m ei d e a so f i m p r o v i n gp i m s m ,s oa st om a k et h et r a n s f e r r i n gm o r ee f f i c i e n t l y k e yw o r d s i g m p , p i m s m ,s p t , r p t i i 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 墅篮 日期:趁丛:2 。江 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名: 聋幽 日期:盈鲨:21 丛 导师签名:_ 三翼;乏;一 日期:翌么各乙三兰l i p 组播协议的实现与改进 1 1 课题来源和意义 1 1 1 课题来源 第一章序论 当代社会已经进入信息时代,随着网络技术的飞速发展,f t p 、h t r p 、s m t p 等传统的数据业务已无法满足人们对信息的需求,而视频会议、远程教学、新闻 发布、网络电视、多方游戏等应用将成为各大运营商争相发展的新型业务。而这 些业务都依赖于从一台主机向多台主机或者从多台主机向多台主机发送同一信 息的能力,这已经大大地超出了单播的能力。而i p 组播技术可以实现这些业务, 这使得它成为当前网络技术中的研究热点之一。 传统的点对点单播通信,在发送方和每一接收方之间需要单独的数据信道。 在这种通信方式下,如果希望从一台主机发送出去的数据包能够被多个用户接 收,源主机必须向每个用户发送一份单独的数据包拷贝。这种巨大的冗余会带来 很大的代价:首先,会给发送数据的源主机带来沉重的负担,因为它必须对每个 要求都做出响应,这使得负担过于沉重的主机的响应时间会大大延长;其次对路 由器和交换机的性能也提出了更高的要求,管理人员被迫购买本来不必要的硬件 和带宽来保证一定的服务质量。 传统的i p 广播通信允许一台主机发送多个数据包的拷贝到同一局域网内的 所有其他主机。在这种传送方式下,源主机向一个网段中的所有主机发送信息包, 一个子网中的所有主机都接收地址为本子网广播地址的信息包。而且通常情况下 路由器不会转发i p 广播信息包,因此,i p 广播通信通常被限制在本地的子网内。 广播的主要的缺点就是每个广播都要发送数据至所有机器,消耗了所有机器上的 资源,即使数据要被网络中的大多数机器所丢弃。 i p 组播通信就是为了解决 = 述这些i p 单播和i p + 播问题的办法而提 h 的。 它介于i p 单播和广播之间,允许路由器一次将数据包复制到多个通道上。它的 通信模型如图卜1 所示: 组播 口组播协议的实现与改进 图卜1 组播通信模型图 在组播通信方式下,主机发送数据的一个拷贝,网络在每个接收者的最后一 跳路由器复制它,该路由器再在接口上对它进行转发,这就实现了把一个组播数 据包同时发送到多个接收者。可以看出,在组播传输中,发送方只需要发送一个 数据包,每个数据包针对不同接收者的拷贝都是由组播路由器去做的。在这种情 况下,单台组播路由器能够对几十万台主机同时发送连续数据流而无延时,而所 有目的地同时收到同一信息包,更及时,更同步,而且可以把信息发送到任意不 知名的目的地,能减少网络上传输的数据报的总量,节省了很多网络资源。 1 1 2 课题意义 现在的中小企业大多数都将自己的网络接入i n t e r n e t ,低端路由器被选择作 为他们的接入设备。随着企业对网上会议、网上视频广播等这种从一台主机向多 台主机发送同一消息的服务的要求日益提高,企业在这方面的应用投资将会增 大。现在的市场上已经有一些支持i p 组播的产品,虽然这些产品功能比较完善, 但它们的价格对于中小企业很难承担。 v a n l i n k 公司的通信产品是走中低端路线的,其v l r t 路由器产品不仅具有良 好的性能,而且价格相对c i s c o 这样的产品要低,具有很高的性价比,对于中小 型企业来说是很好的选择。因此在v l r t 路由器上实现i p 组播软件具有很好的现 实意义与实用价值。 在v l r t 路由器上实现i p 组播软件可以为企业带来诸多便利: 在一台设备上可以同时实现组成员管理和组播数据包转发的功能; 对路由器的配置和维护非常灵活、方便; 在满足企业对于组播应用要求的同时减少了资金的投入。 1 1 3 课题内容 i p 组播通信主要包括两个方面:一方面是主机组播,即对组播组成员进行 管理以及对组播组成员状态进行维护,另一方面是路由组播,即对组播数据流进 行寻路和转发。 因特网组管理协议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 0 1 ) 可以实现对 组播组成员进行管理和对组成员状态进行维护的功能,组播路由协议可以实现对 组播数据流的寻路的功能。 组播路由协议可以分为域间协议和域内协议两种。常见的域间协议有组播协 议边界网关协议( m u l t i p r o t o c o lb o r d e rg a t e w a yp r o t o c o l ,简称m b g p ) 和组播 源发现协议( m u l t i c a s ts o u r c ed i s c o v e r yp r o t o c o l ,简称m s g p ) ,而常见的域内 2 i p 组播协议的实现与改进 组播路由协议又可以根据组播树的结构特征分为两类:基于有源树的协议和基于 共享树的协议。前者的代表有距离向量组播路由协议( d i s t a n c ev e c t o rm u l t i c a s t r o u t i n gp r o t o c o l ,简称d v m r p ) 、开放最短路径优先的组播扩展( m u l t i c a s t e x t e n s i o n so p e ns h o r t e s tp a t hf i r s tp r o t o c o l ,简称m o s p f ) 、协议独立组播密 集模式( p r o t o c 0 1 i n d e p e n d e n tm u l t i c a s t d e n s em o d e ,简称p i m d m ) 等;后者的代 表有基于核的组播树( c o r e b a s e dt r e e ,简称c b t ) 、协议无关组播稀疏模式 ( p r o t o c 0 1 i n d e p e n d e n tm u l t i c a s t s p a r s em o d e ,简称p i m s m ) 等,各协议的比较如 表卜1 所示。 表i - 1 各组播路由协议比较 组播路由协议 协议依赖性树生成方式转发树类型网络应用环境 d v m r pr i p 洪泛剪枝有源树小规模网络 m o s p fo s p f 最短路径树有源树 少量发送者 密集分发模式 p i m d m独立 洪泛剪枝有源树密集分发模式 p i m s m独立 显示加入剪枝有源树和共享稀疏分发模式 树并存 c b t 独立 显示加入剪枝 共享树( 双向)稀疏分发模式 在这些组播路由协议中,p i m s m 由于其与单播路由协议的无关性,并且采 用成员显式加入的方式,同时还同时支持共享树和有源树两种组播转发树,因此 是目前应用最广泛、功能最强大的组播路由协议,它已经成为域内组播路由协议 的首选。 本课题的目标是设计并实现因特网组管理协议i g m p 和协议无关组播路由 p i m s m ,并且针对p i m s m 中存在的问题提出相应的解决方案。 主要的内容包括: 在路由器上设计并实现因特网组管理协议i g m p v 2 的服务器端。 在路由器上设计并实现协议无关组播路由p i m s m 。 针对实现方案进行功能和性能测试。 针对p i m s m 中存在的问题提出相应的改进措施。 1 2 国内外组播技术的发展现状与应用前景 1 2 1 组播历史 i p 组播的概念最早是在1 9 8 8 年由s t e v ed e e r i n g 在他的博士论文中提出的, 1 9 8 9 年s t e v ed e e r i n g 对标准i p 网络层协议进行了扩展,提出了i p 组播规范, 1 9 9 2 年3 月组建了第一个组播主干网m b o n e ,i e t f 成功的在组播网上举行了一 次会议。虽然组播技术出现的比较早,但发展比较缓慢,主要原因是由于组播通 信模式需要状态相当复杂的路由器,要求路由器能提供每个组播组和每个组播源 的亿息状态。随着i n t e r n e t 的增长,互联网变得越来越复杂,这给组播的进一步 l p 组播协议的实现与改进 发展带来了困难。后来,出现了一些设计精巧的组播路由协议( 如p i m d m , p i m s m 等) ,使组播i p 数据能够正确而又迅速地发送给成千上万的接收者,这 才使i p 组播的技术和应用开始快速的发展起来。 1 2 2 目前组播研究领域 目前国际上致力于组播研究的组织主要是i e t f 下属的工作组:p i m ( p r o t o c o l i n d e p e n d e n tm u l t i c a s t ) ,s s m ( s o u r c es p e c i f i cm u l t i c a s t ) ,i d m r ( i n t e r - d o m a i n m u l t i c a s tr o u t i n g ) ,m s e c ( m u l t i c a s ts e c u r i t y ) ,r m t ( r e l i a b l em u l t i c a s tt r a n s p o r t ) 和m a g m a ( m u l t i c a s t & a n y c a s tg r o u pm e m b e r s h i p ) 。p i m 工作组主要研究域内组 播路由;s s m 工作组主要研究基于特定信源的组播机制;i d m r 工作组致力于 完成域问的组播路由;m s e c 工作组主要进行组播安全方面的研究;r m t 工作 组主要进行可靠组播方面的研究;m a g m a 工作组研究组播和任意播机制。根 据这些工作组的分工可以将组播的研究领域大致分成:组播路由、特定源组播、 安全组播和可靠组播。 1 2 3 组播的应用领域 近些年来,由于网络迅速发展以及组播技术的不断进步,组播的应用范围也 呈现出了持续扩展的趋势,目前大致上有以下几个应用方面: ( 1 ) 多媒体应用 在网络多媒体中的应用是组播目前最主要的应用领域,组播在多媒体中的应 用主要体现在一对多或多对多的音频或音频视频会议上。音频会议允许多个会 议参加者交互共享音频,它可以实现多个参与者交互共享音频视频。在音频、 视频会议应用中,已经有许多成熟系统得到开发和应用。 ( 2 ) 数据分发 数据分发是i p 组播应用的一个新热点,它主要利用组播技术“一次分发, 多点传输 的特性。通过使用i p 组播,数据中心只需一次就可以将数据发送到 多个目的地址,这可以实现对一点数据的多点备份或者通过发送一份数据实现多 点的数据更新和软件的升级,节省了重复传输的工作量。由于数据的分发要求数 据传送的正确率较高,但组播是靠u d p 协议来传送,并不保证数据的可靠性, 这意味着l p 组播数据报在传输中可能丢失、延迟、重复或者乱序到达,因此可 靠的组播传输仍是一个有待研究的领域。 ( 3 ) 实时数据传输 向大量的主机组传输实时数据是p 组播技术应用比较广的另一个领域。视 频点播、体育或其他节目在网上的直播等都属于这一应用领域,另外一个典型的 例子就是在证券交易所中将股票信息实时发送到交易大厅的各个工作站。 i p 组播协议的实现与改进 ( 4 ) 网络游戏 网络游戏已经成为当前网络上一个相当有前景的产业,越来越多的公司开始 投身于网络游戏的开发与运营,但目前的所有网络游戏都是基于点到点的连线方 式,当连接用户数量较多时,网游服务器的负荷比较重,对网络的带宽消耗也比 较大,这就对每台网游服务器在同一时间的连接量有很大的限制。使用口组播 技术可以在很大程度上减少网络负载,增加服务器可同时支持上线玩家的数量, 而且参与游戏的p c 机或工作站只需进入i p 组播组就开始发送和接受游戏,通 过不同的组播组还可以将游戏加入者分为不同的游戏空间,这使得成千上万的玩 家通过i n t e m e t 在游戏中同时战斗的梦想成为现实。 1 2 4 国内组播的应用研究 从9 0 年代初,我国一些著名高校和研究机构中的许多网络学者就展开了对 组播技术及其应用的研究。1 9 9 7 年清华大学与u c bfu n i v e r s i t yo fc a l i f o r n i a ) 实 现了基于m b o n e 的视频会议。国内的一些企业也开始在其设备上支持组播并开 展相应的组播业务。2 0 0 1 年清华大学、复旦大学、东南大学和华南理工大学实 现基于v i c ( v i d e o c o n f e r e n c i n g t 0 0 1 ) 的多点实时授课系统。在2 0 0 3 年5 月非典期 间,教育部高校防治“非典 科技攻关视频会议依托中国教育和科研计算机网 c e r n e t 成功地在全国8 个城市近2 0 个单位同时举行。在2 0 0 3 年1 2 月,河南 通信组播网也试验成功,这标志着组播广泛的应用的新时代已经到来。但总体上 来说,国内组播技术的应用还处在一个起步阶段,加强组播应用的研究,不仅能 够适应未来组播在各领域应用的需求,赶上世界组播应用的脚步,同时还可以提 高我们对组播技术的进一步认识,增强对组播技术的研究,也使我们能够积极投 身到世界组播研究的队伍中去,不断开拓组播应用的新领域,从而促进组播技术 的推广。 1 2 5i p 组播技术的应用前景 由于i p 组播技术具有“次发送,多点传输”、节省带宽以及按组播组接收 数据的优点和特性,它允许一台或多台发送主机( 组播源) 一次地、同时地发送单 一的数据包到多台接收主机( 组播组) 在i p 组播网络中,而且即使一个组播组中 接收主机的数量成倍增长,主干带宽也不需要随之增加,同时也不会给发送主机 增加额外负担,因此它在最大限度利用现有带宽方面是一种很好的选择。随着用 户对于宽带化需求的增大,组播技术的使用将会越来越广泛,具有日益广阔的应 用前景和发展空间。 5 i p 组播协议的实现与改进 1 3 本人在研究生阶段所做的工作 2 0 0 6 年2 月到2 0 0 6 年8 月阅读了我们实验室自行开发的实时多任务操作系 统r m o sv 9 0 上r o u t e r w a r ev 4 2 版本的动态主机配置协议d h c p 的代码,并 且在阅读了原有代码的基础上把该功能模块从v 4 2 移植到了v 6 1 下,对其消息 处理的流程方法进行了更新,同时对其数据结构进行了优化,还添加了通过增加 与h t t p 模块的交互过程而实现了w e b 配置的功能,最后对该模块进行了测试。 在这个过程中,阅读代码量约1 0 0 0 0 行,修改了其中的2 0 0 0 行,为了实现w e b 配置功能又增加了2 0 0 0 行。 2 0 0 6 年9 月对开放最短路径o s p f 协议进行了研究,阅读了相关的文献资 料,并且阅读了我们实验室的协议代码,阅读的代码量约3 0 0 0 行。后来由于其 它项目比较急,就没有继续研究下去。 从2 0 0 6 年1 0 月开始,我开始进行i p 组播协议的研究,主要包括组管理协 议i g m p 以及协议无关组播路由p i m s m 的研究。在阅读相关的协议、文档、资 料后开始进行体系结构的设计,之后设计了数据结构以及一些实现的细节,进行 了编码及测试,期间完成的代码量约1 3 0 0 0 行。 1 4 论文的章节安排 本文的章节安排如下: 第一章序论。简要介绍课题的研究背景和论文的纲要,包括课题目标、内容、 意义以及章节结构。 第二章相关技术介绍。介绍i p 组播技术的模型架构,并且分别对组管理协议 i g m p 和协议无关组播路由p i m - s m 进行介绍。实现p i m s m 和i g m p 并提出改进方案。 第三章i p 组播模型的设计与实现。分别从基本流程、数据结构和模块间通信 三方面来介绍组成员管理协议i g m p 和组播路由协议p i m s m 的实现方 案,并且陈述了在软件设计过程中遇到的关键性问题和解决方法。 第四章测试。对i p 组播模型设计测试方案,得出测试结论。 第五章p i m s m 的改进。针对p i m s m 中存在的问题提出相应的改进措施,并 且把改进后的模型与原模型做了对比。 i p 组播协议的实现与改进 2 1 模型架构 第二章相关技术概述 i p 组播通信介于i p 单播和i p 广播通信之间,它能使主机发送i p 信息包到 i p 网络中任何一组特定的主机上,这些主机都具有特定的i p 组播组地址。支持 组播的路由器会转发i p 组播信息包到所有具有该组播地址的主机上,这不仅使 传输更加有效,同时更有效地节省了网络带宽,减轻了网络负载和服务器负载。 2 1 1 组播地址 为提供组播业务,i a n a 划分d 类地址空间( 2 2 4 0 0 0 2 3 9 2 5 5 2 5 5 2 5 5 ) 用于i p 组播地址,用来专门支持组播通信,每一个地址代表的是整个组播组的 用户而不是单一的某个数据流接收端。这些地址被划分为局部链接组播地址、预 留组播地址和管理权限组播地址3 类,前者范围为2 2 4 0 0 卜2 2 4 0 0 2 5 5 , 这是为路由协议和其他用途保留的地址,路由器并不转发属于此范围的i p 包, 因此属于这类地址的信息包只能在局部网内传送;预留组播地址为2 2 4 0 1 卜 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 地址。 2 1 2 组成员关系的维护 因特网组管理协议( i g m p ) 在主机和路由器之间提供必要的用于组成员关系 维护的消息机制来管理组成员的加入和离开。 标准的组播模型采用开放的成员接入模型,当组播源有数据要发送时,它直 接向网络中发送工p 数据包,在目的地址上填上其所属组播组的组地址。当某节 点想加入特定组播组时,主机运行组管理协议向网络中发送报告来加入组播组。 组播模型中任何主机可以属于一个组播组,不需要授权认证。非组播组成员 可以向组播组发送组播数据,组播组是动态的,任何主机可以随时加入或者离开, 而且主机可以加入多个组播组,源或者接收者都不能得知该组播组的成员数量。 2 1 3 组播转发树 为了传送组播分组到所有的组播组成员,路由器必须构造并维护一棵连接所 有组播成员的树,即组播转发树,它的简单定义就是数据从源主机到接收者的传 输流的路径,它被用来描述i p 组播包在网络罩经过的路径。 组播转发树有两个基本类型,分别是有源树和共享树。 口组播协议的实现与改进 有源树是组播转发树最简单和最常见的形式。有源树的根节点是发送组播信 息流的源主机,而它的分支形成了通过网络到达接收站点的组播转发树,它是以 最短的路径贯穿网络的,因此它也经常被称为最短路径树( sp 1 ) 。 共享树同有源树相比,最显著的特点是它是用存在于网络中的某些可选择点 作为它的单独的公用根节点的,而这个根通常被称为汇合点( r p ) ,因此共享树 也被称为r p 树( r p t ) 。共享树和有源树不同,在共享树中,发送组播信息的源 主机不是直接向网络中发送组播信息,而是先要向该树的根发送组播信息,之后 由根节点向网络中转发组播信息。在共享树中,从源主机到r p 以及从r p 到组播 信息的接收者之间都采用最短路径树。 2 1 4 组播路由 组播路由是i p 组播体系中最核心的功能,它的主要任务就是维护组播转发 树。由于组播数据在转发过程中不但要被路由,还要在适当的地方被复制,这使 得组播路由协议的实现比单播路由协议要复杂。 2 1 5i p 组播协议软件的功能分析 i p 组播协议软件的主要功能是在网络中将组播数据流从发送者传输到接收 者,因此必须知道两个非常重要的内容:组播数据的接收者在网络中的位置和一 条从发送者到接收者的路径,以保证组播数据的j 下确发送。这就涉及到两方面的 内容,首先是如何管理接收者的加入和离开过程,其次是如何从发送者寻找合适 的路径到接收者。基于以上的分析,我把i p 组播协议软件分为两部分:组成员 管理和组播路由,它们分别对应因特网组管理协议i g m p 和组播路由协议。由于 p i m s m 是目前应用最广泛、功能最强大的组播路由协议,所以我选择它作为我 模型中的路由协议。 2 2 因特网组管理协议i g m p 2 2 1 协议概述 因特网组管理协议( 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 消息以通知本地的组播路由器。当主机不希望接收组播组信息,想要离 开组播组的时候也可以发送i g m p 消息通知本地的组播路由器。组播路由器通过 i g m p 协议来维护一个组播成员列表,并且定期发送“成员询问”消息来探寻表 中的各个成员是否仍然存在。 8 口组播协议的实现与改进 i g m p 的工作方式主要是用查询一响应模式,这使得组播路由器能够确定在 本地子网中有哪些主机对该组播组感兴趣。一般来说,组播路由器根本不需要知 道某一个组播组里面有多少个主机,它只需要知道自己的子网内还有没有处于某 个组播组的主机就可以了。只要某一个组播组内还有主机,组播路由器就会把数 据传输出去,这样,接收方就会通过网卡过滤功能来得到自己想要的数据。为了 知道组播组数据成员的信息,组播路由器需要定时的发送i g m p 查询,而各个组 播组内的主机要回复自己的状态,路由器根据这个回复的状态来决定都有哪些组 播组的数据需要转发,自己对于某一个特定组播组需要发送什么样的数据。 i g m p 集成于i p v 4 的第三层,消息封装在i p 报文中。它的发展已经历v l , v 2 ,v 3 三个版本,由于v 3 现在仅仅是一个草案,还没有成为协议,所以我实现 了第二个版本i g m p v 2 。 2 2 2 数据包格式 0王23 ol23456789ol2 34 56 789 ol23 。 56 78 901 一一+ 一+ 一+ 一+ 一;一- + - - p - + - + - + 一+ - - 4 - - - - j - - + - - - + - + 一+ 一+ 一一+ 一一一一+ 一+ 一+ 一+ 一一十 t y p e :m a xr e s pt i m e c h e c k s u m 十一一+ 一+ 一+ 一+ 一+ 一+ 一一一+ 一+ 一+ + 一中一。一十一一+ 一+ 一+ 一+ 一一一+ 一+ 一+ 一+ - - , - - 4 - g r o u pa d d r e s s; _ 一手一+ - - 一一斗一一一一一+ 一卜一+ 一卜i - r 一卜一_ 一 一+ 一+ 一+ 一+ 一p 一中一 o 一+ 一+ 一+ - + - 毒一中 图2 - 1i g m p v 2 报文格式 组播查询路由器定期( 默认值是6 0 秒) 向网络中所有主机发送成员关系查 询消息,获取本地网络中的组信息。为避免并发消息产生信息风暴,主机收到查 询消息后等待一个随机延迟( 小于查询间隔) ,若在该延迟内未收到来自相同组的 成员关系报告,则向组播路由器及局域网内同组成员发送反馈报告。在i g m p v l 中,主机可主动请求加入组播组,但未提供显式的离开机制,i g m p v l 主机可以 在任何时候离开组播组而不用给路由器发任何离开组的通知。在这种情况下,如 果网络中还有同一组播组的成员,那么主机这样离开组播组不会出现什么问题, 因为子网中还需要继续接收组播信息流,但如果离开组播组的是子网内的最后一 个成员,那么路由器在一段时间内仍会继续转发这个无用的组播组的信息到这个 网段,直到组播路由器在成员关系查询计时器超时之后而停止转发该组播组的数 据包。可以看出,这样很缺乏效率,特别当组播组个数太多或者这些组的传输负 担很重时,这个离开延迟牺牲了大量的网络带宽。i g m p v 2 克服了上面的问题。 i g m p v 2 的报文格式如图2 - 1 所示,其各字段意义如下: t y p e ( 类型) :对应于相应的消息类型,主要有成员关系查询、成员关系 9 口组播协议的实现与改进 报告和离开组消息。 最大响应时间字段:该字段允许查询路由器为它的查询报文指定准确的 查询间隔响应时间。它仅在成员关系查询消息中存在,在所有其它类型 的消息中,发送放将该域设置为0 。i g m p v 2 主机在随机选择它们的响应 时间值时以此作为上限,这样有助于控制突发响应。 校验和字段:是整个i g m p 消息1 6 位的补码和,用来保证数据包传输的 正确性。 组地址字段:是组播组的地址。在成员关系查询消息中,当发送常用查 询时将该域置o ,在发送特定组查询时,置为要查询的组地址。在成员 关系报告或离开消息是,该域为相应的保持或者离丌组的组播地址。 i g m p v 2 要求每个组成员都必须维护组播组的状态信息,以便在作为最后一 个组成员离开组时,向组播路由器发送离开消息。为确保准确性,组播路由器必 须发送特定组查询消息来获知相应组成员的状况,并在多次查询无反馈后认为该 组空缺。 2 2 3i g m p v 2 的消息类型 l - 在i g m p v 2 中,运行i g m p v 2 的主机会产生以下3 种信息: 成员报告消息 这个消息用来指示一台主机想要加入一个组播组,它在一个主机第一次 加入组播组时会发出,也可以用来响应路由器发出的成员关系查询消息。 版本l 的成员关系报告消息 是为了i g m p v 2 主机的向后兼容性而设置的,它用于检测和支持子网中 i g m p v l 主机和路由器。 离开消息 目的地址为2 2 4 0 0 2 ( 所有路由器) ,告诉路由器主机离开了一个组。 2 i g m p v 2 路由器会有两种查询消息: 普遍查询消息 每隔一段时问路由器就会向局域网内发送该消息,它的目的地址是 2 2 4 0 0 1 ( 网内所有主机) ,所以子网里的每一个主机都会收到这个报文, 并且会以成员关系报文回应,如果在一定的时问间隔内设备没有收到任何 m e m b e rr e p o r t ,它就会认为子网内没有组员。 特定组查询消息 当路由器收到一个离开消息时,它会发送这样一个包含有组地址的报文 来查询这个组是否有组成员存在。 1 0 坤组播协议的实现与改进 2 2 4 交互过程 i g m p v 2 加入过程 当主机想要加入到一个组播组时,它通过发送成员报告到相应的组来完成这 一过程,消息中包含它想要加入的组播组地址。在这种情况下,它不用等待路由 器发出成员关系查询报文时再响应加入,这样在组内没有其它组成员的情况下缩 短了主机加入组播组的延时。 i g m p v 2 离开过程 当一台主机不再希望收到某一个组播组的数据包,它就发送离开组的消息到 目的地址2 2 4 0 0 2 。当i g m p v 2 路由器收到离开报文时,它就发送一个特定组 的查询消息,以判断是否仍有其它主机希望接收这个组的信息,如果有的话就继 续转发该组的信息包,否则就不再转发相应的数据。这个过程有助于减少总体上 的离开延迟( 潜伏期) 。 查询路由器的选择 在i g m p v l 中没有正式的i g m p 查询路由器选举过程,它取决于组播路由协议, 不同的组播路由协议采用不同的选举机制,这就常常导致在单个的多路访问网络 中产生多个查询路由器,针对这个问题,i g m p v 2 引进了一个正式的查询路由器 的选举过程,它采用普遍查询信息的i p 地址来选择i g m p 查询路由器。 在i g m p v 2 中,当一个子网内同时存在多台组播路由器,每台路由器都初始 假定自己是查询路由器并发出查询报文。这时每台路由器都将接收到从其它路由 器发出的查询,如果一个i g m p v 2 路由器收到其它路由器发送的普遍查询信息, 它就把此信息的源i p 地址和它自己的接口地址作比较,具有最低i p 地址的路由 器将成为查询路由器。所有非查询路由器都启动一个计时器,只要收到来自当选 的路由器发送的查询信息,计时器就复位。当查询计时器超时后,就认为当选的 查询路由器已经发生错误,不再是查询路由器了,就重新开始查询路由器的选举 过程。 查询响应报告抑制 路由器每隔一段时间就会向局域网内发送一个目的地址为2 2 4 0 0 1 ( 网内 所有主机) 的查询消息,这时子网罩所有的主机都会收到这一报文,并且都会发 送成员关系报告到这台路由器,但是一旦某一主机收到了其它主机发送的成员关 系报告的报文,就会抑制自己的报告报文,这是因为它只需要让组播路由器知道 网内还有这个组播组的成员,还希望接收相应的组播数据就可以了。当路由器收 到这个报告报文后,就会继续保持转发这个组的数据。如果没有收到任何报告报 文,则路由器认为网内没有相应的组成员,就不再向这个网内转发相应的组播数 据。通过这个抑制过程可以减少网络带宽的占用,提高了系统的效率。 口组播协议的实现与改进 2 3 组播路由协议p i m s m 2 3 1 协议概述 协议无关组播一稀疏模式p i m s m 是由i d m r ( 域间组播路由) 工作组设 计的一种性能优良的组播路由协议,它的特点是独立于协议的。之所以说它独立 于协议,是因为它可以使用路由信息库中由任何路由协议输入的路由信息来完成 组播的r p f 检查,进行组播转发。这些路由协议可以是单播协议,也可以是路 由器中的其他组播协议,它仅仅是使用其他的路由协议来完成自己的路由发现, 因此它独立于具体的路由协议。它的优点是不必保持自己的路由表,不需要像其 它协议那样发送或接收组播路由更新。j 下因为如此,所以与其它组播协议相比, p i m s m 协议的开销降低了很多。 p i m s m 属于稀疏模式协议,它总是假定子网中没有组播信息的接收者。缺 省情况下不向网络中转发组播信息,除非有一个显式的加入机制来专门申请,否 则组播信息不会被传送到接收站点,这对于接收者较少的网络来说效率是很高 的。p i m s m 是采用“拉”的模式来发送数据的,它采用显式加入模型,允许接 收者初始化成员身份,效率更高,因此它已经成为了域内组播协议事实上的标准, 在效率、扩充性等各个方面都得到了认可,在实际应用中也产生了良好的效果。 2 3 2 数据包格式 o123 o 1 2 3456789o 123 4 5 6 7 8 9 0 1 2 345678901 + - + 一+ 一+ 一+ 一+ 一+ + 一+ 一+ 一+ 一+ 一+ + _ + 一+ 一+ 一+ 一+ 一十- + 一+ 一+ 一+ 一+ 一+ 一+ 一+ 一+ + - + - + 一+ ip i mv e rt y p ei r e s e r v e d i c h e c k s u m f + 一+ + + 一+ + 一+ 一+ 一+ 一+ + + 一+ - + - + 一+ - + - + - + + 一+ + - + 一+ 一+ 一+ 一+ + _ + - + - + + - + 图2 2p i m s m 版本2 数据包头部 p i m s m 版本2 数据包的头部如图2 2 所示,其中各字段的意义如下: p i m v e r ( 版本) :是p i m 的版本编号。对于版本2 ,该值为2 。 t y p e ( 类型) :对应于相应的消息类型,主要有h e l l o 消息、r e g i s t e r 消息、r e g i s t e r - s t o p 消息、j o i n p r u n e 消息、b o o t s t r a p 消息、 c a n d i d a t e r p a d v 消息以及a s s e t 消息。 r e s e r v e d ( 保留) :传输时为0 ,收到时被忽略。 c h e c k s u m ( 校验和) :是整个p i m 消息1 6 位的补码和,用来保证数据包 传输的正确性。 2 3 3p i m s m 的消息类型 在p i m s m 中,主要有七种消息类型,分别介绍如下: 1 2 口组播协议的实现与改进 h e l l o 消息 p i m s m 路由器周期性的在自己配置了p i m - s m 协议的接口上发送h e l l o 消息到所有p i m - s m 路由器,以通知各个接口上p i m - s m 路由器自己的存在。 h e l l o 消息中包含了一个保持时间来标识发送h e l l o 消息的p i m 路由器在多 长时间内是有效的,如果接收方在这个时间过后都没有再收到这个邻居的 h e ll o 消息,就认为这个邻居不存在了,于是终止与发送方的邻接关系。 除了建立邻接关系外,p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设备清洗合同范本
- 酒店劳务派遣合同范本
- 饭店月结协议合同范本
- 蔬菜位转让合同范本
- 矿山转运合同范本
- 婚介公司服务合同范本
- 舞美采购工程合同范本
- 三基三严考试题库及答案
- 2025年通信知识竞赛-数据网专业考试题库附含答案
- 幼儿教师考试题及答案
- 镗工(技师)技能鉴定精练考试题(附答案)
- 2025高考政治命题纲要解读
- 代班协议模板
- 烟草行业网络安全体系建设
- 原材料检验员知识培训
- 幼儿园中班语言《元日》说课
- 2025年全国交管12123驾驶证学法减分考试题库及答案
- 中国糖尿病行为与生活方式干预指南(2024版)解读课件
- 《对外汉语比字句》课件
- 汽车零配件销售代理授权书
- 《中华人民共和国职业分类大典》(2022年版)各行业职业表格统计版(含数字职业)
评论
0/150
提交评论