随着当今世界科学技术水平的不断进步,网络和通信技术蓬勃发展,网络通信领域的研究逐年受到追捧。而作为网络通信技术研究的重要手段之一的网络仿真(也称网络模拟)则受到了众多高校师生以及科研人员的青睐。网络仿真使得很多研究人员能够在硬件条件不具备的情况下研究大规模网络,以及在开发新协议、新算法时能够快速地设计、实现、分析进而改进协议或算法。毫无疑问,网络仿真软件在网络协议与技术的研究开发中占有相当重要的地位。
OMNeT++ (Objective Modular Network Testbed in C++)是一款开源的、学术性的、非营利性、基于离散事件的仿真器,其对应的商用版本为OMNEST。近年来,在科学和工业领域里,OMNeT++已逐渐成为一个非常流行的网络仿真平台,在国内外已被广泛使用。OMNeT++作为一款基于组件的、模块化的、开放的仿真软件,有很好的GUI界面,并且可以在GUI中配置参数。与NS2相比,其高度的模块化,使得它在增加一些协议时不需要重现编译整个源代码,使用NED语言来定义网络的拓扑结构,对基本的网络模块元件使用C++语言来定义其行为。软件整体结构清晰,界面显示丰富,运行速度较快,非常适合大规模网络仿真。OMNeT++是一款免费的仿真软件,在学习和研究中使用该软件时不需要支付任何费用,而且OMNeT++在世界各地都有庞大的用户群体,他们为OMNeT++的使用和发展提供了丰富的资源和技术支持。
但是,由于OMNeT++采用离散事件的方式以及使用NED语言和C++语言共同来开发,因此学习起来有一定的难度,特别是对于初学者来说,很容易对其产生畏惧。此外,由于OMNeT++是处于初期的开放源代码项目,文档资料相对来说偏少,且中文资料非常匮乏。为此,作者撰写了本书为学习和使用OMNeT++仿真软件的学习者和科研人员提供帮助。 ◆OMNeT++网络仿真前 言作者在统筹、编写本书时,不仅结合自身的学习、研究体会把主要知识阐述清楚,而且还特别地对相关的网络基础知识做了清晰的介绍。本书所使用的OMNeT++软件为其最新版本4.X,该版本是以前版本的一个提升,涉及了更广泛的应用。本书坚持“看得懂、学得会、用得上”的原则,运用由浅入深、循序渐进的解说手法,首先对OMNeT++基本语法进行详细的讲解,之后通过实例,就现阶段中网络技术的热点研究问题,将采用OMNeT++进行研究开发的整个过程呈现给读者,使读者能够快速入门并迅速将OMNeT++这一强大而实用的工具应用到自己的学习和研究过程中。
本书内容涵盖OMNeT++基本语法、仿真库、网络模拟方法、技巧及现有的一些应用仿真框架等,对OMNeT++仿真平台的使用方法做了深入浅出的讲解,并对一些应用案例做了具体的分析。全书共分四个部分(篇),共14章。
第一篇基础知识篇包含第1~4章,主要讲解OMNeT++仿真软件的结构、安装方法及基本语法等基础知识。其中,第1章为OMNeT++基本介绍,从概念以及简单应用的角度来讲述OMNeT++的基础知识。第2章介绍OMNeT++的安装以及IDE的使用,分别从Linux平台和Windows平台的角度来讲解安装以及使用过程。第3章介绍NED语言,作为OMNeT++的主要使用语言,包括信道、简单模块、复合模块、消息机制、模块参数、连接、属性、继承、包等方面都做了详细的讲解。第4章则针对仿真库方面的知识做了很详细的介绍,包含类库、模块日志、随机数的产生、容器类、路由支持、记录仿真结果等。
第二篇OMNeT++网络仿真技术篇包含第5~8章,主要讲解在不同的网络层次进行网络仿真的方法及相关知识。其中,第5章介绍OMNeT++物理层的相关知识。第6章介绍MAC协议仿真,包括对现有的无线网络MAC协议的总体性分类介绍和对IEEE 802.15.4 MAC协议的介绍,以及该协议OMNeT++仿真代码的分析讲解。第7章介绍网络层路由协议仿真,从路由协议的分类、组成及性能评价参数等方面进行介绍,并通过一个具体的路由协议实例,对路由协议的仿真过程进行讲解分析。第8章介绍仿真结果的分析,就如何使用OMNeT++仿真软件对所生成的仿真结果进行分析做了详细讲解。
第三篇OMNeT++扩展篇包含第9~12章,主要介绍几款基于OMNeT++仿真软件实现的仿真框架。其中,第9章介绍INET Framework,包括安装和使用方法、体系结构的介绍,并对包含的几款具体协议的仿真实例的使用做了讲解,如IEEE 802.11协议等。第10章介绍MiXiM仿真框架,就如何使用该框架增加模拟模型及实现自己的MAC层做了详细的说明讲解。第11章介绍CASTALIA仿真框架,包括CASTALIA仿真框架的概述性介绍,以及如何使用CASTALIA框架中包含的仿真实例的详细性说明讲解。第12章介绍其他第三方框架,包括OVERSIM、REASE、XMIPV6这三个仿真框架。
第四篇OMNeT++应用示例篇包含第13和第14章,主要讲述一个具体的仿真实例的全过程。其中,第13章对基于IEEE 802.15.4/ZigBee协议的WSN技术做了详细介绍,第14章则对基于这个技术的OMNeT++仿真过程做了讲解,特别是NED语言文件的设计。
全书整体内容由夏锋博士进行策划和统编。其中,第1章由郝若男执笔;第2章由曹阳执笔;第3章、第5章由薛磊执笔;第4章由李桂齐执笔;第6章、第9章由王林强执笔;第7章由赵旭海执笔;第8章由丁方伟执笔;第10~12章由张伟执笔;第13章、第14章由高瑞霞执笔。全书最后由夏锋博士修改、定稿。此外,王林强和薛磊参与了全书的修改和校对工作。在此表示衷心的感谢!
全书内容参考了很多现有书籍资料和网络资源,再次对这些资料的原著者表示感谢。本书得到了国家自然科学基金(60903153) 、教育部留学回国人员科研启动基金(2010-2012年)、大连理工大学研究生院教改基金(JP201006)等项目资助,在此向相关部门表示感谢!
由于作者水平有限,加上时间仓促,书中难免存在疏漏和不当之处,敬请读者批评指正。夏 锋大连理工大学
2012年12月