305
2008 年第 12 期,第 41 卷 通 信 技 术 Vol.41,No.12,2008
总第 204 期 Communications Technology No.204,Totally
移动 Ad hoc 网络仿真工具比较
韩 勇①,陈 强②,王建新②
(①国防科学技术大学 电子科学与工程学院,湖南 长沙 410073;②中国电子设备系统工程公司研究所,北京 100039)
【摘 要】仿真是移动 Ad hoc 网络研究的重要方法,仿真工具常用于新协议的设计和性能评估,以及大型复杂网络的构
建和优化。文中详细介绍了 OPNET、NS-2、GloMoSim/QualNet、OMNeT++的内部体系结构和对 Ad hoc 网络的支持,最后
了四种仿真工具的特点和性能。
【关键词】移动 Ad hoc 网络;网络仿真; 仿真工具
【中图分类号】TP393.09 【文献标识码】A 【文章编号】1002-0802(2008)12-0305-03
Comparison of The MANET’s Simulation Tools
HAN Yong①, CHEN Qiang②, WANG Jian-xin②
(① Department of Electronic Science and Engineering, NUDT, Changsha Hunan 410073, China;
② Institute of China Electronic System Engineering Corporation, Beijing 100039,China)
【Abstract】Simulation is an important way for Ad hoc network research. The simulation tools are often used
to design a new protocol and carry out performance evaluation, or to build and optimize a large complicated network.
This article describes the internal architecture of OPNET, NS-2, GloMoSim/QualNet, OMNeT++ and the support to
Ad hoc network. Finally, it sums up the feature and performance of the four simulation tools.
【Key words】Mobile Ad hoc network; network simulation; simulation tool
0 引言
移动 Ad hoc 网络是一种由无线节点组成的,能够迅速
部署的无中心多跳自组织网络[1]。Ad hoc 网络研究主要是通
过仿真进行协议 的设计和验证。OPNET[2-3]、NS-2[4]、
GloMoSim[6]/ QualNet[8]、OMNeT++[9]是目前使用最多的四种仿
真工具,接下来分别从内部体系结构和对 Ad hoc 网络的支
持来比较这四种仿真工具。
1 OPNET
OPNET[2-3](Optimized Network Engineering Tools)已
经发展了 20 多年,被认为代表了网络仿真软件的发展,在
美国大型企业和国防领域广泛使用,并免费提供给北美的大
学使用。OPNET 主要用于通信网络、设备和协议的建模和仿
真,能够仿真所有的有线网络和部分无线网络。虽然 OPNET
更适合用于网络诊断和优化,但也可以设计新的协议进行仿
真验证。
1.1 内部体系结构
OPNET 采用了离散事件驱动的调度仿真内核,通过一个
分层的图形界面来完成网络的部署和面向目标的建模,集成
的图形化分析工具能够提供丰富的统计报表输出,可以动画
演示仿真的进行过程,实现上百个节点的仿真规模。
OPNET Modeler 是 OPNET 的主要部分[3],提供三层建模
机制,如图 1 所示。最上层为网络模型,反映网络的拓扑结
构;其次为节点(Node)模型,完全符合 OSI 七层协议模型;
最底层为进程(Process)模型,以状态机来描述。OPNET
Modeler 使用图形化的网络编辑器,可以选择不同类型的节
点和链路搭建网络。节点模型可以通过图形化的节点编辑
器,采用内置模块(源和目的模块、业务发生器、队列、无
线)组成节点的数据
图。最底层的进程模型以有限状态
机的转移过程来描述,使用类似 C的 Proto-C 语言进行编程。
OPNET 提供了详尽的的模型库,设备模型包括路由器、交换
收稿日期:2008-05-05。
基金项目:国防预研 060811001050101。
作者简介:韩 勇(1975-),男,博士生,主要研究方向为机载网络、动态 TDMA 协议;陈 强(1972-),男,博士生,高级工程师,要研
究方向为数据链;王建新(1955-),男,研究员,北京计算机学会副理事长,主要研究方向为军事自动化信息系统。
306
机等有线网络设备, 还包括厂商提供的设备原型;链路模型
包括点对点链路和总线,排队服务规则包括 FIFO、LIFO 和
优先级非抢先排队、最短优先任务、循环排队等。
图 1 OPNET 仿真层次结构
1.2 对 Ad hoc 网络的支持
由于 OPNET 最初是为有线网络的设计和规划开发的仿真
软件,通过增加无线模块为 WLAN、GSM、卫星和 Ad hoc 网络
仿真提供必须的组件,包括IEEE802.11 的 MAC 协议和主要的
Ad hoc 路由协议。OPNET 提供移动和无线传播模型,还提供
地形建模,模拟不同大气环境或者拓扑场景下对无线信号传
播的联合影响,同时引入并行仿真加快了无线仿真的速度。
2 NS-2
NS 网络仿真工具是一款免费使用的离散事件仿真工具[4]。
由于 NS-2 免费和开放的特性,在网络研究领域广泛使用,其
源代码库得到众多研究机构的贡献。
2.1 内部体系结构
NS-2 非常适合报文交换网络和无线网络仿真,并能接入
到真实的网络中,或者将仿真器的业务注入到真实网络中。
NS-2 遵守 OSI 七层模型,源程序分成 C++核心代码和 OTcl
代码,分别用于模型的构造和设置仿真脚本,以实现性能和
易用性上的折中。新协议首先用 C++根据功能编程,然后更
新 OTcl 配置文件。为了让 NS-2 接受新的协议和参数,需用
C++代码来描述可供 OTcl 脚本使用的参数和方法。
NS-2 的每个节点分别由分类器对象组成,每个分类器在
节点中执行一个特别的函数,负责检查报文的特定部分,并
将报文送到下一个分类器。代理是另一种重要类型的节点对
象,模仿网络端点来产生、处理或销毁报文,支持 TCP、UDP
和其它的通用协议。NS-2 通过一序列的连接器对象建立单向
或双向的链路,支持点对点、广播、无线链路,并支持 FIFO、
RED、CBQ 和 WFQ 等队列类型。提供一种指数 on/off 分布的
业务产生模型,支持使用 TCP 的 FTP、Telnet 和 HTTP 业务,
和使用 UDP 的 CBR 恒定速率业务。NS-2 可以跟踪、监视和记
录每个报文的到达、离开或被丢弃,以进行后期处理和分析。
2.2 对 Ad hoc 网络的支持
NS-2 最初并不支持移动 Ad hoc 网络环境,美国 CMU 大
学 Monarch 工作组对 NS-2 作了相应的扩展。现在,NS-2 已
经成为 Ad hoc 网络研究中使用最多的仿真工具,支持 AODV、
DSDV 等静态和动态路由,提供了多种协议算法和模型。但是,
它的软件体系结构使得增加和修改组件十分复杂,支持的节
点数目也受到性能的限制,从而造成仿真的速度比较慢。
NS-2 通过 Mobile Node 对象来扩展节点的功能[5],移动
节点的协议栈包括:(1)链路层;(2)地址解析协议模块 ARP,
连接到链路层;(3)带优先级的接口队列,支持路由协议的
优先级和运行时队列报文的过滤;(4)符合 IEEE802.11 规
范的 MAC 协议实现;(5)踪迹分析代理,可在进行 IP 地址
过滤之前接受来自 MAC 层的报文;(6)用于接入无线信道的
网络硬件接口,发送网络接口在报文的头部插入标记,然后
依次被传播模型使用,在接收网络接口决定报文是否被接收
节点接收、捕获、检测。
3 GloMoSim/QualNet
GloMoSim[6]是由 UCLA 计算实验室设计,使用并行离散仿
真语言 PARSEC 库的多线程并发和强大的消息接收机制,从
而具有超大规模的无线网络仿真能力[7]。
3.1 内部体系结构
GloMoSim 中的每个节点都有自己的协议栈参数和统计
信息。消息能在节点和各层之间以任何粒度进行交换,事件
的同步通过定时器消息来保证。GloMoSim采用OSI七层模型,
相邻层之间使用
的 API 函数实现协议栈之间的通信,如
图 2所示。修改协议栈中的某个特定层不会影响其它层,从
而可以实现多个协议之间以及特定层不同细节的一致性比
较。在 GloMoSim 中开发新协议相对比较容易,并不需要对
PARSEC 有深入的了解,现有的网络协议代码能够直接集成到
GloMoSim 中使用。
图 2 GloMoSim 报文生命周期
3.2 对 Ad hoc 网络的支持
GloMoSim 实现了许多 Ad hoc 网络协议,这些协议的模
型可以根据不同的粒度和细节进行配置。GloMoSim 支持的应
用有Telnet、ftp、CBR、HTTP等,在传输层支持TCP(FreeBSD)、
UDP、TCP(Tahoe)。支持 AODV、DSR 等几乎所有的 Ad hoc
网络路由协议。MAC 层可用的模型有 CSMA、IEEE802.11、TDMA
等。无线传播可以根据 Rayleigh、Ricean 建模,并支持基
本的随机路点和组移动模型。
3.3 QualNet
Qualnet 是 GloMoSim 的商业版本[8],针对 GloMoSim 的诸
多不足加以改进,并增加了许多新特性,同时为有线和无线
307
网络提供了一套广泛的模型和协议集,包括 Ad hoc、卫星和
蜂窝网络,提供了丰富的文档和技术支持。Qualnet 中的标准
库提供有线和无线网络研究和商业开发需要的大多数模型和
协议;MANET 库提供了真正对 Ad hoc 网络支持,而不是标准
库中已有的模型和协议;QoS 库则提供专门的QoS 协议。到目
前为止,QualNet 是对 Ad hoc 网络支持最全面的仿真软件,
除了仿真核心程序外所有的协议程序都可以进行修改。
4 OMNet++
OMNet++[9]是一款基于组件的开源程序包,主要用于通信
网业务和协议建模、仿真排队、多处理器和其它分布式系统、
验证硬件结构、评估复杂软件系统的性能。通常来讲,系统
只要能映射成消息传递进行通信的组件,OMNeT++就可以对
系统进行仿真。因此 OMNeT++更具通用性,不仅仅专门用于
网络仿真。
4.1 内部体系结构
OMNeT++模型由分级嵌套的模块组成,模块嵌套的深度
是没有限制的,可以真实反映系统的逻辑结构。模块之间的
通信经消息传递,消息可以包含任意复杂的数据结构。模块
能直接发送消息到规定的目的地或者沿着一个预先定义的
路径传递,可以设置相应的连接属性,如带宽、延时、和误
码率。OMNeT++使用 C++来编写最底层的简单模块,使用继承
多态等面向对象编程的概念来扩展仿真器的功能。OMNeT++
从软件工程的角度进行设计,所以有更好的组织和灵活性,
图形化界面更易于使用。并且通过 MPI 或 PVM3 库支持并行
仿真,与 PARSEC 相比而言是一个更灵活的通用仿真平台。
4.2 对 Ad hoc 网络的支持
OMNeT++由于推出时间较短,目前包括一个用于 GSM 网
络的底层仿真模块,和一些初级的用于节点移动性、无线传
播、路由算法(AODV)的通用无线通信模块。不过随着对 Ad
hoc 网络的协议和模型支持的日益完善,将逐渐发挥其性能
的优越性和灵活性。
5 结语
可见,四种仿真工具各有优点和不足,具有不同的适用
范围。OPNET 提供了对 Ad hoc 网络的基本支持,适合无线有
线网络联合以及网络业务流量仿真。NS-2 是最流行的 Ad hoc
网络仿真工具,并且是免费的。但是,NS-2 扩展性差,仿真
效率较低,缺乏有效的帮助文档。GloMoSim 的使用范围仅次
于NS-2,QualNet作为GloMoSim的商业版本,是目前对Ad hoc
网络仿真支持最好的仿真工具。开源的 OMNeT++完全基于面
向目标设计理念开发,适合不同级别和仿真粒度的研究,但
是由于推出的时间较短,对 Ad hoc 网络的支持还不够完善。
所以,在进行 Ad hoc 网络协议研究时,应该根据具体的情
况来选择合适的仿真工具。
参考文献
[1] 陈林星,曾曦,曹毅.移动 Ad hoc 网络——自组织分组无线网络技术
[M].北京:电子工业出版社, 2006.
[2] Modeler Accelerating Network R&D[EB/OL].http://www.opnet.
com /solutions/network_rd/modeler. html.
[3] 陈敏.OPNET 网络仿真[M].北京:清华大学出版社,2004.
[4] Varadhan K, Fall K. The ns Manual[EB/OL]. http://www.isi.edu
/nsnam/ns/.
[5] 符琦,蒋云霞,蒋瑞林.基于NS2的Ad Hoc网络路由协议的模拟实现[J].
计算机工程与应用, 2006,5:149-155.
[6] Zeng Xiang, Bagrodia R, Gerla M. GloMoSim:a Library for Paral
ler Simualtion of Large-scale Wireless Networks[EB/OL]. http:
//pcl.cs.ucla.edu/projects/glomosim/documents.html.
[7] 高振国,赵蕴龙,李香,等.GloMoSim 无线网络仿真器剖析[J].系统
仿真学报, 2006,18(z2):672-675.
[8] QualNet 4.5 User’s Guide[EB/OL].http://www.qualnet.com/
publications/documentation/.
[9] OMNeT++ User Manual[EB/OL].http://www.omnetpp.org/ doc/man
ual/ usman.html.
(上接第 304 页)
考场上传统身份识别的弊端。但也有些问题,例如:怎样进
一步处理考生因指纹意外受损等特殊情况而造成的拒识等,
是我们需要进一步研究的。
参考文献
[1] 罗希平,田捷.自动指纹识别中的图像增强和细节匹配算法[J].软件
学报.2002.13(5):942-956.
[2] 吴文杰,张晓光. 网络查询系统中认证协议的设计与分析[J]. 计算
机工程.2005.31(21):129-131.
[3] Wenbo Mao.Moderm Cryptography:Theory and Pract-ice[M].
Beijing:Publishing House of ElectronicsIndustry , 2004:245
-662.
[4] 张显全,唐振军. 基于图的指纹匹配算法[J].计算机工
程.2006.32(13):193-195.
[5] 徐志博, 马恒太.一种用于卫星网络安全认证的协议设计与仿真[J].
计算机工程与应用.2007.43(17):130-133.
[6] 卢正鼎,廖振松. Rijndael 算法的研究[J].计算机工程与科
学.2005.27(6):72-74.