(通信与信息系统专业论文)基于igmp的组播技术的研究及实现.pdf_第1页
(通信与信息系统专业论文)基于igmp的组播技术的研究及实现.pdf_第2页
(通信与信息系统专业论文)基于igmp的组播技术的研究及实现.pdf_第3页
(通信与信息系统专业论文)基于igmp的组播技术的研究及实现.pdf_第4页
(通信与信息系统专业论文)基于igmp的组播技术的研究及实现.pdf_第5页
已阅读5页,还剩63页未读, 继续免费阅读

(通信与信息系统专业论文)基于igmp的组播技术的研究及实现.pdf.pdf 免费下载

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

文档简介

武汉邮电科学研究院硕十学位论文 摘要 口组播是相对于传统的单播和广播的一种数据业务承载方式,能够有效地节约 网络带宽、降低网络负载。随着以太网交换机在构建网络时得到越来越广泛的应用, 在交换机上实现组播显得十分必要。要实现i p v 4 组播,主机及与其直接相连的组播 网络节点之间的交互协议就要使用i g m p 。目前i g m p 协议已经有了三个版本。 i g m p v l 实现简单,但是有离开时延过大和选择查询者需要依赖组播路由协议的缺 点,i g m p v 2 对此进行了改进。i g m p v 3 协议增加了“源过滤 功能,主要是为了支 1 持源特定多播。本文主要就是研究i g m p v 3 协议及其在以太网交换机上的实现。 本文首先介绍了m 组播相关技术,包括组播地址分配、组播成员管理、组播路 由协议等。描述了i g m p v 3 协议的报文格式及工作原理,并在嵌入式操作系统 v x w o r k s 上设计并实现了i g m p v 3 协议,包括子模块的划分、数据结构的设计、各种 协议报文的处理、组播路由表的维护与更新等。分析了i g m p 加入离开时延对i p t v 组播业务承载的影响,并讨论如何通过改进i g m p v 3 协议来减小i p t v 频道切换时延。 设计实现的i g m p v 3 协议代码量很小,与底层平台的耦合度也非常小,便于代码的移 植;此外还提供了方便的配置接口。三层交换机上的测试证明了本课题研究的正确性 与完整性。 文中还对i g m p v 3 的改进与扩展进行了研究。为了支持源特定组播,i g m p v 3 协 议引入了源过滤机制,但同时也增加了主机和组播网络节点实现的复杂性。为了简 化i g m p v 3 协议的处理流程,i e t f 提出了轻量级i g m p v 3 协议草案,本文对此建议 的可行性进行了分析。然后针对现有组播协议中缺少对用户认证支持,用户可以随意 的加入一个组播组,并且可以任意离丌的问题,讨论了将i g m p v 3 进行扩展,在网络 层实现接入控制的方法。最后,总结本文所作的工作,并对下一步的研究工作进行了 展望。 关键词:i p 组播;i g m p v 3 ;i g m p 加入离开时延;轻量级i g m p v 3 武汉邮l 乜科学研究院硕十:学位论文 a b s t r a c t i pm u l t i c a s ti sa l s oaw a yo fd a t at r a n s f e rm o d e lmn e t w o r k s i tc a ns a v eb a n d w i d t h a n dr e d u c en e t w o r kl o a de f f e c t i v e l y w i t ht h ew i d e l yd e p l o y m e n to fe t h e m e ts w i t c h e si n n e t w o r k s ,i ti sn e c e s s a r yt oi m p l e m e n tm u l t i c a s tt e c h n o l o g i e so nt h es w i t c h e s i np v 4 s y s t e m s ,i m p l e m e n t a t i o no fi pm u l t i c a s ti sm a i n l yb a s e do ni g m p t h e r ea r ea l r e a d yt h r e e v e r s i o n so fi g m p i g m p v li s v e r ys i m p l e ,b u ti t d o e s n ti n c l u d ea ne x p l i c i t q e a v f f c a p a b i h t ya n d t h eq u e r i e re l e c t i o ni sl e f tu pt ot h em u l t i c a s tr o u t i n gp r o t o c o l ,a n dd i f f e r e n t p r o t o c o l sm a yu s ed i f f e r e n tm e c h a n i s m s i g m p v 2a d d ss u p p o r tf o r “l o wl e a v el a t e n c y a n ds t a n d a r d i z e st h ee l e c t i o nm e c h a n i s m t h em a j o r 睨f f i a n c e r n e n ti ni g m p v 3i ss u p p o r t f o r “s o u r c ef i l t e r i n g w h i c hi sr e q u i r e db ys o u r c es p e c i f i cm u l t i c a s t ( s s m ) t h i sp a p e r f o c u s e so nr e s e a r c ha n di m p l e m e n t a t i o no fi g m p v 3p r o t o c o lo ne t h e r n e ts w i t c h t h i sp a p e rf i r s ti n t r o d u c e st h e b a s i cc o n c e p t sr e l a t e dt oi pm u l t i c a s t ,i n c l u d i n g m u l t i c a s ta d d r e s sa s s i g n m e n t ,m u l t i c a s tm e m b e r s h i pm a n a g e m e n t ,m u l t i c a s t r o u t i n g p r o t o c o l sa n ds o0 1 1 a f t e rp r o v i d i n ga l lo v e r v i e wo ft h ei g m p v 3m e s s a g ef o r m a t sa n d p r i n c i p l e s ,i ti m p l e m e n t st h ei g m p v 3p r o t o c o lo ne m b e d d e do p e r a t i o ns y s t e mo fv x w o r k s t h em e t h o di sd e s c r i b e di nd e t a i l sf r o ms e v e r a la s p e c t ss u c h 勰t h ed i v i s i o no ft h es u b m o d u l e s ,d e s i g no fd a t as t r u c t u r e s ,p r o c e s s i n go fp r o t o c o lp a c k e t s ,m a i n t e n a n c ea n du p d a t e o fm u l t i c a s tm u t i n gt a b l e s ,e r e i ta n a l y z e st h ei n f l u e n c eo fl g m p 如i n l e a v ed e l a yo ni p t v m u l t i c a s ts e r v i c e sa n dd i s c u s s e sh o wt or e d u c e 疋t vc h a n n e lz a p p i n gt i m eb yo p t i m i z i n g i g m p v 3p r o t o c 0 1 i g m p v 3p r o t o c o ld e s i g n e di nt h ep a p e ri sa c h i e v e dw i t hf e w e rc o d e s a n di tp r o v i d e sa b u n d a n ti n t e r f a c e sf o rc o n f i g u r a t i o nm a n a g e m e n t t h et e s tr e s u l t sv a l i d a t e t h ef e a s i b i l i t ya n di n t e g r i t yo ft h es o f t w a r ei m p l e m e n t a t i o nf o ri g m p v 3 t h ep a p e ra l s om a k e sr e s e a r c ho nt h ei m p r o v e m e n ta n de x t e n s i o no fi g m p v 3 i g m p v 3i n t r o d u c e st h es o u r c ef i l t e r i n gm e c h a n i s mb y w a y so fs u p p o r t i n gs s m h o w e v e r , t h i sm e c h a n i s mc o m p l i c a t e st h eo p e r a t i o no fm u l t i c a s tn e t w o r kn o d e sa n dc a u s e ss c a l i n g p r o b l e m i no r d e rt os o l v et h ep r o b l e mi e t fp r o p o s e sas i m p l i f i e dv e r s i o no fi g m p v 3 n a m e dl i g h t w e i g h tg r o u pm a n a g e m e n tp r o t o c o lv e r s i o n3 ( l w - i g m p v 3 ) ,t h ef e a s i b i l i t y 武汉邮电科学研究院硕十学位论丈 o ft h es u g g e s t i o ni sa n a l y z e di n t h i sp a p e r t h ec l a s s i c a li pm u l t i c a s tm o d e lm a k e si t d i f f i c u l tt op e r m i ta c c e s so n l yt oa u t h o r i z e de n du s e r so rp a y i n gc u s t o m e r s ,t h e yc a l lj o i n a n dl e a v em u l t i c a s tg r o u pa ta n yt i m ew i t h o u ta u t h e n t i c a t i o n i no r d e rt or e a l i z ei g m p v 3 m u l t i c a s ta c c e s sa u t h e n t i c a t i o n ,t h i sp a p e rp r o p o s e sm e t h o d so fe x t e n d i n gi g m p v 3 p r o t o c o lt oc a r r yt h ee n du s e ra u t h e n t i c a t i o nd a t a f i n a l l y , i tm a k e sc o n c l u s i o n so ft h i s t h e s i sa n d p r o s p e c t sf o rf u t u r er e s e a r c h k e yw o r d s : d m u l t i c a s t ;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 pj o i n l e a v e d e l a y ;l i g h t w e i g h tg r o u pm a n a g e m e n tp r o t o c o lv e r s i o n3 ( l w - i g m p v 3 ) 武汉邮电科学研究院硕十学何论文 第1 章绪论 近年来,随着i n t e m e t 技术的迅猛发展,在i n t e m e t 上出现了许多新的带宽增值 业务,譬如i p t v 、网络视频会议、多媒体远程教学等,导致带宽的急剧消耗和网络 拥塞问题。为了解决这些问题,p 组播技术以其独特的优越性_ 能够有效地节约 带宽,成为当前网络技术中的研究热点之一。本章主要介绍了组播技术的发展,以 及i g m p 协议在组播中的作用。同时对本课题的研究目的、意义、主要内容做出了 说明。 1 1i p 组播技术概述 传统的p 通信有两种方式:单播和广播。单播是点对点通信方式,在数据发送 方和接收方之间需要建立单独的数据通道,源口主机向特定的目标主机发送i p 数 据包。广播则是源主机向一个网段中的所有p 主机发送口数据包。 当有多个主机同时希望接收某一数据源发送的同一口数据包时,采用以上两种 方式都会产生问题。采用单播通信方式时,会重复的发送m 数据包,不仅浪费了大 量的网络带宽,也会给源主机带来沉重的负担。以p t v 业务为例,如果采用单播 ( u n i c a s 0 的方式,会产生以下几个问题:( 1 ) 带宽压力;( 2 ) 时延,由于单播要进行 多次封装;( 3 ) 抖动,主要是由( 2 ) 引起来的,等等。如果采用广播方式时会将 d 数据包发送给不需要接收该数据的主机,从而消耗了网络资源;也可能由于路由 环回引起严重的“广播风暴 ,导致网络因带宽资源耗尽而崩溃。所以,传统的单播 和广播通信方式都不能有效地解决点到多点的通信问题。 在这种情况下,组播技术应运而生。不同于传统的通信方式,组播是一种点到 多点或者多点到多点的通信方式,能够有效地节约带宽、减轻服务器负载和网络负 载。组播技术在1 9 8 9 年由s d e e r i n g 首先提出,r f c l l l 2 对p 组播的业务运行 方式进行了描述和定义【1 】,形成了标准的p 组播业务模型。实现p 组播传输,组 播源和接收者以及两者之间的下层网络都必须支持组播。这包括以下几方面【2 】:( 1 ) 主机的t c p i p 实现支持发送和接收口组播:( 2 ) 主机的网络接口支持组播;( 3 ) 有 一套用于加入、离开、查询的组管理协议,即i g m p ;( 4 ) 有一套d 地址分配策略, 武汉邮l 乜科学研究院硕+ 学位论文 并能将第三层伊组播地址映射到第二层m a c 地址;( 5 ) 支持p 组播的应用软件; ( 6 ) 所有接入组播源和接收者之间的路由器、集线器、交换机、t c p i p 栈、防火墙 均需支持组播。 经过多年的研究和发展,m 组播已经形成了较为完整的组播协议体系,主要包 括组播地址管理协议、运行在主机与组播网络节点( 注:文中的网络节点系路由器 或带路由功能的三层交换机,下文同) 之间的组播成员管理协议和运行在组播网络 节点之间的组播路由协议等。同时为了有效抑制组播数据在二层网络中的扩散, i e t f 引入了i g m p 侦听( i g m ps n o o p i n g 3 】) ,i e e e 引入了g a r p 组播注册协议 g m r p 【4 1 ( g a r pm u l t i c a s tr e g i s t r a t i o np r o t o c 0 1 ) 等二层组播协议。 i i i 组播地址 与单播中d 地址唯一标识一台主机不同,d 组播地址用来标识一个p 主机组。 互联网地址指派机构( i n t e m e t a s s i g n e dn u m b e r s a u t h o r i t y , i a n a ) 专门为口组播划 分一个地址范围,在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 1 。 整个i p v 4 组播地址的空间被划分为以下3 个部分: 2 2 4 0 0 0 - - 2 2 4 0 0 2 5 5 ,i a n a 预留,其中2 2 4 0 0 0 保留不作分配,其它地址用 于局域网段的网络协议,网络节点不会转发这样的组播包。 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 a n a 将以太网地址范围0 1 :0 0 :5 e :0 0 :0 0 :0 0 - - 0 1 :0 0 :5 e :7 f :f f :f f 分配给组播使 用,这就要求将2 8 位的m 组播地址空间映射到2 3 位的m a c 地址空间中,具体的 映射方法是将组播地址中的低2 3 位放入m a c 地址的低2 3 位。由于口组播地址的 后2 8 位中只有2 3 位被映射到m a c 地址,这样会有3 2 个口组播地址映射到同一 m a c 地址上。因此需要在设计组播应用时,尽量避免在用一个局域网内采用可能 2 武汉邮电科学研究院硕十学位论文 产生冲突的组播p 地址。不过通常情况下,形成冲突的可能性很小。 1 1 2 组播路由协议 与单播路由一样,组播路由也分为域内和域间两大类。域内组播路由发展的比 较成熟了,在众多的域内路由协议中,d v m r p 6 】( 距离矢量组播路由协议) 、 p i m d m t 7 1 ( 协议无关组播密集模式) 和p i m s m 8 1 ( 协议无关组播稀疏模式) 是 目前应用作广泛的协议。域间组播目前仍然处于研究和试验阶段,目前比较成型的 解决方案是下面三个协议的组合【2 】= m b g p 9 1 ( 组播边界网关协议) ,用于在自治域 之间交换组播路由信息;m s d p t l o l ( 组播源发现协议) ,用于在i s p ( i n t e m e ts e r v i c e p r o v i d e r ,因特网服务提供商) 之间交换组播信源信息;p i m s m ,用于域内的组播 路由协议。 组播路由协议的主要功能是从组播源到该组的所有成员之间建造一棵组播分发 树,组播数据将沿着该组播树进行复制转发。不同的组播路由协议采用不同的方式 构造组播分发树。 1 2 i g m p 在i p 组播中的角色及发展 i g m p 运行在p 主机和与其直接相邻的网络节点之间,用来建立、维护组播成 员关系。一方面,主机通过此协议通知相邻的网络节点希望加入并接收某个特定组 播组的信息:另一方面,网络节点通过发送周期性的查询获得组成员信息。i g m p 是不对称的协议,可以在多播路由器之间对称或非对称的使用【l 】。i g m p 是碑的一 个重要组成部分,是实现口v 4 组播的不可缺少的协议,在i p v 6 网络中,i g m p 将 被m l d 11 】【1 2 】( m u l t i c a s tl i s t e n e rd i s c o v e r y ) 协议代替。 i g m p 发展到现在已经有了三个协议版本。i g m p v l 在r f c l l l 2 中定义,主要 描述了如何扩展主机用于p 组播及组成员查询和报告的基本过程;i g m p v 2 1 3 在 r f c 2 2 3 6 中定义,克服v 1 明显存在的缺点,增加了组成员快速离开机制和查询者 的选举机制,是目前普遍应用的版本。考虑到源特定组播( s o u r c es p e c i f i cm u l t i c a s t , s s m ) 技术的应用,m t f 在r f c3 3 7 6 中定义了i g m p v 3 1 4 】协议。 s s m r b 】【1 6 】是指定组播源的组播技术,使用组播组地址和组播源地址同时标识一 3 武汉邮电科学研究院硕十学何论文 个组播会话。s s m 和i g m p v 3 结合,能够在组播源和组播数据接收者之间直接建立最 短路径树( s p t ) ,省去了p 1 m s m 中先建立共享树再从共享树向最短路径切换的过 程。因此,在已知主播源的情况下,与其他组播技术相比,s s m 技术有着自己的优势。 s s m 特别适合于点到多点的组播服务,有利于开发记账等功能。虽然目前s s m 并 没有广泛使用,但是从组播的安全性以及协议简化等方面来考虑,s s m 是组播发展的 必然趋势,尤其适合i p t v 组播业务 一 目前,大多数的网络设备和主机操作系统协议栈都支持i g m p v l v 2 ,但是为了 实现s s m ,就要求网络设备和主机操作系统都要支持i g m p v 3 。目前支持i g m p v 3 的网络设备有限,在从组播的发展趋势来看,i g m p v 3 将被越来越广泛的使用。虽 然目前支持i g m p v 3 的系统还比较有限,但随着s s m 的发展,i g m p v 3 将迅速取代 i ( 孙匹p v 2 协议。 1 3 研究目的及意义 网络设备供应商看到了口组播的优势和潜力,都纷纷推出带有组播功能的以太 网交换设备。本课题的研究目的在三层交换平台上实现i g m p v 3 功能,主要包 括: 1 分析在嵌入式平台v x w o r k s 上利用i g m p v 3 实现m 组播用户管理的体系结 构和技术要求; 2 在f - e n g i n e 的u s p 统一软件平台上实现i g m p v 3 协议,包括主机测和网络 节点侧的实现; 3 利用三层交换机平台实现i g m p v 3 组播功能的全面测试; 4 考虑i g m p v 3 在实际组播应用系统( 如m l v ) 中使用时要注意的问题,并 分析其可能的解决方法; 5 i g m p v 3 的改进优化及扩展,使其能够更好的服务于p 组播业务。 1 4 主要内容及创新点 本文分六章,内容如下: 4 武汉邮电科学研究院硕十学位论文 第一章为绪论,包括i p 组播相关技术,包括组播地址分配、组播成员管理、组 播路由协议等,主要介绍了i g m p 在口组播中的作用。最后介绍了本课题的研究内 容、目的及意义。 第二章为i g m p 协议的研究,简述i g m p 的发展。包括简单的介绍了i g l 咿v 1 v 2 的报文格式及工作原理,重点介绍了i g m p v 3 协议相比之前版本所做的改进,分析 了i g m p v 3 的主机和网络节点的行为等。 第三章为i g m p v 3 协议的设计与实现,在嵌入式软件系统上设计并实现i g m p v 3 协议。在实现i g m p v 3 协议的基本功能后,结合i g m p v 3 在p t v 承载网中的应用, 分析i g m p 加离开时延对i p t v 频道切换时延的影响,并分析可能的改进方法。 第四章为实验与测试,在以太网交换机上使能i g m p v 3 协议,测试i g m p v 3 的 基本功能、数据转发及同路由协议之间的交互等。 第五章为i g m p v 3 协议的改进与扩展研究,针对i g m p v 3 存在的问题对其进行 改进。i g m p v 3 协议引入的源过滤机制增加了网络节点实现的复杂性,本文对其简 化方案l w - i g m p v 3 的可行性进行了分析。然后针对现有组播协议中缺少对用户认 证支持的问题,将i g m p v 3 进行扩展,使其能够携带组播用户的认证信息,在网络 层实现组播接收者控制。 第六章总结与展望,主要是总结本文的研究工作,对未来研究工作进行 了展望。 r 在有关i g m p 的r f c 文档中,i g m p 都是被定义在主机及与其直接相连的组播 路由器之间,本文的创新点在于将i g m p 扩展到带路由功能的三层交换机上,并基 于f e n g i n e 三层交换机平台设计并实现了i g m p v 3 协议。在实现i g m p v 3 协议的同 时,考虑到在实际应用中对组播业务承载的影响。本文也重点研究了如何通过 i a 唧v 3 协议来减小i p t v 频道切换时间的影响。本文实现的代码量很小,与底层平 台的耦合度也非常小,便于代码的移植;此外还提供了方便的配置接口。随着s s m 组播技术的发展,i g m p v 3 将得到越来越广泛的应用。 5 武汉邮电科学研究院硕十学位论文 第2 章i g m p 协议介绍 本章首先简单的介绍了i g m p v l 和i g m p v 2 协议的基本原理,主要对i g m p v 3 协议进行研究,重点比较了i g m p v 3 协议相对于i g m p v l v 2 的改进。 2 1i g m p v l i g m p v l 由r f c l l l 2 定义,是最早的i g m p 规范。i g m p v l 的工作原理比较简 单,在下面会给出简单的描述。 2 1 1i g m p v l 报文格式 i g m p 消息在p 数据报内传送,口协议号为2 。i g m p 消息在传送时,p 存活 时间( t t l ) 字段的值被置为l ,因此i g m p 消息只存在于本地范围,而不会被网 络节点转发。i g m p v l 只支持2 种协议消息:m e m b e r s h i pq u e r y 和m e m b e r s h i p r e p o r t 。报文格式如图2 1 所示。 版本l 类型 未使用 l 校验和 组地址 图2 1i g m p v l 报文格式 i a 心v l 消息各字段如下: 版本字段:4 b i t s ,表示i g m p 协议的版本号。在i g m p v l 中置为1 。 类型字段:4 b i t s ,表示i g m p 报文的类型。取值为l ,表示为网络节点发送的 主机成员关系查询:取值为2 ,说明示主机发送的报告报文 未使用字段:8 b i t s ,发送时为0 ,接收时忽略。 校验和字段:1 6 b i t s ,用于i g m p 报文的校验。 组地址字段:3 2 b i t s ,查询报文中置为0 ;报告报文中则为主机要加入的组地址。 6 武汉邮电科学研究院硕+ 学位论文 2 1 2 报告响应抑制 当一个子网上有多台主机要加入同一多播组时,如果它们分别向网络节点发送 通告的话,实际上是重复发送了同一报文,没有必要。采用报告响应抑制后,上述 情况的处理流程如下: 1 当主机收到i g m p 成员资格查询时,对它已经加入的每个组播组启动一个 倒计数报告计时器。各个报告计时器初始值为零到最大响应之间的一个随 机数; 2 当计时器计时值为0 时,主机发送成员资格报告至与该计时器相关的组播 组,以通知组播网络节点本地子网中有组播组接收者; 3 如果主机知道另一个主机在发送i g m p 成员资格报告,它将停止与接收成 员资格报告有关的报告计时器计时,从而抑制组成员资格报告的发送。 2 1 3 查询者选举 在一个子网中如果有多个组播网络节点,那么它们都发送i g m p 查询报文是一 种浪费。在这种情况下,应当确定一个网络节点作为查询者。但是在r f c i i l 2 中, 没有提供选举查询者的机制,而是把这一任务交给了网络层的组播路由协议 ( 如 p i m 、d v m r p 等) 。由于不同的协议可能使用不同的选举机制,会造成在一个子网 中出现多个查询者,这也是i g m p v l 的缺点之一。 2 1 4 主机加入和离开过程 当主机想加入某个组播组时,为了减小加入延迟,就不必等待网络节点的下一 次成员资格查询时再响应加入,特别是当主机是第一次加入子网的组播组,而该组 又没有其它成员的情况下减少成员加入组播组的延迟。因此,当主机想加入组播组 的时候,立即向想要加入的组播组发送一个或多个未经同意的成员资格报告。 i a 旧v l 没有为主机定义特殊的离开机制。主机可以在任何时候离开组播组而 不用向网络节点发送离开组消息。当主机不再需要从特定组收到组播信息流时,主 机停止处理组播组信息,并且停止对成员关系查询做出响应。 7 武汉邮电科学研究院硕十学位论文 如果子网内还有同一组播组的成员,那么主机这样默默离丌不会出现什么问题, 因为子网中还需要继续接收组播信息流。但如果离开组播组的是子网内的最后一个 成员,那么网络节点在一段时间内会继续转发这个无用的组播组的信息到这个网段, 即使子网内已经不存在该组成员。因此i g m p v l 网络节点需要对子网中的每一组播 组维护一个定时器。当网络节点收到子网中的主机发送的成员关系报告时,该组播 组的定时器就复位当某个组播组的定时器超时后,说明本网段上已经没有活动的 该组播的成员,则停止继续向本网段发送该组播组信息。对于网络节点来说,超时 白j 隔一般是查询间隔的3 倍。 2 2i g m p v 2 如上所述,i g m p v l 存在离开时延过大和查询者的选举需要依赖组播路由协议 的缺点。针对i g m p v l 的缺点,i g m p v 2 做了相关的改进。 2 2 1i g m p v 2 报文格式 i g m p v 2 报文格式如图2 2 所示。 类型 l 最大响应时问i 校验和 组地址 图2 2i g m p v 2 报文格式 类型字段:8 b i t s ,在i g m p v 2 中有四种消息类型。 0 x l l :成员资格查询。与i g m p v l 不同,i g m p v 2 的成员查询关系报文分为两 个子类型:通用查询( g e n e r a lq u e r y ) 和特定组查询( g r o u p - s p e c i f i cq u e r y ) 前者用来获知哪些组播组在某一子网内有成员存在,组地址字段设置为全o ;而后 者只是针对某一特定的组播组在是否有成员,组地址字段设置为特定组的地址。 0 x 1 2 :i g m p v l 的成员关系报告( 为了和i g m p v l 兼容) 。 0 x 1 6 :i g m p v 2 成员关系报告。 0 x 1 7 :表示离丌报文。 8 武汉邮电科学研究院硕十学位论文 最大响应时间字段:8 b i t s ,只有在成员关系查询中有效。规定了主机响应查询 的最大时间,以1 1 0 秒为单位。主机必须在最大响应时间到达之前发出成员关系报 告。通过该值,网络节点可以调节组成员的离开时延。 2 2 2 查询者选举 在i g m p v 2 中,定义了一个正式的查询者选举过程。i g m p v 2 使用一般查询消 息中的p 地址来选择i g m p 查询者,具体实现过程如下: 当网络节点启动i g m p 的时候,它们都向所有主机组播组( 2 2 4 0 0 1 ) 发送 i g m p v 2 一般查询消息; 当i g m p v 2 网络节点收到一般查询的时候,比较此消息的源p 地址和自己的接 口p 地址。子网中口地址最低的网络节点将成为查询者: 所有非查询者启动一个查询计时器,只要收到i g m p 查询者的一般查询消息, 则复位计时器。默认的计时器持续时间是查询间隔的2 倍。如果查询计时器超时, 就认为当前的查询者已经失效,选择过程重新开始。 2 2 3 主机加入和离开组过程 i a 唧v 2 中的组成员加入与i g m p v l 中规定的一样。i g m p v 2 规定,当主机离开 组时,将发送i g m p v 2 定义的一种新的离开组信息类型。离开组和特定组的i g m p v 2 消息,与最大响应时间字段配合,使离开延迟减少,克服了i g m p v l 的不足。 i a 仰v 2 中,主机离开组播组的过程如下: 1 主机向所有网络节点组播组( 2 2 4 0 0 2 ) 发送i g m p v 2 离开组信息,通知 子网中的所有网络节点它要离开某个组播组: 2 i q 仰查询者收到来自该主机的离开组消息后,则发送一个特定组查询以 确定当前子网中是否还有其它主机为改组的成员; 3 如果子网上还有改组的成员,则改组成员要发送一个成员资格报告作为响 应;如果在特定的时间内没有主机对该特定组查询做出响应,则表明子网 内已经没有该组的成员,网络节点停止转发该组的数据到子网上。 9 武汉邮电科! 学研究院硕十学位论文 2 3i g m p v 3 比较i g m p 的前两个版本,i g m p v 3 最大的改进就是增加了“源过滤”功能,主 机可以向网络节点通告自己希望接收、或者拒绝接收的源地址。主机可以通过 i n c l u d e 和e x c l u d e 两种模式来指定接收范围,使用i n c l u d e 模式时,主机 列出其希望接收的源d 地址列表;使用e x c l u d e 模式时,表明主机不希望接收 源p 地址列表中源发送的的组播数据。组播网络节点则根据主机指定的源地址范围 转发组播数据。 2 3 1i g m p v 3 报文 由于增加了对“源过滤 功能的支持,i g m p v 3 的报文格式与v l v 2 相比,有 很大的不同。 i g m p v 3 有2 种消息类型,查询报文和报告报文,各种消息类型的值如下: 0 x ll m e m b e r s h i pq u e r y ( 成员关系查询) 0 x 2 2v e r s i o n3m e m b e r s h i pr e p o r t ( v 3 成员关系报告) 为了兼容之前的v l v 2 版本,i g m p v 3 必须支持以下几种消息类型: 0 x 1 2v e r s i o nlm e m b e r s h i pr e p o r t 【1 1 ( v 1 成员关系报告) 0 x 1 6v e r s i o n2m e m b e r s h i pr e p o r t 1 3 l ( v 2 成员关系报告) 0 x 1 7 v e r s i o n2l e a v eg r o u p 1 3 】( v 2 离开组报告) i g m p v 3 的查询报文格式如图2 3 所示。其主要内容如下: 类型字段:8 b i t s ,值为0 x l l ,表示该报文为查询报文。 最大响应时间代码:8 b i t s ,主机发送响应报告的最大时间间隔。 组地址字段:3 2 b i t s ,当发送一般查询时,组地址字段设置为0 ;发送特定组查 询或特定组源查询时,该字段设置为要查询的p 组播地址。 s 字段:i b i t s ,设置为l 时,抑制其它网络节点对报文的处理。 q r v 字段;3 b i t s ,用来表示查询者的健壮值( q u e r i e r sr o b u s t n e s sv a r i a b l e ) , 该值影响计时器和重传次数的取值。 q q i c 字段:8 b i t s ,查询者的查询问隔码( q u e r i e r 8q u e r yi n t e r v a lc o d e ) ,该值 1 0 武汉邮电科学研究院硕十学位论文 影响查询者的查询时间间隔,非查询者按照此值更新自己的缺省值。 源地址数目字段:1 6 b i t s ,该值代表在这个报文中包含了多少个源地址。当进行 一般查询时或者特定组查询时,该值为零;当进行特定组源查询时,该值为特定源 地址的数目。 源地址字段:每个源地址占用3 2 b i t s 。 类型 l 最大响应时间 检验和 组地址 未使用s q r v i q q i c源地址数目( n ) 源地址 1 】 源地址 2 】 源地址 n 】 图2 3i g m p v 3 查询报文格式 查询报文由组播网络节点发送以查询相邻主机的组播接收状态,主要有以下3 种查询消息:隶 - - 0 组中源地址成员为i n c l u d e 模式 o 至少一个组中源地址成员为e x c l u d e 模式 e x c l u d e卸 该组没有接收成员,如果所有源地址超时, 则删除该组,否则该组模式切换为i n c l u d e 源定时器的值与组播数据转发状态的关系如表2 4 所示。 表2 4 源定时器列表 组过滤模式源定时器值组播转发状态 o 转发该数据源的数据 烈c l u d e= o 停j e 转发该数据源的数据,将该源记录删除。 如果所有的源都超时,则删除该组记录 源列表为空没有转发的数据源 o 转发该数据源的数据 e x c l u d e= o 停i :转发该数据源的数据( 不删除该源记录) 源列表为空转发存在的数据源的数据 1 7 武汉邮电科学研究院硕十学位论文 说明:在组过滤模式为e x c l u d e 时,需要维护两种源列表,一般h je x c l u d e ( a ,b ) 表示。 符号( a ,b ) 将用于表示对特定组的所有的源数鼙。 a = 源记录的集合,他们的源定时器 0 ,至少存在一个数据源被要求转发; b = 源记录的集合,他们的源定时器= 0 ,i g m p 建议路由协议来自该数据源的流量不要被 转发。 3 i g m p v 3 报告报文的处理 表2 5 描述了网络节点在收到主机发送的各种类型的报告报文时所做的处理, 其中g m 表示g r o u pm e m b e r s h i pi n t e r v a l ,表示一个记录的有效时间,默认值为2 6 0 秒。 表2 5 接收成员报告操作列表 当前状态收到报告状态新状态动作 i n c l u d e ( a )i s i n ( b ) d i c l u d e源b 定时器置为g m i 。 ( a + b ) i s _ e x ( b ) e x c u j d e 源( b a ) 定时器置为o ; ( a b ,b a )删除源( a - b ) 条目;组定 时器置为g m i 。 t o _ i n ( b ) i n c 【u d e 源b 定时器置为g m i , ( a + b ) 对源a b 发送指定源和 组地址奄询。 t o _ e x ( b ) e x c 【u d e 源( b - a ) 定时器置为0 ( a b b a )秒,删除( a b ) 条目,对 源a * b 发送指定源和组 地址查询,组定时器置为 g m i 。 b l o c k ( b )i n c l u d e ( a ) 对源a * b 发送指定源和 组地址查询。 a l l o w ( b ) i n c l u d e 源b 定时器置为g m i 。 ( a + b ) e x c l u d e i s _ i n ( a ) e x c 【u d e源a 定时器置为g m i ( x 舯( x 斗a ,y - a ) i s e x ( a ) e x c l u d e 源( a - x - y ) 定时器置为 ( a y ,y a )g m i :删除( x a ) 和 ( y - a ) ;组定时器置为 g m i 。 1 8 武汉邮电科学研究院硕。 :学位论文 续表2 5 e x c l u d e t o i n ( a ) e x c u u d e 源a 定时器置为g m i ; ( x 十a ,y a )对源x a 发送指定源和 ( x ,y ) 组地址查询:对组发送指 定组夯询。 t oe x ( a )e x c l u d e 源( a x y ) 定时器置为 ( a - y ,y 幸a )组定时器值:删除( x a ) 、 一a ) 条目;对源a y 发 送指定源和组地址杏询: 组定时器置为g m i 。 b l o c k ( a ) e x c l u d e 源( a x y ) 定时器置为 ( x + ( a y ) ,的 组定时器值:对源a y 发 送指定源和组地址查询。 a l l o w ( a e x c l u d e 源a 定时器置为g m i 。 附入x 吣 说明:如果收到报告状态为i s i n ( 包含) ,则为两者的并集,且模式保持不变。如果 收到报告状态为i s e x ( 除此之外,无他) ,则新状态源链表中只有收到报告的源地址,且 模式为e x c l u d e ,只是源定时器设置有所区别。 2 3 4i g m p v 3 的改进 i g m p v 3 的工作原理和v 2 没有本质区别,只是在某些方面做了改进和优化。除 了上面提到的“源过滤”功能,i g m p v 3 的主要改进还有以下几点【1 4 】: 1 维护组播组和组播源的状态,在v 2 中仅仅维护组播组的状态; 2 向后兼容i g m p v l 和i g m p v 2 : 3 查询报文中包含健壮性变量和查询间隔,查询路由器和非查询路由器之间可 以保持参数同步; 4 最大相应时间从2 5 ,5 秒增加到5 3 分钟,适合用于较大的网络; 5 辅助数据字段为将来的扩展应用预留了空间; 6 关

温馨提示

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

评论

0/150

提交评论