(通信与信息系统专业论文)linux下移动ipv6的实现与测试.pdf_第1页
(通信与信息系统专业论文)linux下移动ipv6的实现与测试.pdf_第2页
(通信与信息系统专业论文)linux下移动ipv6的实现与测试.pdf_第3页
(通信与信息系统专业论文)linux下移动ipv6的实现与测试.pdf_第4页
(通信与信息系统专业论文)linux下移动ipv6的实现与测试.pdf_第5页
已阅读5页,还剩90页未读 继续免费阅读

(通信与信息系统专业论文)linux下移动ipv6的实现与测试.pdf.pdf 免费下载

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

文档简介

北京交递丈学硕l 学位论文 第一章绪论 第一章绪论 1 。研究背景及意义 爨蒋霹挚汪深入劐我餐生滔熬方方露秀,戏为了缀多天霾嚣生活孛 不可缺少的一部分。目前人们主要采用固定接入方式使用网络,这在很 多方瑟鞭翻了潮络瘟薅豹逶一步发震。麓着宽带i p 跨缮帮无线移动终端 及其应用的不断发展,对h t e m c t 的移动性支持变得越来越重要,移动 l p 技术正是适应这种需求丽产生的一种新酌支持移动翊户和因特网连 接的互联技术。它能够使得人们无论在家里、办公室里还是在火窜上或 是飞机上都能通过笔记本电脑髓时连接列h i t e m c l 上,同时无需中断正在 进行的瞬络遁镶,也因此成为了当蓠业器疆究懿热点阕题。为了更好蟪 解决在传统网络框架下由于移动性所带来的问题,因特网工程任务组 固强玛娑罂蕉个企业的不同部门使用不向酾;萎魏静髯| 篓艄骤群丽囊靼 鞴# 薹裂爱雾野翌蚕篓善更雕燃唇j 掣澎墓翰洲| 薹翳醛蛆耻鲤邺。 盟樊枷衍剀丁q 誊轴。斐;登泰鲤型焉垫掌尘唧耸匙驰誉罪业隧蹦玛 明v 非龋雾酶翮美簖酬美嚣驻j 蕊搿型良烈噬驱鞭荔鞠饕萎辅筹竺丽一 番夺再豁曩抽戮爱驯烈磐肋| 亍冤j 未来的仓砸稽点苹备吊南强蟊馐毽 简迪嘎;霉蕊垮怎喝? 爆峨嚣蒜蓬1 4 1 滢冶! ! :l 噶嘏峪浮。鳃型篙舷强麓鞭 x 北京交通大学硕士学位渔文 第审绪论 代互联网的核心。l p v 6 的出现也是移动计算上的一个里程碑,移动i p v 6 【6 j 不仅继承了移动i p v 4 协议用的众多特性,吸取了移动i p 、,4 协议的开发经 验,而且结合i p v 6 协议的许多新特性。而且当移动节点到达外地连路时, l p 、,6 浩瀚的地址空间1 8 l 使得移动i p v 6 能够提供足够的地址空间让移动节 点拥有独立的转交地址( c o a ) ,这不仅避免“三角路由”的问题,而 且节省了网络资源,提高了通信效率。另外i p s e c l 9 】与移动i p v 6 协议的 绑定能够满足实施通信所需要的多种q o s 类型的传输。 1 2 国内外研究现状 目前关于移动口协议的研究正处于不断完善的过程中,仅在珂r f 工作组中与m 坤相关的就有五个小组i 埘,分别是;m i p 6 工作组、m i p s h o p 工作组、肿n a m i 6 工作组、n 啪。工作组、n e t l i l l i n 工作组,各小组具体 主要研究内容如下: m i p 6 工作组其主要工作重心在于继续努力加强移动i p v 6 协议在更 广泛网络上的配置和应用;另外,对于快速寻址的研究,还需要作 相关的测试来进一步验证。具体工作目标有如下4 个方面: 1 寻址问题的测试、家乡网络重编号以及家乡代理发现、路由优化等 移动特性需要进一步明确化、具体化; 2 解决并强化家乡网络的可靠性,使得一旦一个家乡代理崩溃后立即 有另一个家乡代理对特定的移动节点提供相应的服务: 3 关于路由优化和返回路由可达过程,移动节点和对端节点之间安全 联盟的建立等问题,即安全方面的问题; 4 工作组还将对于存在防火墙时移动v 6 将会出现的相关问题、i p 、r 4 和i p v 6 共存期间移动网络的过渡问题以及多播情况下移动网络的问 托_ j i l 交通大学硬士学位论文 麓一章绪论 题作进一步的研究。 m i p s h o p 工作组主耍研究移动口v 6 网络信号过载以及切换过程中信 号丢失方面的技术,主要硒究以下几个方蟊的内容: l ,分等级移动l 6 方嚣豹移魂管理这攥零 入了移囊定位点鹃概念, 对于移动节点,该定位点扮演着本地家乡代理的角色; 2 移动i p v 6 中的快速切换问题即在建立新链路时,如何实施快速的 l p 连接尽量降低爨靓率的问题; 秘潍a 琢撼王传缝黪夔罄冬耱耘懿嚣线撅准瓣浃速发震,蛰秘支薅无 线协议标准终端像籀继出现,由此带泉的宽带窄带的釜弊臻求移动 节点在移动过程中必须能够适应各种不同的接入方式。目前有关这 方面的研究还没有成形的标准,该工作蛆就主要致力于这方面的研 究; b 渤。工 筝缀箕主瑟致力于疆究瓣终好娥移动中豹管理麓题,鄂存 在一个或多个m r 、多个家乡并具有多个不同接入点的移动湖络在上 述各种情况下的管理问题; n e t l 删工作组前阶段主要做本地移动健管理研究,接下采,蚀们将 致力予磅究有关全球懂移动秘终静管遴方法,这方瑟豹磺突鸯剃予 更长远的应用。 由于移动i p v 6e i 黼突出的地位,目前越界上有很多公司、组织或机 构在对移动6 进行研究。在2 0 0 2 年5 月9 日召开的全球m v 6 高峰论 坛黢孛蓐l h 6 高级研讨会上,移动逶信的全球领先者诺基亚公霹全露分 绥了缝 疆在脚6 窝移秘脚6 方瑟翡最耨遴瀑及萁在孛藿珏6 方霹豹磺 发台作活动,作为i p v 6 领域的先驱,诺基鬣积极推动i p v 6 产业化进程。 猩这次论坛现场,诺基蹶成功演示了第一部支持i p v 6 的移动终端以及移 动l p v 6 解决方案。目前,诺基亚已开始提供基于口v 6 的g p r s 嘲络系 3 北京交避太学硕士学位论文第一章绪论 大应用的将是移动接入应用。在移动的基础e 提供优质的数攒服务始终 是广大移动用户的需求,这将为移动i p v 6 提供更为广阔的市场。对于移 动l p v 6 静研究,人们当蓊静主要工律还楚于对一系确糯关耱议进行标准 化的黔段,还誊许多工作尚未完囊;羹霪;鎏慧囊菰 | l 翁鍪登,醺登 踅酝器掩鬣警i 二毳,雾墓薹冀囊 ;墓灌漆睡焉再国叁魏p p a m ( ”c 虬c a t a l o g x s l ”) ) r e s p o n s e w f i t e ( x m l t r a i l s f o m 黼o d e ( x s l ) ) 第一段鼗彝建立一令黼渤鑫p a 菇e x m 黼。糖舅簿拆懿对象,并 将x m l 文档读入内存;第二段代码建立另外个对象并导入x s l 文 档;煅后一行代码将x m 舭文档用x s l 文档转换,并将结果输出到 r蹦l 文件中。 58 小结 本帮提出了一个完全旗子x m l 技术的信息集成框架,给出了其概 念模型和功能模型。讨论了其中的关键技术,对x m l 文件与关系数 据蓐戆姨射擞了研究。提凑了一手中茂单的映射荧系。辩x m ls 文e m a 透嚣元数据定义给窭了麓魏。对使蘧x s 臻鼹x m 毛透行蔷惑笈露遴 行 x 北京交通大学碰十学位论文 第一章绪沦 m n 模块中部分子模块和用户空间命令显示模块的实现; 4 、 网络协议测试中一致性测试和功能测试理论以及m i p v 6 实现的具体 测试要求,具体测试流程、测试环境、测试过程,测试工具,测试 步骤、测试结论以及测试评断; 5 、从理论方面和实现方面总结本文中的主要内容,并简要论述现有移 动l p 具体应用中存在的问题:进一步展望未来移动i p v 6 广阔的发展 前景。 根据以上内容,论文的结构如下: 第一章绪论研究背景意义、国内外研究现状以及本文的主要工作; 第二章移动碍协议原理这里包括移动p 协议的基本理论、移动i p v 4 协 议的基本操作、移动坤v 6 协议的基本操作以及相对于移动i p v 4 , 移动i p v 6 的优势; 第三章移动6 协议的设计,这里主要包括总体设计思想,重要数据结 构描述以及m n 、h a 、c n 各模块具体设计; 第四章移动矾,6 协议的实现包括i j n u x 内核介绍、内核系统和用户系统 的关系、移动、,6 协议实现对内核空间和用户空间的要求以及部 分子模块的实现; 第五章移动l p v 6 协议的测试主要包括协议测试理论介绍、移动i p v 6 协 议测试要求分析、测试环境和测试工具,测试过程流程以及具体 测试例的实施操作及描述。 第六章总结总结本文工作和下一部分工作展 l 寰空运大学碗士学垃论文 棼= 章移璇攒协筑琢理 第二章移动i p 协议原理 移魂l p 秘议 爹海嬲络屡蛰议,与+ 等鬃靛数据链薅垂 务议巍耪瑾传 输介质无关,不需蘩改变移动主机的永久蚀标识,具有扩混悛、可靠性 和安全性。其主要的设计目标是移动节点在改变网络接入点时,不必改 变其l p 地址就能够在移动过程中保持通信的连续性,对上层协议保持透 骥峻,与冀链移魂苓患或不是舂移动臻囊簸熬节煮憩遂牙正鬻熊逶筵。 懿体来说,移动球协议应满足如下4 条簧求栩: 一、移动节点在改变数据链路层按入点以后,能够保持和因特网上 其他节点连续通信; 二、移动节点无论涟攘到任何接入点,都能够使用原来敕臻缝蛙进 费逶詹; 三、移动节点应该能够与不具有移动”功能的其它节点保持通信, 并且不需要修改这些节点的协议; 四、移动节点不成该比因特网上的其他节点面临更多的安全威胁。 贯雏,由于移凌繁患逶掌逶过无线链鼹连接受因特阏上,涎线穗鼹 瑟有低带宽、嘉误褥攀的特点,困茂要求镑理移动节点接入辩发送管理 消息的数目和长度应熙嫩短。 为此,r f 下属的移动口工作绒制定了移动讲的墩初标准 戳c 3 7 7 5 ,来解决主机在不同嚼络中自由移动的问题。该标准主黉瓣决: 一、移动主囊哥菝遴遗令窳久豹l p 戆糖遴羧在 王 莓一个穗路上;二、 移动主机在切换到新的链路上时,仍然就够保持正在进行的通信。 北京交通大学碗士学位论文 第= 章移动i p 协议原理 2 1 移动i p 的基本概念 本章节介绍移动i p 的基本概念,移动l p 定义了以下术语【6 】1 7 】: 1 ) 移动节点( m o b i l e d e ) :指从一个网络或子网切换到另一个 网络或子网的主机或路由器,移动节点可以改变它的网络接入点,但不 需要改变l p 地址,并且使用原有的i p 地址能够继续同其他的节点通信; 2 ) 家乡代理( h o m ea g e n t ) :是指位于移动节点家乡链路上的路由 器。当移动节点离开家乡网络时,它负责把发往移动节点的分组通过隧 道转发给移动节点,并维护移动节点当前的位置信息; 3 ) 通信对端节点( c o e s p o n d n o d e ) :是指与移动节点通信的 对等实体,可简称为通信对端,它可以是移动节点也可以是位置固定的 节点; 4 ) 外地代理( f o r e i 印a g c n t ) :移动节点的外地链路上的路由器。 帮助移动节点通知家乡代理它的转交地址。有时,提供移动节点的转交 地址,并为己被家乡代理设置了隧道的移动节点发送拆封后的包。作为 连接在外地链路上的移动节点的缺省路由器。 其他术语: 1 ) 隧道:当一个数据包被封装在另一个数据包中作为净荷传送时, 所经过的路径称为隧道; 2 ) 家乡地址( i i 啪ea d d 咒s s ) :是指每一个移动节点在家乡链路上 拥有的一个“长期有效”的l p 地址。对这个地址的管理类似于对固定主 机i p 地址的管理。 3 ) 转交地址( c a f e o f 枷d r c s s ) :是指当移动节点离开家乡链路后, 被赋予反映当前链路接入点的临时地址。关于此地址还有一下几方面要 求: 北京交通大学碗上学位论文 第二章移动l p 坼议原理 舢外地代理处理注册应答,把处理的结果告知移动节点。 如果移动节点直接向自己的家乡代理进行注册,则注册过程只需要 下面两个消息: 5 1 移动节点发送注册请求给家乡代理; 家乡代理给移动节点发送一个注册应答,同意或拒绝这个请求 如果移动节点是通过外地代理分配转交地址获得地址的话,就需要 通过移动l p 协议定义的消息向外地代理进行注册请求和注册应答。但是, 当移动节点获得转交地址是通过第二种方法获得的话,则需要向家乡代 理请求注册。家乡接收到绑定消息并发送绑定确认消息后,移动节点的 家乡地址和转交地址将会被绑定在一起并存放在家乡代理的绑定缓存 中,并向移动节点发送注册应答。 2 2 3 分组路由 如果移动节点向家乡代理注册,家乡代理和家乡链路上的其他路由 器通过与外地链路上的路由器交换路由信息,使得发送给移动节点家乡 地址的分组将会被家乡代理通过a r p 协议【1 5 】截获并被正确地转发到外 地链路上。 具体操作是:如果移动节点是向家乡代理注册的,则家乡代理将会 根据截获分组的i p 目的地址来焘找绑定缓存,获取对应移动节点注册的 转交地址,然后通过隧道发送分组到移动节点;如果移动节点是向外地 代理注册的,即转交地址是外地代理转交地址,则隧道末端的外地代理 拆封并转发分组到移动节点。另外, x 北京交通大学硕l 学位论文 第二章移动i p 协议原理 理直接发送到通信对端,如图2 3 所示存在“三角路由”现象。这个问 题在移动i p v 6 中将会得到基本解决。 2 2 4 解注册 图2 3 移动v 4 的三角路由 如果移动节点根据接收到的代理通告消息发现,它已经返回到了家 乡链路,那么移动节点必须向家乡代理进行解注册,将其绑定缓存中相 应绑定信息的生命周期置o 。 2 3 移动i p v 6 协议理论研究 2 3 1i p 、r 6 协议概述 l p v 4 协议最初的优良设计使得其经受了从早期小规模互联网络扩展 到如今全球范围应用的考验,但是伴随着h t e m e t 的飞速发展,、r 4 地 址出现了严重的地址匮乏,在网络安全和服务质量方面也存在着很多问 题,已不能满足目前网络应用和发展的需求。为此,t f 组织开发了新 一代网络协议i p v 6 。l p v 6 不仅将完整地继承i p v 4 的优点,也将彻底解决 i p v 4 目前存在的地址匮乏等问题,而且在此基础上集成了网络安全、服 北京交通大学硕士学位珐文 第一卓移动i p 冉议原理获。 6)lpv6的移动性。ipv4协议对移动的支持是可选部分m,而移动ipv6 是i p v 6 协议不可缺少的组成部分f ”。移动l p 需要为每一个移动设备 分配一个全球唯一的f临时lp地址,而这对地址严重匮乏的lpv4协议 来说是不可想象的,而移动i p 、,6 能够通过简单的扩展来满足大规模 移动用户的需求。2 3 2 移动i p v 6 的基本操作 无论是否在家乡链路上,一个移动节点总是可以通过家乡地址被寻 址到。当移动节点在家乡链非芒办= 墅r 驯豺搪啪 鲫朝拐戤雎鲢蠢毽 望暴飘瞥复蕴铿夔端鞋美鬻祥耪菇攘;荔爨夔篙渲滢礞碥渤倒愉绥 篇獭塞巨麓;! ;燃塑翁箱蚓翳躞靼雾辫懑嗜莉羹荫羹。鞲澎瀚唰高臻 泻。磁协矍萎娃奠鹤缮辨娃! 蘸延删篝倍营荀腰焉豁镬签瘪谨匍礤同 淳涛囊鼢即肩动接收錾型雾蕊芋模块初始化完成,启动的各个进程处于等 待状态。 3 2 3 移动检测模块 北京交通大学硕士学位| 仑文 第二章移动i p 路议原理 如下图2 - 5 所示,通信对端的绑定解决了“三角路由”问题,实现路由 优化。 通信对端 图2 5 移动口v 6 的优化路由方式 移动节点 4 动态家乡代理发现 当移动节点不在家乡链路时,家乡链路上的一些节点可能会重新配 置,因此,原来作为移动节点家乡代理的节点可能不再提供家乡代理的 服务而改由别的路由器提供。在这种情况下,移动节点可能不知道新的 提供家乡代理服务的路由器的m 地址。移动i p v 6 协议提供了一种“动态 家乡代理地址发现”机制,允许移动节点动态在离开家乡链路后动态地 发现其家乡链路上的提供家乡代理服务的路由器的地址。当移动节点从 一个外地链路移动到另一个新的外地链路时,其对应的转交地址也随之 发生了改变。这时,如果存在正在与该移动节点对话的通信节点,那么 该通信节点将因为无法及时感知移动节点的这个变化而继续向移动节点 的原来的转交地址发送数据包,从而导致数据包丢失。在移动v 4 协议 中确实存在着这个问题,需要添加路由优化扩展来解决。在移动坤v 6 协 议中,移动节点在完成切换后通过向其上一个外地链路上的提供家乡代 理服务的路由器发送“绑定更新”消息,让该路由器通过隧道向移动节 点的新的转交地址转发目标地址为移动节点的上个主转交地址的数据 北京交通大学硕十学位论文 第_ 章移动i p 办议原理 包,从而在更大程度上减轻了该问题所造成的数据报丢失。 2 4 移动i p 相关协议介绍 在移动i p v 6 协议中,邻居发现协议在其中扮演了一个非常重要的 角色。移动节点的地址自动配置、前缀的管理、动态家乡代理的发现、 家乡代理对数据包的拦截等都用到了邻居发现协议【“。 2 4 1 邻居发现协议的作用 1 i p v 6 节点用邻居发现来确定邻居的链路层地址、快速清除已经失效 的缓存信息; 2 1 p v 6 主机用邻居发现来定位邻居路由; 3 节点用邻居发现来实时跟踪邻居的可达性。 2 4 2 邻居发现协议的具体机制 路由发现:主机如何来定位统一链路上的路由; 前缀发现:主机如何来发现同一链路上的一组前缀( 用来辨别目的 地址是否在线1 ; 参数发现:主机如何来获知链路参数( 如链路m t ii ) 和h t e m e t 参数: 地址自动配蜃:节点如何为一个接口自动配置一个地址; 地址解析:节点如何利用目的节点的1 p v 6 地址来获取在线目的节 点的链路地址: 下一跳决定:一个算法,用来把1 p 目的地址映射到邻居节点的i p 地址。送往目的节点的流量将通过这个邻居节点。下一跳可能是一个路 由,也可能是目的节点本身; 北京变通大学硕士学位论文第二章移动i p 西议原理 邻居不可达检测:节点如何判断一个邻居已经不可达; 重夏地址检测:节点如何来判断它将要使用的脚6 地址目前还没 有被其他节点使用: 重定向:路由器如何通知主机一个更好的第一跳节点以到达一个 特殊的目的节点。 为了解决上述问题,邻居发现协议定义了以下五种不同类型的 l c m p v 6 数据报文结构: 路由请求报文:当一个主机发现链路改变时,将会主动发送路由请 求,要求路由器立即发布路由通告而不是等到下一个预定时间; 路由通告报文:路由器定期地或为了响应主机发出的路由请求发布 路由通告,以通告它们的存在。同时,在路由通告中还附带着链路和 i n t e m e t 参数。其中还包括了前缀,被用来进行在线判定或地址配置: 邻居请求报文:为了决定一个邻居的链路层地址或验证缓存的链路 层地址中的一个邻居是否仍然可达而发送的请求。它也被用来进行重复 地址检测; 邻居通告报文:是对邻居请求的响应;即使没有邻居请求,一个节 点也可发送邻居通告来宣告一个链路层地址的改变; 重定向报文:由路由器发出用来通知主机对于一个目的节点的更好 的第一跳。 2 4 3 移动i p v 6 协议对邻居发现协议的修改 为了满足需要,移动讲v 6 协议对邻居发现协议在以下几个方面作 了一些修改嘲: 修改了路由通告消息的格式在原来路由通告消息的保留字段作 新设置了个家乡代理位( i 位) 。如果发送该路由通告消息的路由器同 北京交通大学硕士学位论文第二章移动i p 西议原理 动节点的分组。邻居发现协议不关心链路层的特定情况,这样提高协议 的鲁棒性,简化了移动i p 的实现。移动i p v 6 定义了家乡代理地址动态 发现机制,这样,移动节点发送l c m p v 6 的家乡代理地址发现请求消息, 目的地址是其家乡子网前缀的移动i p v 6 家乡代理的泛播地址,家乡链路 上的每一个家乡代理都返回一个应答。这使得移动i p v 6 家乡代理地址动 态发现机制更加高效和可靠,不会引起应答爆炸问题。 2 5 4 扩展选项 移动i p v 6 为6 协议的目的地扩展报头定义了一个称为“家乡地 址选项”的新选项,该选项用在离开家乡的移动节点发送的分组中,选 项的内容是移动节点的家乡地址,用于通告通信对端移动节点的家乡地 址,而分组的源地址是移动节点的转交地址,处理分组时通信对端把移 动节点的转交地址替换为家乡地址,使得转交地址的使用对于通信对端 的上层来说是透明的。 移动口v 6 定义了称为“第二类路由头”的新的i p 、r 6 x 北京交斌大学硕二 学位论文 第二窜移动i p 议原理 2 5 s 移动安全 移动l p 在疆络瑟实鬻了移动互联,恒是彀带来了潜在豹安全淘题。 但在l p v 6 协议中,口s e c 协议和l p 协议内置的捆绑在一怒,所有节点强 裁实魏翻。移动狂6 邀撵袋了安全掇溪,糅护移魂节点发往家乡钱联或 通信对端的绑定更新以及隧道信息、家乡地址信息和分组中的路由指令。 在移动l p v 6 中,移动节点积家乡代理之间维护一韩安全关联,魏使瑶 a h 头或e s p 头,保护它们之间信息的完整投。同时为了能够对邋信对 端进行安全绑定,移动i p 、,6 还定义了返回路由可达过程,只要通过返回 路径爵达过程瀚确认,道髂对端才虢接收移动节点的绑寇更耨,发给移 动节点的分组重新定向新的转交地址。 2 5 6 移动梭测 移动l n 6 掇供了移动节点与当裁位置默认路由器之游通信能力的双 向确认,移动节点接收默认路由器发送的分组,以及发送分组到默认的 路出器,这耱敢淘确谖能力蜀班提豢对“黑滠”位置戆狻涮l 蠲。这撵当 移动节点从无线镳路通信质薰好的路由器服务范围移出,歪达通信质量 不好戆链路鞋,可戳尝试发瑗薪戆鼹蠹器势舞戆捷爰瑟戆转交避簸。黑 洞位鬣在某些光线环境下存在,移动节点与路豳器之间的无线链路不能 在两个方向上等效工作。程移动p v 4 中,只要放路圭器至移动节点瓣转 发方翔需要确认,这就可熊产生黑洞。 北京交通大学硕士学位沦文第三章m i p v 6 协议原理 封装解封装传输数据。如果一个m n 不知道h a 的地址,可以通过发送 动态家乡代理请求获得h a 的地址并向h a 注册。 根据上述要求,m n 模块细化为初始化模块、移动检测模块、注册 解注册模块、移动前缀发现模块和动态家乡代理发现( d h a a d ) 模块。 其中注册解注册模块又分为向家乡注册、向c n 注册以及回到家乡对家 乡进行解注册等子模块。接下来,将在下面章节首先介绍其中重要的数 据结构,然后逐一介绍上述功能模块。 3 2 1 重要数据结构描述 对于m n ,要维护以下数据结构:供用户空问查询的数据结构包括 h a 列表、家乡前缀列表、h o a 信息表、b u l 、m i p 接口信息表、定时 器等结构体。还有关于安全方面的n o n c e s 、c o o k i e s 、t o k c 船数据结构体。 它们主要用于记录各种地址、生存期、状态等信息,并影响内核中的部 分数据结构f 卅。 3 2 1 1 与b u 相关数据结构 绑定建立过程:m i p v 6 b u l i n i t 调用h a s h l i s l c r e a t e 建立h a s h 表,为 计时器赋初值,并打开一个进程,从而建立用来存储m i p v 6 _ b u l e n t r y 的h a s h 表【2 4 】【2 5 】: s t n l c th a s h l i s t i n tc o u n t : i n tm a x c o u n t : 一u 3 2 b u c k e t n u m ; k m e mc a c h e j + k m 锄; 广实体数量* + 最大实体数+ , 铀a s h 桶。 托豪交逢大学璇士掌位论文 第三章m l p v 6 秘议骧理 体* 一u 3 2 m a x d e l a y ;+ 最大延迟t s t n l c tm i p v t 虬i i l f o + r r ;r 返回路幽可达过程信息 s t n l c lf n i p v t 鼬j 瘁8 0 p s ;芦移动头逸瑷t , u n s 蓼。d 确gc 采l b a c 迕蛀瑚e ;芦溷谖对溺y i n t ( 4 c a l l b a c k ) ( s t n l c ti n i p v 6 - b u l e n 仃y8 e n t r y ) ; 木绑定更新列表实 3 0 1 2 与醒h 稻关数据结构 移动头选项结构体 s n l l c t m i p v 6l i l l io p t s 妞l c l 越p n 瓣a l | i 国a 4 域孙静a ;产霹替换转交缝缝4 , s 扛u c tm i p v 6m on o n 够由d 池s 4 艄n c e 妇d i c e s ;,4 n o n c e 索弓 指 针* s t f l l c tm i ”虬m 虬b a u t l l i d a t a + a u 啦a t a ;产认证数据书, s t n | c lm i p v t m 虬b 乙a d v i c e 幸b 屯a d 沌e ; i 珏蠹e e l e 珏: i n t 幻t j e n : u 8 + n e x l 声r e e ; u 8d a t a 【o j ; ; 酝n 相关痞怠绪擒俅主要毽括家乡邋媲、h a 静逸蛙、渊来标识是 否在家乡是否进行窳乡注册的状态信息,以及其它相关信息; s 打u c lm n _ i n f o s 缸u c i n 6 _ a d d fh o m e _ a 醐f 严家乡媲蜒8 , 北京交通大学硕土学位论文第三章m l p v 6 协议原理 加新的缺省路由,并更新网络接口配置状态。这样切换完成。接下来, 开始进行注册操作。 3 2 4 注册解注册模块 网络层检测到m n 已经移动到不同的链路,并获得新的c o a ,接下 来开始进行注册解注册。对予m n 来说,到达外地链路,注册分为对家 乡注册和对c n 注册,若回到家乡链路,则对家乡进行解注册,对于c n , f 引羊进行注册更新就可以了,并不存在解注册的概念。 图3 4 注册解注册模块细化描述 根据上述分类如图3 - 4 所示,注册,解注册模块有以下几部分组成: 向家乡注册解注册,向c n 这册模块,其中c n 注册包括返回路由过程 以及发送b u 、接收b a 注册两部分组成。 3 2 5 家乡注册解注册模块 三层切换完成,m n 从接入路由器获得薪的c o a ,为保持m n 一直 能够与互联网互通,m n 需要向家乡代理注册其新的c 0 a 。每个m n 都有对应的b u l ,绑定更新列表包括所有移动节点与家乡代理或通信节 点的绑定,也包括正在等候发送的绑定更新, 北京交通大学硕士学拉皓文 第二章m i p v 6 盼议腺理 注册之前首先比较c o a 和h o a 的网络前缀,如果网络前缀不相同 则表示m n 移动到了外地网络,下面开始进行家乡注册操作,反之如果 网络前缀相同则表示m n 回到了家乡网络,接下来进行家乡进行解注册。 磊磊 _ 7 拥耀 c 多 嘲 三亚一 鬈重乡 崮n 地瘟 “挚址 应 图3 - 5 家乡注册流程图 如图3 5 描写的是到外地链路进行家乡注船的流程,发送绑定更新 之前,首先保证h a 和本地路由是可达的。然后开始执行家乡代理初始 化,查看b u l 中是否存在有关h a 的地址,如果m n 不知道h a 的地址, 需要向家乡网络的任播地址发送d 地必d 请求消息进行动态家乡代理发 现【”。如果m n 知道h a 的地址,则从b u l 提取绑定信息地址,然后构 建移动头m h ,发送绑定更新b u ,则用于接收b a 的进程等待接收。注 册成功, 队就可以接收并转发发往m n 的数据。然后从b u l 中提取有 北京变避大学硕士学萤论文 辩三章m l 舳6 拼议骧理 关通信对端的绑定信息,开始返回路由过程。 3 2 6 通信对端注册模块 发送到通信节点的绑定更新保护不需要安全联盟的配置或精在移动 节点稻通菇节赢之闯的一个谈证梳澍。取丽贰之的是一种喇傲返匿路囱 可达的程序,其被用来保证是否是正确的移动节点发送的消息,在不产 生新的安全随繇的情躐下,对移动口v 6 提供足够的支持。用加密的h a s h 算法来保护绑楚更瓤漕怠的完藏性和认诞性。绑定管理密钥l 氆m 被用求 加密h a s h 算法。k b m 是通过使用返回可路由程序中交换的数据来建或 的;数据交换透过镬溺蕊点密键,矗雠c e s ,掰。艇e s ,幻氯e 矗s 窝特定的魏 密算法功能来究成。 邋强薅基冒达逶纛孛,蠢攒蓄先发送家乡灏试拐始涝怠珏。骶翻转交 测试初始化消息c 0 1 f 1 ,这两种数据包中都不能包含家多地址目的选项, 否刘会旋e n 忽略。邋遵接毅 吾0 t 滂惑进程帮谈牧c 吖海怠进程等待接 收c n 回复的消息,h o t 消息中存在一个家乡轴y g c b 标识和家乡n o n c e 索引丽c 0 t 消息中存在一个转交k e y g e n 标识。通过比较测试指向这两个 声称地址的数摆包是否娆够路妇到移动节点寒究成返通路盎过程。 承接家乡注册,m n 从b u l 提取需慕绑定的c n 域址,开始返回路 由可遮演程,这里无论在终地镳黪还是程到家乡链鼹,氧l n 对c 辩夔撵 作是一致的。 发送琢潮醴l 淤惠之蒸,善先翻建e 融, l 蹦潜意毽禽家乡秘 始c o o k i e ,消息源地址为家乡地址,即将m n 的家乡地址告诉对端;c o 姒 满意包含转交裙始c k i e ,源媲址为转交地址,邵将m n 的翻a 告湃 c n 。 舆体流程如图3 所示:接收进程簿待接收h o t c o t 消息,h o t 消 北京燮道大学颡+ 学位论文 第三牵研l p v 6 潞议琢理 息楚响应h o t l 消息的报文,其目的地蛙是m n 酶 l o a ,漓怠掇文中包 括m n 发送给c n 的家乡初始c 0 0 k i e ,家乡k e y g e n 标示和家乡n o n c e 索 引,m n 将上述三个参数通过一定的算法获得家乡密钥标识。c o t 消息 是嫡成c 。玎消息的报文,其爨豹地址是m n 的c o a ,滔息掇文中包含 m n 笈邀绘e n 翁转交初熬晒婊 e ,转交k e y 鏊黜糕;谖察转交矗潍e 索弓l , m n 将上述三个参数通过定的算法获得转交密钥标识。移动节点将这 两个镪钥标识合并在一起形成了对通信对端注册所需要绑定密钥l 渤m 。 接收翻拍娃7 e 0 t 消息,邋湖路由可达过程结求。 图3 返回路由可达流稷闰 撩下来,m n 开始向心4 发送一个可以证实的b u ,其源地址为c o a 。 参数中包含,h o a ,序列母,家乡b o n c e 索弓| 秘专家n o n c e 索萼 ,这样 c n 攘毅舅b 鞋并逶遥弼令n o n c e s 重藏诗募* 国辙,并逶遘k b m 诗黪稳应 的m a e ,c n 一旦证实,就会为m n 馘建一个绑定缓存条髫。并发送 b a ,其中的序列号和对威的b u 的序列号相同。m n 接收到b a ,将该 麓囊交逶大学礤_ 圭学垃论文第三章m l 娟终谈暴莲 c n 的信息添加到m n 的b u l 中,注册成功。如果绑定失败,c n 通过 发送b e 来标示与移动有关的错误,如果c n 绑定缓存中有哭该m n 的 僚息即将过期,则m n 将会收到用于更新改绑定的b r r 消息。 3 2 7 动态家乡代理趣址囊薹鋈譬 棼簟i 旱= 謇曷商:- 王i | 溶 枵浣雨囱美蠢的冀登怂豁,k 黑型誉妒捌臣创 黎簿第鱼雷冀翮制讲协议开发的经验,结合了l p v 6 协议的许多新特性。相 对于移动i p v 4 协议而吉,移动l p v 6 协议有许多显著的改进主要体现在以下几个方面( 如 表所示,其中m d 为移动检测的缩写) ,具体细节将会在下面章节中详 细描述。 c q a 优化路由家乡代理扩展选项移动安全 m d 北京交通大学硕士学位蹬文 第三章m l p v 6 协议原理 信,当移动节点开始移动并检测已经移动到外地链路时,家乡代理将会 接收并处理移动节点的转交地址绑定,并将发往移动节点家乡地址的数 据分组通过隧道转发到绑定地址,如果移动节点不知道家乡代理子网前 缀时,将会发起负责接收动态家乡代理发现请求并做出响应,如果家乡 网络进行重新配置后,可能当前的子网前缀不再有效,这时移动节点会 向家乡代理发送移动前缀请求,申请新的前缀信息,家乡地址的最大值 生存时间源于家乡代理的移动前缀通告。综上所述,家乡代理模块主要 有以下子模块组成:家乡注册模块、家乡解注珊模块、包处理模块、动 态家乡代理发现模块、移动前缀请求模块。后两个模块在前亟m n 模块 中已经作了相应的描述这里不再重复。 3 3 1 重要数据结构设计 家乡代理节点必须维护绑定缓存和家乡代理列表。家乡节点和通信 节点使用相同的机制来维护绑定缓存,这里不再重复。家乡代理列表中 记录的是本地家乡代理所服务链路上所有其他家乡代理的信息,它将用 于动态的家乡代理地址发现机制,当家乡接收到其他节点的设置了h 位 的路由器通告后,则可以把该节点加到家乡代理列表中。因此,家乡代 理列表的维护机制也类似于i p v 6 邻居发现中节点对默认路由器列表的维 护。而且家乡代理应该为它所服务的每一条链路维护一个家乡代理列表。 当某个表项的生存期超时后,其相关内容将会从列表中删除。表项主要 包括以下字段: 1 家乡代理的链路本地地址;本字段的内容和发送设置h 位的合 法路由器通告消息的节点的源地址 2 家乡代理的一个或多个全球i p 地址;该字段来自相应路由器通 告的前缀信息选项。当该前缀过期后,本字段的内容将不再有 北京交通大学硕士学位沧文第三章m i p v 6 协议原理 与地址重复地址检测 s t r u c tm i p v t d a d _ c e i l 严重复地址检测管理所需要的信息t s t r u c tm i p v o d a d _ c e l l + n e x t ;+ 重复地址检测列表中的下一个表 项n e x t + s t r u c tm i p v 6 - d a d _ c e l l 4 p r e v ;+ d a d 列表的前一个表项+ u 1 6p m b e s ;户搜索地址的次数+ _ 1 6f l a 笋; + 实体标示t s t r u c tt i i n e r - l i s tc a l l b a c k - t i m e r ;聿超时+ 严处理n a d 需要的信息+ , s t r u c t 沁t 6 - i 伽d r + i 审; i n t i 丘n d e x : s t m c t i j l 6 一a d d r d a d d r ; s t r u c ti 6 _ a d d r h a d d r ;+ 家乡地址 s 仉i c ti n 6 _ a d d r l l _ h a d d r 謇家乡链路本地地址+ s 自m c ti l l 6 旦d d r c o a ; s 虮i c ti n 6 _ a d d r r e pc o a ; 一u 3 2 b a - l i f e t i i l l e ; _ u 1 6 s e q u e n c e ; 一u 8 b u n a 黔; ) ; 与移动前缀发现相关 s t m c tp h j i s l e n t f y s t n i c ti l l 6 j d d rd a d d r ;幸目的地址+ s t m c ti n 丘_ a d d rs a d d r ;+ 源地址4 i n tr e t r i e s 重传时问 i n t 墒n d e x 扩接口索引+ ) ; 乾索交透夫学琢学位沦窆 第三誊m 尹幅羚没幂理 3 3 2 初始化模块 该版本下的移勰脚6 的实现是以内梭模块的形式,这程前露章节已 经箨了鞠关奔缨。内孩最摇配置文箨戆缡写寒谖巍莛疆类穗麓节点。 一_ 龋嚣誓嚣 町蛤化 il 躁向隧谨i 拜婚裹 霞理l 懿雉靶 为设计到的数撂 结构分配空问 初始化绋定疆存 涿幻硎赊操作 辩璃藏获美挂注嚣 苇点辨羲攮擞 埙救邻居通告捡涮 图3 8 姒模块初始化流程 加载模块后,开始进行模块初始化,爨体流程见图3 。8 所示,首先 霞要显示该软l 孛蜜壤豹薮本号,蒡去读取镶瘦匏配置文箨,鼓孛了艇至g 肩动的是h a 节点,接着根据配置文件务选项字段的编写,旃动接收动 态家乡代理发现请求和发送响应消息的i c m p 套接字和移动前缀发现消 息请求接收的套接字以及参数检索套接字。接着将启动的进糨加入到系 统控制捌表中,戳系绫遴程酶形式在操律系统熬内核空海运桴。宠成上 述奶始笾,开始镪始健双囱隧道,善免 鼗鬻知搿秘珏a 之溺w 骏建立静 最大隧道数和最小飚道数,并将这些隧道启动,然后启动通过隧道到达 m n 的路由添加进程和路由删除进程,主鼹添加的信息有路由目的地址、 熄址长度、消息类型、消息标示、接口索g l 等信息。 冒圃 北京交通大学硕士学位论文 第三章m 蹦协议原理 完成模块初始化,下面开始进行h a 初始化。首先检测h a 的相关 进程是否添加到相应的系统控制注册表中,然后为h a 运行中需要的重 要的数据结构和重要函数分配空间,并检测空间的大小,其中重要的函 数有h a 中绑定缓存条项的添加删除,中转代理的创建和删除。在m n 和其他没有进行路由优化的通信节点通信时,h a 作为一个中间代理截 获发往m n 节点的数据报文实现通信数据的封装和解封装。所以这里也 需要启动网络过滤来截获发往相应m n 家乡地址的数据报文,并获取其 状态进行相关统计。下面开始启动i c m p 消息报文的发送接收,如路由 通告、路由确认、邻居通告、邻居确认。启动数据中转进程和接收到b u 后的地址重复检测进程的初始化,下面就初始化绑定缓存和家乡地址列 表中需要的存储数据结构h a s h 表进行初始化。h 嬲h 表的初始化主要是分 配空间,设置h a s l i 表项的定时器,创建h a s h 列表并启动h a s h 表查询进 程和添加删除各实体的信息处理进程。h a s h 表的查询主要是通过家乡地 址关键字和h a s h k e y 的匹配比较来完成的。这样初始化工作就完成了, 所有进程处于等待接收b u ,动态家乡代理发现和前缀请求信息的状态。 3 3 3 家乡注册模块 移动节点移动到外地获得新的转交地址,接着开始发起家乡注册, 即发送b u 消息,h a 接收到注册本转交地址的绑定更新时,首先进行下 列检测如图3 9 所示。首先,该节点必须要具有家乡代理功能,否则必 须拒绝该绑定。然后,如果家乡代理查阅前缀列表后发现绑定更新中的 家乡地址不是一个“链路在线( o n 。l i n k ) ”状态的地址,则它必须拒绝 该绑定更新,并给移动节点回复一个状态字段为1 3 3 的绑定更新,这表 示该节点的家乡地址并不是该网络。如果绑定更新中设置了重复地址检 测位( d ) ,消息必须包含家乡地址选项,则家乡代理必须在家乡链路 北京交通太学硕j _ 学位论文 第三章m l p v 6 协议原理 e 进行重复地址检测,在回复绑定确认时检测家乡链路上是否存在与绑 定的家乡地址重复的链路本地地址。 图3 9 家乡注册流程图 经过上述的检验的绑定更新,家乡代理会根据其内容为移动节点创 建或更新绑定缓存表项,并将其标记为“家乡注册”,在生存时间没有 到期的表项不能进行替换更新。 关于创建还是更新,首先查看绑定缓存h a s h 表,如果从中找到了存 在的绑定实体并且该绑定更新实体的序列号比接收的b u 中的序列号小, 寞塞一 北京交通大学硕士学位论文 第三章m l p v 6 哳议原理 定缓存中,则返回目的地址对应的转交地址,并把转交地址添加到路由 头中,以家乡代理地址信息作为源地址,以转交地址作为封装数据包的 目的地址,然后继续正常发送;如果没有找到对应的缓存表项,则继续 正常发送。 图3 1 1 隧道封装流程图 如果数据包的类型是i c m p 包,则在本地处理,不做转发处理。如 果目的地址类型是局部链路或站点局部地址,或者其隧道标识位未设置, 则返回。 3 4c n 模块功能描述 移动6 中出现了通信对端的概念,任何合移动节点通信并能够接 4 8 能泉交通大学碗卜学位论文 第三章m l p v 6 协议原理 渡缀定豹主瓣亵路壶嚣郄是遥铸蹲端,当移动节点接收裂蠢家乡找理转 发的分组的源地址在本地绑定聪新列表中没有匹配的记录时,将会主动 发起返匿路幽可达过程,用于捻测通信对端通过家乡代理和鬓避的可达 性以及建立绑定的安全性,并需要仓4 建绑定管理密锎,如果这j 遣程成功, 移动节点开始向通信对端发送绑定更新消息建立绑定以避免三角路由提 商遴信效率。综上所述,该模块羹要隘下几个小模凌缀成:初始纯模块、 邋回路由可达模块、通信对端漶册模块。 3 4 1 重要数据结构设计 鑫遥谂对翡维护势包含箕德节点藩惠豹数蠢绩鹣,就是绑定缓存。 发送数据分组时,通信对端首先根据分组的目的地址搜索绑定缓存,然 纛,再搜索邻藩发褒是义熬嚣豹缓毒。 每一个绑定缓存存在以下液项字段: l 。移动节点豹絮乡遗址:该字段是捻索绑定缓存鲍关键字,鲡聚 枪索到匹配的表项,那么,应该使用此表项中的信息进行发送。 2 移动节点的转交地址:该字段将用作满足上述匹配的代发送数 据分组弱西瀚地缝。 3 生存期:该字段知识缓存表项的剩余生存期。该字段数值源于 修泼本表顼静绑定更新清怠; 4 指示是否为“家乡注册”的标志饺。 修改缀定缓存表壤应该瀵足一下囊定。簸。京缀定缓存浚矮貔生 存期超出之前。节点熙会在收到绑定更新消息时修改它,但是通过合理 豹本地替换策略,节点可以骜换掉标记秀“家乡注憩”豹表项。如果一 个表项的存在时间已经超过了创建或更新它的表项的生存周期,那么节 点必须删除它。 北京交通大学硕士学位论文 第三章m l p v 6 协议原理 与返回路由可达相关数据结构 s t m c tm i p v 6 l n 二i i l f o pr ri n f 0 珊a t i o n4 u 1 6r rs t a t e :p r r 的状态+ , u 1 6t r f l a g s ; ,丰r r 的标示4 u 8h o l o k i e 【m i p v 6 _ c o

温馨提示

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

评论

0/150

提交评论