




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 无线传感器网络是当前国际上备受关注的、由多学科高度交叉的新兴前沿研 究热点领域。由于无线传感器网络自身的特点,实际网络系统的实现代价高且难 以实现,为更好地验证网络通讯、协议、算法的性能,模拟则成为测试、评估和 验证的重要手段。网络模拟有着周期小、成本低等特点,使之广泛应用于研究中。 在提出的新型多层移动无线传感器网络体系结构下,本文以网络模拟软件n s 为基础,扩展物理层的信息收发控制模型,并在应用层添加功率改变服务,使其 适应不同通信范围下的多层次移动节点的信息传输。模拟实现了多层次的无线传 感器网络平台m u l t i p l e 一1 e v e ln s ( m l n s ) ,以适用于多层移动传感网络中信息 采集的模拟测试。 为了及时、可靠、低耗能地收集网络信息,提高网络的扩展性和延长网络的 生存周期,大规模无线传感网络按节点的角色不同,网络划分为传感器节点 s ( s e n s o r ) 、熔合节点f ( f u s i o n ) 和中央控制节点c ( c o n t r 0 1 ) 三层,三层节点处 理能力依次增强,复杂度依次增大,相互协作完成无线传感网络任务。f 层节点 随s 节点的移动而移动,在f 节点和c 节点上,实现一种基于簇的中间件架构, 根据功能和协作方式建立多层模型w s n ,以更有效的获取传感器数据并易于整体 网络的控制。 在新型多层移动传感器网络体系结构中,详细分析了各层节点的基本功能, 并规划节点的受控移动控制策略以保证信息的有效收集。结合n s 一2 现有的无线 传感网络模型,重点对物理层的信息收发控制模型和发送功率服务进行添加和扩 展,实现不同层次节点的通讯功能,给出了各功能模块实现的具体方案。针对物 理层和发射功率服务,编写c 十+ 对象模型集成至n s 一2 中,并以t c l 编写f 与s 节点的移动策略,实现m l n s 模拟。在m l n s 进行网络性能测试中,通过分析处理 结果数据表明,m l n s 模拟平台实现了多层节点的随机移动、数据采集和网络体 系结构信息的可靠传输。 关键字:无线传感器网络;网络模拟;m l n s ;模型;发射功率 a b s t r a c t w i r e l e s ss e n s o rn e t w o r ki sav e r yi m p o r t a n tr e s e a r c ha r e a , w h i c hb a s e do n an e w i n t e r - c r o s sd i s c i p l i n e a si t sc h a r a c t e r i s t i ci m p l e m e n tn e t w o r ks y s t e mi sv e r y e x p e n s i v e ,a n di ti sv e r yd i f f i c u l t yt od o f o rv a l i d a t i n gt h ep e r f o r m a n c e o fn e t w o r k c o m m u n i c a t i o n ,p r o t o c o l ,a l g o r i t h m ,s i m u l a t i o n i sab e s tc h o i c et ov e r i f yp r o t o c o l s a n da l g o r i t h m si nw i r e l e s ss e n s o r , w h i c hh a ss h o r tp e r i o da n d l o wc o s t ,i ti sw i d e l y u s e di nt h er e s e a r c h u n d e rp r o p o s i n gan e wm u l t i - l a y e ra r c h i t e c t u r eo fw i r e l e s ss e n s o rn e t w o r k s ,t h i s p a p e r b a s e do nn s 2 ,w es e tu pa nn e wn o d e ,e x p a n dt h ei n f o r m a t i o nm o d e lo f s e n d i n ga n dr e c e i v i n gi nt h ep h y s i c a ll a y e r ,a n da d d i n ga d a p t a b l ep o w e r m o d u l ei n a p p l i c a t i o nl a y e r ,i no r d e rt oc o o r d i n a t ew i t h t h en e wa r c h i t e c t u r e f i n a l l y ,w e i m p l e m e n tam u l t i p l e l e v e ln st os i m u l a t et h ee f f e c t i v e n e s so f t h en e w m u l t i l a y e r a r c h i t e c t u r eo fw i r e l e s ss e n s o rn e t w o r k s i nt h en e wm u l t i 1 a y e rm o b i l es e n s o rn e t w o r ka r c h i t e c t u r e ,t h i sp a p e ra n a l y z e st h e b a s i cf u n c t i o n so fe a c hl a y e ro fn o d e sa n dd e s i g n sm o b i l ec o n t r o ls t r a t e g yt oe n s u r e t h ee f f e c t i v ec o l l e c t i o no fi n f o r m a t i o n b a s e do nw i r e l e s ss e n s o rn e t w o r km o d e lo f n s 2 ,w ef o c u so nt r a n s c e i v e rc o n t r o lm o d e lo fi n f o r m a t i o no np h y s i c a ll a y e r ,h o wt o e x t e n dp o w e rc o n t r o l ,h o wt od e s i g nc o m m u n i c a t i o nm o d e lb e t w e e nl a y e r sa n dh o w t oi m p l e n m e n tt h e s em o d e l s f o rp o w e rc o n t r o lo np h y s i c a ll a y e r ,w ee x t e n do b j e c t m o d e li nn s 2a n de n c o d em o b i l es t r a t e g yb e t w e e ns e n s o rn o d ea n df u s i o nn o d eb y t c ll a n g u a g ea n ds i m u l a t et h em l n sp l a t f o r m d u r i n gt h es i m u l a t i o n ,w ea n a l y z e t h er e s u l t sa n df i n do u tt h a tr a n d o mm o v e m e n to fm u l t i l a y e rs e n s o r , d a t ac o l l e c t i o n a n dr e l i a b l ei n f o r m a t i o nt r a n s m i s s i o nw o r kv e r yw e l l k e yw o r d s :w i r e l e s ss e n s o rn e t w o r k ;n e t w o r ks i m u l a t i o n ;m l n s ;m o d e l ;e x t e n d p o w e r i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。据我所知,除了文中特别加以标注和致 谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得或其他教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示谢意。 学位论文作者签名:签字日期:年 月 日 学位论文版权使用授权书 本学位论文作者完全了解江西师范大学研究生学院有关保留、使 用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复 印件和磁盘,允许论文被查阅和借阅。本人授权江西师范大学研究生 学院可以将学位论文的全部或部分内容编入有关数据库进行检索,可 以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 签字日期:年月 日 导师签名: 签字日期:年 月 日 多层结构移动传感器网络模拟的研究及实现 第一章引言 1 1 研究背景 本章主要介绍了无线传感器网络和网络模拟的特点,以及目前国内外网络 模拟的研究现状,给出了几种较为普遍的模拟软件的研究成果。然后,分析了 当前广泛研究并适用的模拟软件n s - 2 存在的不足,引出本文对n s - 2 进行二次 开发设计的必要性,最后说明了全文的内容安排。 1 1 1 无线传感器网络及模拟概述 无线传感器网络( w i r e l e s ss e n s o rn e t w o r k ,以下简称为w s n ) n 2 3 使信 息的获取带来了革命性变革,综合了传感器技术、嵌入式计算技术、分布式信 息处理技术和无线通信技术,能够协作地实时监测、感知和采集各种环境或监 测对象的信息,并对其进行处理,传送到用户,而成为目前研究的热点。w s n 被认为是将对2 1 世纪产生巨大影响力的技术之一,并在许多方面有着潜在的应 用前景,已经引起了学术界和工业界的高度重视。可以预计,将来无线传感器 网络将无处不在。比如家庭采用w s n 负责安全、调控、节电、保健等;企业和 社区采用w s n 负责保安与安全、供应监测、人员流动与车辆进出等;服务业采 用w s n 负责商品流通、服务环境秩序、金融流通安全等。各种社会活动中,w s n 的应用更是举不胜举。 无线传感器网络从拓扑上主要分为固定和自组织两种拓扑配置方式。固定 情况下,手动配置节点,数据通过预定路径转发;自组织情况下,节点以a d h o c 方式随机散布。当前网络拓扑的主要研究都集中于自组织情况。与w s n 类似的 传统a dh o c 网络拓扑可以分为以下三种:基于簇( c l u s t e r ) 的分层结构m 一, 其缺点是维护分级结构需要节点执行分簇算法,增加了计算复杂性;其次,簇 间的信息都要通过簇头寻路,不一定能使用最佳路由;再次,簇头节点要维 护到达其他簇头的路由信息,它还要知道网络中所有节点与簇的所属关系,作 为集中转发点的簇头可能会成为网络的瓶颈。另一种是基于网( m e s h ) 的平面结 构口2 删。这种网络结构在节点数目较多,特别是在节点大量移动的情况下,平 面结构网络很难实施有效的网络管理和控制。在平面结构中,一个节点需要知 道到达其他所有节点的路由,维护这些动态变化的路由信息需要大量的控制消 息。网络规模越大,路由维护和网络管理的开销就越大。还一种基于链( c h a i n ) 的线结构m 1 。在这种结构使节点被串联在一条或多条链上,链尾与用户节点相 连。 多层结构移动传感器网络模拟的研究及实现 以上各种拓扑结构都存在各自的不足,且无线传感器网络与传统a d h o c 网络因面向的应用完全不同而存在很多不同之处堙仉2 1 1 。首先,节点功耗较大, 成本较高,不适应大规模网络的应用。其次,网络体系节点高度动态变化,处 理和收集信息能力受限。因而,传统的a d h o c 网络结构并不能完全适用于传感 器网络,需要在这些网络结构的基础上,提出一种多层移动节点网络结构,保 证信息有效传输、均衡网络能量消耗、提高网络整体性能的新型无线传感器网 络。 另外,w s n 作为一个全新的研究领域,及其它本身的一些特点,如硬件资 源有限、电源容量有限、无中心、多跳路由、动态拓扑、节点数量多等口1 ,不 仅使构建一个有效的网络架构成为挑战性的研究课题,也决定了构建一个有效 且较为可靠的多层结构的w s n 模拟平台的重要性。研究网络模拟,是对网络资 源等各项关键技术的有效性,网络的可靠、有效传输的评估和测试,进一步优 化网络体系整体性能的重要手段和方法。 模拟n 2 3 ( s i m u l a t i o n ) 即选取一个物理的或抽象的系统的某些行为特征, 用另一系统来表示它们的过程。网络模拟是进行网络技术研究的一种基本手段, 将通信网络模拟与试验网相结合来研究通信网络的特定性能,为通信网络的规 划、网络通信技术等提供定量分析工具。在新技术的研究过程中,如无线传感 器网络,由于其自身的各种特性,实际网络系统的实现往往是代价较高或是不 现实的。而网络模拟以其灵活性、高效性和低费用等优点就成了最佳可供选择 的测试、评估和验证手段之一,成为网络研究的重要手段,应用范围相当广泛, 使模拟软件在网络模拟领域中占有十分重要的位置h 1 。网络模拟利用相关的软 件技术,构造网络拓扑、实现网络协议、测评网络性能的网络虚拟技术,它包 括网络拓扑模拟、协议模拟和通信流量模拟。网络模拟不仅适用于网络模型的 构造和设计、协议性能的评价与分析,还适用于网络协议的开发与研究以及真 实网络的故障诊断。 1 1 2 无线传感器网络模拟的研究现状 为实现w s n 的模拟,研究人员设计开发( 或在现有平台建立w s n 模型) 的每 个模拟工具主要瞄准一个特殊的应用领域,在这个领域能确保其产生最佳效果。 l g i r o d 等人开发的e m s t a r 晦1 提供了在模拟和基于i p a q 的运行l i u n x 的节 点之间灵活切换的环境,用户可以选择在一个主机上运行多个虚拟节点进行模 拟,也可以在一个主机上运行多个与真实的节点进行桥接的虚拟节点,主要用 于对传感器网络的应用程序进行测试的环境,因此,还不是一个真正意义上的 w s n 网络模拟工具。基于j a v a 开发的j - s i m 1 是一种组件化、可扩展的网络模 拟器,但目前只搭建了传感器网络框架。o m n e t + + n 1 ( o b j e c t i v em o d u l a rn e t w o r k t e s t b e di nc + + ) 是一个面向对象的模块化离散事件模拟工具,和n s 。2 一样, 2 多层结构移动传感器网络模拟的研究及实现 主要面向o s i 模型,可以执行上千个节点的仿真,提供了图形化的网络编辑器 和网络、数据流查看工具。其主要目标是提供可灵活配置模拟的组件体系。 t o s s i m 陋- 1 1 1 是用于对采用t i n y o s 的m o t e s 进行了b i t 级的仿真工具,提供了用 于显示模拟情况的用户界面t i n y v i z ,其缺点是没有提供能量模型,无法对能 耗有效性进行评价。p o w e r t o s s i m 啪1 是对t o s s i m 的扩展,采用实测的m i c a 2 节 点的能耗模型对节点的各种操作所消耗的能量进行跟踪,从而实现w s n 的能耗 性能评价。其缺点是,所有节点的程序代码必须是相同的,而且无法实现网络 级的抽象算法的模拟。s e n s o r s i m 乜7 脚1 是建立在n s - 2 的一个采用d s r 的8 0 2 1 l 网络模型上的。s e n s o r s i m 是用于w i n s 平台的,需要用s e n s o r w a r et e l 脚本 进行设计。s e n s o r s i m 在模拟时跟踪了节点的能量使用情况,其能量模型来自 w i n s 节点,使得其无法用于m o t e 平台的模拟。另外,s e n s o r s i m 已经停止开发 和支持,也无法下载到程序代码。还有s e n s e 阳1 、s h a w nn 们等模拟工具都是针对 无线传感器网络的某一应用开发的。 而最早应用于w s n 模拟的软件是n s 2 n 2 1 3 1 射,它起初来源于1 9 8 9 年的r e a l n e t w o r ks i m u l a t o r 项目,经过多年的发展之后,于1 9 9 5 年得到施乐公司( x e r o x ) 的支持,加入v i n t 项目。由于n s 一2 的开放性,一直以来都在吸收全世界各地 研究者的成果,包括u c b 、c m u 等大学和s u n 等公司的无线网络方面的代码,也 是目前进行网络模拟最为广泛的软件,已广泛被科研院所和各大高校用于进行 网络分析、研究和教学。 由综上所述可知,到目前为止,w s n 的仿真模拟技术只是处于初级阶段, 还没有仿真模拟器具备较为完全的功能,尤其难以实现大规模节点网络和多层 网络结构的仿真。 1 2 研究的必要性 n s 一2 是开放源码的自由软件,具有较为丰富的测试脚本,涉及的网络技术 较为广泛。而其他的模拟软件都存在各自的缺陷,不能广泛地推广使用。对于 网络研究者,可以利用n s - 2 中已实现的协议和算法,通过编写一些脚本程序就 能实现网络的模拟,为网络设计和网络性能评价提供参考。对于w s n 测试研究, 强调对目标现象及其属性的实时感知能力,支持对感知信息的节点本地处理和 节点问协同处理,而这些恰好是传统网络模拟平台所不支持的。因此,n s 一2 固 有的开放式代码和模块化设计的特点,可以很方便地在现有版本基础上进行二 次开发。 无线传感器网络模拟应具备单节点内部操作的模拟、多节点间通信网络的 模拟和外部环境的模拟三种功能,同时还需满足可以适应大规模节点网络、完 整性、高精度、模拟代价小等特性啪,。 多层结构移动传感器网络模拟的研究及实现 尽管n s 2 功能总体上己比较全面,但由于其内容复杂,语言丰富,工具繁 杂,目前国内外还没有能集中规范的理论进行阐述,研究不够成熟。首先,在 对无线网络的支持方面,目前只实现了单一场景下一种移动节点的模拟测试, 对于多层次的节点创建和功能的实现还未有过研究。其次,在节点移动策略模 拟研究领域,w s n 节点的移动策略模拟对网络性能评估的研究目前还是空白。 再次,网络模拟的规模较小,不能同时模拟多个节点的执行情况,。 由于以上n s - 2 的这些不足,仅照搬使用传统的组件模型对多层移动传感器 网络的模拟是难以实现的,尤其是多层节点的移动策略和关键网络系统性能评 估和优化,如网络密度、网络生命周期、节点能耗及数据率等参数的调整和优 化问题。由此,设计出新一代的n s 一2 网络模拟平台,使之适合新型的w s n 体系 架构,支持多层结构的移动传感网络模拟,为进一步优化和提高网络性能,进 行全面的验证和测试,为成为了一个核心课题。 1 3 论文的研究工作 本文主要结合本文的新型多层移动传感器网络的体系结构特点,对模拟平 台n s 一2 进行二次开发扩展,以使之支持多层无线网络节点功能以及动态移动策 略。扩展后的n s 一2 为m l n s ( m u l t i p l e l e v e ln e t w o r ks i m u l a t o r ) ,不仅具备 原版本的基本网络测试模型,还扩展了一种网络的节点模型和通信功能服务, 实现了多层节点间信息的有效采集、通信、协调处理和简单的移动策略;并对 其重要参数进行仿真,分析表明具有较好的完整性、可靠性和稳定性,可适应大 规模节点网络。 在目前内外对n s 一2 网络模拟软件研究成果的基础上,分析n s 一2 的结构层 次、特点、以及运行环境和工作原理,节点的移动,重点在n s - 2 底层源码对模 型实现的研究;并提出的一种新型的多层w s n 的架构,体系结构主要以优化网 络资源为目的,是一个集成的、有效的移动传感网络,具有较好的扩展性,可 靠性和较高的拓扑变化的整体性能等特点。依据新型w s n 的这些特点,最终给 出n s 一2 扩展实现的设计方案和实现步骤。主要改进如下: 1 添加创建新型智能节点。目前的n s 一2 只能创建模拟单一的移动节点, 为使之支持多层次的分布式体系结构模拟,创建增加一类新型节点,新创建的 节点与实际研究的智能尘埃相近,功能更为简单、节能、并能有效采集数据和 发送信息。 2 物理模型扩展,为简化智能节点功能,针对其中智能节点只需单向发送 信息的功能,在原版本n s - 2 的物理模型上进行裁剪,对模型的类函数以多态性 实现物理模型,以底层实现智能节点的创建。 3 添加发射功能改变服务,为使节点层功能简单、发射功率限定在一定范 4 多层结构移动传感器网络模拟的研究及实现 围内,在应用服务层添加一种改变发射功率的服务,以达到节能的目的,减小 网络整体能量的消耗,延长网络生命期。 4 移动策略的实现,扩展实现以上基本功能后,以保证网络传输的可靠性 为目的,部署最佳的移动收集策略,最终模拟实现m l n s 。 本文详细给出了创建节点的方法、物理层和应用服务设计方案和实现的具 体步骤。为了与用户进行开发后的版本相区别,我们称从n s 2 的官方网站上下 载的n s - 2 版本为初始n s 一2 2 8 。而将在初始版本的基础上进行扩展,并将重新 编译后的版本称为扩展版m l n s ( m u l t i p l e l e v e ln e t w o r ks i m u l a t o r ) 。 1 4 论文内容安排 论文的内容结构安排如下:蠹 第一章:引言。引出w s n 模拟的研究问题,提出n s 一2 在进行w s n 研究中扩 展研究的必要性,同时介绍了本文所做的主要工作。 第二章:n s 一2 网络模拟的综述。详细分析了n s 一2 模拟平台的发展、体系 结构、原理,无线传感器网络基本构件和模拟过程。 第三章:m u l t i p l e l e v e ln s 模拟设计。本章在深入研究目前国内外w s n 的发展趋势的基础上,本文在提出的多层结构传感器网络体系结构基础上,结 合n s 一2 的已有成果,详细分析系统要求,给出了系统各层次间节点的创建、移 动策略和各层有效通讯设计的具体可行方案,着重在物理层和服务层的设计, 以及移动策略的研究和实现。 第四章:m u l t i p l e l e v e ln s 模拟实现。本章给出了物理层和应用服务层 实现流程,两个模型的详细代码实现步骤,以及扩展后的模型和原n s 2 的编译 链接过程。接着,对二次开发扩展后的新型模拟平台m l n s 进行拓扑测试,进 行参数和环境的设置。 第五章:总结与展望。对本文工作总结,提出了本文还存在的一些不足和 对未来工作的展望。 多层结构移动传感器网络模拟的研究及实现 第二章n s - 2 模拟综述 n s ( n e t w o r ks i m u l a t o r ) 是一种针对网络技术的源代码公开的、免费的软 件模拟平台,并且是个面向对象的网络离散事件模拟器,由c + + 写成,使用o t c l 解释器作为前端提供命令和配置接口,具有丰富的构件库,能模拟网络运行的过 程。 为更好地理解n s - 2 的工作原理和机制,在本章中,主要介绍n s 的发展,以及 u cb e r k e l e y 改进后n s 一2 的层次结构、网络组件和w s n 功能模型,模拟过程与其辅 助工作的工具。 2 1 n s 的发展 n s 一2 全称是n e t w o r ks i m u l a t o rv e r s i o n2 ,是著名的用于网络研究的模拟 工具。研究者预先做了大量的模型化工作,对网络系统中一些通用实体进行了建 模,如链路、队列、分组、节点等,并用对象来实现了这些实体的特性和功能, 具有良好的扩展性,能够模拟网络运行的全过程。里面包括了大量的用于在有线 或无线、本地连接或通过卫星连接进行t c p 、u d p 协议,和数据源发生器( t r a f f i c s o u r c e ) 女i :i f t p ,w w w ,t e l n e t ,w e b ,c b r 和v b r 等、路由算法、多播协议模拟的网 络协议、调度器和工具,主要致力于o s i 模型的模拟,包括物理层的行为。n s - 2 可以对模拟进行详细的跟踪并用模拟工具“网络动画播放器”( n e t w o r ka n i m a t o r n a m ) 进行回放。 n s 最早是1 9 8 9 年美国加州的l b n l ( l a w r e n c eb e r k e l e yn a t i o n a ll a b s ) 等研 究开发的软件,它源于一种与之不同的r e a l 网络模拟器,随后几年进行了不断 的改进。1 9 9 5 年,n s 的开发获得了d a r p a 的支持, 通过v i n t ( v i r t u a l i n t e r n e t w o r kt e s t b e d ) 项目, 由l b n l ,x e r o xp a r c ,u c b t 和u s c i s i 合作进行 开发。目前,n s 由d a r p a 的s a m a n 项目和n s f 的c o n s e r 项目支持开发,并和 其他项目包括a c i r i 合作研究。n s 也包含了其他项目的成果,其中有u c b d a e d e l u s 、c m um o n a r c h s h s u nm i c r o s y s t e m 等项目的无线代码。1 9 9 6 年,u c b e r k e l e y 发布了n s 2 版本为n s 2 2 8 。2 0 0 7 年3 月发布了最高版本n s 一2 3 1 。 目前已有研究小组对n s - 2 进行了扩展,使它能支持无线传感器网络的模 拟,包括对各层及其应用和协议的支持、传感器模型、电池模型、小型的协议 栈、混合模拟的支持和场景工具等,而且包含了基于能量限制的无线a d h o c 6 多层结构移动传感器网络模拟的研究及实现 网络模式。其中,协议的扩展模拟研究是目前n s 的研究热点,也是相对较为 成熟的方面,主要在n s 已有的协议上进行算法改进来提高网络性能,或适应 特定的网络环境。在国内,2 0 0 7 年中科院袁凌云等模拟建模完成了w s n 对交 通监控的感应1 4 1 。上海交大对n s 的模拟信道进行了扩展n 引,为n s 的其他构 件的扩展提供了方向。 2 2n s 运行环境和工作原理 2 2 1n s 运行环境 目前n s 一2 主要基于u n i x 平台,可以在s u n o s 、f r e e b s d 和l i n u x 上稳定 运行,需要t c l ,t k ( x 工具包) ,o t c i ,t c l c l 和n s ( n e t w o r ks i m u l a t o r ) 的支持。运行于w i n d o w s 平台的n s 一2 需要p e r l ( p r a c t i c a le x t r a c t i o na n d r e p o r tl a n g u a g e ) 和c y g w i n ( p o r t so ft h ep o p u l a rc n ud e v e l o p m e n t ) 的 支持n 6 1 ,但在w i n d o w s 平台下运行该软件不如在u n i x 下运行稳定。整合的 n s - a l l i n o n e 2 1 b 7 a 包含了比较完整的工具包,但是只能在l i n u x 下运行。 2 2 2n s 工作原理 n s 是一个事件驱动的模拟软件,事件规定了系统状态的改变,状态的修改 仅在事件发生时进行。模拟器所做的就是不停地处理一个个事件,直到所有的 事件都处理完或某一特定的事件发生为止n 引。n s 的核心部分是一个离散事件模 拟引擎,其中有一个“调度器 ( s c h e d u l e r ) 类,负责记录当前时间,调度网 络事件队列中的事件,并提供函数产生新事件,指定事件发生的时间。用户用 离散事件模拟引擎来对系统进行模拟,并用对象来实现其中实体的特性和功能, 组成n s 的构件库。 n s 应用分裂对象模型,用c + + 和o t c l 两种语言实现,兼顾了模拟性能和灵 活性两方面。构件库底层的模拟引擎主要由c + + 编写,其特点是具有更快的运 行速度,但每次改变均需要编译,较为复杂,适合处理繁琐但比较固定的工作。 具体协议的模拟和实现需要具有有效处理字节( b y t e ) ,报头( p a c k e th e a d e r ) 等信息的程序设计语言,并应用合适的算法在大量的数据集合上进行操作。为 了实现这个任务,程序内部模块的运行速度是非常重要的。同时,利用麻省理 工学院的面向对象的工具命令语言o t c l 作为模拟时的命令和配置的接口语言, 配置模拟活动中的各种参数,建立模拟的整体框架。0 t c l ( 具有面向对象特性 的t c l 脚本程序设计语言) 是在t c l ( t o o lc o m m a n dl a n g u a g e ) 基础上的一个 面向对象的封装。许多网络中的研究工作都围绕着网络组件和环境的具体参数 的设置和改变而进行的,需要在短时间内快速的开发和模拟出所需要的网络环 境,并且方便修改和发现、修复程序中的b u g 。在这种任务中,运行时间就显 7 多层结构移动传感器网络模拟的研究及实现 得很重要了,因为模拟环境的建立和参数信息的配置只需要运行一次。所以, 网络模拟的全过程由一段o t c l 的脚本来描述,并被n s 解释器所解释。这段脚 本通过调用引擎中各类的属性、方法而定义网络的拓扑,配置源、目的端,建 立连接,产生所有事件的时刻表,运行跟踪模拟结果,并可以对结果进行相应 的统计处理或制图。因此,构件都是相互关联的两个类实现,一个在c + + 中, 同时有一个o t c l 类与之对应,并通过一种称为t c l c l 的工具包实现两者之间自 由地互相调用,c + + 与o t c l 间的关系如图2 - 1 。 2 3n s - 2 体系结构 图2 - 1 :c + + 与o t e l 间的关系图 2 3 1n s - 2 层次结构 n s 2 功能模块的内核用c + + 编写的面向对象模拟器,它的前端是一个o t c l 解释器,模拟器内核定义了有层次结构的编译类,o t c l 解释器中有与之相对 应的解释类。结构层次结构如下图2 2 所示。n s 中使用的六种t e l 类分别为: ( 1 ) t c l 类:封装解释器实倒,并提供与解释器访问和交流的方法。它是 连接c + + 代码与t e l 代码之间的接口。 ( 2 ) t d o b j e c t 类:是在解释和编译层次中所有类的基类,每个类t d o b j e c t 的对象都是用户在解释器中创建的。一个等价的影子对象( s h a d o wo b j e c t ) 同 时也在编译层次中被创建。 ( 3 ) t c l c l a s s 类:是一个纯虚类,从这个基类派生的类提供两种功能:建 立与编译类镜像的解释类和提供实例化新t c l o b j e c t 的方法。 ( 4 ) t c l c o n n a n d 类:封装了c 抖代码与t c l 代码相互调用命令的方法,为 n s 提供一种在全局范围内由解释器执行的一些简单命令的机制。 ( 5 ) e m b e d e d t c l 类:含有装载高层次内建命令的方法,以对编译代码或 者解释代码的功能扩展,扩展代码将在初始代码的时被执行,这样使模拟配置 更容易。 ( 6 ) i n s t v a r 类:含有访问c + + 成员变量作为o t c l 瞬时变量的方法。这个 类定义了将编译的影子对象( s h a d o wo b j e c t ) 中的一个c + + 成员变量绑定到 与之对应的解释对象中的o t c l 实例变量上的方法和机制。这种绑定可以使任 多层结构移动传感器网络模拟的研究及实现 何时侯变量既可以从解释器又可以从编译代码内设置和获得。 图2 - 2 :n s 层次结构 2 3 2n s - 2 网络组件 n s - 2 模拟器封装了许多功能模块,最基本的是事件调度器、节点、链路、 代理、数据包格式等n 3 h l1 9 3 。在下图2 3 中,粗框里为n s 的模块,方框外的 s c r i p t 为我们写的脚本文件。n s 解释脚本,将输出写到输出文件中,然后调用 n a m 或x g r a p h 显示输出文件n 8 。 图2 - 3 :n s 主要模块及功能 1 事件调度器( e v e n ts c h e d u l e r ) :模拟器中的调度器由不同的数据结 构实现,是其中的心脏。它有一个静态成员变量i n s t a n c e 一,供所有的类访问 同一个调度器,提供函数产生新事件,并按照事件发生的时间对其中的工作排 9 多层结构移动传感器网络模拟的研究及实现 序,并遵循此顺序执行工作。而各个组件之问的通信是依靠传递数据包的方式 来实现的。 2 模拟器类( c l a s ss i m u l a t o r ) :模拟器类是一个解释类,没有相应的 编译类。但模拟器类是由许多更小的类构成的,这些类有相应的编译类。从 n s 外部看,整个的模拟过程可以看成对模拟器的操作。因此,模拟脚本一般 从创建一个模拟器的实例对象开始,再通过这个模拟器调用各种方法生成节 点,进而构造拓扑图,对模拟的各个方面进行配置,定义事件,然后,根据定 义的事件,模拟整个网络活动的过程。 3 节点( n o d e ) :节点是n s 最重要的模块,其实是由分类器( c l a s s i f i e r ) 构成的。节点也是一个由o t c l 实现的解释类,也没有相应的编译对象。 4 链路( l i n k ) :类l i n k 是o t c l 中的一个标准类,提供连接节点和路由 器的功能。像节点是由分类器组成的一样,一个简单的链路对象是由一些连接 器( c o n n e c t o r ) 组成的。 5 代理( a g e n t ) :a g e n t 由c + + 和o t c l 两部分代码实现,代表了在网络 层中数据包的产生地和运输源头,同时也是各层网络中各种协议如t c p 和u d p 的实现。 6 分组( p a c k e t ) :类p a c k e t 是模拟对象间交换数据的基础单元,它提 供了足够的信息,可以将一个包联入一个列表,可以查询数据包头缓冲。不同 的协议采用不同的数据包格式,因此报头会不一样。要引入新的数据报头,需 要根据数据包的格式定义一个c + + 结构,定义一个静态类来提供与o t c l 的连 接,然后修改模拟器的初始化代码。当o t c l 解释器初始化模拟器时,用户可 以只激活部分内置的数据包格式,以节省内存。目前,大部分的内置数据包格 式都是激活的。对这些格式的管理,是通过一个特殊的“数据包头管理员”对 象实现的。 2 3 3n s - 2 模拟过程及辅助分析工具 n s 网络模拟一般分两个层次:一个是基于o t c l 编程的层次。利用n s 已有的网 络元素实现模拟,无需修改n s 本身,模拟只需通过t c l 语言定义,用n s 命令编写 程序来定义网络拓扑结构、配置网络信息流量的产生和接收以及收集统计数据。 另一个是基于c + + 和o t c l 编程的层次。如果n s 中没有所需的网络元素,则需对n s 进行扩展,添加新的c + + 和o t c l 类构建所需的网络元素,编写新的t c l 脚本。可以 分为构件的扩展阶段,模拟阶段,分析结果三个阶段。模拟流程如图2 - 4 ,具体 步骤如下: ( 1 ) 编写所需要特殊的构件。一般包括自己所需要的特定的服务、代理、链路、 路由等。 ( 2 ) 测试编译这些构件。 1 0 多层结构移动传感器网络模拟的研究及实现 ( 3 ) 开始编写o t c l 脚本。配置模拟网络拓扑结构。 ( 4 ) 建立协议代理,包括端设备的协议绑定和通信业务量分布。 ( 5 ) 设置t r a c e 对象,t r a c e 对象能够把模拟过程发生的特定类型的事件记录在 t r a c e 文件中。 ( 6 ) 编写其他辅助过程,设定模拟时间,用n s 解释执行脚本文件。 ( 7 ) 对t r a c e 文件分析,统计有用的数据,可以用n a m ,g n u p l o t 等工具观看分析 网络模拟运行的过程。 ( 8 ) 重新改变配置拓扑结构和业务模型,重新进行模拟过程。找到最适合自己 特点的模型。 图2 - 4 :模拟流程如 对结果进行分析是模拟的关键。n s 一2 脚本中定义一个由c + + 实现的输出 文件t r a c e ( 又叫跟踪文件) ,根据用户的需要记录模拟过程中的任何一个细 节,当一次模拟结束后,所留下的唯一记录就是t r a c e 文件,所有的对模拟 的分析都是基于t r a c e 文件的。由t r a c e 文件可进行进一步的相关内容的分 析,生成网络拓扑图,或者得到数据的可视化的图表。主要有如下三种图分 析方式: 1 动画显示工具n a m 显示。它是基于t c l t k 的动画工具,用于演示网 络运行的整个过程,根据网络模拟软件或真实环境罩的特定格式的t r a c e 输 出文件来运行动画,例如网络拓扑、链路断开、节点的移动、丢包、数据包 传输和队列管理等,在n s 中可以很清晰的显示网络的拓扑结构。 2 图形绘制工具x g r a p h 和p n u p l o t 。为了进一步更好地分析模拟结果, n s - 2 附带图形绘制工具x g r a p h 和g n u p l o t ,这些组件可根据数据文件里的数 据以静态图形曲线的图表方式生动形象的显式模拟结果。其中,g n u p l o t 是一 个命令驱动的交互式画图软件,其功能就是把数据资料和数学函数转换成容 易观察的平面或立体的图形,帮助研究者进行数据分析。 3 数据处理工具g a w k 和t r a c e g r a p h 。 g a w k 是g n u 所开发的a w k ,但它包含a w k 的所有功能。其中a w k 是一种 多层结构移动传感器网络模拟的研究及实现 程序语言,对于资料的处理具有很强的功能,可以使用很短的代码轻易地完 成对文本档案做修改、分析、提取和比较等处理。g a w k 的主要功能是针对文 件的每一行( 1 i n e ) 搜寻指定的模式( p a t t e r n s ) 。当一行里有符合指定的模式 时,g a w k 就会在此一行执行指定的动作( a c t i o n s ) 。g a w k 采用这种方式依次 处理输入档案的每一行,直到输入文件结束。 t r a c e g r a p h 可以显示模拟信息,绘制2 d 或3 d 图象来展示结果,但它通 常需与m a t l a b 配合。 2 4 无线网络模型 n s 的无线网络模型最初是由卡内基一梅隆大学( c m u ) 的m o n a r c h 工作组 引入到n s 中的。该模型是以m o b il e n o d e 为基本核心,使用r a n d o mw a y p o i n t m o d e l 模型定义无线网络的移动性模型( m o v e m e n tm o d e l ) 。在r a n d o m w a y p o i n t m o d e l 模型中,在长为x ,宽为y 的平面矩形区域内共有n 个移动节点,每个节 点先在一个随机的位置停留一段时间p ,然后在模拟空间中随机选取一个目的 点,以在0 到最大速度m 之间一个符合均匀分布的速度向目标节点移动。当 到达此目标节点后,重复上述“停留一移动一停留 的过程。在整个过程中存 在m c 对通信连接。 移动节点( m o b i l en o d e ) 是无线移动模型的核心,它是n s - 2 中原有n o d e 节点类的子类,具有支持移动模拟的特性。移动节点与n o d e 节点类的不同在 于它支持节点的运动和不使用l i n k 对象来连接各节点,而是从信道接收和传 送信号。图4 3 是移动节点的示意图,其中采用了d s d v 协议( a o d v 和t o r a 与此相同) 。采用d s r 协议的移动节点略有所不同,它并不使用地址解析或分 类器,而是节点接收到的所有分组都交给默认的d s r 路由代理。d s r 路由代理 或者将接收的包移交给端口解析器,或者通过查询分组中h i e r a r c h i c a l 地址 得到源路由以转发该分组或者发送路由请求回复信息。由d s r 代理直接处理 接收的分组,将目标地址是自己的分组提交给端口解析器或将目标地址非自身 的分组向前传送。 1 2 多层结构移动传感器网络模拟的研究及实现 图2 5 :n s 一2 中移动传感器节点的结构示意图 移动节点包括链路层( l i n kl a y e r ,即l l ) 、地址解析模块( a r pm o d u l e ) 、 具有优先级的接口队列( i n t e r f a c eq u e u e ,即i f q ) 、媒体传输控制层( m a c ) 、 网络接口( n e t w o r ki
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年慢性病管理长期随访指导试卷答案及解析
- 仪容仪表:品位气质的完美呈现
- 2025年心血管内科药物使用技能考核答案及解析
- 垂直大模型的技术规范指南
- 2025年妇科常见病例分析综合测试卷答案及解析
- 机关单位决算工作总结报告
- 土地勘测定界合同标准范本
- 2025年肾内科护士的血液透析护理技能考核答案及解析
- 农田作物品种改良和选育研究
- 内部项目管理规定
- 2025司法协理员考试模拟题及答案
- 2025年北京市家庭居室装修工程施工合同
- 事业法人登记管理办法
- 承装修试许可证管理办法
- 2025楼宇平方效益评价规范
- 术后并发症护理
- 第9课《天上有颗“南仁东星”》课件 2025-2026学年统编版八年级语文上册
- 餐饮服务食品安全常规项目自查记录表
- 粪污清运服务管理制度
- 医疗机构动火管理制度
- 孵化基地制度管理制度
评论
0/150
提交评论