(信号与信息处理专业论文)移动ipv6通信机制的研究和实现.pdf_第1页
(信号与信息处理专业论文)移动ipv6通信机制的研究和实现.pdf_第2页
(信号与信息处理专业论文)移动ipv6通信机制的研究和实现.pdf_第3页
(信号与信息处理专业论文)移动ipv6通信机制的研究和实现.pdf_第4页
(信号与信息处理专业论文)移动ipv6通信机制的研究和实现.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(信号与信息处理专业论文)移动ipv6通信机制的研究和实现.pdf.pdf 免费下载

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

文档简介

摘要 移动i p 是一种在网络层提供移动性支持的技术,它是传统i p 技术的扩展。 同正常的犯路由机制比较而富,移动i p 路由机制带采了许多额外开销( 如隧道 开销、三角路啦开销和分片开镪) 和切换时延,从而大大降低网络的器吐性熊。 新出现的移动i p v 6 协议对于切换过程中数据传输过程中的延迟问题依然没有找 至l 卡分骞效懿惩决方法。 本论文首先介绍了移动i p v 6 的基本概念和切换问题,其中切换问题是移动 i p 孛簸基本懿海遂。影翡凌换髅戆熬三令因豢有:移动检溅辩延、鬟额注瑟辩 延、切换引起的丢包与上层协议的相互作用。本论文提如了分别在链路层、网络 层或应用层改薷移动i p v 6 切换性能静方案,弗对大部分方案徽了实验验涯。 其次,本论文深入研究了移动i p v 6 鲍通僚机制,对通信j 窭程中的各个阶段 进行了详尽的分析,并在l i n u x 系统上逐步实现了完熬的通信过程。这部分的主 要工佟包括配爨2 6 0 0 鼹圭器、编写移动圭枕程序、家乡代理疆彦、f t p 服务器 u 和客户端程序,从而构成了第一部分工作的实骏平台。 关键词移动i p v 6 ,家乡代理,切换。绑定熙新,f t p 传输,t c p 连接 a b s t r a c t m o b i l ei pi sa l le x t e n s i o no ft r a d i t i o n a li pt h a tc o i lp r o v i d em o b i l i t y s u p p o r t a tt h en e t w o r k l a y e r b u tb yc o m p a r i s o n b e t w e e nt h em e c h a n i a s m o fm o b i l ei pa n dt h a to fi p , t h em o b i l ei pb r i n g sal o to fe x t r ao v e r h e a d a n dt h eh a n d o f f d e l a y , w h i c hc a nd e g r a d et h et h r o u g h p u to f t h en e t w o r k t h en e w l ym o b i l ei p v 6p r o t o c o l sd on o tp r o v i d eag o o dr e s o l u t i o nf o r t h a tp r o b l e m t h i sd i s s e r t a t i o nm a i n l yc o n c e m sa b o u ts e v e r a lk e y p o i n t s o f i t t h i sd i s s e r t a t i o nf i r s t l yi n t r o d u c e st h eb a s i cc o n c e p t so fm o b i l ei p v 6 a n dt h ep r o b l e mo fm o b i l ei p v 6h a n d o f f , w h i c h :i st h em o s te s s e n t i a l i s s u ei nm o b i l ei p t h e r ea r et h r e em a i nf a c t o r st h a ta f f e c tt h eh a n d o f f p e r f o r m a n c eo fm o b i l ei p :i e ,m o t i o n d e t e c t i o nd e l a y , r e - r e g i s t r a t i o n d e l a y , a n dt h ea d v e r s ei n t e r a c t i o nb e t w e e n t h ep a c k e tl o s sa n dt h eu p p e r l a y e rp r o t o c o l s f r o m t h e s et h r e e a s p e c t s ,s e v e r n n e ws c h e m e sa t d i f f e r e n t l a y e r s ( i e 1 i n k n e t w o r k a p p l i c a t i o nl a y e r s ) t oi m p r o v e t h e h a n d o f f p e r f o r m a n c e a r e p r o p o s e d a n dv e r i f i e d s e c o n d l y , t h i sd i s s e r t a t i o nr e s e a r c h e s t h em e c h a n i s mo fm o b i l ei p v 6 d e e p l ya n da n a l y z e sa l lt h ep h a s e so f c o m m u n i c a t i o ni nd e t a i l b a s e do n t h e s ew o r k ,ir e a l i z et h ew h o l ec o m m u n i c a t i o np r o c e d u r es t e pb ys t e p t h em a i nw o r ko f t h i st h e s i si nt h ef i e l di n c l u d ec o n f i g u r i n gc i s c 0 2 6 0 0 、 p r o g r a m m i n gt h em hp r o g r a m ,t h eh ap r o g r a ma n dt h ep r o g r a m so f f t ps e r v e ra n dc l i e n t a l lo ft h a tc o n s t r u c t st h ee x p e r i m e n tp l a t f o r mf o r t h ef i r s tp a r t k e yw o r d sm o b i l ei p v 6 ,h o m ea g e n t ,b i n d i n gu p d a t e ,f t p t r a n s m i s s i o n ,t c pc o n n e c t i o n 北京邮电大学硕士论文 第一章绪论 1 1 研究背景 第一章绪论 因特网的发明对人类的影响非常深远,已经渗透到人们日常生活的方方面 面。它使人类从后工业时代开始向信息时代迈进,深刻地改变了人类的生产和 生活方式。对很多人而言,难以想象离开了互联网将如何生存。 随着因特网和移动通信的飞速发展以及人类工作和生活节奏的加快,人们 已经不再仅满足于从固定主机接入互联网,越来越渴望能够实现“随时随地” 地接入互联网,移动互联网便应运而生。自二十世纪九十年代初开始,陆续出 现了几种对传统i p 协议进行扩展的移动解决方案,具体如下: 第一个移动主机协议称作m o b i l ei p ,由哥伦比亚大学的j o h ni o a n n i d i s 设计。它使用了虚拟移动子网和i p i p ( i pi ni p ) ,打包。与此同时,s o n y 公 司的f u m i ot e r q o k a 设计了另一种移动主机协议一虚拟i p ( v i p ) 。v i p 协议使 用了特殊的路由器来记忆移动主枧的位置,并定义了新的i p 头选项来传递数 据。随后,i b m 的c p e r k i n g 和y r e c k t e r 也设计了一种移动主机协议,这 种协议利用现有i p 协议中的可选功能一松散源选径( l o o s es o u r c er o u t i n g ) 来支持主机的移动。 1 9 9 4 年a m y l e s 和c p e r k i n g 分析了前三种移动主机协议的优缺点,重 新设计了一种协议:m i p ,并将它提交给i e t f 。m i p 后来发展成了m o b i l e i p 协 议。同年,卡耐基梅隆大学( c m u ) 的d b j o h n s o n 设计了e 4 r p 协议。它 与松散源选径类似,不同之处是松散源选径是利用i p 头的选项,而m h r p 重新 定义了一种打包协议来代替松散源选径。不管是m h r p 还是m i p 在安全性上都 存在严重的问题。因此,a 田l e s ,c p e r k i n n 和d b j o h n s o n 共同制定了 i m h p 。i m h p 引入了一种新的安全机制并提出了简单认证的概念,后来这一概念 被i p v 6 所借鉴。 其中较完善、较优化的是a m y l e s 和c p e r k i n s 设计的移动i p 方案,该方 案后来发展成了移动i p ( m o b i l ei p ) 协议,并形成了系列r f c 建议标准。 然而这些基于i p v 4 协议的移动i p 协议并未充分考虑到用户的移动性、无 线通信链路的物理限制等因素。同正常的i p 路由机制比较,移动i p 路由机制 北京邮电大学硕士论文第一章绪论 带来了许多额外开销( 如隧道开销、三角路由开销和分片开销) ,以及切换延迟 问题,它们在一起将大大降低网络的吞吐性能。 新加坡国立大学的9 0 0 等人为此做实验进行测试。网络拓扑为由l 台路由 器连接2 个网段,其中1 个网段为移动主机的归属网段,另1 个为外地网段。 测试结果如下:当移动主机从归属网段移动到外地网段以后,m o b i l ei p 路由 机制带来的总开销为正常路由机制的9 0 ,也就是说外地移动主机下载同一个 文件所用的时间将是本地移动主机在相同情况下的1 9 倍。其中隧道开销占6 6 ,分片开销占6 3 ,三角路由开销占7 6 5 。当然以上实验是在特定情况下 的测试结果。不同的网络拓扑或多或少会有些改变,但可以肯定,三角路由开 销是占很大比例的。另外i p v 4 的兼容性、保密性及切换延迟都是需要解决的问 题。 i p v 6 协议出现后,基于它的移动i p v 6 协议解决了移动i p v 4 中的大部分问 题,但是对于切换时延以及切换后数据传输的延迟都没有较好的解决办法。为 此我在充分研究移动i p 原理的基础上,利用实验室的环境仿真移动i p v 6 通信, 通过理论分析和实验的结果提出一些改进办法。 1 2 论文的主要工作和论文结构的安排 1 2 1 本论文的主要工作 本论文从m o b i l ei p 技术产生和发展的角度出发,对m o b i l ei p v 6 中的一 些关键问题进行了深入研究和探讨,主要的工作包括以下几点: ( 1 ) 介绍了m o b i l ei p v 4 和m o b i l ei p v 6 的基本概念和总体发展情况, 并对两者进行了细致的比较。总结了几种现有的m o b i l ei p 的切换 方法,分别提出了在网络层和传输层对m o b i l ei p 切换性能加以改 进的切换方案。 ( 2 ) 对于m o b i l ei p v 6 的通信机制及所涉及到的消息结构进行了详细的 说明,并根据实验对某些消息的结构进行的改动。 ( 3 ) 通过编程实现了一个简单的移动i p v 6 的通信过程,详细地说明了各 个流程图、功能模块的实现方法。从而可以灵活的调整各个协议层 北京邮电大学硕士论文 第一章绪论 ( 4 ) ( 5 ) 的参数,摆脱了一些仿真软件中无法调整应用层或传输层参数的问 题。 基于( 2 ) 中的仿真平台,仿真实现不同情况下的移动i p v 6 的切换 过程,模拟( 1 ) 中提出的几种切换中提出的几种切换方案并作比较。 研究了无线链路上的t c p 性能问题,提出了快启动和减少超时重传 的方法,并在仿真平台上验证。 1 2 2 本论文的结构安排 第一章续论介绍了研究背景及本论文的主要工作。 第二章首先介绍了i p v 6 协议的基本概念以及它与i p v 4 协议的差异;接着 进步介绍了移动i p v 6 的基本工作原理,并与移动i p v 4 做了比较;介绍了国 际上移动i p v 6 的发展动态。 第三章对移动i p v 6 的基本性能进行了测试,着重分析了影响时延性能的几 个主要方面。首先介绍了移动i p v 6 中的切换问题,分析了影响其切换性能的各 个阶段的特点,介绍了已有的几种改进切换性能的方案;然后提出了分别在链 路层、网络层和传输层改进移动i p v 6 切换性能的几种方案;最后又介绍了无线 链路上的t c p 性能问题,剖析了移动i p v 6 中小区切换时f t p 传输所涉及到的 t c p 连接的传输机制,提出了快启动方案和减少超时重传次数的方案,并通过 实验验证。 第四章详细介绍了移动i p v 6 实验系统的设计与实现。首先对l i n u x 系统中 的一些细节进行了细致的说明,如内核编译、原始套接字等:然后分析了移动 i p v 6 的基本工作过程和相应的消息结构。 第五章对我所做的工作进行了全面总结,并提出该项目的下一步研究方向。 北京邮电大学硕士论文 第= 章移动i p v 6 掷议 第二章移动l p v 6 协议 2 1fp v 4 与i p v 6 的比较 2 11ip v 4 现存问题 现行的i p v 4 自1 9 8 1 年r f c7 9 1 标准发布以来并没有多大的改变。事实证 明,i p v 4 具有相当强盛的生命力,易于实现且互操作性良好,经受住了从早期 小规模互联网络扩展到如今全球范围i n t e r n e t 应用的考验。所有这一切都应归 功于i p v 4 最初的优良设计。但是,还是有些情况是设计之初未曾预料到的: 近年来i n t e r n e t 呈指数级的飞速发展,导致i p v 4 地址空间几近耗竭。 i p 地址变得越来越珍稀。地址转换技术虽然在一定程度上缓解了公共 i p 地址匮乏的压力,但它不支持某些网络层安全协议以及难免在地址 映射中出现种种错误,这又造成了一些新的问题。随着连网设备的急 剧增加,i p v 4 公共地址总有一天会完全耗尽。 地址配置趋向于要求更简单化。目前绝大多数i p v 4 地址配置需要手工 操作或使用d h c p ( 动态宿主机配置协议) 地址配置协议完成。随着越 来越多的计算机和相关设备使用i p 地址,必然要求提高地址配置的自 动化程度,使之更简单化,且其他配置设置能不依赖于d h c p 协议的管 理。 i p 层安全需求的增长。在i n t e r n e t 这样的公共媒体上进行专用数据通 信般都要求加密服务,以此保证数据在传输过程中不会泄露或遭窃 取。虽然目前有i p 安全协议可以提供对i p v 4 数据包的安全保护,但 该协议只是个可选标准,企业使用各自私有安全解决方案的情况还相 当普遍。 更好的实时q o s 支持的需求。i p v 4 的o o s 标准,在实时传输支持上依 赖于i p v 4 的服务类型字段( t o s ) 和使用u d p 或t c p 端口进行身份认 证。但i p v 4 的t o s 字段功能有限,而同时可能造成实时传输超时的因 素又太多。此外,如果i p v 4 数据包加密的话,就无法使用t c p u d p 端 口进行身份认证。 4 哀趣龟麦学硕士论文 霉二辩咎动 p 蝣祷莰 为了解决上述l 、嗣题,i n t e r n e t 工程 壬务缝( i e t f ) 开发了i p v 6 。这一濒舨 本,也曾被称为下代i p ,综合了多个对i p v 4 进行升级的提案。 2 1 2 l p v 6 特性 新报头格式及可扩髓性 ! p v 6 擐头将一些嚣关键性字段窝霹逸字段秽出掇头,矍予i p v 6 投头之 后的扩腱报头中,因此尽管i p v 6 地址七乏度是i p v 4 的四倍,但报头仅为i p v 4 斡嚣穰。羡避鼷懿i p v 6 擐头迩审转爨囱器率懿瑾效率爨毒。i p v 6 镬鲻扩 展报头代替可避字段。扩展报头是基于这样一个原理:大多数信息包只需 麓单懿赴理,i p v 6 报头翡基本字段藏够了。奁鼹络层鬻要羲外倍惠瓣僖惠 包可以恕这些信息编码到扩展报头,该撒头可以位于i p v 6 报头和上层报头 之间。i p v 6 的扩震报头包括逐个路程羧( h o pb yh o p ) 选项、踌由( 灏鳘 o ) 选磺、分段选项、鼹的选颈、:龛参验证和安全有效数据封装选项。 i p v 6 特性其有很强的可扩展性,新特性可阱添加在i p v 6 包头之后的扩 震包头串。不象i p v 4 簸多凳畿支持翁字节熬懿霹选项。 更大的地址空间及断的地址类型 i p v 6 遮蛙长度鸯1 2 8 蕴( 1 6 字节) ,赣毒27 1 2 8 - i ( 3 。4 e + 3 8 ) 个遗疑, 这一地址空间憋i p v 4 地址空间的i e 2 8 倍( 或以目前惫球总人数而言,人 均冒分配1 8 i 0 1 9 个i p v 6 地蛙) 。i p v 6 巢角分缀遗薤模式,支持扶 i n t e r n e t 核心主于阚剿企业内部子网譬多级予嘲地址分配方式。在i p v 6 的庞大地址空间中,醋前全球连阿设备己分配掉的地蠊仅占其中极小部 分,煮足够翦余塞可供寒寒熬发曩之翅,她缝转抉技术撂不露鬣要。i p v 4 中网络掩码的概念被网络前缀的概念所取代,前缀表明用多少位来标识子 鼹。 i p v 6 又引入了新的地址类型,包括单播、缄播和任意点选播,广播只 是蕴播靛一个将铹。蒸中主要酶萃撂避楚类型魏下: 链黠一本地地址 s a r e c v ,& l e n ) 用于 接收符合套接字要求的报文,r e c v b u f 指用于从s o c k e t 的缓冲区接收报文并进 北京邮电大学硕士论文第四章移动i p v 6 实验平台的实现 行报文重组形成完整报文的缓冲区。r e c v f r o m 中的最后两个参数指明了发送端 的套接字地址结构( 包含地址族、地址、端口号等) 及其大小。该语句如果接 收到了符合s o c k e t ( a f _ i n e t 6 ,s o c kr a w ,i p p r o t oi c m p v 6 ) 要求的报文就会转到下面 的报文处理程序,下面是报文处理流程。 4 4 6 2 宣告信息结构及处理流程 s t r u c t i c m p 6 一h d r * i c m p 6 语句建立指向i c m p v 6 报头结构的指针。 s t r u c tn d _ r o u t e r a d v e r t i n f o 语句建立路由器宣告消息的结构。该报文 的具体结构如下: s t r u c tn dr o u t e ra d v e r ti n f o s t r u c tn dr o u t e ra d v e r tn dr o u t e ra d v e r t1 : s t r u c tn do p th d rn do p th d r i : * i n f 0 1 : 该结构由2 个部分组成,一部分指明i c m p v 6 消息类型一路由器宣告消息 另一部分是具体的路由器宣告信息。其内部格式如表4 一l : 表4 - i 路由器宣告报文结构 0l234567012345670i2345670i234567 类型= 1 3 4代码= o校验和 当前路程段限制设置及保留字段路由器生存期 可达时间 重传计数器 选项类型选项长度 该消息的类型为1 3 4 ,代码为o 。8 位当前路程段限制确定哪些节点接收该 宣告消息,并且在信息包传送过程中用作i p v 6 报头的路程段限制字段默认值。 在8 位设置及保留字段中,有3 位可以进行设置,其余5 位为保留字段。1 位m 字段在设置后表明主机进行有状态地址自动配置,在本程序中它为0 。1 位0 字 段在设置后表明主机利用有状态协议进行其他信息的配置( 不包含地址) ,在本 程序中它为0 。1 位h 字段在设置后表明发出这个宣告的路由器是本网段的h o m e a g e n t ( 家乡代理) ,1 6 位的路由器生存期字段包含1 个时间段,接收到此信息 的节点将其视为默认路由器的生存时间。3 2 位可到达时间字段包含在接收到可 到达的确认后,1 个节点假定邻居是可到达的时间,此参数用于邻居不可达的 检测算法中。3 2 位重传计数器字段包含重传邻居请求信息之间的时间间隔,用 4 3 北京邮电大学硕士论文 第四章移动i p v 6 实验平台的实现 于地址解析和邻居检测算法中。 在8 位选项类型字段中有7 种情况,该值为1 表明后续选项信息中包含的 是发包的源节点的链路层地址,程序中遇到这种情况后将指向源节点链路层地 址结构的指针再指向选项信息( 选项类型、选项长度) 所在的缓冲区。源节点 链路层地址结构如表4 2 : 表4 - 2 源节点链路层地址结构 34567o l234567ol234567 根据该结构的内容安排我们很容易读出源节点( 路由器) 的链路层地址。 路由器宣告信息中在源节点链路层地址之后将是地址前缀信息,地址前缀的具 体结构如表4 3 : 表4 - 3 前缀地址结构 oi234567o1234567ol234567ol234567 选项类型选项长度前缀长度标志及保留字段 前缀的有效生存时间 前缀的首选生存时间 保留字段 a d d r o 】a d d r 1 】a d d r 2 】a d d r 3 】 a d d r 4 】a d d r 5 】a d d r 6 】a d d r 7 】 a d d r 8 】a d d r 9 a d d r 1 0 】a d d r 11 】 a d d r 1 2 】a d d r 1 3 】a d d r 1 4 】a d d r 15 】 其中前缀选项的类型为3 ,在8 位标志和保留字段中,1 位l 字段( 在线标 志) 在设置后表示属于此前缀的所有地址都在线。1 位a 字段( 地址自动配置标 志) 在设置后表示此前缀可以用于地址自动配置。6 位保留字段初始化为0 。3 2 位有效生存时间是指由前缀通过无状态自动配置产生的地址保持有效的时间。 3 2 位首选生存时间是指前缀通过无状态自动配置产生的地址保持首选的时间。 3 2 位保留字段不用。剩下的1 2 8 位地址就是我们所寻找的前缀地址。 程序中先将i c m p v 6 报头指针指向接收缓冲区,利用i c m p v 6 信息包的类型 判断收到的i c m p v 6 报文是否为路由器宣告报文。如果不是,返回接收程序继续 接收报文;如果是,则将路由器宣告报文的指针指向接收缓冲区。具体流程如 图4 6 : 北京邮电大学硕士论文第四章移动i p v 6 实验平台的实现 是 将指向宣告信息结构的 指针指向接收缓冲区 i 保存路由器的源链路地 址及宣告的前缀信息 将接收标志置位并返回 图4 - 6 处理i c m p v 6 报文流程图 4 5 在l in u x 系统上开发洲程序 4 5 1 程序流程图 其实地址自动配置程序就是删、h a 程序中的一部分。在这部分我会着重介 绍删程序中路由器请求信息包的发送、绑定更新信息包的发送以及绑定确认信 息包的接收等。具体的程序流程如图4 7 : 4 5 北京邮电大学硕士论文第四章移动i p v 6 实验平台的实现 是 图4 - 7 m h 流程图 图中程序由两个分支,在分支1 中切换后数据报的继续传输由h a 承担;分 北京邮电大学硕士论文 第四章移动i p v 6 实验平台的实现 支2 中切换后数据报的继续传输由移动主机和f t p 服务器直接承担。这些在前 一章中已做详细说明。 4 5 2 路由器请求信息包的发送 m h 开机后,如果它有一段( 大于1 秒,路由器宣告的时间间隔) 时间未 改变网段,那么它肯定会收到路由器宣告信息,考虑到m h 的位置不定性,我 选择m h 一开机就立即发出路由器请求信息,具体流程如图4 8 : i 构造请求信息包结构并i 刨建指针 l l 初始化指向i p v 6 地址结l l 构的指针并填写目的地f l 地址参数 | r p 瑚7 箩原始套接l i l 设置i p v 6 报头中的路程i l 段限制字段为2 5 5 l i 将指向请求信息包的指l l 针指向发送缓冲区并填l l 写请求信息包的内容l i l 发送请求信息包 l 图4 8 发送路由器请求信息包流程图 4 5 2 1 路由器请求信息包结构 路由器请求信息包的结构如表4 - 4 表4 - 4 路由器请求信息包的结构 oi234567o l234567ol234567o 1234567 i 类型= 1 3 3代码卸校验和 l选项类型选项长度m a c 0 l m a c 1 北京邮电大学硕士论文 第网章移动i p v 6 实验平台的实现 l坚竺堡!i 竺竺! 型l竺竺翌!l竺竺 兰l 其中类型为1 3 3 ,代码为0 ,选项类型为1 ,表示后续内容是发出此信息包 的源节点的链路地址。但是作为信息包的发送方,仅仅构造信息包的具体内容 是不够的,还需要构造i p v 6 的报头。除了在报头中指明源、目的i p v 6 地址外, 还需要自己设置其路程段限制字段为2 5 5 ,此设置是防止黑客入侵的保护形式, 因为路由器只在证实了该值为2 5 5 之后才会完全该信息包,否则将拒绝此信息 包。 利用s e t s o c k o p t ( s o c k f d ,i p p r o t o _ i p v 6 ,i p v 6 _ m u l t i c a s th o p s ,& t t l ,s i z e o f ( t t l ) ) 语句将路程段限制字段设置为2 5 5 ( t t i = 2 5 5 ) 。这就涉及到i p v 6 的报头结构。 45 2 2i p v 6 的报头结构 i p v 6 的报头结构如表4 - 5 表4 - 5i p v 6 报头结构 0 i2345670 】2345670 12345670 l234567 版本优先级流标签 有效数据长度 l 下一个报头 l 路程段限制 源地址 源地址 源地址 源地址 目的地址 目的地址 目的地址 目的地址 其中版本字段为6 ,4 位的优先级字段有1 6 个值,0 到7 为一组,8 到1 5 为一组。优先权0 到7 用来指定通信量的优先权,信息包发送方用此来进行通 信量控制。优先权8 到1 5 用来指定那些遇到拥塞时不会后退的通信量优先权。 发送方用2 4 位的流标签标识一系列属于同一个流的信息包。一个流可以唯 一标识为发送方地址和非零的流标签的组合。处理属于给定流的信息包的方法, 可以由信息包自己提供的信息来指定,或者由一个控制协议传输过来的信息指 定,如r s v p 协议。分配给流的流标签是一个随机的数值,由发送节点在l 到 f f f f f f ( 1 6 进制) 之间随机选择。所有属于同一个流的信息包在发送时必须具有 相同的发送方地址、目标地址、优先权和流标签。 北京邮电大学硕士论文 第四章移动i p v 6 实验平台的实现 1 6 位的有效数据长度字段包含有效数据长度,即i p v 6 报头之后的数据字 段的长度,八进制表示。最大有效数据长度为6 4 k 。 8 位的下一个字段说明在i p v 6 报头之后的报头的类型,最常见的下一个报 头是t c p ( 6 ) 、u d p ( 1 7 ) 和i c m p ( 5 8 ) 。 8 位的路程段限制字段的功能就是找出并且忽略那些由于错误的路由信息 而循环的信息包。 按照规则构造完i p v 6 报头和填写完路由器请求信息之后,利用语句 s e n d t o ( s o c k f d ,s e n d b u f ,l e n ,0 ,( s t r u c ts o c k a d d r $ ) & a d d r ,s i z e o f ( a d d r ) ) 将 信息包发送出去。s e n d t o 语句与前面所讲的r e c v f r o m 语句相对应,其中s e n d b u f 指发送方的缓冲区,最后的两个参数是指目的地地址参数。 4 5 3 切换判断 在处理完宣告信息包之后,主机将现在的地址与原来的地址做比较,如果 相同,说明没有跨越网段,继续执行原来的任务;如果不同,说明已经跨越了 网段,此时应立即向h a 或f t p 服务器发送绑定更新信息。 在本实验中m h 如何发现自己已经移动了网段,即如何检测位置移动,目 前采用了三种方法: ( 1 ) m h 未执行高层应用,m h 接收定期的路由器宣告信息的广播。 ( 2 ) m h 处于文件传输过程中,用信号量定期产生软中断迫使m h 定期 ( 小于1 秒) 发送路由器请求并接收路由器宣告。 ( 3 ) m h 处于文件传输过程中,若出现传输中断或较长时间未收到数据 流,也要产生软中断迫使m h 立即发送路由器请求并接收路由器宣 告。 实验表明,在文件传输过程中,第二种方法能够更旱地检测到切换的发生。 4 5 4 发送绑定更新信息包 45 4 1 绑定更新信息发送策略 m h 利用目的地址可选项( d e s t i n a t i o no p t i o n s ) 来通知其他节点它的c o a ( 转 4 9 北京邮电大学硕士论文 第四章移动i p v 6 实验平台的实现 交地址) ,这个过程称作布告( n o t i f i c a t i o n ) 。有两种情况: ( 1 )若m h 只是改变位置,并未运行高层应用,则为漫游,将其转交地 址发给h a 即可。此后如果m h 发起高层应用,则m h 利用其转交 地址直接与通信伙伴联系:如有其它通信伙伴发起的应用,则通信 伙伴先与h a 联系,得到m h 的转交地址,再与m h 建立联系。 但)若m h 在改变位置前已经运行高层应用( 如文件传输) ,则m h 需 要将转交地址发送给家乡代理或通信伙伴。此时同移动i p v 4 一样, 由家乡代理伪装为m h 接收通信伙伴发来的数据包,进行隧道封装 后转发给外地链路上的m h ,这对应与流程图中的分支( 1 ) 。但是 在本实验中我采取了另一种方法,就是在流程图中的分支( 2 ) ,m h 直接发送绑定更新到通信伙伴,通信伙伴利用转交地址将数据包直 接路由给移动节点,而无需将数据包选路由到移动节点的家乡代理 那里。 移动i p v 6 布告过程包括在m h 和h a 或c n 间交换绑定更新( b i n d i n g u p d a t e ) 、绑定应答( b i n d i n ga c k n o w l e d g e m e n t ) 和绑定请求( b i n d i n gr e q u e s t ) 等信息。这些消息都被放在目的地可选报头( d e s t i n a t i o no p t i o n sh e a d e r ) ( i p v 6 的一个扩展报头) 中,表明这些消息都只被最终目的节点检查。 4 5 4 2 绑定更新信息结构 绑定更新可选项可以放在一个单独的i p v 6 包( 即包中不再包含其他用户数 据) 中,也可以放在一个现有的i p v 6 包( 即包中还有其他用户数据) 中。绑定 更新的最小长度为1 1 2 字节,大约比移动i p v 4 注册请求消息大5 0 ( 包括 u d p i p 报头) 。 和i p v 4 注册消息一样,绑定更新要求进行认证。移动i p v 6 采用i p 认证报 头 r f c l 8 2 6 来传送认证数据。移动节点报告它的转交地址时必须有安全的方 法( 即采用有力的认证机机制) ,以防止拒绝服务攻击。由于本实验都在内部网 络中进行,故未采用认证报头。绑定更新的结构如表4 6 : 表4 - 6 绑定更新结构 0123456 70i23456701234567 0l234567 l 下一个报头 i 报头长度 i 选项类型 i 选项长度 l 5 0 北京邮电大学硕士论文第四章移动i p v 6 实验平台的实现 设置及保留字段保留字段生存时间 序号 本地地址【0 】本地地址【1 】 本地地址【2 本地地址【3 】本地地址【4 】本地地址【5 】 本地地址【6 】本地地址【7 】本地地址【8 】本地地址【9 】 本地地址 1 0 】本地地址【l1 】 本地地址【1 2 】本地地址【1 3 】 本地地址 1 4 】本地地址 z 5 】转交地址【o 】 转交地址【1 】 转交地址【2 】转交地址 3 】 转交地址【4 】转交地址 5 转交地址【6 】转交地址川转交地址【8 】转交地址【9 】 转交地址 1 0 】转交地址【11 】转交地址【1 2 】转交地址 1 3 】 转交地址 1 4 】转交地址【1 5 】 下一个报头为5 9 ,报头长度字段包含其后的选项长度,但是每一位表示8 个字节。选项类型为1 9 2 ,选项长度为3 8 。在设置和保留字段中,1 位a 字段 由源节点设置,要求接收绑定更新选项的节点发送一个绑定确认信息。l 位h 字段也由源节点设置,要求接收绑定更新选项的节点做为其主代理。1 位c 字 段由源节点设置,指明在绑定更新中当前的转发地址。1 位l 字段指明在绑定 更新选项中当前的内部链路主地址。1 6 位生存时间字段包括绑定信息以秒计算 的有效期限,即在绑定缓存内,多长时间内可以认为此绑定信息是有效的。1 6 位序号字段设置绑定更新信息和绑定确认信息之间的对应关系。后面分别是1 2 8 位的家乡地址和1 2 8 位的转交地址。发送绑定更新信息包的流程如图4 - 9 构造绑定更新信息包结 构并创建指针 l l i 初始化指向i p v 6 地址结 l 构的指针并填写目的地 l地址参数 i 建立i p v 6 目的选项原始 套接字 l 将指向绑定更新信息包 的指针指向发送缓冲区 并填写信息包t i f f 内容 i 发送绑定更新信息包 图4 9 发送绑定更新信息包流程图 北京邮电大学硕士论文 第四章移动i p v 6 实验平台的实现 注意:在发送绑定更新时,要用到目的选项报头,所以套接字的建立要用 s o c k f d = s o c k e t ( a f _ i n e t 6 ,s o c k r a 帆i p p r o t od s t o p t s ) 语句。 另外,在构造绑定更新信息包时,我发现几种参考资料中对序号字段长度 的定义不一样,有的为1 6 位,有的为6 4 位,通过实验我发现在显由l i n u x 系 统中的抓包软件能够识别1 6 位序号的信息包,不能识别6 4 位序号的信息包, 所以定义序号长度为1 6 位。 4 5 5 接收绑定确认信息包 在第三层协议上,对于i p v 4 来说,大部分i c m p 报文在被内核处理完之后, 都会传递给原始套接字。并且所有的报文内容,包括i p v 4 的报头也会同时传递 给原始套接字。但是对i p v 6 来说,对于接收到的报文,只有其中的内容会被传 递给用户进程,如i c m p v 6 报文。但是i p v 6 的报头和任何附加在其上的扩展报 头都不会传递给i p v 6 的原始套接字。而绑定更新和绑定确认信息包均是通过附 加在i p v 6 报头上的扩展报头来实现的。 为了收到i p v 6 报文的扩展报头,我考虑在链路层上对承载在其上的所有i p 层上的内容完全接收下来,这样我们不仅可以得到扩展报头的内容,还可以得 到完整的i p v 6 报头。在l i n u x 系统中,经过几次实验,我利用语句 s o c k f d = s o c k e t ( p f _ p a c k e t , s o c kr a w , h t o n s ( e t h _ p _ i p v 6 ) ) 成功收到完整的i p v 6 的数据报 文。绑定确认信息包的结构如表4 7 : 表4 7 绑定确认信息包的结构 0 12345670 1234567012345670l234567 下一个报头报头长度选项类型选项长度 状态刷新生存时间 序号 本地地址【0 】本地地址【l 】 本地地址【2 】本地地址【3 】本地地址【4 1本地地址 5 】 本地地址【6 】本地地址f 7 】本地地址【8 】本地地址【9 】 本地地址 1 0 】本地地址【“】本地地址 t 2 】本地地址【1 3 】 本地地址 1 4 】本地地址 1 5 】 其中下一个报头为5 9 ,报头长度为2 ,选项类型为1 9 3 ,选项长度为2 2 。8 位状态字段值为0 ,其值若小于1 2 8 表明绑定更新信息选项已经收到,若大于 1 2 8 则表明绑定更新信息被抛弃,具体为:1 2 8 一未指明原因,1 2 9 一绑定更新 北京邮电大学硕士论文第四章移动 p v 6 实验平台的实现 信息组织不当,1 3 0 一管理禁止此操作,1 3 1 一资源不足,1 3 2 一不支持主注册, 1 3 3 一网络非主网络,1 3 4 一序号字段值太小,1 3 5 一动态内部代理地址发现响应。 8 位刷新字段包含一个时间段的设置,经过此时间段设定的时间以后,移动主 机就必须发送绑定更新信息以更新绑定缓存中的信息。序号则从绑定更新信息 中直接拷贝。在i p v 6 报头中的下一个报头字段值应为6 0 ,表示下一个报头为 目的选项报头。而在绑定更新或绑定确认信息包中的下一个报头字段值为5 9 , 表示其后没有附加的报文。接收并处理绑定确认信息包的流程如图4 - 1 0 : 是 i 转入工c m p ”寄文处理程 图4 1 0 接收并处理绑定确认信息包的流程图 北京邮电大学硕士论文 第网章移动i p v 6 实验平台的实现 4 6 在l in u x 系统上开发h a 程序 作为家乡代理,它负责接收m h 发出的绑定更新信息,跟踪隶属于该网段 的所有m h 的移动情况,将这些信息纪录到缓存,成为主地址和转发地址之间 寻址的映射。它所涉及到的绑定更新信息的接收、绑定确认信息的发送等程序 与上一节中的内容极为相似,在此不再赘述。另外它还可能截获发往外地链路 上的m h 的数据,将其封装后传递给m h 。程序流程如图4 - 1 1 : 是 图4 - 1 1h a 程序流程图 北京邮电大学硕士论文 第四章移动i p v 6 实验平台的实现 4 7 在l i n u x 系统上开发f t p 服务器及客户端程序 4 7 1 通信流程检测 完成前面几部分的编程后,我着手检测了一下整个通信进程的运转。检测 流程如下: 1 打开配置好的路由器,打开移动主机和家乡代理主机。此时2 台主机 均位于网段:f e c 0 :l 6 4 上。打开2 台机器上的e t h e r e a l 软件,进行抓 包、解析。 2 在移动主机上运行m h 程序,在家乡代理主机上运行h a 程序。在2 台机器的e t h e r e a l 软件界面上发现2 台机器均能与路由器进行信息的正 常交互。 3 将移动主机的网线拆掉,将其连接到路由器另一个接口所在的网段上: f e c 0 :2 6 4 。通过e t h e r e a l 软件发现,移动主机已经发现自己更改了位 置,并配置好了自己的转交地址。并向家乡代理发送绑定更新信息。 而h a 在收到绑定更新后,发送绑定确认到m h ,m h 正确接收该信息。 4 7 2f t p 编程中所涉及的问题 验证完整个通信进程后,我通过在移动主机和f t p 服务器之间进行文件传 输,来测试和比较网段内和跨网段数据传输的速率。我在移动主机上和f t p 服 务器上分别运行简单的文件传输的客户端和服务器端程序。 l i n u x 系统上f t p 服务器进行文件传输主要用到下述的几个函数: 建立套接字,利用s o c k e t ( a f _ i n e t 6 ,s o c ks t r e a m ,0 ) 语句建立用于 t c p 连接的套接字。 绑定功能:绑定功能为套接字分配1 个本地的协议地址。该协议地址 是1 2 8 位i p v 6 地址和1 6 位t c p 端口号的结合。在本实验中利用语句 b i n d ( 1 i s t e n f d ( s t r u c ts o c k a d d r + ) & s e r v a d d r , s i z e o f ( s e r v a d d r ) ) 指定了端口 号,未指定地址,意思就是由内核指定i p v 6 地址,由用户进程指定端 口号。 北京由珏电大学硕士论文 笫凹章移动i p v 6 实验平台的实现 _ 守候功能:守候功能可以将未连接的套接字转入被动状态,表明内核 应该接受指向套接字的进入连接请求。语句为l i s t e n ( 1 i s t e n f d l i s t e n q ) 。 _ 接受功能:t c p 服务器利用该功能从已经完成连接的队列中返回下一 个已完成的连接。语句为 a c c e p t ( 1 i s t e n f d ( s t r u c t s o c k a d d r + ) & c l i a d d r , & c l i l e n ) 。 写功能:该功能是在建立连接后将数据发送到客户端。利用w r i t e 函数。 l i n u x 系统上f t p 客户端进行文件接收主要用到下述的几个函数: - 建立套接字:利用s o c k e t ( a f _ i n e t 6 ,s o c ks t r e a m ,0 ) 语句建立用于 同t c ps e r v e r 连接的套接字。 连接功能:建立同t c ps e r v e r 的连接。与服务器端不同,在客户端由 内核选择源

温馨提示

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

评论

0/150

提交评论