




已阅读5页,还剩60页未读, 继续免费阅读
(计算机系统结构专业论文)mike的研究及在vpn中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 摘要 i k e 是i p s e c 安全体系的重要组成部分。i k e 在主机之间建立共享密钥和相关的 安全参数,用来保护应用程序交换的数据。i k e 的概念并不能用于基于i p 多播服务的 安全组播通信,因为它只能用于主机对之间的安全。为了协商和控制组密钥的分发以 及对组成员进行管理,提出了m i k e 。 安全多播通信中一个非常重要的问题就是源验证,或者说让多播数据包的接收者 确信这个数据包来自于它所声称的发送者,并且没有被修改。论述了一种非常有效率 的方案:t e s l a ,这个方案基于发送者和接收者之间的松散时间同步,由发送者延迟 释放密钥。提出了对t e s l a 的修改方法。其中一点是允许大部分的数据包在到达时 就立即得到验证( 而t e s l a 要求接收者维持一个小的缓冲区,用于容纳下一个包的 验证信息,并且仅仅在稍后才能进行验证) 。另外一点是减少了多个实体并行运行时 的空间开销,增强了系统的可扩展性,提高了抗d o s 攻击的能力,等等。 描述了一个协议套件,实现了一组为多个应用程序协作通信提供安全保障的a p i 。 这组a p i 是在c l i q u e s 项目中的扩展d i 撮e - h e l l m a n 密钥交换的基础上发展起来的。 它的核心服务是为一个相对较小的多播组提供验证的组密钥交换。 通过协议分析、模型设计和原型的实现,证明m i k e 不仅在理论上成立,而且在 实践上也是可行的。把它结合到v p n 中,将有着广泛的应用前景。 关键词:多播,因特网密钥交换,源验证,虚拟专用网 华中科技大学硕士学位论文 a b s t r a c t a k e yc o m p o n e n to f t h ei ps e c u r i t ya r c h i t e c t u r ei st h ei n t e m e tk e y e x c h a n g e d a e m o n 1 k ei si n v o k e dt oe s t a b l i s hk e y sa n d s e c u r i t yr e l a t e dp a r a m e t e r sb e t w e e nh o s t si no r d e rt o p r o t e c t e dt h ee x c h a n g e da p p l i c a t i o nd a t a 谢也t h e m t h ei k ec o n c e p tc a nn o tb eu s e df o r s e c u r i n gg r o u pc o m m u n i c a t i o n b a s e do ni pm u l t i c a s ts e r v i c e ss i n c ei ti so n l ya d d r e s s e dt o p a i r w i s es e c u r i t y f o rn e g o t i a t i o na n dc o n t r o l l e dd i s t r i b u t i o no fg r o u ps e c u r i t yd a t aa n d m e m b e r s h i pm a n a g e m e n t t h em u l t i c a s ti n t e r a c tk e y e x c h a n g e i si n t r o d u c e d o n eo ft h em a i n c h a l l e n g e s o f s e c u r i n g m u l t i c a s tc o m m u n i c a t i o ni ss o u r c e a u t h e n t i c a t i o n ,o re n a b l i n gr e c e i v e r so fm u l t i c a s td a t at ov e r i f yt h a tt h er e c e i v e dd a t a o r i g i n a t e dw i t h t l l ec l a i m e ds o u r c ea n dw 髓n o tm o d i 丘e de n r o u t e a v e r ye 街c i e n ts c h e m e t e s l a w h i c hi sb a s e do ni n i t i a ll o o s et i m es y n c h r o n i z a t i o nb e t w e e nt h es e n d e ra n dt h e r e c e i v e r s f o l l o w e db yd e l a y e dr e l e a s eo f k e y sb yt h es e n d e r , i si n t r o d u c e d t 1 l i sp a p e r p r o p o s e ss e v e r a ls u b s t a n t i a lm o d i f i c a t i o i l sa n di m p r o v e m e n t st ot e s l a o n e m o d i f i c a t i o n a l l o w sr e c e i v e r st oa u t h e n t i c a t em o s tp a c k e t sa ss o o na st h e ya r r i v e ( w h e r e a st e s l a r e q u i r e sb u f f e r i n gp a c k e t sa tt h er e c e i v e rs i d e ,a n dp r o v i d e sd e l a y e da u t h e n t i c a t i o no n l y ) o t h e rm o d i f i c a t i o n si m p r o v et h es c a l a b i l i t yo ft h es c h e m e ,r e d u c et h es p a c eo v e r h e a df o r m u l t i p l ei n s t a n c e s ,i n c r e a s e i t sr e s i s t a n c et od e n i a l o f - s e r v i c ea t t a c k s a n dm o r e t h em a i nc o n t r i b u t i o no f t h et h e s i si st od e s c r i b ea p r o t o c o ls u i t ea n da n a p i g e a r e df o r s e c u r i n gc o l l a b o r a t i v ea p p l i c a t i o n s n 地a p ii sb a s eo nt h ee x t e n s i o n so fd i f f i e h e l i m a n k e ya g r e e m e n td e v e l o p e di nt h ec l i q u e sp r o j e c t i t sc o r es e r v i c e sp r o v i d ea u t h e n t i c a t e d g r o u pk e ya g r e e m e n t i nr e l a t i v e l ys m a l l d y n a m i cp e e rg r o u p s t h r o u g ha n a l y z i n g f o rm i k e ,m o d e ld e s i g na n dp r o t o t y p e i m p l e m e n t a t i o n , i ti s c o n c l u s i v et h a tm 疆i sn o to n l yc o r r e c ti nt h e o r yb u ta l s of e a s i b l ei np r a c t i c e i f c o m b i n e d w i mv p n m :ew i l lb ea p p l i e dw i d e l y k e y w o r d s :m u l t i c a s t , i k e , s o u r c e a u t h e n t i c a t i o n , v p n i i 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他 个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:杏肇 日期:z o d 年年孕月“日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校 有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数 据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密口,在年解密后适用本授权书。 本论文属于 不保密匦。 ( 请在以上方框内打“”) 学位论文作者签名: 孚肆 日期:砷啦年4 月工日 指剥币豁参 日期:泖年丫月节日 华中科技大学硕士学位论文 1 1 研究背景 1 绪论 1 1 1 多播概述 i n t e r n e t 不仅提供了一个发送者对应一个接收者的单播数据传输方式,也提供了 一个发送者对应多个接收者的多播数据传输方式。随着i n t e m e t 的不断发展,各种应 用层出不穷,i n t e r n e t 的带宽也越来越紧张。有些应用采用单播方式,对资源浪费严 重。如视频点播应用,如果采用单播方式,就有可能在服务器和同一段线路上维护多 个相同的视频流【1 ,2 ,3 1 ,这是很浪费的;而采用多播方式,则在服务器和线路上只需要 维护一个视频流,极大的节约了网络带宽。 在i p v 4 中,用一个3 2 位的无符号整数表示i p 地址。互联网上的每个接口必须 具有一个唯一的i p 地址。i p 地址并不是一个平面的地址空间,而是具有一定的结构。 5 类不同的地址格式如图1 1 所示。其中d 类地址是多播地址,其范围是从2 2 4 0 0 0 到2 3 9 2 5 5 2 5 5 2 5 5 。 ,托斟斑 a 畿匾委霹疆= = = 二夏蓝 二 b 蕊 ( 粪 n 篓 e 麓 图1 1 i p v 4 地址结构 多播组地址包括为1 1 1 0 的最高4 b i t 和多播组号。一些多播组地址被i a n a 确定 为知名地址。它们也被当作永久主机组,这和t c p 及u d p 中的熟知端口相似。这些 知名多播地址在r f c 最新分配数字中列出。它们所代表的组是永久组,但它们的组 成员却不是永久的。例如,2 2 4 0 0 1 代表“所有口多播主机组成的组”,2 2 4 0 0 2 代表“该子网内的所有路由器组”。d 类地址的分配范围如下:2 2 4 0 0 1 - - 2 2 4 0 0 2 5 5 分配给路由选择协议及其它底层的拓扑发现和维护协议:2 2 4 0 1 o 2 3 8 2 5 5 2 5 5 2 5 5 华中科技大学硕士学位论文 分配给多播在组、内部网、及i n t e m e t 中的端用户使用;2 3 9 0 0 0 - - 2 3 9 + 2 5 5 2 5 5 2 5 5 分配给本地被管理的和特定位置的多播应用程序。 同单播地址一样,多播地址也需要有把其变换为硬件地址的方法,如转变为以太 网中的m a c 地址。与多播相对应的以太网地址范围从0 1 :0 0 :5 e :0 0 :0 0 :0 0 到 0 1 :0 0 :5 e :7 f :f f :f f o 以太网多播地址中的2 3 b k 与i p 多播组号对应,通过将多播组号中 的低位2 3 b r 映射到以太网地址中的低位2 3 b r 实现,这个过程如图1 2 所示。 上篙徽言装5 睐用 o : 7 | :1 5 韬黔錾髓 磁,衄蝰臣巫= = 二工= = = = = i多搦雒她址中的慷证2 3 证笈帮j 到l 图1 2d 类毋地址到以太网多播地址的映射 由于多播组号中的最高5 b i t 在映射过程中被忽略,因此每个以太网多播地址对应 的多播组是不唯一的。3 2 个不同的多播组号被映射为一个以太网地址。例如,多播地 址2 2 4 1 2 8 6 4 3 2 ( 十六进制e 0 8 0 4 0 2 0 ) 和2 2 4 0 6 4 3 2 ( 十六进制e 0 0o 4 0 2 0 ) 都 映射为同一以太网地址0 1 :0 0 :5 e :0 0 :4 0 :2 0 。 多播应用有以下三类: ( 1 ) 一对多方式:一个发送者对应多个接收者。 ( 2 ) 多对多方式:多个发送者对应多个接收者。 ( 3 ) 多对一方式:多个发送者对应一个接收者。 基于一对多方式的应用主要有视频、音频、新闻的发布、文件的更新、天气预报 等;基于多对多方式的应用主要包括视频会议、远程学习、多人游戏。 多播应用程序除了与传统的单播应用程序有相同的带宽、延时方面的需求外,还 有一些多播应用特定的需求, 主要有: ( 1 ) 地址管理。 ( 2 ) 会话管理。 ( 3 ) 计算能力不同的接收者的处理。 ( 4 ) 可靠性。 2 华中科技大学硕士学位论文 ( 5 ) 安全性。 在多播应用程序发送和接收数据之前,它必须获得一个多播地址,由于多播地址 并不对应一个主机,因此多播地址是动态的。一般来说,有三种方法获得多播地址。 一是在程序固定由i a n a 静态分配的多播地址;二是采用某种多播地址发现机制来找 到一个未使用的多播地址;三是经过某种算法来获得一个多播地址。无论采用何种方 法,应用程序都应该设想多播地址是动态的。 会话指的是与多播对应的主机组和它们的状态。会话管理指的是: ( 1 ) 通过某种途径发布会话信息( 如多播地址,参与的主机数目) 。 ( 2 ) 提供某种机制查询会话信息。 在多播应用中,通常是一个发送者对应多个接收者,接收者的网络连接带宽往往 差别很大,这就需要有种机制来发现接收者的带宽及计算能力,从而避免拥寨。 可靠性指的是发送者能够确切的知道接收者是否收到了数据,安全性包含的内容 很多。i r t f ( i n t e m e t 研究专门小组) 成立了可靠多播【4 5 ,q ( i u ) 和安全多播【7 ,8 ,9 1 ( s m u g ) 研究小组,对这两个问题进行深入的研究。 1 1 2i k e 简介 用i p s e c 保护一个p 包之前,必须先建立一个安全联盟s a 1 0 ,l l 】。s a 可以手工 创建或动态建立。i n t e m e t 密钥交换( i k e ) 用于动态建立s a 。i k e 代表i p s e c 对s a 进行协商,并对s a d b 数据库进行填充。 由r f c 2 4 0 9 描述的i k e 属于一种混合型协议。它建立在由i n t e m e t 安全联盟和密 钥管理协议( i s a k m p ) 【1 2 ,1 3 , 1 4 】定义的一个框架上。同时,i k e 还实现了两种密钥管 理的一部分:o a k l e y 和s k e m e 。此外,i k e 还定义了它自己的两种密钥交换方式。 o a k l e y 是由亚利桑那大学的一个安全专家h i l a r i eo r m a n 开发的一种协议【l 5 1 。它 是一种自由形态的协议,允许各方根据本身的速度来改进协议状态。以o a k l e y 为基 础,i k e 借鉴了不同模式的思想,每个模式会产生一个通过验证的密钥交换,以不同 的速度进行信息的交换。s k e m e 则是另外一种密钥交换协议,由加密专家h u g o k r a w c z y k 设计【1 6 】。s k e m e 定义了验证密钥交换的一种类型。其中,通信各方利用公 共密钥加密实现相互间的验证,同时共享交换的组件。每一方都要用对方的公共密钥 来加密一个数字,两个随机数在解密后都会对最终的密钥产生影响。i s a k m p 是由美 国国家安全局( n s a ) 的研究人员开发出来的。 i s a k m p 、o a k l e y 和s k e m e 这三个协议构成了i k e 的基础1 1 7 - 2 2 】。i k e 是一种混 华中科技大学硕士学位论文 合型的协议,它沿用了i s a k m p 的基础,o a k l e y 的模式以及s k e m e 的共享和密钥更 新技术,从而定义出自己独一无二的验证加密材料生成技术,以及协商共享策略。 1 2 国内外研究发展现状 m i k e 中一个需要着重解决的问题是多播数据的源验证。国外的研究者已经提出 了使用签名的数据包来完成数据源验证。因为数字签名具有不可否认性,一个签名不 仅仅只能完成验证功能。目前的数字签名的通信和计算开销要远远大于基于对称加密 算法的方案。首先回顾一下仅仅提供源验证而不提供不可否认性的方案。 c h e u n g 最早开展相关的工作【2 3 】。他提出了一个类似于基本t e s l a 协议的方案, 用来验证路由器之间的状态连接路由器的更新。他假定网络中的所有路由器是时间同 步的,误差在e 之内。而且没有考虑到多个接收者的网络延迟各不相同的情况。 a n d e r s o n 提出了g u yf a w k e s 协议口】,它能提供两个团体之间的消息验证。但是 这个消息有一个很大的缺点就是不能容忍数据包的丢失。他们提出两种方法来保证密 钥不会被过早的公开。第一种方法是让发送者和接收者保持步调一致。也就是接收者 收到数据包后发送者才可以发送下一个数据包。这严重限制了发送者的速率并且不利 于扩展到多个接收者。第二种保证安全性的方法是在一个时间戳服务器上对每一个数 据包打上一个时间戳,这就导致了额外的复杂性并增大了开销。 c a n e t t i 提出了一个方案,使用k 个不同的密钥来对每个数据包进行验证,每个数 据包使用k 个不同的密钥生成消息验证科矧。每一个接收者知道m 个密钥,可以验 证m 个消息验证码。这种密钥分配方式可以防止w 个接收者联合伪造一个数据包到 一个指定的接收者。这种方案的通信开销是比较大的,因为每一个消息都需要携带k 个消息验证码。服务器端在发送一个数据包之前必须计算k 个消息验证码( m a c ) , 这个计算开销要比本文提到的方案大。此外,他们的方案的安全性还有一个前提:不 会有多于k 个接收者联合串通伪造数据包。 b r i s c o e 提出了f l a m e s 协议,这个协议类似于c h e u n g 提出的协议【2 6 1 ,和基本 t e s l a 协议也有部分相似的地方。b e r g a d a n o ,c a v a l i n o ,c r i s p o 提出了一个多播验证 协议【2 ”。他们的协议也类似于c h e u n g 提出的协议。 b e r g a d a n o ,c a v a g n i n o 和c r i s p o 提出了一个类似于g u yf a w k e s 协议的协议,用 于数据源验证,他们的方案要求发送者在收到接收者的确认包以后才能发送下一个数 据包,从而无法扩展到一个较大的多播组。他们提出的协议的优点是不依赖于时间同 形。 4 华中科技大学硕士学位论文 1 3 研究的主要研究工作 首先,要深入分析t e s l a 2 8 l 多播源验证模型,并对t e s l a 模型进行改进。使之 允许大部分的数据包在到达时就立即得到验证。另外的改进点是减少多个实体并行运 行时的空间开销,增强了系统的可扩展性,提高了抗d o s 攻击的能力。 实现了一组用于动态对等组的组密钥协商的a p i 函数。要求提供验证的组密钥交 换,并且保证密钥的独立性、完整性、完美向前保密和对已知密钥攻击的抵抗。 最后,对i p s e c 的封装安全载荷协议进行扩展使之适用于多播操作,并实现一个 m i k e 的原型,并讨论m 江在v p n 中的应用。 华中科技大学硕士学位论丈 2i p 多播实现的分析 多播的实现分为全局任务和局部任务,全局任务负责多播的路由,局部任务负责 组成员关系的管理和局部报文的传递。这章介绍了多播实现的需求和一些建议方法。 2 1 节介绍了s d e e r i n g 提出的一个主机多播模型,2 2 节对局部任务的实现进行了分 析,2 3 节对全局任务进行了分析。 2 1 i p 多播模型 i p 多播是指一个i p 数据报向一个主机组的传送,该主机组是由一个单独的p 目 的地址标记的多个或零个主机。一个多播数据报被尽可能地传递给它的目的主机组的 所有成员,就像常规的单播i p 数据报一样。也就是说,不能保证数据报能完好无损 的到达目的组所有成员,也不能保证它以相对于其它数据报同样的顺序到达。 主机组的成员是动态变化的;也就是说,主机可以随意加入和离开组。对一个主 机组的位置和组成员的数量并没有限制。一个主机可以同时是一个或多个组的成员。 不是某一组的成员的主机也能向该组发送数据报。 主机组可以是永久的或是暂时的。永久组是一个众所周知的,由i n t e m e t 管理机 构分配的口地址,它的地址是永久的,而该组的成员是可以改变的。在任意时刻, 一个永久组可以有任意数量的成员,甚至没有成员。另外一些不是为永久组保留的p 多播地址是为暂时组动态分配的地址,这些暂时组只有当它们有成员时才存在。 i p 多播数据报的网间传递是通过“多播路由器”实现的,多播路由器可以驻留在 互联网网关上,也可以与互联网网关分离。主机以本地网络多播的方式传送口多播 数据报,这些数据报只到达目的主机组中所有与该主机直接邻近的成员。如果数据报 的i p 首部中的生存时i 司( t t l ) 字段大于1 ,则在本地网络上的一个或多个多播路由器 负责将它传递到有目的主机组的成员的其他网络上。在那些可以在i p 生存时间为零 以前到达的其它成员网络里,当地一个多播路由器以本地多播的方式传递该数据报来 完成传送。 主机对多播的支持可以分为3 级1 2 9 : ( 1 ) 0 级:完全不支持多播。 ( 2 ) 1 级:只能够发送i p 多播数据包。 6 华中科技大学硕士学位论文 ( 3 ) 2 级:既能发送i p 多播数据包也能够接收口多播数据包。 为了支持p 多播必须对主机的i p 实现的扩展,这里的“主机”是除了用作多播 路由器以外的任何互联网主机和网关。用在多播路由器内和之间的算法和协议对主机 是透明的。 2 2 主机实现 2 2 1i g m p 协议分析 i r l t e m e t 组管理协议( i g m p ) 1 3 0 1 用于i p 主机向所有紧邻的多播路由器报告它们 的主机组成员关系。i g m p 是不对称的协议,像i c m p 一样,i g m p 是i p 的一个组成 部分。要在所有符合i p 多播规范的2 级主机上实现。i g m p 报文封装在数据报中, 数据报的i p 协议字段为2 。所有与主机相关的i g m p 报文具有如图2 1 的格式: 1 ) 版本 目前版本为l ,版本0 在r f c - 9 8 8 中说明,现已被废弃。 2 ) 类型 有两种与主机相关的i g 础p 报文: ( 1 ) 主机成员请求; ( 2 ) 主机成员报告。 3 ) 未用 未用字段,在发送时为零,接收时被忽略。 4 ) 组地址 主机成员请求报文在被发送时组地址字段为零,被接收时忽略该字段。 主机成员报告报文中,组地址字段为被报告组的母主机组地址。 多播路由器发送主机成员请求报文( 在下文叫做请求) ,以发现哪些主机组在它 们所属的本地网络上有成员。请求的目的地址为所有主机组( 2 2 4 0 0 1 ) ,携带的i p 生存时间为l 。 主机为了响应一个请求,生成主机成员报告报文,报告它们在接到请求的网络接 口上所属的每个主机组。为了避免并发报告“爆炸”,减少被传送的报告的总数,使 华中科技大学硕士学位论文 用了两种技术: ( 1 ) 当主机接收到一个请求,不是立即发送报告,而是为到达请求的网络接口 上每个组成员启动一个报告延时定时器。每个定时器被设置为在0 到d 秒之间的一个 不同的、随机选择的值。当一个定时器超时,会为相应的主机组产生一个报告。因此, 报告的产生时间分散在d 秒的间隔内,而不是都立即产生。 ( 2 ) 被发送的报告的i p 目的地址等于它要报告的主机组的地址,它的i p 生存时 间为1 ,所以在同一网络上这一组的其它成员能侦听到该报告。如果主机听到在那个 网络上它所属的组的报告,则主机停止那个组的定时器,不再产生那个组的报告。因 此,在通常情况下,仅仅为出现在网络上的每个组生成一个报告,这是由延迟定时器 最先超时的成员主机生成的。要注意的是,多播路由器接收所有i p 多播数据报,因 此不需要明确的指明它的地址。还要注意的是,路由器不需知道哪些主机属于一个组, 而仅需知道是否至少有一个主机属于在特定网络上的一个组。 以上描述的特性有两个例外。第一,如果在请求收到以前,已经有一个报告延时 定时器在为一个组成员运行,则该定时器不会重置为一个新的随机值,而是以它的当 前值运行。第二,报告定时器不会因为主机是所有主机组( 2 2 4 0 0 1 ) 的成员而生成, 这个成员关系不会被报告。 如果主机使用伪随机数生成器计算报告延迟时间,主机的单个i p 地址之一应作 为生成器种子的一部分,以减少多宿主机生成相同的延迟序列的可能性。 主机应该确保接收到的报告的口目的地址字段和i g m p 组地址字段有相同的 组地址。以保证主机自己的报告不会因为错误的接收报告而取消。主机应该丢弃除了 主机成员请求或主机成员报告类型以外的任何i g m p 报文。 多播路由器周期性地发送请求,以更新它所知道的,在特定网络上目前的成员关 系情况。如果在几次请求之后,没有接收到特定组的报告,则路由器假设这个组已经 没有本地成员,它们就不需转发从远端传来的那个组的多播数据报到本地网络上。正 常情况下,请求被发送的频率很低( 每分钟不超过一次) ,因此i g m p 对主机和网络 的开销非常小。然而,当多播路由器启动时,它可以发出几个时间间隔很小的请求, 以便尽快获知本地成员的情况。 当主机加入一个新的组时,它应该立即发送一个那个组的报告,而不是等待一个 请求,以防止它是这个网络上该组的第一个成员。考虑到初始的报告可能丢失或损坏, 建议在一个短的延迟后重复报告一到两次。( 达到这一目的的一种简单的方式是好像 8 华中科技大学硕士学位论文 仅仅那个组的请求被接收,设置组随机报告延迟定时器。图2 2 解释了这种方法。) 要注意的是,在一个没有多播路由器的网络上,当有主机加入一个新组时,唯 的i g m p 通信量是一个或多个报告的传送。 每个主机可能处于三种可能的状态中的一种,这与在任意的单个网络接口上的一 个单独的l p 主机组有关。 ( 1 ) 非成员状态,当主机不属于这个接口上的组时。这是所有网络接口上所有 成员的初始状态;它不需要主机的存储空间。 ( 2 ) 延时成员状态,当主机属于那个接口上的组时,需要为这个成员关系运行 一个报告延时定时器。 ( 3 ) 空闲成员状态,当主机属于那个接口上的组时,不需要为这个成员关系运 行一个报告延时定时器。 有五种事件能使i g m p 状态变换: ( 1 ) 当主机决定加入这个接口的组时, 成员状态。 ( 2 ) 当主机决定离开这个接口的组时, 迟成员和空闲成员状态。 出现“加入组”事件。这只能出现在非 出现“离开组”事件。这只能出现在延 ( 3 ) 当主机收到一个有效的i g m p 主机成员请求报文时,出现“请求收到”事 件。要达到有效状态,请求报文必须至少有8 字节长,有一个正确的i g m p 校验和和 地址为2 2 4 0 0 1 的婵目的地址。单一的请求适合于收到请求的接口的所有成员关系。 这里不考虑非成员状态或延迟成员状态的情况。 ( 4 ) 当主机接收到一个有效的i g m p 主机成员报告报文时,出现“报告收到” 状态。要达到有效状态,报告报文必须至少有8 字节长,有一个正确的i g m p 校验和, 而且在它的i p 目的地址字段和i g m p 组地址字段有相同的p 组地址。报告仅用于在 接收到报告的接口上,由报告标识的组组成员。这里不考虑非成员状态或空闲成员状 态的情况。 ( 5 ) 当接口上的组的报告延迟定时器超时时,出现“定时器超时”事件。它只 出现在延迟成员状态。 所有其它的事件,如收到无效的i g m p 报文,或收到除请求或报告之外的i g m p 报文,被忽略了。 有三种可能的动作,可以用来响应以上事件: 9 华中科技大学硕士学位论文 ( 1 ) 为那个接口上的组“发送报告”。 ( 2 ) 为那个接口上的组“打开定时器”,使用在0 到d 秒之问的随机延时值。 ( 3 ) 为那个接口上的组“停止定时器”。 在图2 2 中,每个状态转换弧由促使转换的事件标记,在圆括号中的是在转换过 程中所执行的动作。 离开组 ( 停止定时器) 延 迟 成 员 非 成 员 加入组 发送报告 打开定时器) 接收到请求 ( 开始定时器) 接收到报告 ( 停止定时器) 定时器超时 ( 发送报告) 空 闲 成 员 离开组 图2 2i g m p 状态变换图 所有主机组( 地址为2 2 4 0 0 1 ) 的处理属于特殊情况。主机开始时是每个接口上 的那个组的空闲成员状态,不会变换到其它状态,也不会为那个组发送报告。 2 2 2 接收多播数据 高层协议使用与接收标准的单播数据报一样的“r e c e i v e 口”操作,接收到来的 多播i p 数据报。目的高层协议的选择由i p 首部的协议字段决定,而与目的i p 地址无 关。然而,在属于一个特定组的任意数据掇被接收之前,高层协议必须请求i p 模块 加入该组。因此,必须扩展i p 服务接口,提供以下两个操作: j o i n h o s t c r r o u p ( g r o u p - a d d r e s s ,i n t e r f a c e ) ; l e a v e h o s t g r o u p ( g r o u p - a d d r e s s ,i n t e r f a c e ) 。 j o i n h o s t c r r o u p 操作要求本主机在给定的本地网络接口上成为以“g r o u p a d d r e s s ” l o 华中科技大学硕士学位论文 标记的主机组中的成员。l e a v e g r o u p 操作要求本主机在给定的本地网络接口上离开以 “g r o u p - a d d r e s s ”标记的主机组。如果主机只有一个接口,则i n t e r f a c e 参数可以省略。 对于属于多个网络的主机,高层协议可以不指明i n t e r f a c e ,这要求使用缺省的i n t e r f a c e 发送多播数据报。 允许在多个i n t e r f a c e 上加入一个相同的组,这种情况下可能会有重复的多播数据 报被接收;也允许多个高层协议要求加入同一个组。 这两种操作都立即返回( 即它们是非阻塞操作) ,表示成功或是失败。每种操作 都可能因为无效的组地址或接口标识符而出错。j o i n h o s t g r o u p 操作可能由于缺少本 地资源而失败。l e a v e h o s t g r o u p 可能因为本主机不属于在给定接口上的某一组而失 败。l e a v e h o s t g r o u p 如果成功,组成员关系可能还存在,因为可能有多个高层协议是 同一个组的成员。 为了能够接收多播妒数据报,必须扩展i p 模块,维持一个与每个网络接口相关 的主机组成员列表。在到来的数据报中,目的地属于这些组地址中某一个的数据报的 处理方式与目的地属于主机的单播地址中某一个数据报的处理方式相同。 如果主机接收到目的地址是组地址的数据报,而该主机不属于该组,则这个数据 报将被丢弃而不生成任何错误或日志记录。在有多个网络接口的主机上,如果目的地 属于某一组的数据报经由一个接口到达,而该主机只在另一个网络接口上属于这个 组,则这个数据报将被毫无声息的丢弃。( 出现这种情况的唯一原因是本地网络模块 的多播地址过滤功能不完善。) 如果到来的数据报的i p 生存时间( t t l ) 为l ,则该数据报不会被拒收( 即,如 果到来的数据报不会再被转发,则它的生存时间字段不会自动减少) 。如果到来的数 据报的源地址字段出现了i p 主机组地址,则该数据报将被丢弃。i c m p 出错信息( 目 的主机不可达,超时,参数问题,源站被抑制,重定向) 不会因为目的地为i p 主机 组的数据报而产生。 主机组成员列表根据高层协议的j o i n h o s t g - r o u p 和l e a v e h o s t c j r o u p 操作要求而更 新。每个成员应该有一个相应的参照数或其它同样的机制,来处理加入和离开同一组 的多个要求。当第一个要求加入和最后一个要求离开在给定接口上的某个组时,那个 接口的网络模块就被告知,去更新它的多播接收过滤器。 i p 模块也必须扩展,实现i g m p 协议。i g m p 是用来让邻近的多播路由器获知在 一个特定的本地网络中出现的主机组成员。为了支持i g m p ,每个2 级主机必须在初 始化时加入“所有主机”组( 地址为2 2 4 0 0 1 ) ,而且只要主机是开着的,它都要是 华中科技大学硕士学位论文 这个组的成员。 ( 地址是所有主机组的数据报会被多播路由器当成一个特殊情况,不管它的生存 时间是多少,它不会被传递出单一的网络。因此,所有主机地址不用于互联网范围上 的广播地址。为了达到i g m p 的目的,属于所有主机组的这项要求仅仅在主机属于至 少一个其它组时才真正是必须的。然而,要求主机在任何时候是一个所有主机组的成 员的原因是( 1 ) 简单,( 2 ) 接收不必要的i g m p 请求的频率应足够的低,以使开销可以忽 略不计。( 3 ) 所有主机地址可以用于其它面向路由选路的目的,例如通知网关的存在或 解析本地地址) 把到来的本地网络多播分组传递给碑模块使用的方式与处理本地网络单播分组 时一样,都是使用“r e c e i v el o c a l ”操作。为了允许邛模块通知本地网络模块它要接 收哪种多播分组,必须扩展本地网络服务接口,以提供以下两个新操作: 2 0 i n l o c a l g r o u p ( g r o u p a d d r e s s ) l e a v e l o c a l g r o u p ( g r o u p a d d r e s s ) “g r o u p a d d r e s s ”是i p 主机组地址,j o i n l o c a l g r o u p 操作要求本地网络模块接收 和向上传递目的地为给定i p 主机组地址的分组。l e a v e l o c a l g r o u p 操作要求本地网络 模块停止向上递交目的地为给定邛主机组地址的分组。本地网络模块应该能够映射 i p 主机组地址到本地网络地址, 这是更新本地网络模块的多播接收过滤器所要求的。任何本地网络模块都可以忽 略l e a v e l o c a l g r o u p 操作的要求。如果它不能充分过滤到来的分组,也可以向上传递 超出j o i n l o c a l g r o u p 操作所要求的更多的多播地址的分组。 本地网络模块不会向上传递任何从该模块出发的多播分组;多播回送是在珀层 或更高层处理。 为了支持多播坪数据报的接收,以太网模块必须能接收地址是与主机的i p 主机 组地址相关的以太网多播地址的分组。利用以太网硬件接口可能具有的地址过滤能力 是非常可取的,这样主机只接收目的地指向它的那些分组。 不幸的是,许多当前的以太网接口对硬件能识别的地址数目有很少的限制。而且, 一个具体的实现必须能侦听任意数目的以太网多播地址,这意味着当地址数目超过过 滤器的限制时,“打开”地址过滤器以接收所有的多播分组。 对于那些硬件地址过滤能力不强的接口,为了性能的原因,在以太网模块的软件 中执行以太网地址过滤可能要好一些。然而,这并不是强制性的,因为p 模块基于 i p 目的地址执行它自己的过滤。 华中科技大学硕士学位论文 2 2 3 发送多播数据 多播i p 数据报的发送和单播i p 数据报的发送一样的,都使用“发送i p ”操作; 高层协议模块仅仅指定一个i p 主机组地址,而不是单个i p 地址,作为目的地址。然 而,许多扩展可能是必须或是可取的。 首先,服务接口必须提供一种方式,让高层协议能够指定要送出的多播数据报的 i p 生存时间( t t l ) 字段的值,如果这种能力以前并不存在的话。如果高层协议没有 指定生存时间,那么对所有多播皿数据报,生存时间( t t l ) 缺省为1 。因此,要让 多播跨过单个网络,就必须明确指定生存时间。 第二,对于那些属于多个网络的主机,服务接口必须提供一种方式,能让高层协 议标记哪个网络接口将被用于多播传送。仅有一个接口用于初始传送;如果需要的话, 多播路由器负责向所有其它网络传递。如果高层协议没有标记一个外出接口,缺省接 口将被使用,这可由系统管理来控制。 第三( 这仅用于2 级实现) ,如果发送数据报的主机本身是它发向的主机组的成 员,那么服务接口应该提供一种方式,让离层协议禁止这个数据报的本地传送;缺省 情况下,该数据报的一个拷贝被回送。 为了支持多播i p 数据报的发送,球模块必须被扩展以在为外出数据报选择路由 时识别i p 主机组地址。大多数i p 实现包括以下逻辑: i fi p 目的地在同样的本地网络上 在本地发送数据报给1 p 目的地 e l s e 在本地发送数据报给网关( i p 目的地) 为了达到多播传送,路由选择逻辑必须改为: i fi p 目的地在同样的本地网络上 o r 口目的地是一个主机组 在本地发送数据报给p 目的地 e l s e 在本地发数据报给网关( i p 目的地) 如果发送主机本身是外出接口上目的主机组的成员,则外出数据报个拷贝必须 回送来达到本地传送,除非由发送者禁止。( 仅用于2 级实现) 外出数据报的源地址必须是与外出接口相对应的单个地址中的一个。 华中科技大学硕士学位论文 主机组地址一定不会出现在外出口数据报的源地址字段,和源路由或记录路由 选项中的任何地方。 通过允许多播地址出现在以太网分组中的目的地址字段,以太网就能支持本地多 播分组的发送。为了支持多播i p 数据报的发送,所需的是一个将i p 主机组地址映射 到以太网多播地址的过程。 i p 主机组地址映射到以太网多播地址,是通过将i p 地址的低2 3 位放在以太网多 播地址0 1 o o 5 e 。o o 一0 0 0 0 ( 十六进制) 的低2 3 位上实现的。因为在i p 主机组地址上有 2 8 个有意义的位,所以多个主机组地址可以映射到相同的以太网多播地址上。 2 3 路由器实现 2 3 1 问题综述 受d e e r r i g 的启发,人们对建立一个具有多播能力的i n t e m e t 的兴趣与日俱增,这 导致了m b o n e 3 1 1 的出现。1 9 9 2 年,m b o n e 进行了一个世界范围内的实验,2 0 多个站 点收到了声音。多播的选路功能由工作站上的m r o u t e d 守护进程提供,它使用的是 d v m r p 协议【3 2 。经过这么多年的发展,除了d v m r p 协议外,又出现了 p i m d m 3 3 1 3 4 ,p i m s m 【3 5 】1 3 6 】,m o s p f 3 7 1 ,c b t 多播路由协议,它们的目的就是要建立了 一个多播树。 2 3 2 选路算法介绍 选路算法分为密集模式和疏松模式两类。密集模式在有密集组成员的拓扑中最有 效。路由器假定下游有组成员,因此就向下转发分组,仅当路由器收到明确的剪枝信 息时,才不向下游转发分组。如果组成员非常密集,路由器就不需要修剪。密集模式 的重要缺点是网络中的每个路由器必须为每个源保存状态信息,不管其下游是否有成 员。如果组成员不密集,网络中必须存储大量的状态信息,这浪费了大量的带宽。密 集模式的协议主要有d v m r p 和p i m d m 两种。为了克服密集模式的缺点,人们提出 了疏松模式的协议。疏松模式的协议不仅对组中有许多成员时进行优化,当仅有少数 分布很广的成员时也有效。它不是通过广播业务流和引发剪枝信息,而是需要接收者 发送明显的加入申请报文。加入报文被送到核心路由器上,发送者再把数据送到核心 路由器上,核心路由器充当数据的交汇点。疏松模式的协议主要有p i m s m ,和c b t 两种。 d v m r p 使用广播与剪枝的算法来构建一个多播树。主要步骤如下: 1 4 华中科技大学硕士学位论文 ( 1 ) 源在本地接口上广播多播包,与之相连的路由器收到这个包后,在它的所 有外出接口上发送包。 ( 2 ) 收到包的路由器执行反向路径( r j 卞) 检查,也就是路由器检查收到多播报 文的接口是否为到达源要使用的外出接口。如果是,将在所有外出接口上转发报文; 如果不是,报文将会被无声无息地丢掉。 ( 3 ) 最后,报文将到达与主机直接相
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民爆物品安全培训计划课件
- 民法课件教学
- 1S-2R-Bedaquiline-1S-2R-TMC207-生命科学试剂-MCE
- 保安证笔试考试题及答案
- 江西安全生产条例要点讲解
- 民族风光课件
- 华体科技新质生产力
- 新质生产力的核心特点
- 新质生产力对消费的影响
- 2025年精神科抑郁症早期干预试卷答案及解析
- 【培训课件】5S培训课程讲义
- 2000-2015年考研英语一真题及详细解析
- 2021年10月自考健康教育与健康促进试题及答案
- 假性软骨发育不全综合征介绍演示培训课件
- 保险行业纳税筹划案例分析
- 私立民办高中学校项目建议书
- 比亚迪汽车发展史
- 他们创造了数学:50位著名数学家的故事
- 财务管理-企业筹资方式
- 07K103-2 防排烟系统设备及附件选用及安装
- (完整)消化性溃疡PPT课件ppt
评论
0/150
提交评论