(通信与信息系统专业论文)ipv6网络移动协议的研究与实现.pdf_第1页
(通信与信息系统专业论文)ipv6网络移动协议的研究与实现.pdf_第2页
(通信与信息系统专业论文)ipv6网络移动协议的研究与实现.pdf_第3页
(通信与信息系统专业论文)ipv6网络移动协议的研究与实现.pdf_第4页
(通信与信息系统专业论文)ipv6网络移动协议的研究与实现.pdf_第5页
已阅读5页,还剩87页未读 继续免费阅读

(通信与信息系统专业论文)ipv6网络移动协议的研究与实现.pdf.pdf 免费下载

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

文档简介

北京交通大学硕士学位论文 摘要 随着3 g 、w i m a x 网络的兴起,全球、r 6 网络的大规模建设,互联网 呈现宽带化、无线化和移动化。接入技术的不断进步,促使网络相互移动 和嵌套,而以前针对网络移动性的终端解决方案,在新情况下不能保证数 据通信的连续性。因此研究移动互联网中的数据通信问题具有十分重要的 理论意义和现实意义。本文在研究i p v 6 网络移动协议( n e m o ) 的基础上, 设计并实现了口v 6 网络移动协议软件。 论文所做工作是铁道部项目“铁路移动用户i p 管理技术研究与实践” 和国家8 6 3 滚动项目“高性能i p v 6 路由器协议栈软件”的一部分。论文首 先综述了移动i p 和n e m 0 技术产生的背景及国内外研究现状,随后详细 地分析了m i p v 6 及其扩展协议、n e m o 协议的工作原理和运行机制,并依 据i e t f 标准r f c 3 7 7 5 和r f c 3 9 6 3 设计了移动网络协议的总体实现模型, 在内核空间和用户空间按照功能不同划分了9 个模块,详细地阐述了各个 模块的实现流程和方法,实现了基于l i n u x 的i p v 6 网络移动协议软件,并 且进行了周密的测试。本协议软件具有移动i p v 6 和n e m 0 的基本功能, 而且已经应用在部分高校的i p v 6 实验床上,效果反映良好。此外,论文针 对网络移动协议中基本路由优化的缺陷,深入地讨论了随之产生的时延、 网络瓶颈等问题,并从基本路由优化、嵌套移动优化、基础结构优化、内 部优化四个方面研究分析了目前一些解决路由优化的方案。最后在总结论 文工作的基础上对n e m o 的研究方向进行了探讨。本文中的n e m 0 实现 方案已经申请专利( 专利受理号:2 0 0 4 1 0 0 0 9 5 6 3 3 ) 。 关键词:i p v 6移动i p v 6网络移动协议路由优化 i p v 6 网络移动协议的研究与实现 a b s t r a c t w i m l er a p i d d e v e l o p m e n t o fm o b i l en 咖,o r k sa i l dt h e g l o b a l c o n s t m c t i o no fi p v 6 ,i n t e m e th a sb e c o i i l c 谢d c b a n d ,w i r e l e s s 蛆dm o b i l e b u t i i l 也ec a s eo fn e s t i n g 孤dm o b i l en e t w o r k ,p r e s e n tt e m l i n a lm o b i l i t ys o l u d o n s c a nn o t g u a r a m e e 出ec o 而n u i t yo fc o m m 响c a t i o n ”sn e c e s s a r y 趾d i n l p o r t a l l tt or e s e a r c l ld a t ac o m m l l i c a 廿0 ni 1 1m o b j l ei n t e m e t ,1 1 1t 1 1 i sp a p t h e s o f t w a r ei sd e s i g n e da n dr e a l i z e do nm eb 勰i so fr e s e a r c h i i l gt l l em o b i l i t y p m t o c 0 1 ( n e m o ) t h ew o r ko f 也i sp 印e ri sap a no f “m a i l a g e m e n to fm o b i l eu s e r si i i r a i l w a ys y s t e m ”p r o j e c ta i l d l l i g hp e r f o r n l a n c e 1 p v 6m u t e rp r o t o c o l s s o f l w a r e ”p r o j e c t f i r s t l y ,1 eb a c k 豇o u l l do fm o b i l ei pa i l dn e m oa r c s 皿a r i z e d ,t h e i r r e s e 缸c ha c t l l a l “i e sa r ea l s or e v i e 、e d s e c o n d l y , t t l e p 曲c i p l e sa n dm e c h a n j s m so fm i p v 6a n dn e m 0 a r ea i l a l y z e di nd e t a i l ,也e n a c c o r d i n gt oi e t fr f c 3 7 7 5a n dr f c 3 9 6 3 ,血en e m 0s o 椭a r ea r c h i t e c t u r e i sp m p o s e d ,w h i c hi sd i v i d e di n t on i n em o d u l e si nk e m e la 1 1 du s e rs p a c e t h e r e a l i z a t i o no fe a c hm o d u l ei sd e s c r i b e di nd e t a i l ,m i sp r o t o c o ls o f h v a r ei s r e a l i z e d t h i r d l y ,t h et e s te n v i r 0 i l i n e mi s s e tu pf o rt h i ss o f l w a r e ,l et e s t m e t h o da n dp r o c e s sa r ca l s oi n v o l v e d ,a n di ti sc o n c l u d e d 也a tt h en e m o s o r w a r eh a sf u n d 锄e n t a l c t i o n sd fm i p v 6a i l dn e m o i nr e a l i 吼t l l e n e m os o f h a r eh 船a l r c a d yb e e ni i n p l e m e m e di ns o i n ei p v 6t e s t i n gb e d si n u n i v e r s i t i e s ,i na d d i t i o n ,s o m ek e yp r o b l e m so fb a s i cr o u t eo p t i m i z a n o ni n n e m oa r ed i s c u s s e d ,a 1 1 ds o m ep r e s e n ts o l u t i o n sa r ea n a l y z e d k e y w o r d s :i p v 6 m o b i l ei pn e t w o r km o b i l i t y r o u t eo p t i m i z a t i o n i i 北京交通大学硕士学位论文 1 1 研究背景 第一章绪论 随着互联网和移动通信的迅猛发展,各种网络新业务不断出现,人们 对移动上网的需求日益增加,w i m a x 、w i f i 、3 g 等无线接入技术的应用 也不断地提高网络带宽,移动互联网逐渐成为i t 业一个新的经济增长点。 但上层的包分组协议i p 协议对于新的移动环境是否需要做出改变? 答案是肯定的,现有的i p 标识方式和路由策略无法满足移动环境中通信 的持续保持。 针对这一问题,国际互联网技术标准制定组织i e t f 提出了m i p ( m o b i l ei p ) 方案,第一个m i p 方案是基于i p v 4 协议的,称为m 口v 4 。 但是它存在先天性不足,比如地址空间有限、报头扩展性差、安全性和移 动性支持不好等。同时m i p v 4 的三角路由问题也造成了m i p v 4 的应用前 景不明朗。后来提出的m i p v 6 利用了i p v 6 协议的优势地址空间巨大, 报文头部扩展性好,较好的安全、移动性支持,即插即用的i p v 6 地址配 置解决了m i p v 4 的一些问题。但是随着技术的进步,人们需求的变 化,简单的终端移动方式已经不能满足未来应用的要求,网络移动n e m o ( n e t w o r km o b i l i t 、,) 的概念随之诞生,n e m 0 解决了m i p 中网络移动支 持性的部分问题。 m i p 具有如下局限性: 1 1 网络动态性凸显m i p 的局限性 随着无线接入技术和宽带传输技术的开发和应用,如b l u e t o o m 、u w b ( u l t r aw i d e b a l l d ) 、w i f i 、w i m a x 、i e e e 8 0 2 2 0 、i e e e 8 0 2 _ 2 1 、w c d m a i p “网络移动协议的研究与实现 等,人们的生活中出现了、 ,p ! a n ( 砸e l e s s p e r s o n a l a r e a n e “r k ) ,w l a n ( w i r e l e s sl o c a ia r e an e t w o r k ) ,、胁疽a n ( w 沁l e s sm e 仃o p o j i t a l l 觚a n e t w o r k ) ,3 g 无线网络等,网络呈现无线化和多元化,网络之间彼此独 立又相互嵌套,相对静止又相对移动,构成了一个拓扑结构复杂的动态变 化网络。面对这样的网络,为单机设计的m i p ,仅仅通过设置i p 终端当 前位置地址与家乡地址的绑定条目来提供移动时收发i p 分组功能是不够 的,无法保证网络变化时通信的连续性。 2 ) m i p 中的路由策略相对简单 在m i p 中,通过改变默认路由来改变i p 分组的转发目的地。但在拓 扑动态变化的情况下,i p 标识发生变化,在m r 中仅仅依靠修改默认路 由的方法,只会增加路由器的负荷,造成网络节点的不稳定,容易发生网 络拥塞,甚至网络瘫痪。另外,目前广泛使用的i u p 、o s p f 、b g p 等路 由协议都是建立在拓扑结构相对稳定的基础上,i p 标识发生变化将使路 由器之间无法进行路由信息的交换,网络不能收敛,造成路由不可达。所 以移动网络的路由优化一直都是研究的热斛1 【2 【3 【4 】o 3 ) 家乡代理成为通信瓶颈 在m i p 中,部分通信是由家乡代理h a ( h o m ea g e m ) 来转发的, 包括m i p v 4 中的注册( r e 百s 仃a t i o n ) ,通信节点c n ( c o r r e s p o n d e m n o d e ) 发往移动节点m n ( m o b i l en o d e ) 的数据:m i p v 6 中的家乡注册( h o m e r e g i s 订a t i o n ) ,对端注册( c o 仃e s p o n d e n tr c g i s 仃a t i o n ) ,返回路由过程i 汛 ( r e t u mr o u t a b i l 耐p r o c e d u r e ) ,与无m i p v 6 功能的c n 通信等:n e m o 基本支持中的所有数据都需要通过m r 和h a 之间的隧道。h a 的处理能 力,缓存大小将直接影响通信的好坏,成为网络中的瓶颈。而且在变化的 网络中,h a 可能是移动的、分布式的【卦,m r 可能有多个h a 【6 1 等,m i p 的理论不能解决这样的问题。 北京交通大学硕士学位论文 4 1 双向隧道方式造成数据报头冗余 在最新的r f c 3 9 6 3 中,借鉴了m i p 的双向隧道进行数据传输,但是 面对网络变化嵌套,隧道方式存在很大的弊端,造成数据报头冗余,数据 包中携带的有效数据太少。如图1 1 所示: 图1 1n e m o 中的报头信息冗余 图中l f n ( l o c a lf i xn o d e ) 要和c n 通信。那么就需要在3 个隧道 中穿梭,最后到达m r 3 的h a 数据包格式如下: 由此可见数据报头十分冗余。可见m r 需要一套较为优化的路由方案。 北京交通大学硕士学位论文 针对m i p v 6 中的本地管理、切换等问题,i e t f 还分别于2 0 0 5 年7 月和8 月发布快速移动i p v 6 ( f a s th a n d o v e r sf o rm o b i l ei p v 6 ) 1 4 】和层次 移动i p v 6 ( h i e r a r c 抽c a lm o b i l ei p v 6m o b i l i t ym a i l a g e i n e n t ) 标准。 目前,国内外对m v 6 的研究重点围绕移动检测【1 6 1 、层叠区域切换 1 7 】、组播、多家乡问题 1 9 l 、r r 过程优化、层次移动性管理 2 l 】等,i e t f 还于2 0 0 6 年1 月针对本地移动性管理建立n e t l 删 n ( n 嘶0 r k b a s e d l o c a l i z e dm o b i l i t ym a i l a g e m e n t ) 工作组。 在m i p v 6 的代码实现方面,l s i x 、m p l 、u s a g i 、k a m e 、 t a r z a n 、曲i p v 6 o 娼等组织已经发布了免费的源代码供开发人员学习和 研究;m i c r o s o f t 也有自己的开发队伍,只是还没有正式发布软件。 支持m i p v 6 的原型产品也开始出现,日本惠普、k a m ep r o j e c t 、夏 普、思科、n e c 推出了自己的m i p v 6 的产品。日本诺基亚和n t t 通信也 于2 0 0 3 年3 月推出了支持m i p v 6 的掌上电脑。2 0 0 4 年8 月,北京交通 大学的具有m 口v 6 功能的b j t ui p v 6 无线,移动路由器研制成功。 1 2 2 网络移动协议 2 0 0 3 年国际互联网标准组织i e t f 重新设置了四个工作组,分别研究 互联网移动性问题,即分别研究i p v 4 和i p v 6 网络中终端移动性支持的 m i p v 4 ( m o b i l i t yf o ri p v 4 ) 和m i p v 6 ( m o b i l i t yf o ri p v 6 ) 工作组,研究信令和 网络切换优化m i p s h o p ( m i p v 6s i g n a l i n ga n dh a n d o 圩o p t i i n i z a t i o n ) 工作 组,以及在m i p 基础上研究予网移动的n e m o ( n e t w o r k m o b i l i t ) r ) 工作组。 n e m o 组于2 0 0 5 年1 月发布“移动网络基本支持”【22 1 ,但数据包采用多 层隧道封装方式进行传输,效率很低【3 】。移动路由器m r 是n e m o 的重 要实体,负责移动网络中的数据转发,本地移动性管理等,并参与上一层 i p v 6 网络移动协议的研究与实现 网络的层次性服务。2 0 0 5 年1 0 月,针对m n 和m r 的多接口和多链路问 题嘲,还建立了m o n a m i 6 ( m 0 b i l en o d n dm u m p l ei n t e r f h c e si ni p v 6 ) 工作 组。 目前n e m o 的主要研究方向集中在m r 多家乡问题【6 l 、m r 的路由 优化【1 【4 】,安全 2 】,嵌套网络【3 1 等。 在n e m o 及m r 的代码实现方面,s h i s a ,m i p l ,n a u t i 】u s 6 等组织 发布了自己的软件,但在功能上还不能达到r f c 3 9 6 3 的要求,软件的稳 定性差,b u g 较多。 1 3 选题的意义 综上所述,m i p 这种针对单机移动的解决方案,在网络多元化的今 天已经不再适合,需要我们找到新的替代方法。从m i p 发展而来的n e m o 就是其中之一,研究n e m o 是符合未来互联网发展方向的,对移动互联 网的部署具有极其重要的意义。而n e m 0 协议的设计和实现是移动互联 网理论的试金石,是从认知走向实践的重要一步,从而引导和促进移动互 联网的研究。 同时n e m o 中的基本支撑协议i p v 6 已经相当成熟。大部分的u n i x 和类u n i x 操作系统,以及晰n d o w sx p 已经支持i p v 6 协议;各种基于 i p v 6 的应用软件,如浏览器、及时通信工具、邱、t e l n e t 、视频点播等也 开始应用或正在开发。i p v 6 软件体系的成熟为n e m o 的设计实现提供了 良好的开发平台,w l a n 的广泛应用也为建立好的无线实验环境提供了 机会。 不难想象,随着网络技术的发展,移动互联网引入家庭、商业、工业、 农业将成为必然趋势。移动互联网的研究和应用对推进个人移动通信将具 北京交通大学硕士学位论文 有非常重要的意义,在理论和技术实施上也是可行的,因此对n e m o 协 议的研究与开发迫在眉睫。 论文所做工作是铁道部项目“铁路移动用户m 管理技术研究与实践” 和匡f 家8 6 3 滚动项目“高性能i p v 6 路由器协议栈软件”的一部分,旨在 研究n e m o 协议的基础上,完成n e m o 协议的设计与实现。并使之在以 太网、w l a n 等环境下正常运行。 1 4 论文的主要工作 本论文所实现的是基于i p v 6 路由器的n e m o 协议软件,使路由器具 有n e m o 协议中m r 的基本功能,能够运行在以太网和w l a n 的混合网 络中,保证数据的转发和移动过程中的通信持续性。 论文的主要工作是对i p v 6 协议、m v 6 协议和n e m o 协议进行了全 面地研究分析,并阅读分析了大量的开源组织源代码,在此基础上完成了 i p v 6 路由器中n e m o 协议的设计与实现,并在以太网和w l a n 的混合 网络中进行测试。所涉及的内容包括: 1 ) 在理解i p v 6 的基本协议,地址自动配置协议、邻居发现协议、控制 报文协议( i c m p v 6 ) 的基础上,较全面地分析了m i p v 6 协议和n e m o 协议,理清它们之问的相互依赖关系和协议框架中的层次关系。 2 ) 分析大量开源组织的源代码,包括“n u ) 【内核中的t c p i p 协议、进 程调度、线程管理;s h i s a 、m i p l 等一些开源项目中关于s o c k c t 例 和i p c 【2 4 j 等技术应用的源代码。在深入理解协议的基础上,对l i n u x 的t c p i p 协议进行修改,增加新的i p v 6 扩展头部和选项,i c m p v 6 消息结构,i c m p v 6 和i p v 6 中的数据处理过程。 3 ) 按照n e m o 协议2 习中的功能需求划分模块,如注册模块、移动检测 i p v 6 网络移动协议的研究与实现 模块、发送接收模块等。设计数据结构、进程间通信方式、模块接口、 h a s h 表存储等。最后按照软件工程标准进行代码实现。 4 ) 在w l a n 中对实现的n e m o 软件进行测试。由于篇幅有限,本文只 对移动网络前缀注册的测试过程进行了详述。测试结果表明本软件具 有m i p v 6 和n e m 0 的基本功能。 5 ) 分析了n e m o 基本路由优化方面的缺陷,总结了目前的一些路由优 化的解决方案。 6 ) 对论文的主要工作进行总结,展望了删o 在路由优化、多家乡、 与3 g 网络结合等方面的研究趋势,明确了下一步工作的方向。 论文的组织如下: 第一章阐述了本论文的研究背景和意义,列出了论文的主要工作和组 织结构。 第二章介绍了m i p v 6 、i m d v 6 、f m i p v 6 、n e m o 协议的基本原理。 第三章分析了n e m 0 协议实现的具体目标,并针对目标提出了总体 设计方案。 第四章详细阐述了l i n u x 下n e m o 协议的实现,包括重要数据结构 的分析、内部功能模块和模块接口的设计实现。 第五章详细描述了软件的测试情况。 第六章就n e m o 中的路由优化问题进行讨论。 第七章对论文工作进行总结,对n e m o 的研究方向进行探讨。 北京交通大学硕士学位论文 第二章相关技术原理分析 2 1 移动i p m i p 就是l p 的移动性扩展,它分为两类m i p v 4 ,m i p v 6 。简单来说, m i p 提供了一种i p 路由机制,使移动节点可以通过一个永久的p 地址连 接到任何链路上。m i p 可以看作是一个路由协议,只是与其它路由协议 相比,m p 具有特殊的功能,它的目的是将数据包路由到那些可能一直 在快速地改变位置的移动节点上嘲。 由于m t p v 4 是基于i p v 4 协改的,存在先天性的不足,比如地址空间 有限、报头扩展性差、安全性和移动性支持不好等。同时m i p v 4 中的三 角路出问题也造成了m 口v 4 的应用前景不明朗,所以这里主要阐述 m t p v 6 。 2 1 1 移动i p v 6 基本原理 m i p v 6 的原理图如图2 1 所示。 1 ) 移动节点m n 有两种丁作环境,可以连接在家乡链路上也可以移动到 外地链路。 a 1m n 连接在它的家乡链路( r o u t e r l ) 上时与任何固定的主机和路 由器一样工作。 b 1 当m n 运动到外地链路( r o u t e r 2 ) 上时,它采用i p v 6 定义的地 址自动配置方法得到外地链路r 的转变地址。m n 用接收的路由 器广播报文中的m 位来决定采用哪一一种方法。如果m 位为0 , 器广播报文中的m 位来决定采用哪一种方法。如果m 位为o i p v 6 网络移动协议的研究与实现 据包,并将它通过隧道送往m n 的转交地址。m n 将送过来的包 拆封,发现内层数据包的目的地是它的家乡地址,于是将内层数 据包交给高层协议处理。在相反方向采用反向隧道,m n 可以将 数据包通过隧道送给家乡代理r o u t c r l ,然后路由到c n 。 2 1 2 返回路由过程 在m i p v 6 中,为了限制那些已经接入互联网特殊路径的潜在攻击者, 避免从互联网的任意地方伪造绑定更新,在向c n 注册之前需要进行路由 返回过程( r r ) 。如图2 3 所示: 图2 3m i p v 6 中的r r 过程 r r 中包括h o m et e s ti n i t ( h o t i ) 、c a r c o f t c s ti l l i t ( c o t i ) 、h o m e t e s t ( h o t ) 和c a r e o f t e s t ( c o t ) 报文。完成密钥的交换和确认,达到 加密b u 的目的。其中h o t i 、c o t i 是m n 发往c n 的,h o t 和c o t 是 c n 发往m n 的。具体过程如下: i p v 6 网络移动协议的研究与实现 在这种情况下,m n 向它的移动口v 6 家乡代理任播地址【2 6 1 发送一个 i c m p 家乡代理地址发现请求消息( h o m e a g e m a d d r e s sd i s c o v e r y r e q u e s t ) ,对应它的家乡地址前缀。家乡网络上接收到请求消息的h a 会 回应一个i c m p 家乡代理地址发现响应消息( h o m e a g e n t a d d r e s s d i s c o v e r yr e p l y ) ,消息中给出了在家乡网络的所有家乡代理的地址。如 图2 4 所示。 图24d h a a d 和m p d 当m n 接收到这个家乡代理地址发现响应消息时,按照响应消息中 家乡代理列表的顺序,试着向每一个h a 地址进行注册,直到有一个成功; 如果m n 当前与某个h a 已经发生注册( 即注册的生存期还没有过期) , 那么m n 将首先尝试与这个h a 发生新的注册。如果注册失败,移动节 点应该尝试向其它h a 注册。如果m n 不知道其它合适的家乡代理,那 么它可能会尝试如上所述的动态家乡代理地址发现机制。 北京交通大学硕士学位论文 2 1 4 移动前缀发现 m p d 的含义是移动前缀发现( m o b i l ep r e f i xd i s c o v e r y ) ,是m i p v 6 中特有的。当m n 离开家乡网络时,会向其广播相关的前缀信息( m o b i l e p r e 矗xa d v e n i s e m e n tm e s s a g e ) ,用于家乡地址配置和网络重编号。当然在 m n 的家乡地址就要无效时,它也可以向它的h a 发送移动前缀请求 ( m o b i l ep r e 触s o l i c i t a l i o nm e s s a g e ) 来获得路由前缀信息的更新。新的 信息可以让移动节点加入到家乡网络的重新编号过程。如图2 4 所示。 2 2 层次移动i p v 6 在m i p v 6 中提出了很多不同的方案来减少切换延迟。层次移动珏v 6 ( h m i p v 6 ) 是i e t p 提出的一个方案,它通过使用层次网络管理结构来 减少注册时间。h m i p v 6 提出了一个新的实体,称之为移动锚节点m a p ( m o b i l i t ya j l c h o rp o i n t ) 。h m i p v 6 中扩展了m n 的操作,对h a 和c n 没有影响。 在 i m i p v 6 中m n 发生两种注册,向h a 注册r c o a ( r e g i o n a l c a r e o f a d d r c s s ) 和h o a ,向m a p 注册r c o a 和l c o a ( o n - l i i l l 【c a r e o f a d d r e s s ) 。 如图2 5 所示,r c o a 是由l m a ( l o c a lm a p ) 分配的,l c o a l 是由接入 路由器a r l ( a c c e s sr o u t e r ) 分配的。 m n 发出的数据都需要m a p 的转发,h a 和c n 只能看到r c o a ;由 外面发送到m n 的数据包,首先到达m a p ,m a p 根据r c o a 找到l c o a , 然后转发到正确的a r 上。当m n 移动时,如果移动到m a p 管理区域外, 就和m i p v 6 一样,进行新的注册。如果没有移动到管理区域外,如图2 6 所示,m n 从a r l 移动到a i 己2 ,产生新的l c o a 2 ,r c o a 没有变化。只 i p v 6 网络移动协议的研究与实现 需向m a p 注册l c o a 2 ,不用向h a 注册了。由于m n 与m a p 的网络距 离比与h a 的短,减少了注册的时间。 图2 5m n 注册r c o a 和l c o a l 图2 6m n 在管理区域内注册l c o a 2 在一个网络中,可能有多个m a p ,多个a r ,它们的管理区域是通 过动态m a p 发现( d y n 锄i c m a p d i s c o v e r y ) 划分的。首先,m a p 在自 己的路由通告r a ( r o u t e r a d v e m s e m e m ) 中携带自己的信息:全球i p v 6 地址和前缀,自己的优先级,网络距离( 跳数) 。每个a r 会将收到的 m a p 信息放入自己的r a 中进行发送,如图2 7 。a r 会增加m a p 信息 1 6 i p v 6 网络移动协议的研究与实现 理。在线程之间,采用i p c 通信,交互处理信息,加快移动路由器中 各状态的转换。 3 2 新增的数据结构 针对r f c 3 7 7 5 、r f c 3 9 6 3 ,将其中涉及到的主要的结构进行定义, 如新的i c m p v 6 报文,第二类路由头,v 6 移动头等,并修改r a 中的前 缀信息选项结构体接口类型1 2 8 l 。为了在口v 6 层支持m 口v 6 ,增加了l i n 嗽 系统接口控制的类型【2 9 】,在i p v 6 接口定义中增加了一些成员变量用于 n e m o 和p v 6 ,在i p v 6 的输入输出上增加了一些处理机制等。还增加 m n 到h a 的隧道类型,定义了新的s o c k e t 选项 m i p v 6t l vh o m e a d d r ,在路由处理上增加了m n 标识。增加的部分 重要数据结构如下: 1 1i p v 6 移动扩展头部,是整个i p 、,6 网络移动性支持中消息格式的基础, b u 、b a 等消息都基于它。 s t m c t i p 6 - i n h u j n t 8 ji p 6 m hp r o t 0 ; m h 协议号+ u j m 8 ji p 6 m h j e n ; 长度( 8 字节个单位) + , u j n t 8 _ ti p 6 m bt y p e ; 聿消息类型+ u j n t 8 _ ti p 6 m h - r e s e r v e d ; u _ i m l 6 ji p 6 m h _ c k s u m ; 严m h 的校验和+ , ; 2 1b u 、b a 、b r r 、b e 是完成注册功能的基本消息,以b u 为例。 s t m c ti p 6i i l l lb i n d i n g u p d a t e s 缸1 l c ti p 每_ n mi p 6 m h b u - h d r ;严移动头部+ 北京交通大学硕士学位论文 u j n t l 每ji p 6 m h b u - s e q n o ; p 序列号4 u _ i n t l 每ji p 6 m h b l l _ n a g s ; p 标志位+ , u _ i m l 6 ji p 6 n l h b u - l 懒i m e ; 唑存期( 单位4 秒+ , 1 ;p 后面是移动选项 3 1c o t i 、c o t 、h o t i 、h o t 消息在r r 过程中使用,以c o t 为例。 s t m c ti p 6m hc a r e o f _ t e s t s t m c t i p 6 _ r i l hi p 6 n l l l c t _ h d r ; p 移动头部+ u j n t l 6 ji p 6 瑚- l l c t _ o n c e _ j n d e x ; n o n c e 列表索引+ , u n i o n f u j n t 8 _ t p o o k i e 8 【8 】; u _ i m 3 2 _ t c o o k i e 3 2 【2 】; 产转交c o o h e + ) j p 6 m _ l l c t _ c o o k i e ; u n i o n f u j n t 8 j i e y g e n 8 【8 】; u j n t 3 2 j k e y g c n 3 2 【2 】; 唪转交密钥标识+ , 一i p 6 m h c t _ k e y g e n ; ; 4 ) 类型2 路由头和目的地址扩展头中的家乡地址选项是完成路由优化的 重要组成部分。 类型2 路由头 s t n l c ti p 6 响d r 2 u i n t 8 - ti p 6 r 2 1 1 x t ; 謇下一头字段+ u i n t 8 ti p 6 r 2 _ l e n ; 产长度,永远为2 + u i m 8 ji p 6 r 2 j y p e ; 类型,永远为2 + u i n t 8 j i p 6 “一s e g l e 危 + 包含路由数为1 + , 北京交通大学硕士学位论文 网络协议栈的一致性,我们充分利用l i i l l l ) 【中已有的数据结构和实现方 法,来保证n e m o 层对于传输层的透明性。底层内核提供系统管理、进 程调度管理和系统调用;层提供数据包的发送和接收、隧道的建立等: 具体模块划分见图3 1 。 图中的模块按照功能分组,同一组模块在一个圆角矩形内。双向线表 示两个模块组互相影响。解析和构造移动报文模块、移动检测模块作为信 息传递的接口在用户空间和内核空间之间。配置和显示命令模块用于显示 和配置用户空间的数据,和用户空间的模块都有联系。 3 4 各模块简述 图3ln e m 0 功能结构图 1 1 解析和构造报文模块:主要完成移动控制报文中移动头部的解析,并 做出相应的回应,将相关信息构造、发送出去。通过对报文的分析, i p v 6 网络移动协议的研究与实现 将作为触发事件影响移动体的有限状态机。 2 ) 移动检测模块:利用r a 、邻居发现、链路层触发等,检测网络前缀 变化、接入点变化、生存时间过期,完成网络层的切换。 3 ) 配置显示命令模块:对m r 属性进行配置,显示本机的b c 、b u l 等 状态信息和调试信息,并可以通过命令配置家乡代理地址,隧道和启 动接口。 4 ) 数据维护更新模块:通过解析移动报文,提取相关的信息,如c o a 、 h o a 、移动前缀、绑定生存期、通信对端地址、状态表示位等。然后 更新b c 、b u l 等数据表项。 5 ) 返回路由过程模块:处理在r r 中的c 0 t 、c 0 t i 、h o t 、h o t i ,计 算k e y g e n t o k c n 、k b m 等。 6 ) 移动报文接收和发送模块:用于接收移动报文,主要作用是取出c o a 和h o a ,交换位置,然后输入到解析和构造移动报文模块;将移动报 文按照要求,填好i p v 6 包头,并加入扩展头,最后送到发送队列上。 7 1 接口信息和路由表更新模块;此模块负责移动接口的初始化和接口信 息维护,在移动过程中对内核路由表进行更新,主要功能为接受路由 重定向、改变默认路由,隧道项的加入和删除。 8 ) d h a a d 模块:动态家乡代理发现模块,运行在m r 和h a 上,更新 h a 之间的家乡代理信息,保证m r 离开家乡网络后的注册成功。 9 ) m p d 模块:移动前缀发现模块,当m r 在外地时,家乡网络的前缀 变化会及时通告到m r ,保证m r 和h a 之间双向隧道的有效性。 3 5 多线程设计思想 从图3 1 中可以看出,n e m o 协议在运行时不仅同周围模块发生复杂 北京交通大学硕士学位论文 的数据交换,而且内部功能模块之间也要进行复杂的通信。如何高效处理 这些通信事件直接决定n e m o 协议软件的运行效率。为此,采用多线程 的设计思想来处理协议通信事件【3 0 j 。 多线程的设计思想是:在程序开始运行后,建立多个s o c k e t 通信及监 听线程,如m h 、i c m p 等s o c k e t 连接,i c m p 监听器等。目的是更迅速 的把握外界和内部的状态变化,保证通信的连续性。同时运用进程间通信 手段,如任务队列管理调度【3 “,消息队列来辅助注册和i 汛过程,读写锁 避免重要的数据表项的多线程写入,互斥锁可以保证一些共享程序片断的 资源唯一利用性【3 2 】。如图3 2 所示: 图3 2 多线程设计思想 i p v 6 网络移动协议的研究与实现 第四章网络移动协议的模块实现 4 1 数据更新维护模块 4 1 1 数据结构分析设计 增加的数据结构包括h a 列表、家乡前缀列表、h o a 信息表、b u l 、 b c 、i i l i p 接口信息表、定时器等结构。还有关于安全方面的n o n c e s 、 c o o k i e s 、t o k c n s 等的数据结构。他们主要用于记录各种数据的状态,部 分结构的相互关系如图4 1 。 定义了有关时间和计数器的函数和结构,包括计数器的初始化、更新、 撤销。这些计时器存在于绑定更新列表、绑定缓存、前缀信息等结构中, 这是符合r f c 3 7 7 5 和3 9 6 3 规定的,用于表项的更新。 b i i i d i n gu p d a t el i s t m o b i i ep r e f i xt a b l el i s t 图41用户空间部分数据结构的相互关系 北京交通大学硕士学位论文 萎孽0 i i i ; 霎= ! 匿矾篓臣鬻羔篓始 括希蓄叫驯要氍f 量;霸蛰錾蕃i 可翳替篓;豫鲑e 篓霄霎i 霪掇萋蔷 器坞强忍荔磐霪t ;鐾醒鞋辩崮;警拦蒌圳剖萎慨落珲璎强攘曜淫琨 量i 捅麓嚣裂i 划攫貊楚蓬旒簸,髫魏磊拜蘑缓需;越罂,t 篙塑囊弱慧鲫鬣 理强烈强妻型e i 彗嚣塑鞴二篮疆群牲鲣蹩一襄碥塑而噶务囊i 篓鲤嚣委羹 羹鸷鹦嚣骚掣二薹, 4 0 :8 0 0 7 :2 00 3 :1 6 4 i w c o n 风e t h o e s s i dh o m e n e tm o d ea d - h o ce n co 仃 e c h o ”l ” p r o c ,s y 幽e t i p v 6 c o n 蹦胁r 啪r d in g e c h o “0 ” p r o c s y 斩l e “i p v 6 c o n 抛l a i l _ t o c o i l f e c h o ”0 ” p r o c s y 幽e 们p v 6 c o n 口a l l a cc e p t _ r a e c h o ”0 ” p m c s y s n e 埘p v 6 c o n 蹦讹c c 印t _ r e d 沁c t s 还需要启动和配置动态路由协议,利用实验室成果i p v 6 高性能路由协 议栈软件,在h a 和a r 之间启动r i p ( r 0 谢n g i n f o r n l a t io n p m t o c 0 1 ) 路 i p v 6 厢络移动协议静研究与实现 i n t ( + c o m p a r e ) ( v o i d + d a t a ,v o i d 铀踞h k e y ) ;p 1 1 a s l l k e y 比较函数 2 ( + h a s h _ _ f h c t i o n ) ( v o i d 鼬h k e y ) ;a s h 函数+ , ) ; 为了将s o c k e t 和相应的处理函数连接,设计f dl i s t 数据链表。它的 作用是在功能实体( m n 、h a 等) 的启动后,先将s o c k e t 和相应的处理 函数加入f d l i s t ,形成一个大的数组,当需要处理数据时,只要循环执行 数组中得元素( 处理函数) 就可以了,便于及时分析数据。 4 1 2 用户空间初始化 对配置文件或配置命令中的数据进行解析和记录。初始化计数器、文 件标识符列表、h a 列表、家乡前缀列表、家乡地址信息表、接口信息表、 b u l 、b c 。n o n c e s 等安全验证信息初始化,初始化节点类型。 建立本机的监视端口,用于状态信息的显示。建立几个s o c k c t 连接, 分别用于解析和构造移动报文、d h a a d 、移动检测、用户空间和内核空 间的数据交互的处理;s o c k e t 中建立、连接、接收、发送、输入、输出、 控制等函数的确定等。 4 1 3 更新操作 初始化完毕后,由于协议运行期间的触发事件影响,需要对数据进行 更新。对于其中的链表结构,主要的更新操作是表的建立、嵌套、删除、 清空,表项的插入、更新、建立、删除和查询;其它的定时器、n o n c e s 、 n o n c e s 、c o o k i e s 、t 0 k e n s 等变量的主要操作为计算、清零、查询、移位。 以上的操作在l i n u x 内核中的l i s t h 头文件中都有所实现 3 4 】,而且比 较简单,这里不作赘述。 i p v 6 网络移动掷议的研究与实现 是否为解注册、错误、注册、重新计时等。最后加入到b c 中,然后 调用s e r l ( l b a 函数构造b a 消息,将生存期、状态号、认证信息等字 段填充好,发送数据。 图4 3 解析和构造移动报文 北京交通大学硕士学位论文 如果接收到b e 、b r r 、b a 、c o t 、h o t ,不做处理。 除了以上类型的数据包外的其它类型,根据不同情况构造b e 信息, 然后发送b e 。具体流程如图4 3 所示。 4 2 2 n e m o 与m i p v 6 的区别 在解析和构造报文模块中,n e m o 和m i p v 6 的最大区别在于绑定更 新消息中r 比特( 移动路由器标识) 、模糊和确定注册。下面以表格的形 式列出它们实现细节的不同之处,如表4 1 所示。 表4 1n e m o 和m i p v 6 的实现细节 实现细节协议m i p v 6n e m o 绑定更新标

温馨提示

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

评论

0/150

提交评论