(通信与信息系统专业论文)在linux平台下实现移动ip技术.pdf_第1页
(通信与信息系统专业论文)在linux平台下实现移动ip技术.pdf_第2页
(通信与信息系统专业论文)在linux平台下实现移动ip技术.pdf_第3页
(通信与信息系统专业论文)在linux平台下实现移动ip技术.pdf_第4页
(通信与信息系统专业论文)在linux平台下实现移动ip技术.pdf_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

摘要 随着移动技术和计算机通信技术的发展,人们对通信的要求越来越高,人们 希望有这样一种通信,不局限于某个时间,不局限于具体的通信地点,不局限于 所使用的通信工具,只要有通信的需求,就可以随时发起通信,这就是未来通信 的雏形。但是,在目前的通信条件下,是无法到达这种要求的。在传统的计算机 通信中,在不做任何额外工作的情况下,通信节点是不可以任意移动的,这是因 为两个通信节点是通过交换数据包来完成的,而数据包在广域网传播的时候有它 自己的一套规则,其中最重要的就是根据数据包的目的地址的网络前缀来进行数 据包的路由选择。也就是说,如果一个节点移动到了另外一个网络而不进行网络 地址的重新配置,那么,它是接收不到任何它本来可以在家乡网络接收到的数据 包。这就要求有一种机制,它使得一个通信节点移动到外地网络时可以和家乡网 络保持连接,而家乡网络也需要有相关的实体来提供这种中介的功能。这就是移 动i p 技术。移动i p 技术本身是因特网标准协议的一部分,它增强了i p 的现有 功能。 但是移动i p 技术本身还有许多需要完善和改进的地方,也还有许多新的特 性需要进行进一步的探讨分析,这就迫切需要一个软硬件平台,它应该集成移动 i p 的成熟的技术和特性,在此平台基础之上实验讨论移动i p 中那些还不是很成 熟的技术和特性,这有着非常重要的实践意义。本论文在对移动i p 协议进行了深 入了解的情况下,提出了一个移动i p 的解决方案,这个方案提供了一个软硬件 平台,它实验了移动i p 的3 个基本功能:代理搜索,注册,包转发。为今后进一 步研究移动i p 的其他高级特性提供了一个基础,具有它的现实意义和研究意义。 关键词:移动i p ,t c p i p ,i p 路由技术,移动i p 实现,网络体系结构 a b s t r a c t w i t ht h ed e v e l o p m e n to fm o b i l et e e h n o l o g ya n dc o m p u t e rc o m m u n i c a t i o n t e c h n o l o g y ,t h ep e o p l eh a v eb e e nl o o k i n g f o r w a r dt om o r ef r e ea n do p e n c o m m u n i c a t i o nt h a ne v e r 。a n dt h ep e o p t en e e dak i n do fc o m m u n i c a t i o nt h a t i sn o tl i m i t e dt oc o m m u n i c a r ew i t ho t h e r so nt h es p e c i f i ct i m ea n do nt h e f i x e dp l a c e ,a n do n l yo n c ew es h o u l dc o m m u n i c a t ew it ha n y b o d y ,w ec a nd o i te a s i l y b u tj u s tf o rt h ec l a s s i c a lc o m p u t e rc o m m u n i c a t i o n ,i ti sv e r y d i f f i c u l t t h ec o m m u n i c a t i o nn o d ec a n tm o v ea r o u n da n dw h e ni tm o v e s t os o m ef o r e i g nn e t w o r k ,i tw o n tk e e pc o m m u n i c a t i o na g a i n b e e a u s et h e n o d ec o m m u n i c a t e sw i t ha n o t h e rn o d et h r o u g hs w i t c h i n gd a t ap a c k e t ,a n d w h e nd a t ap a c k e tp a s s e st h r o u g ht h ew i d ea r e an e t w o r k ( w a n ) ,t h er o u t e r r o u t e st h ed a t ap a c k e to nt h eb a s i so ft h ea d d r e s so fn o d ea n di ft h e a d d r e s si sv a r i a b l e ,d a t ap a c k e tw o n tb es e a tt ot h em o b i1 en o d e 、m o b il e i pt e c h n o l o g yc a r lr e s o l v et h i sp r o b l e m m o b i l ei p c a na d a p tt ot hjs d i f f i c u l t yt h r o u g hh o m ea g e n tt h a tb e c o m eam e d i ab e t w e e nh o m en e t w o r k a n dm o b il en o d e b u tm o b i l e1 ph a ss o m ed e f e c tn e e dt ob ei m p r o v e da n dh a sl o t so f c h a r a ct e rn e e dt ob ea n a l y z e da n ( 】r e s e a r c h e df u r t h e r ,s ow en e e das o f t w a r e a n dh a r d w a r ep l a t f o r mt h a ti n c l u d e sm a t u r a t i o n a lc h a r a c t e ra n dt e c h n o l o g y 0 fm ( ) b il ei p o nb a s i so ft h sp l a t f o r m ,w ec a nr e s e a r c hp r e a l a t u e c h a r a c t e ro fm o b i l ei pa n dit i sv e r yi m p o r t a n ti np r a c t i c e o nb a s eo f p r o f o u n d g r a s p a b o u tm o b i l e i p p r o t o c o l ,t h i sp a p e rp r o v i d e s a n i m p l e m e n t i n gp r o j e c t i ti n e l u d e st h eb a s i cf u n c t i o no fm o b il ei pa n dl a y f o u n d a t i o no ff u r t h e rr e s e a r c ha n di th a sv e r yi m p o r t a n tr e s e a r c hv a l u e 。 k e yw o r d s :m o b i l ei p ,t c f i p ,i pr o u t i n gt e c h n o l o g y , , m o b il ei pl m p l e m e n t i n g ,n e t w o r ka r c h it e c t u r e 南京邮电学院学位论文独创性声明 y 6 2 8 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得南京邮电学院或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意。 研究生签名:日期 南京邮电学院学位论文使用授权声明 南京邮电学院、中国科学技术信息研究所、国家图书馆有权保留 本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其 他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一 致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权 南京邮电学院研究生部办理。 研究生签名:导师签名:日期: 南京邮电学院硕士学位论文 1 1 移动i p 技术综述 第一章绪论 移动计算技术的飞速发展,不断增加的移动办公人员和对网络计算越来越 强的依赖,这三方面一起推动着将移动的计算机与其他计算机相连的需求,包 括与固定的和移动的计算机连接。 由于早期应用视野的局限性和技术水平的约束,传统的计算机通信网的核 心协议体系结构t c p i p 并没有考虑到移动通信的需求。在传统i n t e r n e t 网络 中,路由器转发数据包是根据i p 数据包的目的地址的网络前缀为依据进行转发。 如果计算机移动到外地网络之后,由于所处网络的网络前缀与自己原有i p 地址 的网络前缀并不相同,此时,它与其他计算机的通信必将中断。而如果想要继 续接入网络,就需要重新设置i p 地址以及相关的配置。因此,移动通信的提出 给传统的网络技术提出了挑战。 【e t f 工作小组在意识到移动网络的巨大潜力之后,于1 9 9 6 年提出了移动 【p 协议标准。移动i p 技术使得人们直梦想的无处不在的全球网络连接成为可 能,它适应了移动计算时代的需求。然而现有的移动i p 技术还有很多不足之处, l p v 6 方案也还没有最终完善。但是有点我们是可以肯定的,那就是基于移动 t ) 技术的第三代移动通信系统和i n t e r n e t 网络相结合,提供高速、高质量的多 媒体通信业务必将是大势所趋。移动i p 技术为移动节点提供了一个高质量的实 现技术,可应用于用户需要经常移动的所有领域。如通过无线上网,使用手提 电脑,用户可以随时随地上网,通过i p 技术还可以与公司的专用网相连;扩展 移动i p 技术,还可以使一个网络移动,即把移动节点改成移动网络。它的实现 可以简单地认为把原先的移动节点所做的工作改成移动网络中的路由器所做的 工作,这种技术广泛地应用于轮船、列车等活动网络中。人们开始寻求移动的 数据业务,研究移动i p 技术成为业界研究的重点,而且在i m t 一2 0 0 0 中已明确 规定,第三代移动通信系统必须支持移动i p 分组业务。 移动i p 不是移动通信技术和因特网技术的简单叠加,也不是无线话音和无 线数据的简单叠加,它是移动通信和i p 的深层融合,也是对现有移动通信方式 4 南京邮电学院硕士学位论文 的深刻变革。为适应快速增长的数据型业务需求,人们需要的是一个以包交换 为基础的无线网络,这种新型网络结构正是移动i p 未来的结构。移动i p 将是 移动技术和i p 技术的深层融合,它将真正实现话音和数据的业务融合,移动i p 的目标是将无线话音和无线数据综合到一个技术平台上传输,这一平台就是t p 协议。移动通信的l p 化进程将分为三个阶段:首先是移动业务的i p 化;之后 是移动网络的分组化演进:最后是在第三代移动通信系统中实现全i p 化。 二十一世纪的生活离不开移动通信和互联网,对此大家已经基本形成共识。 移动互联网最重要的意义在于它把锁定在一个个固定站点中的信息释放到时空 中去了:每一个活动的个体都成了移动的网络节点,随时随地获取所需信息。 在有线互联网里,是人找网、人上网,个体不得不受制于网络节点的固定性; 在移动互联网里,这种关系发生了逆转,形象地说是“网追人”, “移动而互 联”的愿望变为现实。 可以预见,移动通信网络和i p 通信网络的融合,将开 创电信产业发展的新纪元。在一个统一的i p 通信网络平台传输话音、数据、视 频、图像、消息等为大势所趋。而移动终端所能提供的“i n f o r m a t i o na n y t i m e , a n y w h e r e :i n t e r n e ti ny o u rp o c k e t ”将使互联网的作用发挥到极点;两者的 结合将创造难以估计的产业机会和商业前景。 移动互联网是对传统互联网和传统电信网的一次革命。它不是对传统互联 网和电信网的增强及补充,而是在技术上和应用上都有了质的飞跃的一种网络。 它的出现必将对传统互联网和电信网产生巨大的冲击。 移动i p 技术是i p 技术和移动通信技术的结合,正使得数据通信发生与语 音通信一样的变革。它将缔造人类个人通信的美好蓝图:人类将实现在任何时 间、在任何地点、可以用任何一种媒体与任何一个人进行通信的梦想。 1 2 本论文的主要内容 论文在充分理解了移动i p 协议和l i n u x 操作系统的基础上,在l i n l i x 平台 下利用t c p i p 编程接1 3s o c k e t 完成了一个实现移动i p 协议的软件包。开发这 个软件包采用传统的结构化生命周期开发方法,结构化方法将软件生命周期分 为计划、开发、运行三个大的阶段。 计划阶段的主要任务是分析用户基本需求,分析新系统应该设定的目标, 南京邮电学院硕士学位论文 按设定1 7 1 标的要求进行问题定义并分析开发该系统的可行性。因此,本论文首 先对移动i p 软件实现的可行性,需要完成的基本功能以及要达到的目标给出了 说明,主要工具是数据流图。移动i p 软件包需要实现三个功能实体:家乡代理、 外地代理、移动节点。主机要完成移动功能,就必须三个功能实体协同工作。 这三个实体需要分别进行需求分析。 而开发阶段的主要任务是进行系统设计和程序编码。系统设计分为总体设 计和详细设计两个阶段。总体设计的主要任务是确定软件的总统结构、子系统 和模块的划分,本论文采用软件结构图来实现这个任务。在家乡代理功能实体 中,包括代理广播模块、注册模块、数据包转发模块。在外地代理功能实体中, 包括代理广播模块、注册模块、数据包转发模块。移动节点功能实体中,包括 代理搜索模块,注册模块。详细设计的任务是确定每一个模块实现的定义,包 括数据结构、算法和接口,本论文采用流程图来具体说明每一个模块的实现细 节。 最后是运行阶段,本论文搭建了一个用于调试的平台来测试所编软件的有 效性。 图l - l :移动l p 软件调试平台 如图卜l 所示,家乡代理主机装有家乡代理软件,外地代理主机装有外地 代理功能软件,移动节点装有移动功能的软件。当移动节点和通信对端通信的过 程中( 比如移动节点正在从通信对端下载一个文件) ,移动节点被连接到外地 网络,如果移动节点继续可以和通信对端通信,就说明移动i p 软件确实发生了 作用,我们借此来测试移动i p 软件的功能是否可以实现。 6 南京邮电学院硕士学位论文 1 3 本论文的框架结构: 本文首先在第二章阐明了移动i p 的原理,移动i p 的核心技术:代理搜索、 注册、数据包转发。在这一章中还简要介绍了网络体系结构的概念和t c p i p 网 络协议参考模型。在第三章给出移动i p 软件的实现方案,包括使用的开发工 具和依据的操作系统平台以及用于测试移动i p 软件的硬件平台。第四章阐述了 本篇论文所完成的软件包的具体的开发流程。包括软件的需求分析,软件的系 统设计( 其中又包括总体设计和详细设计) ,软件的编码调试和软件的有效性 调试。第五章分析了移动i p 软件在未来的应用前景和展望。 南京邮电学院硕士学位论文 第二章移动工p 原理、核心技术 2 1 移动工p 原理综述 2 1 1 概述 因特网的不断发展壮大和移动通信的普及应用,使人们对网络的依赖性日 渐增加,人们希望能够以一种更加灵活的方式随时随地访问企业网络和 i n t e r n e t 网络,移动办公是现阶段最突出的需求。 i p 技术就是为了解决互联网移动而诞生的。它不仅实现了移动计算机的漫 游功能,而且还有效解决了移动计算机的安全和用户管理,实现了移动用户对 企业资源的透明访问。 2 1 2 网络体系结构t c p i p 参考模型 为了详细阐明移动l p 的具体原理和采用移动i p 的必要性,首先要描述一 下传统的计算机网络体系结构一t c p i p 。图2 _ 1 表明了t c p i p 参考模型以及各 种因特网协议间的关系。 应j l ii i i l l i i ! _ 、 i i i i , 。i i 。1 i i , 。匹严翠 应用协t :r 掣i ;。善i 传输砩t 。 p;手早 l 1 一i f ”协i = :【 j 川络协k jlj 刊召奉审 _ 硅踏协t 圈2 一i 因特同( r c i i l 】) 参考模型 处于参考模型最低层的是物理层和数据链路层,其中物理层通过通信媒介 南京邮电学院硕士学位论文 把比特流从一个地方传送到另一个地方。物理层协议定义了传输媒介的电气和 机械特性,如比特率、电平等等。往上是网络层,该层包括因特网协议( i p ) 、 i c m p 等,它将数据包从源端发送到目的端点。在网络层之上是传输层和应用层。 传输层能够提供可靠地数据流传送,规定了检错和纠错方法。应用层传送用户 运行的某个计算机程序特定的信息,如s m t p 协议规定如何收发e - m 8 j1 ,h t t p 协 议规定如何传送w e b 页面。 2 1 3i p 的功能和i p 包格式 和其他所有的网络层协议一样,i p 将数据包从源端发送到目的端点,这种 业务有时也被称为“端到端的包传送”。i p 所提供的可靠性服务称为“尽力而为”, 也就是说i p 将尽力数据包传送到目的端,但是并不保证它一定能无差错地到达 目的端。因此,如果一个应用要求可靠通信,就应该由传输层来保证无差错的 端到端数据传输。在因特网中,传输控制协议( t c p ) 提供了可靠的端到端数据传 输。 i p 包包括从传输层或更高层送来的一段数据,以及加在数据前面的一个i p 报头,其中最主要的域是源地址和目的地址,表明了发送者和接收者的地址。 下面简要介绍一下i p 包格式:如图2 2 版本 i h l 服务类型总长度 标识 。3 位标记l 1 3 位片偏移 生存时间协议头校验和 源地址 目的地址 i po p t i 0 1 1 5 传输层( 如t c p ) 报挑 应用崖( 如t l t t p ) 报头 应用层数据( 如w e b 主页) i p 报头 i p 负荷 图2 2i p 包报头和净荷 1 )i p 地址 l p 地址是一个3 2 比特的数。每一个节点的每个网络端口都有一个i p 地址, 端口是节点与链路的硬件和软件连接点,像路由器那样具有多个网络端口的节 点也就有多个i p 地址,每个端e 1 一个地址。i p 地址有两个部分:网络前缀部分 9 南京邮电学院硕士学位论文 和主机部分。网络地址部分是一连串的比特,连在同一条链路上的所有节点有 相同的网络前缀,因此要求这些节点的i p 地址具有唯一的、不同的主机部分。 个网络前缀可以标识一条链路,而主机部分则是用来标识连接在链路上的一 台特定主机或路由器的。不同种类的i p 地址网络前缀的位数是不同的。 2 ) i p 报头的其他域 版本域( v e r s i o n ) 表明了个数据包采用的是因特网协议的哪个版本。对 于i p v 4 ,这个值为4 。i h l ( 首部长度) 域表示以3 2 比特为记数单位的i p 报头 的长度,因此,i h l 的最小值为5 ,即2 0 字节,这是一个不带i p 可选项的i p 报头。服务类型( t y p eo fs e r v i c e ) 域决定了i p 包在提供多种服务质量的网 络中将受到何种处理。总长度( t o t a ll e n g t h ) 域则给出了整个i p 包的字节数, 包括i p 报头本身的长度。标记( f l a g ) 域和片偏移( f r a g m e n to f f s e t ) 用于 将大i p 包分割成几个称为片的小块,以保证它可以顺利地穿过无力处理大i p 包的网络。标识( i d e n t i f i c a t i o n ) 域是发送端填写的值以便接收端重组那些不 得不分成几个片的包。生存时间( t i m et ol i v e ) 用于限制一个i p 包的转发时 间。协议类型( p r o t o c 0 1 ) 被i p 层用来区分i p 包中的负荷是由哪个高层协议 处理。例如,这个域取值为1 表示i c m p ,6 表示t c p ,1 7 表示u d p 头校验和( h e a d e r c h e c k s u m ) 被接收节点用来确认接收到的i p 报头中有没有差错。头校验和只由 i p 报头中的各个域计算得来,而与i p 包的净荷无关,i p 包净荷的校验则是高层 协议的工作。 3 )i p 选项 在上面介绍的各个固定长度的域之后,i p 报头中有时还有多个可选项。虽 然可选项可以用来实现一些非常有趣的功能,但是实际上还是很少用到它。 2 1 4 传统i p 路由技术的工作原理 对于一个节点( 可以是主机和路由器) 来说,有两类i p 包:一类包的目的 端点就是这个节点本身;另一类包的目的端点为别的节点。节点通过比较自己 的r p 地址和i p 包中的目的地址,判断自己是否是目的节点。如果i p 包的目的 地址和节点的某一个i p 地址一样,那么这个节点就是该包的目的节点。被目的 节点接收下来的包就不再进行转发,而是根据i p 报头中的协议类型域送交相应 南京邮电学院硕士学位论文 的高层协议处理。 当节点收到一个不以它为目的节点的包时,这个节点必须决定向哪里转发这 个包,以使该包离目的节点更近一些,这就称为“作出一个转发决策”或“为 一个包选路由”。这里,我们将i p 路由表定义成一种以表的形式组织的软件数 据结构。利用这个表,节点可以为那些目的节点不是自己的包作出一个转发决 策。对于每一个i p 节点,无论是主机还是路由器,都需要一个路由表来作转发 决策,而且它需要为发送的每一个包作转发决策,包括由该节点产生的包( 如 由传输层送来的数据段) 以及它接收到的包,这些包将分别按照各自的路径转 发到它们的目的节点上。路由表中的每一项,简单地说也就是一条路由,至少 包括4 个域:目的地址、前缀长度、下一跳地址以及端口。当节点需要转发 个i p 包时,它就在路由表中查找目的地址、前缀长度这两列与i p 报头中的目 的地址域相匹配的那一项。如果发现确实存在匹配的项,就将数据包从路由表 中该项所指示的端口转发到下一跳节点。所谓路由表的表项与i p 包相匹配是指, 将该表项的目的地址与数据包中的i p 目的地址从左向右逐个比特地比较,相同 比特地数目大于或等于前缀长度所指示的值。如果存在多个匹配的表项,节点 根据i p 包规定的特定原则选择一项作为路由,即选择前缀长度最长的那一个表 项。般来说,路由决策依赖于目的i p 地址的网络前缀而不是整个目的地址。 可以想象,对于有几百条链路、每条链路上又有几百台主机的网络来说,采用 网络前缀路由而不是特定主机路由可以极大地简化路由表的表项。 2 1 5 移动i p 技术的工作原理 移动i p 是一种在全球因特网上提供移动功能的方案,它具有可扩展性、可 靠性和安全性,并使节点在切换链路时仍可保持正在进行的通信。它提供了一 种i p 路由机制,使移动节点可以以一个永久的i p 地址连接到任何链路上。移 动i p 是在因特网中提供移动功能的网络层解决方案。与运行在什么媒介上毫无 关系,与底层的链路特性无关是i p 协议的设计宗旨。由于移动i p 解决如何将i p 包路由到移动节点上,这只是在因特网上提供移动功能时非常重要的第一步, 一个完整的移动通信方案还要求对协议栈中的其他层作改进。 移动i p 定义了三种实现移动协议的功能实体:移动节点,家乡代理,外地 南京邮电学院硕士学位论文 代理。其中家乡代理和外地代理工作在网络层而移动节点是实现了移动功能 的主机节点。移动节点拥有永久的分配给它的地址,称为家乡地址。当移动节 点与通信对端通信的时候,通信对端总是把数据包直接发送到移动节点的家乡 地址,而不考虑当前主机的位置情况。而家乡代理就充当了这样一个中介,它 不停的更新移动节点的当前位置( 用转交地址标识) ,当接收到从通信对端发往 移动节点的数据包后重新封装然后转发给拥有转交地址的节点。转交地址顾名 思义是临时分配的地址,完成数据包的转发工作。当一个移动节点移动到外地 链路上的时候,可以通过两种方式来获得移动节点的转交地址。通常移动节点 使用“代理发现协议”在外地链路上获知外地代理的存在,然后把外地代理的 地址作为转交地址。如前所述,已转交地址为目的地址的数据包最后经过外地 代理转交给移动节点( 然而,当外地代理不存在时,移动节点就需要通过其他 方式来获得转交地址,如手工配置,d h c p ) 。隧道技术就是转发数据包的关键技 术,它包括添加数据封装和解除数据封装。其中添加数据封装是由家乡代理完 成,并转发至网络地址为转交地址的节点( 本论文为外地代理) 。解除数据封装 是网络地址为转交地址的节点把接收的数据包解封再传送给移动节点。相对于 通信对端发送数据包到移动节点的复杂过程,移动节点发送给通信对端的数据 包就只需按照传统数据包的路由方式进行。 把移动i p 的核心技术概括一下就是:代理搜索,注册,路由。移动节点利 用代理搜索的功能可以判定它的当前位置,并得到一个转交地址。而利用注册 的过程移动节点可以向外部代理请求服务,并通知家乡代理它的转交地址。当 移动节点连接在外地链路上时,对它发出的或者发往他的数据包都需要通过与 常规路由功能不一样的路由方式来完成。移动i p 的工作机制可以用以下几个步 骤说明: 通过周期地组播或广播一个称为代理广播( a g e n ta d v e r t i s e m e n t s ) 的消 息,家乡代理和外地代理宣告它们与链路的连接关系。移动节点收到这些代理 广播消息后,检查其中的内容以确定自己是连在家乡链路还是外地链路上。当 它连在家乡链路上时,移动节点就可像固定节点一样工作,即它不再利用移动 i p 的其他功能。 下面的步骤假设移动节点连接在一条外地链路上。 南京邮电学院硕士学位论文 连在外地链路上的移动节点需要一个转交地址。可以从外地代理广播地代 理广播消息中找到外地代理转交地址。 移动节点向家乡代理注册从第三步中得到地转交地址,可以通过移动i p 中定义地消息交换来完成。在注册过程中,如果链路上有一个外地代理,移动 节点就向它请求服务。为阻止拒绝服务攻击,注册消息要求进行认证。 家乡代理或者是在家乡链路上地其他一些路由器广播对移动节点家乡地址 的网络前缀的可达性,从而吸引发往移动节点家乡地址的数据包,家乡代理截 取这个包,并根据移动节点在第四步中注册的转交地址,通过隧道将数据包传 送给移动节点。 在转交地址处一一可能是外地代理或移动节点的一个端口,原始数据包被 从隧道中提取出来送给移动节点。 相反,由移动节点发出的数据包被直接选到目的节点上,无需隧道技术。 对所有来访的移动节点发出的包来说,外地代理完成路由器的功能。 如图2 3 说明了这个工作过程: 南京邮电学院颤十学位论文 i 署黼善? 罐龄:* 篱i 目j # 十m 总 j ;g 镕* # 艚筒“” j n m 镕球 采,代 竺十、_ 、一 l ”“= 尉柄 ( & * 、孓乏i ( 二二森 凰 。署1:;# f 蚕:” j 。i 登奄盛l # 2 j 0 粒苎 昏三j 乓一,二害 至卜_ 、7 、 y 、, 、 图2 3 向在外地网络的移动节点发送数据包 南京邮电学院硕士学位论文 2 2 移动i p 的核心技术 如前所述,移动i p 关系到三个基本功能一一代理搜索、注册和包传送。下 面我们就详细介绍三个基本功能涉及到的技术核心。这也是本论文需要编程实 现的主要部分。 2 2 1 代理搜索 移动节点利用代理搜索过程完成以下功能: 1 )移动节点判定自己当前连在家乡链路上还是外地链路上。 2 )移动节点检测自己是否切换了链路。 3 )当连在外地链路上时,移动节点必须获得一个转交地址。 代理搜索由两条简单的消息构成。第一条消息是代理广播消息( a g e n t a d v e r t is e m e n t ) ,家乡代理或者外地代理利用这个消息向移动节点宣布它们的 功能。当一个节点被配置成家乡代理或者外地代理,或同时配置成这两者时, 它就在所在链路上广播这条消息,这使得这条链路上的移动节点可以判断链路 上是否有代理存在。如果有,则判定它们的标识和功能是什么。第二条消息是 代理请求消息( a g e n ts o l i c i t a t i o n ) ,当移动节点没有耐心等待下一个周期发 送的代理广播消息时,他可以发送代理请求消息。这个消息的唯一目的就是让 链路上的所有代理发送一个代理广播消息。 2 2 2 注册 移动i p 的注册过程是: i )移动节点可以通过注册得到外地链路上的外地代理的路由服务。 2 )移动节点可以通知家乡代理它的转交地址。 3 )可以使一个要过期的注册重新生效。 4 )移动节点在回到家乡链路上时要进行注销。 移动i p 的注册过程在代理搜索之后,当移动节点发现它在本地链路时,它 就向家乡代理注销,并开始像固定主机那样进行通信,不再利用移动i p 功能。 它包括两种消息的交互:注册请求( r e g i s t r a t i o nr e q u e s t ) 和注册应答 南京邮电学院硕士学位论文 ( r e g i s t r a t i o nr e p l y ) 。注册消息放在u d p 数据段的数据部分,u d p 数据段则 放在i p 包的净荷中。与代理搜索相同,注册消息由一个短的定长部分加上一个 或多个变长的扩展部分构成。 2 2 3 包传送 当移动节点同其他节点通信的时候,其他节点发往移动节点的数据包需要 被家乡代理截取,然后通过隧道最终传输到移动节点。而移动节点发往其它节 点的数据包还是按照传统的路由方式到达目的节点的。因此,我们重点描述在 包传送中起重要作用的隧道技术。移动i p 中使用三种隧道技术:i p 的i p 封装 ( i pi ni pe n c a p s u l a t i o n ) 、最小封装( m i n i m a le n c a p s u l a t i o n ) 和通过路 由封装g r e ( g e n e r i cr o u t i n ge n c a p s u l a t i o n ) 。因为i p 包分片影响了隧道入口 封装方法的使用,所以首先介绍i p 分片。 2 2 3 1i p 分片 许多数据链路层以及在它们底层运行的硬件对能传送的最大帧长有限制, 这种限制称为数据链路层m t u ( m a x i m u mt r a n s f e ru n i t ) ,而且这种限制限制了 在一帧中能传送i p 包的最大长度。如果i p 包比传送它的数据链路层的m t u 要 大,在传送前就要将i p 包分片。分片就是将一个大i p 包分成几个小段,以便 每个小段可以装进数据链路层的m t u 。i p 包的分片可以由包的源节点或去往目 的地的路径上的任一台路由器来完成。无论数据包是由主机产生的还是由路由 器转发过来的,对它进行分片的主机都要将包的大小与节点路由表中注明的下 一段链路的m t u 进行比较,如果这个包对链路的m t u 来说太大,这个包必须被 分片。除非i p 报头中d o n tf r a g m e n t ( d f ) 比特置一,这时候如果要进行分片, 那么这个i i ,包会被丢弃。 当一个节点发送的数据包必须进行分片时,该节点将执行以下规程: 1 )它将包的净荷部分分成尽量大的片,只要每个片可以装入一个数据链路层 帧就可以。片的大小必须是8 字节的整数倍,因为分片后i p 报头中对包的大小 就是以8 个字节为单位计数的。 2 )它将原始i p 报头加到每一个由净荷分成的片的前面,从而形成一个i p 分 南京邮电学院硕上学位论文 片。对每一个分片,该节点必须: 确保所有分片的i p 标识域是相同的。 确定每个分片的i p 片偏移域的值,以保证重组时能确定各个分片 的顺序。 将i p 总长度域设成各个i p 分片的长度,而不是分片前整个i p 包 的长度。 将最后一个分片的i pm o r ef r a g m e n t 比特置为0 ,其他分片,包 括第一个分片中这个域的值则设为1 。 对包进行分片的节点为各个分片使用通常的i p 路由规程选择下一跳节点,当分 片到达目的地时,按以下规程对它们进行重组: 具有同一源i p 地址、目的地址、协议类型和标识域的分片被放在 同一个重组缓冲器中,在那里,它们被堆在一起,直到属于同一个 原始数据包的所有分片都到达。 片偏移域和m o r ef r a g m e n t s 、总长度域一起可以决定重组时各个 分片的前后顺序,还可以确定是否所有的分片都已到达。 当最后一个分片到达时,原始的数据包就恢复好了。这是就可以释 放重组缓冲器,然后就可以对原始的数据包迸行进一步的处理,就 好像它从没有被分片一样。 如果在一定的时间内,有一些分片没有到达,重组缓冲器也会被释 放,前面到达的所有分片都将被丢弃。 2 2 3 2i p 的i p 封装 l p 的i p 封装用于将整个i p v 4 包放在另一个 p v 4 包的净荷部分。i p 的1 p 封装其实非常简单明了,第一个i p 包放在一个新的i p 包的净荷中,这个新i f ) 包报头的各个域设置如下: 1 ) 版本为4 。 2 )服务类型可以直接从第一个i p 包的报头中拷贝。 3 ) 源地址和目的地址分别设置为隧道的入口点和出口。 4 )因特网报头长度、总长度和校验和需要重新计算。 南京邮电学院硕士学位论文 5 )标记、标识、片偏移根据【r f c 7 9 1 】的规定进行设置。将标志域设为一个 唯一的值,将标识域和片偏移按分片时的具体情况进行设置。如果第一个包 d o n ,tf r a g m e n t 比特为l ,那么外层封装的包也应该将这个比特设为l ,这使 路径m t u 寻找算法在有i p 隧道时也能很好的工作。 6 )协议类型域设为4 ,标识净荷本身也是i p 包( 包括报头和净荷) 。 7 )生存时间域设成一个足够大的值,以使封装后的包能到达隧道出口。 2 2 3 3i p 的最小封装 i p 的最小封装是移动i p 中的一种可选隧道方式。最小封装的目的是减少实 现隧道所需的额外字节,可通过将i p 的i p 封装中内层i p 报头和外层i p 报头 的冗余部分去掉来完成。 采用最小封装时,原始数据包要经过以下步骤: 1 )在原来的i p 净荷和i p 报头之间加入最小转发报头( m i n i m a lf o r w a r d h e a d e r ) 。 2 )对原来的i p 报头作如下改动: 协议类型域为5 5 ,表示新的净荷是经过最小分装的数据报。 如果隧道入口就是原始包的源,那么指示后面存在原始原地址域的 s 比特置为0 ,否则置为1 。 原始目的地址域( o r i n i g a ld e s t i n a t i o na d d r e s s ) 直接从原始包的 i p 目的地址中拷贝。 报头校验和( h e a d e rc h e c k s u m ) 从最小转发报头中计算得到( 在其 它域的值都确定之后。 如果隧道入口不是原始包的源,那么原始原地址域( ( ) r j g i n a s o u r c ea d d r e s s ) 可从原始i p 包的源i p 地址拷贝得到:否则,经 过封装的数据包就不用包含这个域。 2 2 3 4 通用路由封装 通用路由封装g r e ( g e n e r i cr o u t i n ge n c a p s u l a t i o n ) 是移动i p 采用的最一 种隧道技术。除了i p 协议,g r e 还支持其他网络层协议,它允许采用一种协议 南京邮电学院硕士学位论文 的数据包封装在采用另一种协议的数据包的净荷中,这与i p 的i p 封装和最小 封装不同,它们都只要求采用i p 。 当采用第一种协议的网络层数据包要被封装进采用第二种协议的网络层数 据包时,将内层数据包称为净荷包,外层数据包称为分发包。进一步,如果有p 个不同类型的净荷包、d 个不同协议的分发包,那么就需要d p 个文档来定义 各种分发包对各种净荷的封装。 然而,在g r e 中只需要p + d 种文档,p 个文档描述如何将各种净荷包封装 进g r e 中,d 个文档表明如何将g r e 封装进各种分发包中。对于那些网络上运行 着多种协议的机构来说,p 和d 都很大,那么g r e 提供一种可管理的方法。g r e 报头放在净荷包和分发包之间。净荷包和分发包都采用i p v 4 的情况,就是移动 i p 中从家乡代理到外地代理的隧道的情况。 2 3 移动i p 解决方案的提出 自从1 9 9 6 年公布了移动i p 的建议标准以来,移动i p 的研究发展很快,己 经出现了一些商业的和免费的移动i p 的应用。虽然很多关键技术已经非常成熟 和完整,但是还有许多难点还没有完全解决。例如,移动i p 的性能、移i p 的 安全性和移动i p 的互操作性,特别是移动i p v 6 的逐渐完善大大提高了移动i p 的扩展性和竞争能力。如果我们需要进一步研究移动i p 的高级特性,就应该需 要一个合适的软硬件平台,它应该实现了移动i p 的成熟的特性和技术,我们可 以以它为基础来研究移动i p 中那些尚未定论的问题,这一点有着非常重要的实 际意义。因此,本论文致力于解决一个移动i p 的实验平台。下面几章就详细说 明整个平台的开发流程和调试过程。 1 9 南京邮电学院硕士学位论文 第三章移动i p 的解决方案 本论文在l i n u x 平台下用c 语言实现移动i p 的基本功能。由于l i n u x 源代 码的开放性,使得我们可以很容易在l i n u x 系统中集成移动i p 软件,并且l i n u x 系统本身提供了很多和网络相关的函数集,可以大大方便我们的编程工作。 3 1 本方案的实验环境 为了提供一个移动i p 软件的实验平台,采用如下的软硬件配置并组成了一 个小型的实验网。 硬件配置如下: 1 )三台奔腾1 6 6 ,带3 c 5 0 9 网卡,装有l i n u x 操作系统,分别实现家乡代理和 外地代理的功能,还有一台实现路由转发( 即路由器) 的功能。 2 )两台装有l i n u x 操作系统的主机,用于通信的双方,实现了移动功能的主 机。 3 )两个集线器用于组成两个局域网,构成两个网络地址不一样的子网。 实验网络如图3 _ l 所示: 图3 1 移动i p 软件的调试实验平台 如图所示,左边为一个小型局域网,具有网络地址为l o 1 0 1 3 8 0 的子网, 南京邮电学院硕士学位论文 第三章移动工p 的解决方案 本论文在l 1n u x 平台下用c 语言实现移动i p 的基本功能。由于i ,i i i j x 源代 码的开放性,使得我们可以很容易在l i n u x 系统中集成移动i p 软件并且l i n u x 系统本身提供了很多和刚络相关的函数集,可以太大方便我们的编程工作。 3 i 本方案的实验环境 为了提供一个移动l p 软件的实验平台,采用如下的软硬件配置并组成了一 个小型的实验网。 硬件配置如下: 1 )三台奔腾1 6 6 ,带3 c 5 0 9 网卡,装有l i n u x 操作系统,分别实现家乡代理和 外地代理的功能,还有一台实现路由转发( 即路由器) 的功能。 2 )两台装有l i n u x 操作系统的主机,用于通信的双方,实现了移动功能的丰 机。 3 )两个集线器用于组成两个局域网,构成两个网络地址不一样的子刚。 实验网络如图3 _ i 所示: ( ; 2 、用一台具有 镰黜 匾圆 塞寡( :鼐晶鬟家多代理通信对端i 移动节点 外地代理移6 、- 一一一一一, 图3 一i 移动i p 软件的调试实验平台 如图所示,左边为一个小型局域网,具有网络地址为i 0 i 0 1 3 8 0 的子网 南京邮电学院硕士学位论文 右边是具有网络地址为l o 1 0 1 3 7 0 的子网,两个子网通过一台具有路由转发 功能的电脑( 即路由器) 相连,组成一个模拟广域网环境的实验网络。当移动 节点从1 0 1 0 1 3 8 0 子网移动到1 0 1 0 1 3 7 0 子网后,我们就可咀进行移动i p 软件的调试工作了。 3 2l i n u x 平台及其网络功能的基本知识 众所周知,l i n u x 是一种可以免费获得的操作系统。l i n u x 系统在网络功能、 安全性、稳定性、对硬件的控制方面都很优秀。l i n u x 操作系统网络功能的发展 和其他部分代码一样,也是通过网络上一大批程序员的不懈努力,逐渐发展起 来的。 l i n u x 系统提供套接字( s o c k e t ) 的机制来访闯低层的网络协议。包括t c p 套接字,u d p 套接字,原始套接字。由于t c p 协议提供面向连接的、可靠的通信 服务,因此,t c p 套接字是最常用的网络编程套接字函数。u d p 协议是无连接、 不可靠的通信协议,但是如果传输的数据量比较少,或者传送的消息对顺序和 可靠性要求不高时和需要广播消息时,我们通常选用u d p 套接字函数来完成编 程工作。原始套接字提供了一些使用t c p 和u d p 套接字不能实现的功能:可以 访问 c m p 和1 g m p

温馨提示

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

评论

0/150

提交评论