(通信与信息系统专业论文)虚拟多跳ad+hoc仿真器的设计与实现.pdf_第1页
(通信与信息系统专业论文)虚拟多跳ad+hoc仿真器的设计与实现.pdf_第2页
(通信与信息系统专业论文)虚拟多跳ad+hoc仿真器的设计与实现.pdf_第3页
(通信与信息系统专业论文)虚拟多跳ad+hoc仿真器的设计与实现.pdf_第4页
(通信与信息系统专业论文)虚拟多跳ad+hoc仿真器的设计与实现.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(通信与信息系统专业论文)虚拟多跳ad+hoc仿真器的设计与实现.pdf.pdf 免费下载

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

文档简介

东北大学硕士学位论文 摘要 虚拟多跳a dh o c 仿真器的设计与实现 摘要 近年来,随着网络技术的发展,a dh o c 网络,也叫无线自组织网络, 凭借其独特的结构和广泛使用的潜力,受到越来越多的关注和研究。但是 由于无线自组网的特点,导致了构建一个成熟的、易于大规模使用的系统 还存在很多困难。路由协议属于整个系统中的一项关键技术之,近年来 获得了一些突破,但在某些方面,如安全性上,还存在不少缺陷。所以急 需一种仿真软件或测试工具,来帮助人们研究无线自组织网络,实现无线 自组网为人类服务的目标。 因为无线自组织网络的特点,在成本和技术上很难在研究过程中搭建 真实的网络环境,而现行的n s 一2 等网络仿真软件主要是验证协议和算法 的正确性,对协议和算法进行量化分析和统计,对于协议在实旌阶段的测 试和验证却是无所适从。而一般测试床费用高,不易管理。为此本论文研 究设计了一种a dh o c 仿真平台,用以验证协议实施阶段的正确性,从而避 免对实际应用造成损失。a dh o c 仿真平台通过对网络底层的设置,在单跳 的共享网络中仿真了复杂的多跳网络环境,并且采用中心控制的方式,使 得能够在准真实的无线环境中测试网络层及以上层次的协议实现,克服了 仿真软件和测试床的不足。 关键词:a dh o e 网络仿真;虚拟拓扑;网络过滤 控制中t i f , 平台 i i 东北大学硕士学位论文hbstr a c t d e s i g na n di m p l e m e n t a t i o no ft h ev i r t u a l m u l t i - h o p a dh o cn e t w o r ke m u l a t i o n p l a t f o r m a b s t r a c t r e c e n t l y ,d e v e l o p e dw i t ht h en e t w o r kt e c h n o l o g y ,a dh o cn e t w o r k sa l s o a b s o r b sl o t so fconcernsa n dr es e a r c h e s ,b a s e do ni t ss p e c i a lh i b e r a r c h ya n d t h ep o t e n t i a lo fb r o a da p p l i c a t i o n t h ec h a r a c t e r i s t i c so fa dh o cn e t w o r k s l e a dt op r e t t yd i f f i c u l t i e st ob u l l dam a t u r ea n db r o a d l ya p p l i c a b l ea dh o c k i l l e ra p p l i c a t i o n ,t h er o u t i n gp r o t o c o lo fa dh o cn e t w o r k sm a yb et h eo n eo f t h em os tc r i t i c a l t e c h n o l o g i e si nt h ee n t i r e s ys t e m a l t h o u g hs o r t i e b 他a k t h r o u g h sh a v e b e e nm a d et h e s ey e a r s ,t h e r e s t i l la r ef l a w si ns o m e a s p e c t s ,s u c ha ss e c u r i t ya s p e c t s os i m u l a t i o ns o f t w a r eo rt e s tt 0 0 1 sa r e n e e d e dt oh e l pr e s e a r c h e so na dh o cn e t w o r k s ,i no r d e rt oa p p l ya dh o c b e n e f i tf o rh u m a ne a r l i e r i t ss t i l lh a r dt ob u i l dr e a la dh o cn e t w o r ke n v i r o n m e n td u r i n gr e s e a r c h pr o c e s sb e c a u s eo fi t sh i g hc o s ta n dt e c h n o l o g i c a ld i f f i c u l t i es n o w s o m e p l e v a l e n ts i m u l a t i o nt o o l s ,s u c ha sns - 2 ,a r ea i m e da tp r o v i n gt h ec o r r e c t n e s s a n da n a l y z i n gt h es t a t i s t i c so fp r o t o c o l sa n da l g o r i t h m s ,b u tn o tf o rt e s t i n g pr o t o c o l si m p l e m e n t a t i o n a n dp r o t o c o lt e s t b e d i s h i g h c o s ta n dn o tw e l l c o n t r o l l a b l e h e n c e ,i nt h i sp a p e r a na dh o ee m u l a t i o np l a t f o r mi sa d v a n c e d s p e c i a l l yf o rv a l i d a t i n gt h ep e r f o r m a n c ew h e np r o t o c o l si m p l e m e n t i n g b y r e c o n f i g u r i n gn e t w o r kl o w e rl a y e r s ,t h ep l a t f o r m c a nf a b r i c a t ec o m p l i c a t e m u l t i - h o pe n v i r o n m e n tt h r o u g hs i n g l e h o ps h a r e dw i r e l e s sn e t w o r k m o r e o v e r i tw i l lb e e a s yt og e n e r a t ev a r i o u sn e t w o r ke v e n t s ,w h i c hf a c i l i t a t et e s t i n g p r o t o c o l si m p l e m e n t a t i o ni nm o r er e a l i s t i ce n v i r o n m e n t k e yw o r d s :a dh o ce m u l a t i o n ;v i r t u a lt o p o l o g y ;n e t w o r kf i l t e r ;c o n t r o l ( 、e n t e r l i i 独创性声明 本人声明所呈交的学位论文是在导师的指导下完成的。论文 中取得的研究成果除加以标注和致谢的地方外,不包含其他人已 经发表或撰写过的研究成果,也不包括本人为获得其他学位而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均己 在论文中作了明确的说明并表示谢意。 学位论文作者签名:。却碑 日期:训夸m 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、使 用学位论文的规定:即学校有权保留并向国家有关部门或机构送 交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权东北 大学可以将学位论文的全部或部分内容编入有关数据库进行检 索、交流。( 如作者和导师同意网上交流,请在下方签名;否则视 为不同意。) 学位论文作者签名:。参1 屯彳 签字h 期:协l 。i 导师签名: 签字日期: 否饥 们b 辛,府 东北大学硕士学位论文 第一章绪论 第一章绪论 1 1 问题的提出 无线自组织网络是由一组自主的无线节点或终端相互结合而形成的, 独立于固定的基础设施并且采用分布式管理的网络,是一种自创造、自组 织和自管理网络i 】1 。 无线自组织网络最早在军事领域受到广泛关注,如空间卫星网络,现 在逐渐推广到民用场合,如虚拟教室、传感器网络和家庭网络中等。作为 1 种无线移动网络,无线自组织网络与传统的移动网络的一个主要区别足 无线自组织网络不依赖任何固定的网路设施,而是通过移动节点间的相互 协作来进行网络互连,即每个用户终端都兼有路由器和主机两种功能。除 此以外,它还具有网络的自组性、动态变化的网络拓扑结构、有限的传输 带宽、移动终端的局限性和分布式控制等特点【1 2 , 3 , 2 3 2 4 25 。 1 1 1 无线自组织网络特点 与其他通信网络相比,无线自组织网络具有以下特征f 4 j l : 1 1 ) 网络的自组性。a dh o c 网络可以在任何时刻任何地方构建,而不需要 现有的信息基础网络设施的支持,形成一个自由移动的通信网络。 ( 2 ) 动态的网络拓扑结构。从网络的网络层来看,a dh o e 网络中,移动节 点可以以任意的速度和任意方式在网中移动,加上无线发送装置发送 功率的变化、无线信道间的相互干扰因素、地形因素等的影响,节点 间通过无线信道形成的网络拓扑结构随时都会发生变化。 ( 3 ) 有限的无线传输带宽。无线信道本身的物理特性使a dh o c 网络的网络 带宽相对有线方式要低的多,另外还要考虑无线信道竞争时所产生的 信号衰落、碰撞、阻塞、噪声干扰等因素,这使得实际带宽要小的多。 f 4 ) 移动节点的处理能力有限性。a dh o c 网络中的移动节点内存小、c p u 处理能力低、所带电源有限使得a dh o e 网络的设计更加困难。 f 5 ) 安全性差。a dh o e 网络是一种无线方式的分布式结构,所以更加容易 被窃听、入侵、网络攻击和拒绝服务等。 ( 6 ) 网络的分布式。a dh o c 网络中的移动节点都兼有独立路由和主机功能, 不存在类似于基站的网络中心控制点,节点地位平等,采用分布式控 1 ! ! ! 坠兰塑主堂堡垒叁 整二主竺垒 制方式,增强了网络健壮性。 ( 7 ) 生存时间短。组网通常是由于某个特定原因两临时创建的,使用结束 后,网络环境将会自动消失。a dh o c 网络的生存时间相对于固定网络 而言是短暂的。 综卜所述,传统有线和无线网络技术不能直接应用于无线自组织网络, 必须根据无线自组织网络的特点加以改进或重新设计。 因为自组网中结点的传输范围有限,源结点在向目的节点发送数据时, 通常需要其他节点的辅助,所以在无线自组织网络技术中,路由协议4 ! 是很关键的部分1 26 | 。 从功能上讲,路由协议是通信网络中的套将业务数据从源节点指引 到只的节点的机制。路由协议的主要设计目标是:满足应用需要的同时, 尽量降低网络开销,取得资源利用的整体有效性,扩大网络吞吐量。自组 网的路由协议的设计需要综合考虑用户业务需求、网络能力、自组网的特 点和运行环境、路由协议基本功能等诸多因素。 所以,为i n t e r n e t 设计的许多路由协议( 如r i p 、o s p f 等) 并不能直 接适用于自组网,主要原因是在网络拓扑结构快速变化的情况下,协议无 法及时收敛,产生大量的不可靠路由和路由环路,而且路由开销过大f 8 ,9 】。 为了适应自组网的需要,必须设计新的路由协议。 1 1 2 无线自组织网络路由协议的研究手段 目前,进行网络路由协议研究主要采用分析建模、实验测试和网络仿 真等方法。 由于分析建模是基于数学推导的,有时为了计算的方便,常常采用了 条件假定和建立理想模型等处理手段,这样其推导的结果是不能完全反应 现实世界中的真实情况,另外有些问题也存在数学推导困难的情况。人们 在实际使用中发现,分析技术只能在一些理想的和比较简单的情况一r 才能 起到较好的作用,由于a dh o c 网络拓扑的复杂性和时变特性,对其性能进 行理论评估是极端困难的。 实验测试是建立一个试验网络来真实模拟网络环境,得到的结果可能 更准确。在国外,已经有不少的研究机构或大学搭建了庞大的测试床,但 高昂的造价和建造的复杂性使其无法广泛应用,而且物理层和m a c 层的技 术也不是十分成熟,现有的专用硬件平台可能很快就会跟不上技术的发展, 以至于无法获得预研协议的性能。 2 东北大学硕士学位论文第一章绪论 网络仿真是利用相关的软件技术,构造网络拓扑、实现网络协议、测 评网络性能的网络虚拟技术,它能获取特定的网络特性参数,进而可对网 络性能进行研究和分析,达到改善网络运行状况的目的,以其灵活性、高 效性和低费用等优点而成为网络研究的重要手段,是一种更为可行、方便、 高效的性能验证和分析方案并广为应用。 当前,计算机仿真成为目前研究a dh o c 网络路由协议的有效手段之 一。现阶段常用的仿真方式是,通过计算机网络仿真软件在一台计算机上 模拟出整个网络的拓扑变化和数据包的传递。下一节将会介绍一些常用的 仿真软件,它们各有优点,但是又有局限性,需要有更能接近真实网络环 境的,廉价的仿真平台。 1 2 现有主流的网络仿真软件和测试平台及其不足 目前,使用最广泛的网络仿真工具n s 2 、o p n e t 等等。这2 款软件 的差别很大,本论文从用户的角度对各自的特点分别介绍。另外,几种较 知名的无线自组网测试平台也会有所介绍。同时,他们各自的研究侧重以 及存在的一些问题也会在论文中阐述。 1 2 1 主流的网络仿真软件 ( 1 ) n s 一2 n s - 2 源自r e a l 最初由伯克利加州大学和v i n y ( v i r t u a l i n t e r n e t t es t b e d l 项目组开发,是一种着眼于测试和验证当前和未来因特网协议的 全网络仿真器,后由卡内基梅隆大学的m o n a r c h 项目组扩展以提供对无 线网络的支持。 n s 一2 是一个用c + + 语言编写的、面向对象的、离散事件驱动的网络仿 真器,它使用o t c l ( o b j e c tt o o lc o m m a n dl a n g u a g e ) 作为命令和配置接口。 n s 一2 提供一个分离编程模型( s p l i tp r o g r a m m i n gm o d e l ) ,即采用系统编程语 言c + + 和脚本编程语言o t c l 共同开发。 在此模型中,n s 2 作为o t c l 脚本解释器,由事件调度器、网络组件对象 和网络组装模块库组成。其中,事件调度器和网络组件,即协议的详细化实 现( 例如包处理) 由c + + 完成,从而可以高效地管理字节和包头,并实现在 大量数据集合上的算法;仿真配置由t c l 实现,以便迅速改变配置参数和设 置场景,使性能和灵活性得到均衡。 3 东北大学硕士学位论丈 第一章绪论 n s 一2 中无线模型的核心为移动节点对象,它是一个分离对象。c + + 类中 的m o b i l e n o d e 从父类n o d e 中派生,实现包括节点移动、周期位置更新、维 护拓扑边界等移动属性,而类似分类器、分用、链路层、m a c 、信道等阀 络组件的组装则由o t c l 完成。移动节点、选路机制和网络组件为移动节点 构造协议栈。网络组件主要包括信道、网络接口、无线传输模型、m a c 协 议、接口队列、链路层和地址解析协议模型1 2 8 , 2 9 1 。 现在不但提供了无线网络的多跳支持而且具有较好的物理层模块和 l e e e8 0 2 1 l 接入层的模型【1o ,2 3 ,3 叭。 n s 2 的缺点源自它是开源软件的出身。首先,文档较少且大多陈u , 所幸的是,这个问题或许可以通过查看更新很快的新阔组或源代码来解决。 其次,在不同版本问代码的连贯性有时比较缺乏。最后,没有一个很好的 工具来描述模拟场景,以及分析和可视化模拟后t r a c e 文件。通常的工具都 是用脚本语言写的。没有个通用性的工具可能导致用同一个计量单位, 不同的入测量到不同的数值。 n s 一2 的学习曲线是很陡峭的,而且因为模拟器的c + + o t c l 分离对象 模型机制,代码调试起来很困难。更大的瓶颈是当模拟成千上百个节点的 时候,n s 2 太耗内存且缺乏可测量性。 ( 2 1o p n e tm o d e l e r o p n e tm o d e l e r 是由o p n e t 公司推出的一款功能强大的网络模拟器。它 能够模拟所有种类的有线网络,也提供了8 0 2 1 1 兼容型m a c 层的实现。尽 管o p n e t 倾向于公司商用,用于分析和重新组织他们的网络,但是通过充用 现存的组件,也可以用来实现某一算法。配置的大多数部分是通过层次型 的用户图形界面来组成的。 配置过程基本上是按照下面的阶段: 首先,选择和配置在模拟中用到节点模型,比如,个无线节点。一 台工作站,一个防火墙,路由器或者是w e b l 艮务器。然后,建立和组织网络, 通过连接不同的网络实体。最后一部是选择模拟过程中需要用到的统计数 据。 使用o p n e tm o d e l e r 的难点是,建立协议栈中每一个有限状态机。从 伪代码算法很难抽象出状态机。但是不管怎样,状态机是是离散模拟器的 最实际的输入。概括的说,重用许多现存的组件( m a c 层,收发机,链路 等等) 来改进配置过程是有可能的。但是另一方面,任何新的特性必须被 一 东北大学硕士学位论文第一章绪论 描述为有限状态机,所以调试,扩展和检验都比较困难”1 。 n s 一2 、o p n e t 等仿真软件可以对网络协议栈各层进行不同粒度的模拟, 这种模拟方式对研究网络的协议和算法有很大的益处;可以从仿真数据中 获取路由开销等数据,用来评估网络协议的各个方面的特性。所以对于验 证协议和算法的正确性,对协议和算法进行量化分析和统计,使用n s - 2 这 类仿真平台是最好的选择。但是该类仿真软件是基于算法和协议正确性方 面的模拟,对于协议在实施阶段的测试和验证确是无所适从,所以应有专 门的方法或测试工具来验证协议实施的正确性。 1 2 2 无线自组网测试平台 全世界已经有很多研究者为他们的实验搭建了无线移动测试床 ( t e s t b e d ) ,有一些架设的是全规模的无线局域网,仅仅用于试验的目的。 有一些测试床试图减少用于布置整个测试环境的物理空间,但不牺牲物理 信道的本质特性。 f 1 1c m u d s r t ”1 : 用来测试无线自组网中动态源路由协议d s r 的,该测试床设计了5 个 移动节点,2 个静态节点,分布在7 0 0 米+ 3 0 0 米的区域内。把笔记本电脑 放在移动的车中来充当移动节点。 ( 2 1a p el 】( 无线自组网协议评测床,a dh o cp r o t o c o le v a l u a t i o nt e s t b e d ) 用于对不同路由协议进行比较性的研究,与其他任何多跳无限测试床 类似,a p e 也使用大空间分布节点。节点是通过人工放置的,拓扑是通过 a p e v i e w 辅助生成的,a p e v i e w 是记录驱动的动画工具,用于显示节点 的方位和连接性。通过让志愿者带着笔记本按设计好的路线移动来获得节 点的移动性 f3 ) e w a n t i - 18 1 ( 无线自组网仿真测试床,e m u l a t e dw ir e l e s sa dh o cn e t w o r k t e s t b e d ) 用于提供一个廉价的无线研究环境,使用衰减器和屏蔽来缩减无线电 的传播范围,把一个p c 卡和4 个外部天线通过1 :4 射频分频器连接,并 切换这些天线之间的传输。 这三个测试平台有其各自的特点,但是缺点也很明显。一是配置困难, 费用很高,二是需要有志愿者,在室外较大范围的移动,不方便控制管理。 东北大学硕士学位论丈 第一章绪论 三是节点个数不易扩展,只能适用于节点较少的情况下f 4 1 。 1 3 本文的研究内容 为了高效实时的检测a dh o c 路由协议在实施阶段的运行情况,吸收卜 述仿真软件在算法分析方面的优势,同时不丧失真实的无线传输特性,又 避免成本过高,配置复杂,难于管理的缺点,本文设计并实现了一个仿真 平台。该仿真环境基于分布运行并集中控制的思想:在各个分布式终端运 行真正的路由协议,而在中心控制端通过虚拟移动和虚拟拓扑管理控制多 个分布式终端来仿真复杂的网络拓扑。从而克服了n s 2 、o p n e t 等仿真软 件的真实性上的缺陷和原始测试方式效率低下等问题。本文称该仿真环境 为v m a n e 一v i r t u a lm u l t i h o pa dh o cn e t w o r ke m u l a t o r ,虚拟多跳无线 自组网仿真器( 平台) 。 本论文其他部分包括以下内容:第二章首先对本仿真平台的设计思路 和重要概念做了论述,然后对该仿真平台前期工作和所存在的问题作了详 细的说明,并提出了对此的改进方案;第三章简要介绍了本仿真平台采用 的一些关键技术一一l i n u x 下t c p 1 p 协议栈以及n e t f i l l e r 框架的基本结构 和实现细节:第四章介绍了发展迅猛的无线局域网8 0 2 1 1 技术,主要分析 了其m a c 层的功能,也就是无线网卡的基本功能;随后,第五章对仿真平 台各个模块的实现做了详细的说明,并做了一些功能测试。第六章是全文 的总结,以及在今后工作中需要完善的地方。 东北大学硕士学位论文 第二章v m a n e 中设计思想和对前期实现的改进方案 第二章v m a n e 中设计思想和对前期实现 的改进方案 本章将论述v m a n e 仿真平台所采取的主要思想和本文后面章节会多 次提及的一些基本概念。并对前期的研究成果进行了分析,并提出了在其 基础上的改进方案。 2 1 设计思想 无线传输的性质,导致了在a dh o c 路由协议实现阶段对其调试、测试 和验证的困难。因为每个无线节点都有其自己的传输距离,以及单向传播 问题的存在,几乎没有一个节点能在同一时刻与网络中所有的节点直接通 信,也就是说,无法对网络中所有节点进行实时的监控和管理。 通常的网络仿真软件是从理论上验证各种网络协议是否符合设计标 准,并未考虑到网络协议实施阶段的验证和测试。而由于网络的地域性、 拓扑的复杂性和较小的问题再现性,使得在最后的实施阶段,对弼络协议 的测试难度大、效率低。 本文所提出的v m a n e 方案正是为了解决网络路由协议在实施阶段遇 到的问题,它是对a dh o c 路由协议的实现阶段进行仿真,这与n s 2 仿真 平台验证a dh o c 路由协议算法的正确性不在同一验证层次上,两者之间没 有本质的冲突。 对路由协议的测试包括很多方面,寻径的正确性、网络开销、延时、 负载均衡等都是需要考虑的方面,其中很多方面可以通过n s 一2 平台的仿真 进行验证。在路由协议的实施阶段,需要验证a dh o c 路由协议的正确运行, 主要体现在运行的程序能否按照路由协议的算法进行正确选路,同时可以 实时获得每个终端节点的路由表及相关信息。在该仿真平台中,任意两个 节点都可以在物理信道上进行直接通信,其通信距离为单跳。其中的一个 节点作为中心控制端,而其他节点作为分布式终端。 2 1 1 虚拟多跳 每个终端节点的网络协议栈嵌入一个过滤器,任何经过节点协议栈的 7 东北大学硕士学位论文 第二章v m a n e 申设计思想和对前期实现的改进方案 数据包,在路由之前都需要经过过滤器的处理。 过滤器中,维护着该节点可直接通信的邻居节点的m a c 地址列表。每 个数据包到达时,如果其来源在上述m a c 地址列表中存在,则过滤器让其 j f 常通过,否则丢弃该数据包。 通过这样的设置,可强制两个原本可以直接通信的终端节点必须经过 其它节点的中转才能进行通信,这是v m a n e 仿真平台中共享单跳网络模 拟成多跳的、复杂的a dh o c 拓扑结构的基本原理。 由此引出本文的两个重要概念:通过设置使原本可以直接通信的两节 点必须经过其他节点的转发才能通信,这样的机制叫做虚拟多跳,由这样 的一些节点组成的网络拓扑就叫做虚拟拓扑。 2 1 2 中心控制 邻居节点m a c 地址列表是由中心控制端控制的,该节点与其它终端节 点保持实时通信,但是不参与路由的转发,而是作为控制和监视其它节点 的管理平台,本文称其为控制中心或中心控制端。 控制中心工作的时候,维护一个虚拟网络拓扑,实时调度网络中的节 点:当网络拓扑中的节点按内置或自定义规则移动之后,控制中心负责通 知相关的终端节点更新自己的邻居节点m a c 地址列表。由于这样的集中控 制特性,控制中心能够实时的搜集到各个终端节点的路由信息与数据信息, 避免了普通测试平台效率低下,人员流动性大,不易管理,问题再现性小 的缺点。 2 2 基于j a v a 的v m a n e 控制中心设计的缺陷分析 在2 0 0 4 年10 月份,该仿真平台的一些思想就已经被提出,经过一段 时间的开发和调试,至2 0 0 5 年3 月,一些基本功能已经实现,特别是在中 心控制端已经有在功能上比较完善的解决方案,本论文的研究是在此基础 上实现终端节点的过滤部分,以及无线网卡的驱动实现及调试,并进一步 的完善中心控制端的功能及操作。 当时,考虑j a v a 的跨平台特性,为了在实验室s u n 服务器上运行, 也为了在普通p c 上能够调试的方便,控制中心平台使用j a v a 语言和其 s w i n g 图形库开发。 j a y a 语言是一门高度面向对象的语言,语法简单,开发速度较快; s w i n g 图形库是j a v a 2 平台的标准图形库。 8 一 东北大学硕士学位论文第二章v m a n e 中设计思想和对前期实现的改进方案 控制中心平台最终将被部署到s u ns o l a r is 平台,便于高速的处理多个 节点的大量数据。 控制中心平台按照功能,可划分为以下模块:虚拟节点模型模块、控 制模块、通信模块、显示模块及调试模块。 ( 1 ) 虚拟节点模型模块 虚拟节点模型模块负责建立终端节点对应的控制中心平台上虚拟节点 的模型,这个模型由n o d e 类来实现。n o d e 类作为虚拟节点的模型,模拟 了终端节点的运行情况,即拓扑的变化。 n o d e 类的属性包含了节点的i d 、位置1 坐标、运动速率和运行轨迹、 无线信号传播范围和节点运行状态等,这些属性可以唯一的表示个a d h o c 节点。n o d e 类还包含i p 地址与m a c 地址、邻居节点l d 列表等属性, 这些属性用于控制中心平台与真实的终端节点建立通信和交互信息。n o d e 类中还包括一些静态属性,代表节点运动的常量,如最大速率、最大广播 范围等。 n o d e 类中主要的方法为m o v e ( ) 方法。m o v e ( ) 将虚拟节点按照运动速率 和运行轨迹,将其在控制中心平台上的虚拟场景中移动,每个间隔( 间隔 可以在设置,如ls ) 内移动一次。 ( 2 ) 控制模块 控制模块接收来自各个终端节点和控制中心平台的指令,并根据指令 的内容做出相应的操作。 控制模块包括: n o d e c o n t a i n e r 类提供了管理节点的功能,如在容器中添加、删除节点 等;同时还提供了对所有节点进行群集操作的功能,如果全部节点的移动、 计算节点的邻居列表等。 n o d e r u n t i m e 类用于存储与控制中心平台运行期相关的一些全局信 息。 ( 3 ) 通信模块 通信模块负责与终端节点建立通信连接,发送接受控制命令和信息。 通信模块包括p r o t o c o l 接口、s e r v e r 类,c t r l s e r v e r 类和i n f o s e r v e r 类。 p r o t o c 0 1 类定义了控制中心平台与终端节点之间的通信协议,以及相 关的一些常量。s e r v e r 类定义了通信服务的模版,c t r l s e r v e r 类和i n f o s e r v e r 东北大学硕士学位论文 第二章v m a n e 中设计思想和对前期实现的改进方案 类就是在s e r v e r 类的基础上定制了自身的通信服务,派生于s e r v e r 类。 在控制中心和终端节点的通信中,考虑到无线局域网内节点真实无线 环境( 任何两个终端节点都在单跳通信范围之内) ,以及大量的数据传输, 乎台中使用了u d p 协泼进行通信。 c t r l s e r v e r 用来接收控制相关的报文,包括连接响应报文和运行状态请 求报文,缺省的端口为2 8 0 0 0 ;l n f o s e r v e r 用来接收数据相关的报文,如路 出路径信息报文,缺省端口为2 8 0 0 1 。 ( 4 ) 显示模块 显示模块负责绘制整个控制中心平台,绘制虚拟节点及其相关图形, l 刊时接收并处理各种控件事件。 显示模块包括c o n t r o l c e n t e r 类、m a i n f r a m e 类、n o d e c a n v a s p a n e l 类、 n o d e v i e w 类、c o n t r o l p a n e l 类、g r i d p a n e l 类、gj 0 b a l c o n t r o l p a n e i 类和 n a d e c o n t r o l p a n e l 类。c o n t r o l c e n t e f 类为程序运行的主类。在m a i n 方法巾 创建并显示了m a i n f r a m e 主窗体,并将感观设置为w i n d o w s 风格。 5 ) 调试模块 调试模块目前只包括c o n s o l e 类,该类负责向j a v a 控制台输出各种信 窟、。 c o n s o l e 类包括4 个静态方法,这些方法向j a v a 控制台输出信息。 e r r o r 方法输出软件的出错信息,w a r n 方法输出警告信息,i n f o 方法 输出运行阶段的状态信息,d e b u g 方法输出调试信息。 2 3 对原有解决方案的改进设计 2 3 i 缺陷分析 原方案是基于j a v a 实现的,为了在s u n 服务器上配置,当时考虑到 了j a v a 的跨平台特性。但是j a v a 本身有一些特性决定了,j a v a 不适合在 该项目中使用,或者是不能用在控制中心的主要功能的实现。 首先,j a v a 的运行速度和c c + + 比起来慢是一个很大的缺陷,目前还 无法解决。通过中间形式的字节码,虽然提供了跨平台特性,但对性能的 影响是致命的。 其次,j a v a 的侧重领域在于网络应用层的软件,如w e bs e r v i c e 、j s p 等的开发和企业级管理软件e r p 的开发,而在网络底层协议级开发和高 1 0 东北大学硕士学位论文 第二章v m a n e 中设计思想和对前期实现的改进方案 c p u 处理量的仿真软件并不适合j a v a 。在网络底层协议级这一领域,是c 以及c 十+ 的所擅长的。 再次,虽然原控制中心也被划分为虚拟节点模型模块、控制模块、通 信模块、显示模块及调试模块等五个模块,但在功能上和逻辑上有冗余和 重叠。对仿真平台来说,一个离散事件调度器是必不可少的,包括事件的 触发,分配,和处理。所以把这部分单独划出做进一步的设计,也可以在 适当的时候扩展。 另外,在终端节点的网络过滤部分,原设计部分没有考虑对路由协议 软件的透明性,导致在使用路由协议的时候,还要配置仿真平台;原仿真 平台虽然提出了基于无线局域网的思想,但由于种种的原因,无线网络适 配器并没有被正确的配置安装,是由有线局域网代替的。在本论文的实现 巾,无线网卡已经配置成功,可以在l i n u x 运行。 无线网卡的传输速率是通过其设备驱动来调节的,而该仿真平台要求 能在控制中心控制传输速率的改变,所以需要在终端节点中加入一种机制, 有两种方案: 其一,数据包过滤模块中解析控制中心的命令,在必要的时候可以给 无线网卡发送命令,让其改变传输速率; 其二,是直接在无线网卡驱动中加入解析控制中心命令的功能,而不 再上传到n e t f i l t e r ,虽然提高了效率,但是因为控制中心的命令字是封装 在u d p 包中,如果直接让无线网卡设备直接读取u d p 包,会破坏了协议 栈的层次性,且操作复杂,可能产生不可预知的问题,所以在可以接受的 效率损失下,本论文选择了上一种方案。 本论文把无线网络数据采集那部分设计到控制中心中,是考虑了控制 中心的与其它终端节点都能通信的特殊性( 无线共享信道) 。 通常,路由协议实现中都会包含日志功能,记录了正常和异常的路由 控制信息,所以在过滤模块中无须实现。 2 3 2 改进方案 经过对原有解决方案的缺陷分析,本文提出了结构更加完善的方案。 对控制中心及终端节点的划分更加明确和模块化,增强了可扩展性。现有 v m a n e 体系结构图如下图2 1 所示: 存图2 1 中,仿真平台是以模块化的方式实现的,每一部分相对独立, 之间通过统一定义的接口连接,主要分为两部分,终端节点和控制中心。 一1 1 东北大学硕士学位论文 第二章v m a n e 中设计思想和对前期实现的改进方案 该仿真平台对于路由协议来说是透明的,可以在此上运行任意的路由 叻、议,路由协议可以集成在z e b r a 中,由z e b r a 来向内核提供统一的调用接 【j ,也可以把路由协议实现为单独的守护进程。通过这种方式实现了 v m a n e 仿真平台的协议无关性。 图2 1v m a n e 仿真平台的功能模块图 f i g 2 】l o g ic a ls l r u c t u r eo ff u n c t i o n a lm o d u l e so fv m a n e 终端节点的过滤和采集功能是以l i n u x 内核模块的形式提供。内核模 块需要接收控制中心发来的控制信息维护m a c 地址列表,根据此表对其他 终端节点发来的数据进行过滤。过滤层对路由守护进程是透明的,所以尽 可能的提高过滤层的执行效率,来减少对路由协议的性能的影响。为了尽 可能的接近无线信道的特征,并且无其他干扰,本方案使用无线网卡来进 行路由和数据的传输,而把控制信息通过有线的以太网传输。也就是说每 个节点需要有两个网络接口。 无线网卡必须有l i n u x 内核的支持,为了有效的实现无线网卡a dh o c 模式的互通性,本文选择符合8 0 2 1 1g 标准的无线网卡,利用它提供的a d h o c 模式来以及速率调节实现真实的信道环境。前面的章节已经论述过, 无线局域网与个域网是自组网在民用中较为成熟的应用领域。它们利用了 自组网的节点可移动,可临时组网的特点。但是当前的w l a n 和p a n 。 般不支持多跳,因此当前的w l a n 和p a n 一般只包括物理层和m a c 层的 实现,没有涉及到路由的问题。路由以及节点多跳的问题就需要在本仿真 甲台中来解决。 一1 2 一 东北大学硕士学位论文 第二章v m a n e 中设计思想和对前期实现的改进方案 控制中心负责将虚拟网络拓扑中的节点参数等控制信息通过有线网络 ( 包括坐标,移动速率,移动轨迹以及与其他节点的有效距离1 通知相应的 终端节点的过滤器模块,同时,由无线网卡收集其他终端节点传输的数据 包,统计并以时间戳顺序记录路径信息。在实验开始前控制中心需要用户 输入场景信息和流量信息,然后生成虚拟的网络拓扑及启动仿真过程。 从图2 1 可以看出,整个v m a n e 的实现包括两个部分,终端节点的 m a c 层滤包处理及无线网卡驱动实现和中心控制端的拓扑模拟及拓扑信 息通告,在第三、第四章中分别讨论这两部分模块涉及的技术基础,在第 五章中将详细描述这两部分的设计实现。 2 4 小结 本章介绍了仿真平台基于的思想,并对原实现部分功能进行了一些分 析,提出了改进方案。 1 3 东北大学硕士学位论文 第三章v m a n e 中包过滤技术的研究 第三章v m a n e 中包过滤技术的研究 本章从l i n u x 的网络协议栈展开,论述了l i n u x 中i p v 4 数据包过滤技 术和n e t f i l t e r 机制,并对实现仿真平台包过滤功能的所需的技术细节和相 关问题进行了讨论。 3 1l i n u x 协议栈简介 b s d 是u n l x 系统中通用的网络接口,它不仅支持各种不同的网络类 型,而且也是一种内部进程之间的通信机制。两个通信进程都用一个套接 厂l 来描述通信链路的两端。套接r 可以认为是一种特殊的管道,但和管道 不同的是,套接口对于可以容纳的数据的大小没有限制。 l i n u x 支持多种类型的套接口,也叫做套接口寻址族,这是因为每种类 型的套接口都有自己的寻址方法。l i n u x 支持以下的套接口类型: u n i x 域套接口 i n f ti n t e r n e t 地址族t c p i p 协议支持通信。 a x 2 5a m a t e u rr a d i ox 2 5 1 p xn o v e l l1 p x a p p i e t a i ,ka p p l e t a l kd d p x 2 5x 2 5 这些类型的套接v i 代表各种不同的连接服务。 l i n u x 的b s d 套接口支持下丽的几种套接口类型: ( 1 1 流式( s t r e a m ) 提供了可靠的双向顺序数据流连接。可以保证数据传输中的完整性、 正确性和单一性。i n e t 寻址族中t c p 协议支持这种类型。 ( 2 ) 数据报( d a t a g r a m ) 这种类型的套接口也可以像流式套接口样提供双向的数据传输,但 它们不能保证传输的数据一定能够到达目的节点。即使数据能够到达,也 无法保证数据以正确的顺序到达以及数据的单一性、正确性。u d p 协议支 持这种类型的套接口。 ( 3 ) 原始( r a w ) 这种类型的套接口允许进程直接存取下层的协议。 f 4 1 可靠递送消息( r e l i a b l ed e l i v e r e dm e s s a g e s ) 一1 4 东北大学硕士学位论文 蔓三主塑垒型! 垫堇壅垫查箜堑塞 只能保证数据的到达。 这种套接口和数据报套接1 2 1 一样 ( 5 1 顺序数据包( s e q u e n c e dp a c k e t s ) 这种套接口和流式套接口相同,除了数据包的大小是固定的。 ( 6 ) 数据包( p a c k e t ) 这不是标准的b s d 套接口类型,而是l i n u x 中的一种扩展。它允许 进程直接存取设备层的数据包。 i n e t 套接口层包括支持t c p i p 协议的i n t e r n e t 地址族。正如上面提 到的,这些协议是分层的,每一个协议都使用另一个协议的服务。l i n u x 系统中的t c p i p 代码和数据结构也反映了这种分层的思想。它和b s d 套 接口层的接口是通过一系列与i n t e r n e t 地址族有关的套接口操作来实现的, 而这些套接口操作是在网络初始化的过程中由i n e t 套接口层在b s d 套 接口层中注册的。这些操作和其他地址族的操作一样保存在p o p s 向量中。 b s d 套接口层通过i n e t 的p r o t oo p s 数据结构来调用与i n e t 层有关 的套接口子程序来实现有关i n e t 层的服务。 例如,当b s d 套接口创建一个发送给i n e t 地址族的请求时将会使用 i n e t 的套接口创建功能。b s d 套接口层将会把套接口数据结构传递给每 一个操作中的i n e t 层。i n e t 套接口层在它自己的数据结构s o c k 中而不 是在b s d 套接口的数据结构中插入有关t c p i p 的信息,但s o c k 数据结构 是和bsd 套接口的数据结构有关的。它使用b s d 套接口中的数据指针来 连接s o c k 数据结构和b s d 套接口数据结构,这意味着以后的l n e t 套接 口调用可以十分方便地得到s o c k 数据结构。数据结构s o c k 中的协议操作 指针也会在创建时设置好,并且此指针是和所需要的协议有关的。 l i n u x 的网络接口分为四部分:网络设备接口部分,网络接口核心部分, 网络协议族部分,以及网络接口s o c k e t 层。 网络设备接口部分主要负责从物理介质接收和发送数据。实现的文件 在l i n u x d r i v e r n e t 目录下面。无线网卡设备驱动也是在这个层次。 网络接口核心部分是整个网络接口的关键部位,它为网络协议提供统 一的发送接口,屏蔽各种各样的物理介质,同时有负责把来自下层的包向 合适的协议配送。它是网络接口的中枢部分。它的主要实现文件在 l i n u x ,n e t c o r e 目录下,其中l i n u x n e t c o r e d e v c 为主要管理文件。 网络协议族部分是各种具体协议实现的部分。l i n u x 支持t c p i p ,i p x , x 2 5 ,a p p l e t a l k 等的协议,各种具体协议实现的源码在l i n u x n e t

温馨提示

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

评论

0/150

提交评论