(通信与信息系统专业论文)无线自组织网协议栈在linux用户空间的设计与实现.pdf_第1页
(通信与信息系统专业论文)无线自组织网协议栈在linux用户空间的设计与实现.pdf_第2页
(通信与信息系统专业论文)无线自组织网协议栈在linux用户空间的设计与实现.pdf_第3页
(通信与信息系统专业论文)无线自组织网协议栈在linux用户空间的设计与实现.pdf_第4页
(通信与信息系统专业论文)无线自组织网协议栈在linux用户空间的设计与实现.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 针对无线自组织网络协议的研究是近年来网络通信领域的热点,为了提高无 线自组织网络的性能,开发者设计了很多技术对无线自组织网络协议的功能进行 扩充和改善。一种技术就是在标准网络协议栈的基础上进行协议层扩充,结合网 络协议栈的其他层次,构成一个无线自组织网络的协议栈。 一般来说,对标准t c p i p 协议栈的扩展是在操作系统的内核中完成,而实现 的操作系统平台也一般为l i n u x 操作系统。但是,在操作系统的内核中实现协议栈 的扩展时,开发者需要了解很多与开发扩展协议层关系不大的内核细节,并且在 内核中编程调试困难,开发效率低,最终其实现代码的可扩展性和可移植性都很 差。 出于以上的考虑,笔者研究了在l i n u x 操作系统的用户空间来实现无线自组织 网络协议栈的问题。在用户空间实现网络协议栈的扩展,开发者可以不必考虑太 多内核细节,专注于开发协议层本身的功能,而且用户空间有足够强大的调试工 具可以调试开发者的代码。最终实现的扩展无线自组织网协议层在用户空间运行, 具有良好的可扩展性和可移植性。 本文主要介绍了在l i n u x 用户空间实现无线自组织协议栈的过程,首先分析开 发用户空间协议栈的需求,然后讨论采用什么具体的技术解决开发用户空间协议 栈时遇到的问题,接下来介绍使用这些技术实现的一个通用的用户空间协议层扩 展模式,最后介绍了使用这个通用扩展模式开发的无线自组织协议栈运行在一个 无线自组织网络模拟演示系统中的测试情况,证实用户空间协议层扩展模式的正 确性。 本文立足于在l i n u x 平台上实现用户空间的无线自组织协议栈,但是并不局限 于单纯在l i n u x 上实现,而是以这个课题为出发点,抽象出一个在操作系统的用户 空间扩展网络协议层的通用模式。这个通用模式使用了虚拟网络接口技术,不但 可以实现课题中的无线自组织协议栈,还可以实现其他采用不同协议和算法的扩 展协议层。 关键词:无线自组织网络,用户空间协议栈,用户空间协议层扩展模式 a bs t r a c t t h er e s e a r c ha b o u tt h ea dh o cn e t w o r kp r o t o c o l sh a sb e c o m et h em a i ns u b j e c to f n e t w o r kc o m m u n i c a t i o n al a r g ea m o u n to ft e c h n i q u e sh a v eb e e nd e v e l o p e d t oe x p a n d a i l di m 口r o v et h ec a p a b i l i t i e so fa d h o en e t w o r kp r o t o c o l si no r d e rt o r a l s et n e p e r f o n n a z l c e o n eo ft h e s et e c h n i q u e si se x p a n d i n gt h ep r o t o c o ll a y e ro f t h es t a n d a r d n e 舭r kp r o t o c o ls t a c kt of o r map r o t o c o ls t a c kf o rt h ea dh o cn e t w o r k g e n e r a l l ) , e x p a n d i n gt h es t a n d a r dp r o t o c o ls t a c ki s f i n i s h e di nt h ek e r n e lo ft h e o p e r a t i n gs y s t e m h o w e v e gw h e ni m p l e m e n t i n gt h ee x p a n d i n gp r o t o c o l s t a c kmt h e k e r n e lo fo p e r a t i n gs y s t e m ,t h ed e v e l o p e rn e e d st ok n o wm a n yk e r n e ld e t a i l sw h l c h a 诧 n o l tr e l a = t e dt od e v e l o p i n ge x p a n d i n gp r o t o c o ls t a c k a n di t i sr e a l l yh a r dt od e b u gt h e p r o t o c 0 1l a y e ri nt h ek e r n e lw h i c h c a u s e st h el o wd e v e l o p i n ge f f i c i e n c y e v e n t u a l l y , t h e s c a l a b i l i t ya n dt h ep o r t a b i l i t yo f t h ei m p l e m e n t i n gc o d ea r ev e r yp o o h t h e r e f o r e i ti sn e c e s s a r yt oi m p l e m e n tt h ee x p a n d e dp r o t o c o l l a y e r 1 nt h e u s e r s p a c eo fo p e r a t i n gs y s t e m e x p a n d i n gn e t w o r kp r o t o c o ls t a c k i nt h eu s e r s p a c ec a n m a k et h ed e v e l o p e r sf o c u so nd e v e l o p i n gt h ep r o t o c o ll a y e ri t s e l fw i t h o u tc o n g e r n m g t h ek e m e ld e t a i l st o om u c h a n dt h e r ea r ep o w e r f u ld e b u g g i n gt o o l si nt h eu s e 卜s p a c e w h i c hi su s e f u lt od e b u gt h ec o d e t h ee x p a n d e da dh o c n e t w o r kp r o t o c o ll a y e rr a i l sm t h eu s e r - s p a c ew h i c he n s u r e st h es c a l a b i l i t ya n d t h ep o r t a b i l i t y t h i sp a p e rm a i n l yi n t r o d u c e st h ei m p l e m e n t a t i o no fa l la dh o c n e t w o r kp r o t o c o l s t a c ki nm el i n u xu s e r - s p a c e f i r s t ,a n a l y z e t h er e q u i r e m e n t so fd e v e l o p i n g t h e u s e 卜s p a c ep r o t o c o ls t a c k s e c o n d ,d i s c u s st h es p e c i f i ct e c h n i q u e sw h i c h a r eu s e dt o s 0 1 v et h ep r o b l e m sf o rd e v e l o p i n gu s e r - s p a c ep r o t o c o l s t a c k t h i r d ,i n t r o d u c et h e g e n e r a lu s e r s p a c ep r o t o c o ll a y e re x p a n d i n gm o d ei m p l e m e n t e db y t h e s et e c h n l q u e s f i n a l l y ,i n t r o d u c et h et e s tr e s u l t so ft h ea dh o cp r o t o c o ls t a c ki m p l e m e n t e db v t h e g e n e r a le x p a n dm o d er t m n i n gi na l l e m u l a t i o ns y s t e mf o rt h ea dh o en e t w o r k s t h e r e s u l t sp r o v et h ev a l i d i 够o ft h eu s e r - s p a c ep r o t o c o ll a y e re x p a n d i n g m o d e t h i sp a p e ri sb a s e do ni m p l e m e n t i n gt h ea dh o ep r o t o c o ls t a c ko nl i n u x p l a t t o h n , b u tn o tc o 血n e di m p l e m e n t i n gi to nl i n u x w es t a r tf r o mi t t oa b s t r a c tag e n e r a lm o d e o fe x p a n d i n gp r o t o c o ll a y e ri nt h eu s e r - s p a c e t h i sg e n e r a lm o d eu s e s t h ev 1 n u a l i l a b s t r a c t n e t w o r ki n t e r f a c et e c h n i q u e w i t ht h i sm o d e ,t h ed e v e l o p e r sc a l ln o to n l yi m p l e m e n tt h e a dh o cn e t w o r kp r o t o c o ls t a c k ,b u ta l s oo t h e rp r o t o c o ls t a c kw h i c hu s e sd i f f e r e n t p r o t o c o l sa n da l g o r i t h m s k e y w o r d s :a dh o cn e t w o r k ,u s e 卜s p a c ep r o t o c o ls t a c k ,u s e r s p a c ep r o t o c o ll a y e r e x p a n d i n gm o d e i i i 图目录 图目录 图1 1 具有多个等级的无线自组织网络结构1 图1 2 无线节点物理结构2 图1 3 无线节点协议栈体系结构3 图2 1 通信节点结构6 图2 2 分裂协议栈模型7 图2 3l r n u x 协议栈层次结构图8 图2 4 设备无关接口层9 图2 5 虚拟网络接口技术1 3 图2 - 6w l c 层的纵向扩展1 4 图3 1 用户空间协议层扩展模型1 7 图3 2 用户空间协议栈数据流向的改变1 8 图3 3t i t a p 驱动原理2 1 图3 - 4t u n t a p 驱动收发过程2 3 图3 5l i b p c a p 原理2 7 图3 - 6 客户服务器模式的进程间通信3 0 图3 7 扩展协议层配置接口实现31 图3 8 用户空间扩展协议层的实现3 6 图4 1 纵向扩展模式的逻辑模型3 8 图4 2 用户空间协议层扩展模型3 9 图4 3 为数据包添a n 去除协议头部4 6 图4 - 4 扩展协议层与上下层的接口4 7 图4 5 多层扩展协议层4 8 图4 - 6n 烈t a p 驱动问题4 9 图4 7l i b p c a p 问题4 9 图4 8g e tu p p e ri d u 函数流程5 0 图4 9r e c vt ou p p e r 函数处理流程5 1 图4 1 0d e vl i s tx m i t 函数处理流程5 2 图4 1 1r e c vl o w e ri d u 函数处理流程5 3 v l 图目录 图4 1 2 图5 1 图5 2 图5 3 图5 - 4 图5 5 图5 - 6 图5 7 图5 8 图5 - 9 扩展协议层事件处理机制5 5 无线自组织网模拟演示系统构成5 6 半实物模拟系统框图5 7 半实物节点分裂协议栈结构5 8 用户空间r 接口绑定测试5 9 单层扩展通信测试6 0 单层扩展p i n g 测试结果6 1 e r h 0 绑定测试6 1 多层扩展通信测试6 2 多层扩展p i n g 测试结果6 2 v i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 签名引襁 日期:0 8 年 6 月弓 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:岔- 往 导师签名:琵名h 叫玲 日期:加谚年月弓日 第一章绪论 11 课题背景 第一童绪论 无线自组织网络( a dh o c ) 技术长期以来一直是一个热门的研究课题。a dh o e 网络又称为多跳网络( m u l t i - h o pn e t w o r k ) 、无固定网络设旌的网络( i n f r a s t r u c t u r e l e s sn e t w o r k ) 自组织( s e l fo r g a n i z i n g ) 网,自愈网或是对等网,它是一种逻辑意 义上的组网方式,即强调在不依赖基础网络设施的前提下由一定范围内的移动终 端动态建立的可以互联的网络。同时它还将现有的主要网络中广泛应用的中央控 制管理的功能进行分布式处理,由网络各个节点同步完成,从而提高了网络抗干 扰,抗故障的能力,也使其成为在许多特殊场合进行网络互联应用的主要方案。 本文所关心的无线自组织网是利用超短波高速数字传输电台实现的由一个顶 级、若干二级和若干三级无线自组织网络构成的三层结构的信息传输通信网络, 其中每个网络都是由多个无线节点构成的自组织网络,既实现网络内部的信息传 输又可以与上级或下级网络实现信息的传输,是一种多级子网互联的自组织网 络结构如图1 1 所示。 级蚋络 憋 图1 - 1具有多个等级的无线自组织网络结构 嚼 、压 , 、,_ 崔 憝黪| 、岬款彩 , 一x、 “器 弦_l缸谴、 - ,- 7 i r 支彰画 警、 ? 电子科技大学硕士学位论文 分级无线自组织网络中,无线节点是组网的基本单位。各级无线节点具有相 似的节点物理结构,由超短波数字传输电台、节点控制器、业务接口和电台接口 组成,如图i 一2 所示。具有网间路由功能的无线节点( 网关节点) 配置双电台结构, 一个是本子网的电台,作为本级网络的收发装置,另一个是子网互连的电台,提 供与互连子网的通信接入。 a ) 常规竹点 走。接声 业务子系统 曲曲 节点控制器 以太网 b ) 阿关节点 图1 - 2无线节点物理结构 针对此种网络的无线节点协议栈已经在l i n u x 内核中得到了实现,其协议体 系结构如图1 - 3 所示。从图中可以看出,为了实现无线自组织协议栈,需要对l i n u x 操作系统的标准t c p i p 协议栈进行扩展,在i p 层和m a c 层之间添加多个层次, 如无线链路控制层( w l c 层) 和电台接口,这些扩展协议层都以内核模块的形式 得到了实现,并应用到实际的项目中去。 但是,由于无线自组织网络技术本身的复杂性,针对无线自组织网络的通信 协议越来越复杂,将如此复杂的协议功能全部在l i n u x 内核中实现非常麻烦,由于 内核编程的限制,许多在用户空间才有的特性不能在内核开发时使用。例如内核 开发只能使用c 语言,没有十分方便的内核模块调试工具方便开发者调试和测试 第一章绪论 自己的软件。 如果能够将扩展的无线自组织协议栈从操作系统的内核中移植到具有更大编 程灵活性的用户空间,会为无线自组织协议栈的开发和应用带来极大的便利。 业务子系统 8 0 2 3 务接 节点控制器 8 0 2 3 无线链路访问 电毛 子网信道 无线链路访问 口 网间信道 超短波电台超短波电台 图i - 3无线节点协议栈体系结构 对于开发者来说,无需了解太多内核编程细节,同时没有了开发语言的限制, 可以自如的使用用户空间的调试工具调试、测试开发者开发的自组织协议栈。而 且由于自组织协议栈只是用户空间的一个进程,即使发生致命错误,也只需杀死 这个进程,而不像在内核中开发时,自组织协议栈是一个加载到内核中的模块, 一旦发生错误就会导致系统崩溃。所以,在用户空间实现自组织协议栈,使得开 发的难度大大降低。 当在用户空间实现无线自组织协议栈后,因为存在用户空间和内核之间的上 下文切换,因此会对用户空间协议栈的性能带来一定的影响。如果应用环境对协 议栈的性能要求较高,在用户空间实现测试好协议栈后,就需要将协议栈移植回 内核实现,如果用户空间协议栈的实现方式与内核类似,则这种移植就会比较方 便有效。 因此,有必要研究如何将无线自组织协议栈移植到l i n u x 用户空间实现,为高 3 il1 电子科技大学硕士学位论文 效的开发各种无线自组织协议栈提供一个便利的测试和应用平台,同时在需要将 无线自组织协议栈移植回内核时,只需进行很小的修改就可以很方便的实现。这 样的实现方案可以满足不同的应用需要,既可以加速开发的过程,也可以保证开 发的协议栈的效率。 1 2 研究现状 目前,对于将网络协议栈从内核移植到用户空间的研究并不多,而且大多是 将标准t c p i p 协议栈的i p 层以上的协议层移植到用户空间来实现。下面列出几种 在用户空间实现网络协议栈的技术和应用方向: 在文献【2 】中,作者实现了一个复杂的r e m p l i ( r e a l t i m ee n e r g ym a n a g e m e n t o v e rp o w e r - l i n e sa n di n t e m e t ) 网络的自定义的包括传送层和网络层的自定义协议 栈,用于利用电力传输线接入互联网。由于其传送层协议的复杂性,作者将这一 层移植到了l i n u x 用户空间实现,而网络层仍然实现在内核中。 在文献 3 】和 4 】中,作者都是把标准t c p i p 协议栈的一部分实现在用户空间, 以便对上层提供一些特殊的服务,如流媒体传输、q o s 等。 在文献 5 】中,作者提出了使用协议库来实现用户空间传输层的方案。 综上所述,这些研究有两个特点: 如果需要添加新的自定义网络协议,都是在标准t c p i p 协议栈的层次上 实现横向扩展,例如利用电力传输线接入互联网的协议栈 当需要将网络协议栈移植到用户空间实现时,基本上都是将网络层以上的 协议层移植到用户空间 因此,像无线自组织协议栈那样,对标准t c p i p 协议栈进行纵向扩展,即在 网络层以下添加新的协议层次,并且在用户空间实现的研究还并未涉及。 1 3 论文研究目标和内容 本文主要研究如何在l i n u x 用户空间实现无线自组织协议栈,在完成无线节点 功能的同时不影响原有协议栈的正常通信。针对这个课题,需要解决两个主要问 题: 如何对标准t c p i p 协议栈进行协议层的纵向扩展,为无线自组织协议栈 的实现提供条件 4 第一章绪论 设计在操作系统的用户空间实现无线自组织协议栈需要使用到的关键技 术 笔者立足于在l i n u x 用户空间实现课题中的无线节点协议栈,但并不局限于本 课题,而是从通用的角度出发,对关键技术加以提炼,形成一个通用的开发模型 为本论文的主要内容: l i n u x 协议栈的用户空间扩展模式。这种通用的扩展模式封装具体的技术 实现细节,通过向开发者提供一些通用的用户空间接口( 包括数据结构和接 口函数库) 解决无线节点协议栈实现过程中的难点。虽然这些模型起源于用 户空间无线自组织协议栈的实现过程,但它们本着解决一类问题的目标进行 设计,对其它类似的应用有很好的指导意义,因此具有较强的通用性。 1 4 论文结构 论文结构安排如下: 第一章介绍本论文的课题背景和研究内容。 第二章详细介绍无线自组织网络的无线节点协议栈,分析在标准t c p i p 协议 栈上的逻辑扩展模型。 第三章介绍实现从内核移植协议栈到用户空间的关键技术。

温馨提示

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

评论

0/150

提交评论