您好,欢迎来到微智科技网。
搜索
您的当前位置:首页基于GloMoSim的Ad Hoc网络仿真研究

基于GloMoSim的Ad Hoc网络仿真研究

来源:微智科技网
维普资讯 http://www.cqvip.com

计算机与现代化 20O6年第l2期 JISUANJI YU XIANDMHUA 总第136期 文章编号:1006-2475(2006)12 0116-05 基于GloMoSim的Ad Hoe网络仿真研究 杨铭熙,何三华 . (武汉理工大学计算机科学与技术学院,湖北武汉430070) 摘要:在对移动自组网进行研究时。用计算机进行仿真是一种重要的方法,它对大型复杂网络的开发、新协议的性能评 估和系统的改造都具有重要意义。本文首先详细介绍了GloMoSim的特点、下戢、安装和使用方法,然后用实例演示了不 同结点数情况下两个典型路由协议AODV和DSR平均延时比较的全过程。 关键词:无线自组网;GloMoSim;仿真;N¥2 中圈分类号:哪91.9 文献标识码:A Research on Ad Hoc Network Simulation Based on GloMoSim YANG Ming-xi,HE San-hua (College of Compmer Science&Technology,Wuhan University of Technology,Wuhan 430070,China) :inthe processofthe research ofAdHoe,simulationinthe compu ̄ris a sisaiifeanttcehnique.It sa目i砌c8m roleinthe devebpment 0flaI complex system,evaluation ofthe performanceofn6wprotocol and reconstm ̄on ofsystem.Atfirst,the paperple- sCnts the whole process fothe feature,download,install and the use of GloMoSim,then shows the whole process foan e】【锄bIe by∞m. pa,i,,s the average delay oftwo representative muting protocols AODV and DSR wiht diferent number of node. Keywords:AdHoc;GloMoSim;simulation;NS2 O 引 言 小的改动,就可以将别的网络模型中的模块移植到 lGoMoSim中。这一特性方便于设计构造正确的抽象 目前,研究移动自组网时采用的仿真软件较多, 模型,并以此进行稳定的、可比较的协议性能分析HJ。 常用的有OPNET、QuartET、CNET、OMNET+十、NS2 等。各软件有自已的优点和短处,也有其相应的适 1 GloMoSim的优点 用范围o GloMoSim(Global Mobile Information System (1)GloMoSim的设计和开发过程利用Parsec多 Simulator)是为大规模无线通信网络提供的一种可扩 线程并发的特点和强大的消息接收机制,实践中显示 展的仿真工具。GloMoSim仿真采用UCLA(University 比现行其它仿真工具更具有优越的性能,它能够达到 of Califomia,Los Angels)开发的无线移动网络仿真环 规模为50,000个仿真实体的超大规模仿真能力。 境,它是基于P跚(Parallel Simulation Enviornment for 100个结点可以进行实时仿真,并可以对于GloMoSim Complex System)语言的可扩展仿真环境,用于离散事 场景的单播和多播无线协议进行直接比较C5J。 件的仿真。GloMoSim以TCP/IP协议栈体系结构为基 (2)在GloMoSim中引入栅格的结点聚合技术,为 础的层次结构,并且加上了一些自己定义的功能层, 改善仿真能力带来巨大的好处,解决了具有很大数量 不同模拟层之间使用简单的API接口进行通讯。这 结点的模型使内存需求急剧增长的问题,结点聚合技 样的设计使不同的用户得以将在不同层次开发的模 术意味着系统中结点的数量能够不断地增加,而仿真 型尽可能快速地整合到系统中来。甚至,只需要做很 中保持相同数量的实体 J。 收稿日期:2006-01.18 作者简介:杨铭熙(1956-),女,广东揭阳人,武汉理工大学计算机科学与技术学院副教授,研究方向:网络路由技术和网络安 全;何三华(19r75一),男,江西樟树人,硕士研究生,研究方向;计算机网络与安全。 维普资讯 http://www.cqvip.com

2OO6年第12期 杨铭熙等:基于GloMoSim的AdHoc网垮l仿真研究 117 (3)建立GloMoSim的计划是使用与OSI七层网 TCP、UDP和应用层的Te et、F1P、兀 GENERIC、 络体系结构相似的分层方法,层之间运用标准的应用 程序接口。并在仿真中将各层聚于同一Parsec实体 间提供一个能被每个结点各层调用的初始化函数,利 用层间发送消息来解决相互调用_lJ。 一CBR、}册等【 。 (3)GloMoSim涉及参数较少,配置非常简单,最基 个文件包含了如何产生流量的描述(应用程序类 pp.conf和config.in。第 中,避免了保存层之问访问特定变通变量的开销。层 本的用户配置文件有两个:a型、数据速率、分组大小等),后一个文件包含了网络 所有其它参数的设置:网络规模、运动模型、每一层使 2仿真工具GloMoShn与NS2的比较 2.1 NS2的特点 (1)NS2是面向对象单线程的。 (2)NS2开发于UC Berkeley,它可以模拟各种II) 网络环境。NS2是一个多协议网络模拟工具,目的在 于建立一个网络模拟平台,为网络研究者提供网络模 拟环境。NS2集成了多种网络协议(如TCP、UDP)、业 务类型(如FI'P、Telnet、Web等)、路由队列调度算法 (如Drop Tail、RED、FQ等)、路由算法(如Dijkstra等)。 (3)NS2软件是公开源代码的,可以免费从网上 下载,而且有大量的科研文章是基于这个软件做的, 得到的结果也是在网上公开的。许多协议已经实现, 已经成为众所周知的仿真工具,较好的文档使用手 册,NS2具有相当大的用户群。这样就可以在别人研 究成果的基础上开展研究,站在科研的最前沿。 (4)NS2是基于Linux操作系统的,也有移植到 Windows平台的(cygwin),但是有些程序不完全兼容。 (5)NS2由c++和Otcl( ̄tl上面向对象特性的 TCL脚本程序设计语言,开发于M1T)两种程序设计 语言。c++作为核心引擎,而Otcl作为配置和仿真 脚本语言。 但是,熟悉和掌握NS2需要一个很长的时间,它 有难懂的文档源代码,而且即使已经知道所有的仿真 结构或者想仿真的是部分协议,也很难做到小问题快 速解决。它不包含能量效率或能量消耗模式的模拟 测量方法。所以如果需要从能量消耗的角度比较路 由协议,那么就需要进一步的修改。 2.2 GloMoShn的特点 (1)GloMoSim是并发多线程的。 (2)GloMoSim是由UCLA的计算机系开发的可 扩展的并行网络仿真环境。它使用分层结构,各层之 间使用标准的API,GloMoSim的层协议模型有物理层 的Free space、Two-Hay;数据链路层的CSMA、MACA、 TSMA,802.11;网络层路由协议的Bellman-Ford、 OSPF,DSR、WRP、AODV、FISHEYE、LAR;运输层的 用的协议和参数、采用的路由协议、统计参数等等。 (4)GloMoSim能在Unix、Linux、Windows NT、AIX、 Solaris等多种操作系统的平台下实现。 (5)GloMoSim使用的Parsec语言是一种基于c的 并行仿真语言,其程序由一些实体定义和c函数组 成。Ptu ̄ec采用进程相互作用的方法,一个对象或物 理系统中的对象集代表一个逻辑进程,物理进程部的 相互作用模型化为在对应逻辑进程间交换的带有时 间戳的消息。Parsec提供强大的消息接收机制,这导 致仿真程序更短,调试更便利。 . 但是,GloMoSim目前只支持纯无线网络,而且 GloMoSim模拟的协议十分有限,没有友善的GUI。 3 GloMoSim的下载及安装 3.1 GloMoSim的下载 GloMoSim是为研究和教育的免费版软件。不用 于任何商业和其它盈利为目的。下载地址为: UCIA Parallel computing laboratory,University of Calfiornia. http://pc1.c8.uch.edu/projects/glomosim/ 需要说明的是,必须是教育或科研机构的域名才 允许下载。 3.2 GloMoSim的安装 1.安装前的准备。  ̄GloMoSim和Parsec的运行需要C编译器。所以必须确 保在机器上已经安装了Microsoft VC++Version 6.O; ②如果需要用到可视化工具,还需要安装Java JRE或者 Java SDK 1.2版或更高版本; ③必须要有充分的权限修改计算机的环境变量。 2.Parsec的安装o (1)下载并解压GloMoSim,并保存为“c:\glo- mosim\glo ̄sim”。(本文GloMoSim的安装目录以C: \flon ̄n\glomosim为例,读者可以根据自己的安 装目录进行相应的修改。) (2)进入GloMoSim/Parsec目录下的windosw—nt-VC 6.O子目、录,将windosw.nt—vc 6.0下的所有文件复制 保存到Parsec目录下。然后删除Pamec目录下的所 维普资讯 http://www.cqvip.com

计算机与现代化 2OO6年第12期 有其它文件夹。 (3)为Parsec设嚣环境变量。 ③编译可视化工具。进入C-、glomosim\slomo ̄\java. gIli目录,输入:javac*.java; ④启动可视化工具。从glomo/java- ̄/direetory目录输入: javaGlomoMaino 右键单击“我的电脑”,选择“属性”一>“高级”一 >“环境变量”。 ①在“用户变量”中“新建”项I:V_E_DIREL3DRY,置值为:C: \gl0tr iIIl\parsec\bin(查看当前文件Pcc.。啦所在的目录); ②在“用户变量”中将path项的值置为“C:\slomo.im\ parsec\biTl”。 这个工具允许我们调试和运行模型与场景,并可 以分步执行、停止和重新开始。用不同的颜色显示移 动的群用户和显示统计数字。可视化工具中,物理层 的显示状态如下:当结点传输一个数据包时,从结点 (4)为Micttt ̄VC++Vemim6.0设置环境变量。 ①在‘‘用户变量”中将irrlude项的值后加上分号。添加上“C: \ 咽锄同圈\Micmsdt V' ̄tal S ̄lldio\V(38\MFC、Irrlude;C:\ 咿叽Fdes\Mict ̄oftVisua1. ldi0\Vc98\Irrlude”; ②在‘‘用户变量”中将1ib项的值后加上分号。添加上“C;\ 珊 \临凹础Vmual studio\Vc9B\ \ub;C:\ ⅡII Flies\腼cr姻出Vmual stI】dio\Vc98、lib”: ③在“系统变量”中将Path项的值后加上分号,添加上“C:\ Ph 蛐F丑圈\腼c髓珊Ⅵsual stI】di0\C。呲瑚\ 、Bin”。 3.可视化工具的安装(可选)。 在GloMoSim的运行过程中,可视化工具的安装 不是必须的。可视化工具的主要目的是用于网络设 计者调试协议。它是用java编写的,用来提供多平 台的可能性。通过由可视化工具提供的GUI来执行。 (1)在计算机上安装java JRE或者java SDK l。2 版或更高版本。 ,(2)设置环境变量。 ①在“系统变量”中将dasspath项的值后加上分号。添加 上“c:\j2sdk1.4.2—04\bin”; ②在“系统变量”中将Path项的值后加上分号,添加上 “C:\j2sdk1.4.2—04\bin”; ③在“系统变量”中将j&-home项的值置为“C:\j2sdk1. 4.2.o4\b_m”。 (3)修改配置文件。 将Conifg.in配置文件中的Gui.Option、Gui.Radio、 Gui-Routing由N0修改为Yes。 4.GloMoSim的安装。 ①编译Vc++文件,在命令行状态下进入C:\Program ifles\MicrosoR Visual Studio\VOW8\bin目录,输入:vcvm32; ②编译GloMoSim源文件。在命令行状态下进入c.、 slom ̄m\gl0n瑚蛔\main目录,输入:makent,就可以成功编 译了。这时可以在./glomodm/bin下看到要执行程序“glo— modm.既e”。检查安装是否正确,可以运行“./glo ̄n conifg. ’,这时产生一个“glomo.stat”文件。将它与相同目录下的 “slomo.stat.s哪 ”文件进行比较来确保输出文件的有效。这 时GloMoSim就成功安装了; . 引出一条黄色的链接到势力范围内的所有其它结点, 当每一个结点接收到数据包时,链路被删除,并且如 果成功接收将会引出一条绿色链路,若是未成功接 收,同引出一条红色链路。对于不同的包类型之间没 有明显的区别。(如控制包与普通的数据包等)。 4 GloMoSim的运行 在完成以上编译和安装之后,如果不需要可视化 工具,可以在命令行状态下进入c:\ 蚰.\glo. mosim\bin目录,输入:glomosim coniig.in,则会产生仿 真结果文件gl0m0.stat。如果安装了可视化工具,那 么在命令行状态下进入c:\glomosim\gomos ̄n\ja. va-gui目录,输入:java glomoMain,就可以进入可视化 界面。在可视化工具中,从“仿真”菜单选择“实时”模 式,将弹出一个对话框请求输入要执行的程序的名 称。默认文件是:..\0omo..\biIl\config.in。点 击“确定”按钮继续。 一旦点击了“确定”按钮,可视化工具将运行Glo. MoSim,从GloMoSim中捕获标准输出(stdout)并且在屏 幕上显示图形化结果。 值得注意的是:一个普遍的错误是,当通过实时 或者写追踪选项执行可视化工具一旦开始执行时,屏 幕上并没有显示任何东西,这样给你的印象好像是程 序并没有执行。对此问题的通常解决方法是拷贝配 置文件(nodes.input、mobility.in、app.conf and con_ifg. in)到/java_gui目录下。这时,可视化工具中仿真配置 文件config.in是..\g10咖..\bin、目录下的con_ifg. in文件,另外三个配置文件在c:\glornosim\ . mosim\java.gui目录下,产生的结果文件omo.stat也 在C:\蜘illl\glomodm\java.gui目录下,当然可 以通过前面执行模式的默认路径将config.in修改到 C:\ \出 \java.gui目录下。这时运行 可视化工具时,配置文件都在c:\glomodm\ o. mosim\java.gui目录下,但是这样的修改只能是一次 维普资讯 http://www.cqvip.com

2OO6年第12期 杨铭熙等:基于GloMoSim的Ad Hoc网络仿真研究 119 性的,每次运行时都必须进行这样的修改。 Hi AG Ⅱl0N.P舢0ss FREE-SPACE#传播路径丢失模式 NOISE-HGURE 10.0#噪音数值 另一种更优越的办法是打开配置文件config.in, 将其中的: NODE-PLACEMENT-FILE./nodes.m.put改为: NODE-PLACEMENT-FILE C:|slomo ̄m|glomosim I bin| nodes.input MOBRSrY-TRACE-FILE./mobility.in改为: MOBIIXI%TRACE-FII.,E C:\glomosim\glomosim\bin\ mobility.in BER-TABLE-FILE./ber.b ̄k.in改为: BER-TABLF_,-HLE C:、gk 、Slomoslm、bin、ber.bp- sk.in APP-CONFIG-FILE./app.conf改为: APP-CONFIG-FILE C:\glomo ̄im\slo ̄im\bin\app.conf 这样就不需要C:\glomosim\glomosim\java. 目录下的nodes.input,mobility.in,app.conf and cOn- 堍.in配置文件,可以完全解除c:\glomosim\glo- mosim\java.gui目录和C:\#omosim\ ∞ in1\bin 目录下双重配置文件带来的不少麻烦。不过这时产 生的gl0m0.stat就还是在C:\glomosim\glomosim\ bin目录下。 5仿真实例 移动Ad hoc网络的路由算法主要分为两类:表 驱动路由(table driven)和按需路由(on.demand)。目 前,在移动自组网中,针对路由协议的设计这个热点 和难点问题,提出了许多有效的路由协议,如AODV、 DSR、DSDV、ZRP、WRP等。这里,我们从完整的应用 角度,将两个具有代表意义的移动自组网路由协议 AODV(自组网按需路由协议)和DSR(动态源路由 协议)的平均延时进行比较,了解随着结点数的变化, 在平均延时上AODV与DSR性能的差异。 在C:\glomosim\siom ̄im\bjn目录下的app. Ocnf文件中,使用12条从开始就一直存在的CBR流, 每个流中每秒发送5个64字节的数据包。此处不使 用TCP流,因为TCP流中提供的拥塞控制、重传特性 在我们的模拟中并不需要,而且会导致各流发送的数 据包数目不一。 在C:\ ̄ommim\glomoslm\bin目录下的Con ifg.in文件的配置如下: SIMULATION. itME 500#仿真时间(8) TERRAIN-DIMENSIONS(500,500)撑区域范围 NODE-PLACEMF3qr RANDOM#结点放置策略 MOBILITY NONE#结点是否可以移动 TEMPARATURE 290.0撑环境温度(K) RADIO-TYPE RADIO-ACCNOISE#无线广播类型 RADIO-FREQUENCY 2.4e9群频率 RADIO-BANDWIDTH 2OOO0OO#带宽  .RADIO-RX-TYPE SNR-BOUNDED#接收类型 MAC.PROTOCOL 802.11#MAC层使用的协议 APPLICATION.STATIb ̄CS YES#是否跟踪应用层 根据前面仿真环境的性能参数配置,在结点数分 别为3O、50、100、150、200、250、300时得到路由协议为 AODV和DSR两种情况下平均延时的统计结果,如表 1所示。 表1平均延时对照表 Average Delay A0DlV DSR 30nodes 0.011592359 0.011882228 50nodes 0.0l1595843 0.011911嘶 10onodes 0.011605O44 0.011891148 150nodes 0.011638710 0.011899828 200nodes 0.011614832 0.0119303I46 250nod ̄ 0.011657757 0.0l193 300nod ̄ 0.011642720 0.011921894 从表1统计结果可以得到:由于AODV协议是在 DsDV协议的基础上结合类似DSR中按需驱动的思想而 提出的,它与DSR协议的不同之处在于报头并不携带路 由信息,中继节点隐式地将路由请求和路由应答分组中 的路由信息保存于自身的路由表中。而D 协议基于 源路由概念,数据分组头部必须包含完整的路由信息, DSR有比AODV更多的路由信息;DSR不区分路由信息 的新旧造成网络负担不同|D6R只能把出错链路通知给 源端。这些缺点造成DSR比AODV路由开销大,带宽利 用率低,平均延迟的时间更长。 需要重点说明的是:在前面例子中产生的数据量 很少,允许对slomo.stat文件进行直接分析,然而由于 网络规模和仿真时问的进一步增大,大部分情况是不 可能的。可以利用其它工具来分析gl0m0.stat文件, 还可以产生图形化结果。本文使用AWK语言和 GnuPlot画图工具。AWK是一种用于读取和处理结 构化数据的极佳工具,而GnuPlot能够从文本文件中 直接读取数据并绘制图形。 在每一次仿真结束时, 0啪.stat文件的结果必须单 独地保存(如下面的aodvSO.star等),然后用一个脚本文 维普资讯 http://www.cqvip.com

计算机与现代化 2OO6年第12期 件(如下面的aodv.bat文件)将所有的结果文件导出生成 —个只包含平均延时的文件re ̄dt.txt。那么就可以用自 编的AWK程序(如下面的aetay.awk)对结果文件进行统 计分析,得到另一个结果文件result2.Ixt。再进行整理形 成如表1所示的result3.眦文件。 #delay.awk分别统计不同路由下相同结点数时的平均 延时 BEGIN{ count=0: SUm=0: l { 目皿+=¥10; count++: if(eount%12==0) { plint ̄ Average Delay %f、 。,um/12); 81埘=0: } l END{ l #aodv.bat将所有结果文件整理成单个只包含 平均延时的文件 ‘ awk ̄/aday/Iprint¥ot / ̄lv30. ̄ltat/aodv50.star/aodvlO0. star/aodvlSO. ̄Ltat/aodv200.stat/aodv250.star/aodv300.star/ dar30.star/dsr50.sttit/darlO0.star/dsrl50.8tat/dar200.Btat/ d日 5O:star/dar300.B诅t>result.tx-t cd\ awk—f delay.awk result.txt>result2.txt 然后编辑一个图形脚本文件(如下面的aod ̄,. plt),用图形工具GnuPlot来直接运行这个文件,就可 以得到如图1所示的Delay.glf图形文件。 #aodv.ift用GnuPlot直接从文本文件t ̄sult3.txt中读取 数据并绘制图形 瞅tenninld gif 8et size i/2.。1/2. 8et output Delay.gifr 8et xlabd numbeI 0f.node ̄' 8et ylal ̄l Average Delay(B) set key left top box 8et title Tho figure 0f Average D raot[o,3oo][o.0100:0.0124] reBuh3. llsing 1:2 title AOD ̄ withli硝p0iIltB。、 I鹄ult3.txt"using 1:3 t ̄tle DSR with llnespolnts 至于其它参数,例如报文投递率、路由负荷、数据 包丢失率和源结点发送数据包数量的比较,只要对源 程序进行简单的修改,就可以直接仿真了。还可以通 过配置文件改变数据包的大小、数据包的发送速率、 结点的移动速度和区域形状,来研究Ad Hoe在不同 情况下表现出的性能。 ‘ The Fi叠ure OF Average I)ela9 3 要 § ‘- 皇 rlumlo ̄'t'-oF-rlode¥ 图1 平均延迟性能比较图 6结束语 笔者通过研究,体会到在移动自组网中使用Glo— M0s.蚰进行仿真方法简单,熟悉整个过程难度小,仅 需提供少量配置参数,仿真结果快速直观。利用Glo MoSim仿真为设计新协议和研究自组网络性能提供 了有力的工具。 参考文献: [1]JoIlge Nuevo.A Comprehensible GlobloSim Tutorial[Z].IJni— versite du Quebec,2OO4. [2]xlang zerlg。Rajive Bagrodil1..M/i/Jo ̄,erla,GlobloSim:11 li— a for paral1el slrnulati ̄0f l丑rge-8 e wJrele ̄fl networks [A].Pt ̄oedings 0fthe Twelfth Workshop On Parallel and Dis— tributed Simulaiton[c].Ba ,Albe ̄。Canada。1998.154- 161. [3] Richard A Meyer。Rajiv ̄BaSil.PARSEC IJ ̄er Manual [Z].IJCLAParallelComputing Laboratory,1998。 [4] IJCLA Parallel Computing Laboratory.GloMoSim u Manual [DB/OL].h呻://pc1.c8.ucla.edu/pmjectB,,启l0慨BiIn/。 2001.02-07. [5] Raj ̄ve Bs ̄II.。1Vlineo'lltkai.Parlld Simulation 0fLarge-Scale HeteI l。oI】8'Con ̄unieation BIe盥[R].Comptltod"Science De 删IJeI_A Partial supportfromD ,2O0O. [6] Glol ̄IoSim 2.∞Installation in WiIId‘肿XP[EB/OL]. http://vearw.k粕e.my]ken.n 乎 臣 gl0lⅨIBim.htm1. 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务