




已阅读5页,还剩59页未读, 继续免费阅读
(信号与信息处理专业论文)移动ipv6系统中cn节点功能的实现和安全部署.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 当前许多针对移动i p 的研究和实现都是基于i p v 6 协议的,最近的提案中已 经将i p v 6 作为3 g 系统中不可分割的一部分。除了外地代理,穆动i p v 6 使娜了 移动i p v 4 阏络中基零的功缝实体:潺信节点( c n ) ,移动主枫( m n ) 和本地代 理。使用i p v 6 的移动主机可以通过地址自动配置获得外地链路上的关联地电f = , 并且在佟为一个通信节点接收从本媳代理隧道转发过来的数据镪。更为关键的, 在移动i p v 6 中,扶邋僖节点发送鞠数据包可潋通过自己的绑怒缓存将数据镪直 接路由到移动主机上。 e 较移动l p v 6 秘移动珏4 的贫瑷原理,可以发现除了协议本身对移动骸的 功能捉供了更多豹集藏性移可扩震髓渡外,移动i p v 6 还很好绣解决了路由优化、 入口过滤、快速切换和发全可靠的邋信等问题。 本文详缨缝介绍了嶷贝尔实验燮l l r v 6 测试床孛设计实现浆c n 节点静工侮原 理。可鳍褥銎| 逶信主钒鞠谍苇煮酌熏要操作赶捺t 扶滁处接收数耀雹、嗣潲 发送数据数据包、维护绑定缓存以及与m n 节点交换绑定更新信息( 包括请求、 应答和控制信息的收发) 。在物理上,删节点的功艟实际上在一个本地代理耱涨 节煮上邀都盛颓其备,掰渡穗节点黥功能实境就是移动i p 系统中的重要部分。 为了保证通信的可靠性。c n 节意还使用了回访路由性测试的过程来验证m n 节点的绑定信息。为鳃决入日过滤黔瓣疑,心憋爨己的本地蟪城放在了i p v 6 瓣 本迪遗垃臻的选项中,饿节煮彗须熊够处理带裔本遣地址选磺的数据包。农发 送数据包剿洲的时候,铡节点能够使用类型2 路由头存放m n 钓本地地址,然 后用涮的关联地缝将数据赶赢接魏踟裂溅,类型2 鼹由头豹镶瘸保 芷了传输屡 豹透明幢。为实现路由优纯,c n 繁点还必须通过绑定更薪、绑建应答、绑定更 新请求和缳存替换策略米维护自己的绑定缓存。 移动1 p v 6 和i p s e e 瓣结台使用霹以为我织提供一个安全静移动璎系统。文 巾分析了传统豹弼络蜜垒嚣求骇及穆动i p v 6 系统中面稿的安念威胁。p 安众的 本质原因怒因为球数据包本身并不具有任何安全特性。攻击者可以很容易土电伪 造爨p 数攥包静逸蛙,修改其中豹蠹容,重发 2 盂魏的数据惫瑷及在传竣过程中 拦截并粪澄数据包中的内容。i p s e e 声生予i p v 6 的制定之中,爝于提供礤鼷的 安全性。由于移动p 中的主机进行通信的时候都要通过层的处理,所以提供 了口层的安全性就相当于为整个移动坤系统提供了安全通信的基础。 i p s e c 由三个主要的协议来提供认证,数据完整性,保密性的保护,即a h 、 e s p 和i n t e r a c t 密钥交换协议( i k e ) 。a h 和e s p 协议的验证和加密工作在两种 模式下:传输模式和隧道模式。文中还介绍了i p s c c 的基础安全关联( s a ) , e s p 和a h 协议都要通过它来实现安全通信安全关联定义了使用什么样的算法 来保护通信数据、保护什么样的数据以及使用什么协议来保护等策略方案。这些 i p s e c 策略又是由安全策略数据库( s p d ) 来维护的。 基于移动i p v 6 的测试床我们使用了l i n u x 下的一个i p s c c 实现工具 f r e e s w a n ,在移动i p v 6 的环境中部署和试验i p s e c 协议。文章的最后从移动因 特网的应用面和产品面简要分析了移动i p v 6 的发展前景。 【关键词】 移动i pc n 节点 路由头入口过滤快速切换i p s o ca l le s p f r e e s 陌k 嗵 a b s t r a c t q u i t e ab i to ft h ec u r r e n tr e s e a r c ha n dd e v e l o p m e n ti n t om o b i l ei pi sn o w c e n t e r e do ni p v 6 r e c e n tp r o p o s a l sm a k e 6am a n d a t o r yp a r to f3 gs y s t e m a r c h i t e c t u r e s m o b i l ei p v 6u s e st h es a m eb a s i cn e t w o r ke n t i t i e sa sm 曲i l e 口v 4 e x c e p tt h a tt h e r ei sn on e e df o rt h ef o r e i g na g e n t :c o r r e s p o n d e n tn o d e 蠲移动主 枫( m o b i l en o d e ,蒋文孛麓写为涨) ,它们的定义如下: c n :在移动i p 系统中任何一个和删通信的童机。 一本地代理i 在本地予网中的莱一个路由器,负责截获从c n 节点发往m n 的数豢毯,劳穗魏数据毯逶避疆遘发送鬟熟鹣当藩关联建聚( 1 本遮予 嘲) ,这些涨在本地代理上都已经有自己的波册项。 一m n :一个襁网络之间变化自融的接入点的移动主机或路由器,宦可能位 于本地予嘲内,也可能位予外地予网。 移动i p v 6 系统中c n 节点功能的实现和安伞部署 当m n 处于本地子网中时,都会获得一个本地的i p 地址( 本地地址) ,使用 常规的路由方法进行通信,不需要任何开销,实际上在移动i p 系统中,m n 节点 无论是处在本地子网还是在外地子网都可以使用本地地址进行寻址。 翱l 嵇动i p 的功能原理描述 如图1 所示,当m n 离开本地子网到达外地子网l 时。移动i p 系统利用无状 态地址自动配置功能( s t a t e l e s sa d d r e s sa u t o c o n f i g u r a t i o n ) 获得一个关联 地址( c a r eo fa d d r e s s ) ,然屠将本地地址与关联地址进行绑定。并且向本地代 理节点登记。此后,当c n 怨同稍通信的时候,它发出一个目的地仍然为m n 的 本地地址的数据包。这个数据包坡路由到矾的本地予网,并且被本地代理截获 ( a ) ,然后本地代理将这个藏据包通过隧道( b ) 继续发往瓣的关联地址。当 m n 给c n 发响应数据包时会捎带上绑定更新信息,并且将其加入由c n 维护的绑 定缓存。此后c n 就可以直接与删的关联地址进行通信了( c ) ,从而解决了移 动i p v 4 中的三角路由的阀鼹。 当m n 移动到外地子网2 的时候,将又自动获得一个关联地址,并重新进行 登汜。此时不仅需要向本地代理注册绑定更新信息,而且还要向绑定缓存中的每 一个成员发送绑定更新信息,以便它们能够跟踪涨。当m n 回到本地子网的时候, 会使用本地地址到本地地址的绑定向本地代理进行注册,请求取消一切地址绑 2 移动i p v 6 系统中c n 节点功能的实现和安全部署 定。 移动l p 中戆一甥操俸都是鍪绕这些节点震秀翡。霹潋豢歪l 逶信圭税赘翻节 点的主要操作包括:从m n 节点处接收数据包、向m n 节点发送数据数据包、维护 绑宠缓存和潋及与粼节点交换绑定惩耨信息( 包括请求、疵答和按稍信息的收 发) 。在物理上,c n 节点的功能实际士在一个本地代理和m n 节点上也都必须具 备,所以c n 节点的功能实现就是移渤i p 系统中的蘸要部分。 1 2 移动l p v 4 和i p v 6 理解移动i p v 4 嗣移动i p v 6 靛举同,有剃于我们对c n 节点各个模块的功能 的实现和优化。移动i p v 6 继承了移动i p v 4 中的许多功能,闭时更好的利用i p v 6 协议的优点。关于移动i p v 6 在安全t 的改进我们将在第5 节详细论述。 以下是移淤1 1 4 戆基本过爨l i 外地代理与本地代理濑过的代理广播消息( i c m p ) 赢告它们的存在; 魏暴蠢敷怒予多 缝壤路,它溪绫逶过多 蘧筏灌豹广攒或d h c p v 4 获褥一 个关联地址; m n 通过绑定受薪过程肉奉穗代瑾注翡关联缝址; i 发往m n 的数据包谶避本地代理建娆的隧道传输; 一m n 发出韵数据包遥过标准的i p v 4 踌由协议进行转输。 移动i p v 4 髑移动i p v 6 盼基本过糕是非常炎戗盼。但是移动i p v 6 憋优势在于 它将各种支持移动性的机制鄱集成剡了协议本身中。而i p v 4 却使用了许多外部 攫裁支持移貔性。 例如,移动m v 4 的绑定熨新过程使用u 1 ) p 协议,即利用u d p 包来携带绑定 更薪请求帮缫定受新应答游悫;移凑i p v 4 静代理发现,使弼的瑗裔豹潞峦器发 现机制中定义的路由器广播和路由器请求消息,只越对其定义了一套扩展机制, 允许在i p 4 静数据包中携带可逸顼稿患。 谢在移动i p v 6 中,移动燃支持的丧要部势都有序地集成凌! 协议中。对予代理 发现,i p v 6 使用邻居发现桃制( r f c 2 | 6 1 ) ;而对于绑定更新,只需使用一系列 包含绑定瀵崽熬扩鼹哭,参照3 3 繁关于c n 萤点戆绑定缓露浆维护过程。 所以说从m 协议本身来说,移动i p v 6 系统是基于i p v 6 的,i p v 6 比i p v 4 对 移动i p v 6 系统中c n 节点功能的实现和安全部署 移动性有更好的支持,i p v 6 将选项部分分离出来引入扩展头的概念,不仅简化 了头部,加快了路由速度,而且对选项也有了更好的支持。移动l p v 6 可以将本 地地址( h o m ea d d r e s s ) 放在目的选项( d e s t i n a t i o no p t i o n ) 的扩展头中,而且 由m n 发出的数据数据包,其源地址使用的是当前位置的关联地址。这样处理 的好处是简化了多点播送数据包的路由,同时在使用本地地址选项携带m n 的 本地地址,可以使关联地址对于传输层以上保持透明性,并使发出的数据包可以 顺利通过入口筛选路由器,关于入口过滤的问题参见1 3 节。 i p v 6 的无状态地址自动配置功能使移动坤v 6 不需要使用特殊的路由器,就 可以获得一个关联地址,而不是像在i p v 4 中那样使用外地代理路由器。c n 通过 隧道直接发往m n 的数据数据包可以通过路由扩展头部( r o u t i n gh e a d e r ) 封装, 而不是像i p v 4 中那样使用m 头封装,减少了需要增加的头部字节,从而减少了 移动i p v 6 数据包传送的开销。 为了更有娥更清晰地处理网络层的可选操作移动i p v 6 使用了一系列的扩 展头部来取代飘,4 钓选项字段。在这些扩展头都中,有两个具有特殊韵扩展性 目的选项扩展头定义了仅由目的地址节点来处理的选项。这种目的选项扩展头是 唯一在p 数据包中可以出现两次的头部,不同位置的出现意义不同。出现在后 面的目的地址选项可以用来支持移动性,这个选项由数据包的最终目的结点进行 处理。目的选项携带的最重要的功能是移动结点的本地地址地址与关联地址的绑 定。移动珏i v 6 使用目的选项定义了三种消息;绑定更新消息,绑定应答消息和 绑定更新请求消息。还有一个目的选项,本地地址地址选项,这个选项使得移动 i p v 6 比移动瘴v 4 有了很大的改进。在后面c n 节点的工作原理的描述中,我们 可以看到这些消息的作用。移动m 、,6 扩展头部把网络层的各种选项要求和功能 上的扩展性很好地结合起来:同时数据包的组织得更为合理有序,减少了对可选 信息的不必要的处理开销。 移动碑v 6 和狮4 在具体的功能实现上有如下的不同之处: 1 、移动聊6 种没有了f o r e i g n a g e n t ( 外地代理) 这个功能实体,在移动i p v 4 中,f a 是m n 节点所访问的网络的路由器,它向已经注册过的m n 节点提供服 务。在移动i p v 4 中,f a 将本地代理隧道转发过来的数据包解除隧道并发送给 m n 节点,当m n 需要发送数据包的时候,f a 又会充当它们的缺省路由器。在 4 移动i p v 6 系统中c n 节点功能的实现和安全部署 移动i p v 6 中,同样的功能已经由其他的路由器来完成了。 2 、对于路由优化的功能,移动i p v 6 已经将它们作为协议的一个基本部分, 而不是像移动i p v 4 那样作为一个非标准性的扩展功能。 3 、移动i p v 6 路由优化的操作即使在没有预先安排s a 的情况下也可以安全 地进行。所以,移动i p v 6 中路由优化的功能可以在全局范围内所有的m n 和c n 节点之间部署。 4 、移动i p v 6 将路由优化的功能有效地与具有入口过滤功能的路由器结合起 来。 5 、在移动珏v 6 中。m n 节点发送多播数据包的时候,不再需要隧道转发给 它的本地代理了。 6 、移动肌6 的在移动位置检测上也有很大改进,从m n 节点的当前位置到 它能够通信的缺省路由器。移动m v 6 提供了双向的确认信息。 7 、当m n 离开本地嘲络的时候,大部分发送到m n 的数据包都使用i p v 6 的 路由头,而不是使用i p 封装和潞道。与移动舻相比,大大减小了开销,增进 了信息传递效率。 8 、移动6 与任何一个特定的链路层都分离开了,它使用i p v 6 的邻居发现 代替了蛆心协议,这一点 鲺提高了协议的健壮性。 9 、i p v 6 封装和路由头的使用使移动v 6 不再像移动4 那样需要管理“隧道 软状态”。 l o 、移动舻v 6 中的动态本地代理地址发现机制对m n 只返回一个回应,而 不像m v 4 那样直接使用广播,从每一个本地代理都返回一个回应。 总之- 移动m v 6 构设计融入到了l l v 6 之中,考虑i p v 6 地址丰富与点对点 安全( e n d t o e n d s e c u r i t y ) 循重要性,因此取消f o r e i g n a g e n t 关联地址的设计, 仅支持联合关联地址( 即穆动琅中的关联地址) 。在移动i p v 6 中,路由优化和 平滑地切换成为了协议中的必要功能。 豢l 穰动i p v 4 与移动i p v 8 之比较 。_ l - _ _ 。_ _ _ _ -i l l l j l i , 。_ l :i _ _ _ - _ - _ _ - - - - _ _ - - _ _ 一 比较对象移动1 1 、 4移动i p v 6 是否具有外地代理路由器 y e sn o 移动i p v 6 系统中c n 节点功能的实现和蜜t 争部岩 反向隧道 必须要解决入口过滤的问题不存在入口过滤的问题 1 3 入口过滤 入口过滤( i n g r e s s f i l t e r i n g ) 的问题在移动i p v 4 中是依靠外地代理来解决的, 移动i p v 6 取消了外地代理的功能实体增强了c n 节点的功能。同样解决了这 个问题,并且简化了设计穰实现。 一些网络的边缘路由器为了骑止豫地址欺骗攻击,会执行入口过滤的功能, 也就是不允许源地址不是该予黪蜓址的数据包被发送出去,而在移动i p v 6 中可 以允许m n 与具有“入口过滤”功能的路由器同时存在并有效工作而不互相影 响。在移动i p v 4 中,当连接在外蚺链路的m n 向通信节点发送数据包时,某些 情况下为了保证位置的透明性,对所要发送数据包的源地址,m n 都必须设置成 自己的本地地址。由于本地地址具有与外地链路不同的子网前缀,所以当这些数 据包通过具有“入口过滤”功能的边缘踌由器时,将被路由器过滤掉。移动i p v 4 地解决办法是在m n 和外地代理之闯使用反向隧道( r f c 3 0 2 4 ) ,也就是在m n 向c n 发送的m 数据包的外层再封装一层,外地代理将m n 的关联地址作为隧 道转发的数据包的源地值。 6 移动i p v 6 系统中c n 节点功能的实现和安全部署 霉2 移动i p 中舳屋麓麓道 如上图所示,再移动i p v 4 中,如果外地子鼬的边缘路由器具有入口过滤的 功能,所有发送的数据包都需要经过井地代理的反向隧道封装后发送。图3 7 和 图4 给出了这个封装过程。 豳3 穆魂l p 巾i 发送澍瑚节赢的数据包 厢4 移动i p v 4 中被外地代瑾封装后使甩厦向麓遭发送的数据包 在移动坤v 6 中m n 可以直接使用关联地址作为它所发送数据包的路由包头 中的源地址,这样,数据包就能正常的通过具有“入口过滤”功能的路由器。 7 移动i p v 6 系统中c n 节点功能的实现和安伞部署 m n 的本地地址被携带在数据包的本地地址目的地选项中,当c n 接收到包含这 样选项的数据包时,能够自动地把数据包的源地址替换成“本地地址”目的地选 项中的本地地址,这样就使得关联地址的使用对p 以上各层是透明的。所有i p v 6 节点( 包括c n 节点) 都能够正确处理数据包中的本地地址选项。 2c n 节点的工作原理和基本设计 在讨论c n 节点的工作原理之前我们先来简单地回顾一下移动i p v 6 中各个 功能实体的操作原理,我们将网络分为本地子网和外地子网。根据前文所述的移 动i p 的原理,我们知道一个心实际上具有一个用于移动路由的关联地址和自己 在本地子网中的本地地址。 起本地代理作用的路由器位于本地子网中,它对所有服务的h l n 节点保存了 一份绑定更新表( 绑定缓存) 。绑定缓存中存放了与这个本地子网相关的m n 的信 息,包括:本地地址、本关联地址、生存期等等。本地地址就是这个m n 在本地 子网中的地址。 当m n 从本地子网中移动到另外一个路由器的时候,它用于路由的关联地址 发生变化( 通过移动i p v 6 的邻居发现机制获得新的子网中的关联地址) ,这个时 候,州向本地代理发送绑定更新消息,将新的关联地址发送给本地代理并且要 求更新本地代理绑定缓存中本地地址与关联地址的绑定,本地代理收到绑定更新 消息会回应一个绑定已达消息。 当c n 节点需要和嘲节点通信的时候,它将i p 数据包发送给本地代理,本 地代理将这个数据包包封装在自己i p 数据包包韵净荷中,即使用隧道技术 ( t u n n e l ) ,并且分别将源地址字段和目标地址字段指定为本地代理的地址和m n 的关联地址,在本地代理隧道处理之后的i p 数据包结构如下图所示t 圈5 经过本地代理隧道处理之后的i p 数据报包结构 然后,由本地代理转发给删。 移动i p v 6 系统中c n 节点功能的实现和安全部署 当m n 变动自己的关联地址后,c n 节点与m n 的第一次通信过程如上所述。经 过一次路由优化后,c n 直接与m n 进行通信,而不需要经过本地代理的转发。这 个路由优化的过程如下: 在矾变动关联地址之后,收到来自c n 的数据包( 由本地代理数据包转发而 来) ,m n 就会向c n 发送绑定更新消息,将自己的关联地址告诉c n 节点,在c n 中也存在一个绑定缓存,c n 收到州的绑定更新命令后便会更新绑定缓存中与该 m n 相关的一项( 同时回应一个绑定应答) ,在以后的通信过程中。c n 就可以直 接和m n 进行通信了。 值得注意的是,在这个过程中本地代理实际上也是一个c n 的角色。一个 节点在不断的漫游的过程中会得到很多关联地址,而它当前所处网络的关联地址 被被为主关联地址,拥有该蚋主关联地址和本地地址绑定项的节点可以与这个 m n 正常地进行通信( 并实现路由优化) 。并且如果该节点在自己服务的子网中具 有本地代理路由器的功能。也可以作为本地代理为这个m n 服务。比如隧道转发 从其他c n 节点过来的数据包。所以对于从洲发送过来的绑定更新消息,c n 节 点就可以在自己的绑定缓存中标志这一项( 含有主关联地址) ,并成为该m n 的本 地代理为州服务。 2 1 新的数据结构 为了实现功能简化和易维护性,以及满足路由优化,安全通信的要求,在各 种移动i p v 6 的实现中,实现者都不断改进自己的数据结构。但是对于移动i p v 6 中m n 节点、c n 节点和本地代理节点这三个功能实体的外部操作。各种实现基 本上都是一致的。一些基本的数据结构都在r f c 2 4 6 0 ( i n t e r n e tp r o t o c o l ,v e r s i o n6 ) 和早先的草案( i e t f td r a f t - i t t f - m o b i l e i p - i p v 6 - 1 3 ) 中给出了定义,比如各种i p v 6 扩展头的格式、用于移动性功能消息格式和目的选项格式等等,它们在各种移动 i p v 6 的实现的源代码中都可以找到,而且基本上格式都符合草案中的定义,这 里不会详细介绍这些数据结构,在进行工程实践的时候它们都可以在最新的草案 中参考到。 9 移动i p v 6 系统中c n 节点功能的实现和安全部署 2 1 1 使用新的移动扩展头 在以往i e t f 移动m 草案的定义中,与c n 有关的绑定更新消息,绑定更新 请求消息,绑定应答消息,本地地址选项等都是放在目的选项的扩展头中的,最 新的移动i p v 6 对i p v 6 协议本身进行了添加和修改,针对移动性的功能,定义了 一种新的扩展头移动扩展头( m o b i l i t yh e a d e r ) 来包含移动管理中各种消息, 移动头是碑数据报包中的一个扩展头,m n 、c n 和本地代理节点用它来创建、 维护和验证绑定信息,移动头中可以保含的消息有:绑定更新请求消息、本地测 试启动消息、关联测试启动消息、本地测试消息、关联测试消息、绑定更新消息、 绑定应答消息和绑定错误消息。其中绑定更新请求消息、绑定更新消息和绑定应 答消息是用于m n 和本地代理以及c n 交换绑定信息的,本地测试启动消息、关 联测试启动消息、本地测试消息和关联测试消息是用在回返路由性测试过程中交 换的信息,它们被c n 和本地节点用于验证m n 发送的消息的可靠性。 这个扩展头的引入简化了工程实现的难度,增强了口数据包处理的安全性 和效率。 田e 赫定义豹罄劝扩曩头 如上图所示,新定义韵移动扩展头中的负载协议类型实际上就是i p v 6 的下 一头字段,指明跟在这个移动扩展头之后的扩展头的类型。消息数据类型在消息 类型字段被指明,绑定更新请求消息、本地测试启动消息、关联测试启动消息、 本地测试消息等这些消息都会对应一个消息类型值。 1 0 移动i p v 6 系绫孛c n 节点琏能瓣囊税枣l 安全邦善 2 1 2 绑定缓存 从移动p v 6 的原理上瓣,所有支持路由优化功能( 避免三角路由) 的i p v 6 节点都嚣要维护一令绑定缓存,存敷其健i p v 6 m n 豹关联遗蛙,c n 萤点当然逡 需要维护这样一个绑定缓稃。 工程实践中,我们发现c n 节点在同时执行i p v 6 的邻居发现协议时,为了 提高发邀数据包的效率,网时会维护一个目标地址缓存( d e s t i n a t i o n c a c h e ) 。这 是因淹繁点嚣要发送数撼像辩都会首先执枯一令“决定下一跳”( n e x t - h o p d e t e r m i n a t i o n ) 翡搽箨来决定数据惫静去囊,逡令搽诈是逶过整麓疆轹缝垃缓存, 网络前缀列表和缺省路出列表来完成的( 原理参见r f c 2 4 6 1 ) 。当使用了目标地 址缓稃,在每次发送数据戗的时候,就不需要执行“决定下一跳”的操作,每次 “决定下一跳”豹计算绪聚会保存在目标地娥缀存中,如果下一次发送的数据包 嚣耘戆壤在嚣耘惩娃缓存巾存在,列会使弱秘标缝缝缓存孛静这一矮。 绑定缓存与镰屠发现协议串使用豹目标地蜓缓存并不冲突,獭c n 节点发送 数据包的时候。它首先搜辩朐悬自己维护的绑定缓存,因此如果发送的数据包的 目标地址在目标地址缓存稀绑窟缓存中都存在一硕,首先使用的趋绑定缓存中的 臻一矮。 绑定缓存孛魏每一璜毯撬懿下字段; _ m n 的本地地址l 该字段是c n 用来搜索绑定缓存的关键字如果发送 的数据包的目标地城与该字段匹配,这项就会在路由数据包中被使用。 一m n 鲍关联地址t 如果发送数据包的鞲昧撼址与本地地址字段匹配,数 据攘羲会装薅由翔逶令逮羞。 一有效时阙;有效瓣瀚来自予绑定更新消息中韵有效期字段,当有效时间 到期的时候,该项藏必须从绑定缓存中删除。根据其他使用信息中相关 标志,当有效时阊快餐到期的时候,绑定更新请求可能会被发送。 臻臻是否是本地注耱顼约蠢志 一掰接收襄绑定受耨审麓最大豹穿列芍;该序列号是用于踅绝霪发攻击豹。 其他使用信息 因为c n 节点的资源是有限的,通常会使用缓存替换策略来管璁绑定缓存, 其他使用信患字段就是为这个策略弓l 入的,遴常东工程实践中由我们蠡己来定 移动i p v 6 系统中c n 节点功能的实现和安全部署 义。 一个和m n 通信的c n 节点同时又可能是其他m n 节点的本地代理,在它 的绑定缓存中就可能会具有标志为本地注册的绑定项,那么在使用缓存替换策略 后,绑定缓存中没有被标志为本地注册项的可以会被新的绑定更新消息替换掉, 具体的替换操作由替换策略来决定。 另外,我们知道一个m n 在不断漫游的过程中,可能会具有多个关联地址, 而c n 的绑定缓存只会选择其中一个,保存该m n 节点的本地地址和这个关联地 址。 2 1 3 类型2 路由头 移动i p v 6 定义了一个新的路由头类型2 路由头,这个路由头可以使得 数据包直接从c n 节点路由封m n 的关联地址。这时m n 的关联地址被插入到 i p v 6 的目标地址字段中。当数据包到达m n 节点的时候,m n 从这个路由头中 获得它的本地地址,再将这个地址作为数据包的最终目标地址交给上层处理。保 证了一种处理上的透明性。 移动6 规定如果数据包中包含其他的路由头,类型2 路由头必须放在其 他路由头的后面。 2 2 回返路由性地址测试 移动i p v 6 新定义了四个消息( 本地测试启动消息、关联测试启动消息、本 地测试消息、关联测试消息) 用于回返路由性测试( r e t u r nr o u t a b i l i t ya d d r e s st e s t p r o c e d u r e ) 过程,这个测试过程是为了让c n 确信m n 是否可以访问,当回返路 由性测试完成之后,c n 节点藏可以认为m n 发送过来的绑定更新消息是可靠的, 并且可以将数据包发送到m n 韵关联地址。回返路由性测试是移动i p v 6 基于安 全性考虑新增加的功能,它可以防止欺骗主机冒充m n 向本地代理或c n 节点发 送虚假的绑定更新消息,丽在这个绑定更新消息中,欺骗主机可能会将绑定的关 联地址指定到非原m n 节点的另外一个主机上。 回返路由性地址测试使用c o o k i e 和k e y g e n 令牌这样不透明的数据结构, 2 移动i p v 6 系统中c n 节点功能的实现和安全部署 c o o k i e 的用途是来验证测试消息与启动消息是否匹配的,也就是保证假冒者对消 息的回应不会被接收者认可。本地( 或关联) 令牌是由c n 节点基于它自己目前 的活动密钥以及本地( 或关联) 地址而计算产生的,这个密钥实际上是一个2 0 字节长的随机数,并且由c n 发送给m n ( 如图8 ) ,令牌在m n 构造绑定更新 消息的时候会使用,计算生成一些验证数据包含在绑定更新的数据包中。接收到 绑定更新消息的c n 节点会重新计算这些验证数据进行核对,这样c n 节点就可 以用来验证m n 发送过来绑定更新消息中令牌确是可靠的了。 移动l l v 6 定义了几个新的测试消息和测试启动消息来承载这些数据,我们 知道这些消息又是包含在数据包的移动扩展头中的:它们的对应关系和发送接收 过程如下: 6 4 b l t l 车地启f 协c o o k l e ( 包含 在奉地糖试启动消息通过h 发送) 鸯7 堋毫囊筒e _ , a o k i e 的交换 封8 饿向嘲书点发送k e y l l e n 令牌 问题就集中在对m n 是否访问性的检测上,c n 需要检测通过m n 的关联地 址和本地地址发送的数据包是否可以到达m n ,通过图8 可以看到c n 向要测试 的地址发送令牌,与c n 通信的m n 要想通过测试,可以通过向c n 节点发送包 含k e y g e n 令牌的数据包证明自己已经收到c n 发送过来的数据包了。 c n 节点发送的本地测试和关联测试消息的内容如下图所示,c n 发送的给 移动i p v 6 系统中c n 节点功能的实现和安伞部署 m n 的本地( 测试或测试启动) 消息中,发送的目标地址始终是m n 的本地地址, 我们知道在移动m 中为了避免三角路由这种情况会使用m n 的关联地址,但是 c n 维护的绑定缓存中包含i v i n 本地地址对应的关联地址,也还是使用l v i n 的本 地地址发送测试( 测试启动) 消息,目的就是想让这个测试( 或测试启动) 消息 被本地代理截获,从而进行隧道转发。 源地址:c n 节点自己的地址 目标地址t蛐节点的本地地址 携带的数据t 一本地启动c o o k i e 一本地k e y g e n 令牌 一本地n o n c e 索引 圉8 本地弱试消息的内窖盥9 关联测试消息的内容 当m n 节点收到c n 发送过来的本地和关联测试消息之后,回返路由性的过 程就结束了。m n 使用哈希函数s h a i 来计算绑定缓存的维护键k b m : k b m ;s h a l ( 本地k e y g e n 令牌+ 关联k e y g c n 令牌) ( 1 ) 这个绑定缓存的维护键是用来计算绑定更新消息的验证数据的密钥,参见 3 3 1 节的( 4 ) 式。 如果绑定消息中的关联地址等于本地地址,相当于个删除绑定项的请求, 这时k b m 的计算为l k b m ;s l 协1 ( 本地k e y g e n 令牌) ( 1 ) 其中本地k e y g c n 令牌和关联k e y g e n 令牌的计算如下l 本地k e y g c n 令牌 = 前6 4 b i t ( h m a cs h a l ( c n 的当前活动密钥,( 本地地址+ n o n c e + o ) )( 2 ) 关联k e y g e n 令牌 = 前6 4 b i t ( h 撇cs h a i ( c n 的当前活动密钥,( 关联地址+ n o n c e + 1 ) )( 3 ) 其中n o n c e 是c n 内部产生的随机数,对外部节点( 如与c n 通信的m n 节 点) 来说是保密的a 最后的“0 ”和“1 ”是用来指明计算的结果是一个本地k e y g e n 令牌还是一个关联k e y g e n 令牌。i - v m a c _ s h a i 是加密函数,专门用来计算消息验 证码( m a c ) ,h m a cs h a l ( k 。m ) 的意思是说,这样的消息验证码是基于消息 m 使用密钥k 计算出来的。 4 移动i p v 6 系统孛c n 节点功能的窭蕊彝安全部署 从( 2 ) 和( 3 ) 可以看到令牌的计算实际上是与本地或关联地址有关系的。 c n 节点在知道n o n c e 索引和m n 的地址也可以计算出k b m ,n o n c e 索引和 m n 的地址是在绑定更新消息中由m n 传送给c n 的,计算方法和( 1 ) 、( 1 ) + 、 ( 2 ) 鞫( 3 ) 式一致。 2 3 快速切换的考虑 港m n 在两个子网的本地代理覆盖的范围之间移动漫游时,需骤将与c n 节 点豹遴绩赉一令子弼豹姆蠡器转交赘虽一令子两麴黪由器豹过稳被髂为移动蛰 豹弱羧。移动臻瓣讶换会瓣在玲层之上酌成用程序造成的延瓣释逶信中断,如 果切换的频繁对业务造成的影响是不容忽视的。我们在设计实现c n 通信节点的 时候_ 陂该考虑测试与快速切挟的m n 节点之间的通信。 m n 协换的过程主要怒螺换蘸豹移动检测秘楚蚕切换的判决# 滏m n 发现它 已经鲶在耨瓣链薅主弱避凝,它会捡瓣这令穗路上簸务静籍由器,获褥关联遮缝, 并且向本地代理和c n 节点避知注册它新的关联地址。目前研究移动i p m n 平滑 切换以及对上层服务质鬣瓣影响已经成为了移劝球的热点,e t f 在解决移动p 快速切换的闻题中提出了辫种基本的切换检测辣法; 一瀵较算法t 翅暴轰l 辩在钱瑾鼯虫爨躲广攘港意茨奏效麓痰没毒继续簸这 个路由起牧鄹广横辩患,则认为自己穗经移动,应当执舒切换。 一前缀匹配算法;这个箅法通过比较所接收的代理广播消息内的予网前缀 来进行切换检测。如果前缀不同,则m n 认为自己已经移动。并执行新 豹趣缝注爨。 f i k o u m sn a ,e im a l k i 秘c v o t k o v i cs + r 。等人罄经在“p e r f o r m a n c eo f t c pa n d u d p d u r i n gi p h a n d o f f s i ns i n 脚t s u b n e t w o r k d 这篇文章中对这两个算法进行 研究,并且指出了前缀匹蹴算法和和前一个算法的延时基本一致。 移动i p v 6 的邻居发糯协议( 黜蚝2 4 6 1 ) 中定义了一个路由器发遴非请求多 撵路薮l 游惠戆爱夺辩鬻瓣瓣( 3 参) ,繇瑷我察霹孩获舞上述瀵掇舞法孛建议夔 有效期为3 秒,但是这个隈翩不适合用来及时域检测m s 节点的移动,当m n 节点穆动的时候,它必须及时了解原来的路由器已经不可达,并n 快速的检测到 ( 新) 镳路中的新路由器,遮样可以及时地获得新的关联地址并发送绑定更新消 移动i p v 6 系统中c n 节点功能的实现和安全部署 息给本地地址和c n 节点,注册它的关联地址。 我们在新的移动l p v 6 的草案中发现( i e t f :d r a f t i e t f - m o b i l e i p i p v 6 1 9 ) 取 消了这样地限制,它可以用更快地频率发送非请求地多播路由消息,对于路由器 对于那些为m n 提供连续服务( 如视频流) ,以及被一个或多个m n 节点作为本 地代理的路由器来说,这一点非常重要。 d r a f t - i e t f - m o b i l e i p i p v 6 1 9 指明了这样的路由器可以配置更小的时间间隔: m i n r t r a d v i n t e r v a l = 0 0 5 秒 m a x r t r a d v i n t e r v a l = 1 5 秒 路由消息的发送应该是可以配置的( 即:是否发送非请求多播路由广播消息, 以及发送这样的消息的时间间隔是可以配置) ,设计配置接口的时候。网络接口 的类型也应该被考虑进去。如果是在限制带宽的无线网络中,对于多播的路由广 播消息并不僦有簸时问间隔的要求。因为它们对于m n 节点的切换速度并没有 很高的要求,m n 的移动检测和镳路层的变化将在低一层来完成。 d r a f l - i e t f - m o b i l v i p - i p v 6 - 1 9 指出当以比规定的限制更快的频率发送多播路由 广播消息的时候。为了节省数据的传送量。路由器就不需要将所有的选项( 即包 含这些选项的i p v 6 扩展头) 都包括在广播消息的数据包中,但是必须将前缀信 息选项( p r e f i xi n f o r m a t i o n o p t i o n ) 和路由地址位( r o u t e r a d d t l 瀚b i l ) 包括在里 面,这些选项是基本的路由信息。其中路由地址位( r o u t e ra d d r e s s ) 是 d r a f v i c t f - m o b i l e i p - i p v 6 1 9 在原有韵邻居发现协议( r f c 2 4 6 1 ) 上新定义的一个标 志位,它被包含在前缀信息选项中,指明这条消息中不但给出了发送消息的路由 器的网络前缀。还给出了完整构癣地址。 2 4 基本设计 在设计c n 节点的过程中,我们参考了i e t f 关于移动i p v 6 的草案以及赫尔 辛基理工大学的m i p l ( 移动 p v 6f o rl i n u x ) 项目中关于c n 节点部分实现的源 码。可以等到一个c n 节点应该具备如下的功能描述: 1 6 移动i p v 6 系统中c n 节点功能的实现和安全部署 予 绑定更新 消息处理 卅 一 墨到勰,f r 1 、n r _ _ 配置。j l = 【视和调试 翻l o 删节点的基本设计张槊 任何的垮v 6 节点在都可以是m n 的通信节点( c n ) ,要么发送数据包给m n 要么从m n 接收数据。实施鼹由优化。是全n ,v 6 节点网络的一个重要功能。l p v 6 网络要怨高效地工作,c n 节点必绥其备路由优化的功能,这样可以提高网络的 健壮性,减少鼹络的拥塞和延时,支持路由优化豹c n 节点必须具备如下的功能: _ 根据绑定缓存验证带有本地地址选项的数据包( 参见3 1 节) 。 - 在发送给i n 的数据包中插入类型2 路由头。 一对于接收到含有类型2 的路由头数据包。都作丢弃处理。除非这个c n 节点这个时候扮演着m n 的角色。 - 解释接收到i c m p 消息。 一能够发送绑定错误消息。 必须能够处理移动扩展头。 - 可以参与回返路由性测试的过程。 必须能够处理接收到的绑定更新消息,并且根据这些消息维护一个绑定 缓存。 移动i p v 6 系统中c n 节点功能的实现和安全部署 - 必须能够返回正确的绑定应答消息。 - 当m n 节点快速切换的时候,能够保证与之的正常通信。 通过m i p l 的源码分析。我们初步能够得到c n 节点的功能架构图如如1 0 所示: 3c n 节点基本操作 针对我们的设计,下面我们将从原理和工程实现上详细阐述c n 节点的各项 操作。 3 1 接收数据包 从图1 0 可以看到,对于发送道c n 节点的数据包,除了包含绑定更新消息 之外,如果包含本地地址目的选项的i p v 6 扩展头,c n 将会对其进行特殊处理。 我们知道,c n 节点使用绑定缓存来保存h 举n 节点的本地地址,当从m n 节 点发送来的数据包包含一个本地地址的目的选项,m n 是假定c n 节点的绑定缓 存中应该包含自己的本地蚺址对应的绑定项,绑定缓存中都是单播地址的注册 项,所以如果这个本地地址选顼中的地址不是一个单播路由地址,这个数据包将 被c n 节点抛弃。 当然,基于姻发送本地地址选项的假设,如果在c n 的绑定中找不到这个 本地地址,同样这个数据包也应该被抛弃,除非这个数据包中包含绑定更新消息 或者包含a l l 或e s p 的虢证加密扩展头。后一种情况说明这个从m n 发过来的 数据包分别是用来更新绑定和进行验证的。 丢弃数据包之后,c n 节点会发送一个绑定错误消息给m n ,并且在这个消 息中使用状态码来指出这是一个含有本地地址目的选项但是c n 无法识别的数 据包。 如果没有丢弃这个数据包,c l q 节点接着会对这个数据包进行如下的处理: 交换本地地址选项中的地址和外层l l - v 6 头中的源地址,也就是把这个数据包的 源地址更改成为m n 节点的本地地址,这样当c n 节点处理完所有的i p v 6 选项 后继续处理这个数据包时,它就不需要知道这个数据包是否是来自m n 的关联 地址,是否是使用了本地地址选项。 移动i p v 6 系统中c n 节赢功能的实现和安垒部麓 舞圈11 掰示,是这个楚瑾遘程翡流筏e 被洲带点接收 豳1 1 谢案意擒啦鸯誊奉地地址甘昀选壤的数据包 我们涛索了这样的数据包的赘垒毪,1 e t f 的d f a f i 1 e t f - m o b i i e i p - i p v 6 1 9 认为 辩子数攥氛串瓣零遮逸缝逡璜苓鼹考瘩藏努戆验1 菝。当数撵毯韵i p v 6 头被验 垂 协议覆盖的时候,验证协议弼样媳覆盏了本地地址目的选项。本地地址选项中的 逡顼类蘩编褥字羧已经麓定7 这种覆盖。它可殴瓣定了在羽达羲器爵的镳的路由 过程中,这个本地地址选顼不可以被任何繁点改变,并且指定这个选项是被包含 程验证计算的范围之内的。 选顼类型编鼹字段驰黩裹三戳镶码攒蹬7 对这个选硬的具体处理,r f c 2 4 6 0 描述了这些编码的含义。奉地地址选项中的选项擞型编码字段被设置成为1 1 0 , 表示豹意嚣热下: 对于所有不认识该选项类型的节点,抛弃这个数据包。 一如采这个数据钰翡篝标鲶缱不是多播遗皱,返霞i c m p 编辑为2 静溃怠 绘数据包的源地址,否则,对于多播地址,不发送i c m p 消息。 - 柱到达最后目的地址的路由过程中不可以被任何节点改黛。 1 9 移动i p v 6 系统中c n 节点功能的实现和安仝部署 一8 b i t 4k 一8 b i t + 一日白让i - h 一8 d i t f 个头类型扩展头长度选项类型= 0 x c 9选项长度 本地地址( h o m e a d d r e s s ) 雎1 2 本地地址目的选项 另外。在工程实现中,我们还需要关注一下本地地址选项在一个 p v 6 数据 包中的位置,它总是位于路由头之后,分段头之前( 如果路由头和分断头存在) 。 如果有a l l 验证或者e s p 加密数据,本地地址选项位于它们的前面。 3 2 发送数据到m n c n 发送数据包之前,会检查数据包目标地址,并在绑定缓存中查找这一目 标地址,如暴发现在绑定缓存中有遮么一项。c n 就会使用类型2 路由头和关联 地址将这个数据包路由奎4 m n 。通过赫玲l 的源码分析分析,我们可以看到,对 c n 节点发送数据包之前需要经过球8 睇协议的处理,i p s e c 的处理是基于m n 的 本地地址和关暖雉址的。对弹$
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖南长虹聚和源科技有限公司招聘工艺工程师岗位人员考前自测高频考点模拟试题含答案详解
- 2025福建泉州发展集团有限公司(第一批)人才引进招聘25人模拟试卷附答案详解(典型题)
- 2025福建福州市招聘培训顾问1人模拟试卷完整参考答案详解
- 2025湖北恩施州来凤县宏晟工业发展有限公司招聘3人考前自测高频考点模拟试题及答案详解(名师系列)
- 2025年蚌埠五河县人民医院招聘7人(第二批)模拟试卷及答案详解(新)
- 2025广西河池市大化瑶族自治县特殊教育学校招聘公益性岗位工作人员2人考前自测高频考点模拟试题及完整答案详解一套
- 2025年甘肃省陇南市康县人民法院招聘工作人员相关事项模拟试卷及答案详解(有一套)
- 2025广东潮州市饶平县新塘镇人民政府招聘后勤服务人员1人考前自测高频考点模拟试题及一套完整答案详解
- 2025湖南湘潭市韶山学校招聘教师15人模拟试卷带答案详解
- 2025河北邯郸市馆陶县辅助性岗位招聘13人模拟试卷及参考答案详解1套
- 兄弟分户房屋协议书模板
- ICU常见体位护理
- 人民陪审员刑事培训课件
- JJF(蒙) 058-2023 重点排放单位碳计量审查规范
- 2025年高一的数学知识点大纲
- 2025年平面图形的画法说课教学课件
- 养老院保洁培训课件
- 小学歌曲教学课件设计与实践
- 不交社保给补贴协议书
- 顺产与剖腹产课件
- 《生成式人工智能》 课件 第4章 Transformer模型
评论
0/150
提交评论