OPNET是OPNET公司1987年发布的一个商业化的网络性能仿真软件,提供了具有重要意义的网络性能优化工具,使得具有预测性的网络性能管理和仿真成为可能。OPNET仿真平台的功能主要在于以下三个方面:(1)对于企业网的模拟,在某些业务应用达不到事先预想结果的时候, OPNET能够捕捉重要的流量进行分析,从业务、网络、服务器三方面来找出瓶颈。(2)对于比企业网更复杂的运行商网络的模拟,OPNET重点模拟整个业务层和流量,使得运营商可以有效地查出业务配置中产生的错误。(3)针对研发的需要,OPNET提供了一个开放的环境,使用户能够建立新的协议和配备,并且能够将细节定义并模拟出来。OPNET Modeler提供了三层建模机制,分别在进程层,节点层和网络层进行由下到上的建模。进程模型(process model)的基础是用有限状态机FSM(Finite State Machine)来描述各种协议。各个状态再分别进行编程实现。节点模型(node model)由进程模型构成,可以组成完整的协议栈,真实的反映所建模设备的特性。各模块间通过数据包和状态信息的传递来进行各种操作,进而实现设备的功能。网络模型(net model)由节点模型组成,可以通过不同的拓扑设计来构造出各种不同的网络结构。
NS2是一个由美国伯克利大学开发,面向对象的、离散事件驱动的网络仿真工具,可以仿真各种IP网络环境。NS2可以仿真各种不同的通信网络,功能非常强大,已经实现的一些仿真模块有:网络传输协议,如TCP和UDP;业务源流量生产器,如FTP、Telnet、Web CBR和VBR;路由队列管理机制,如Droptai、RED和CBQ;路由算法,如Dijkstra以及无线网络的WLAN、Ad hoc路由等。NS2采用C++和Otcl两种开发语言进行开发,仿真用户只要通过简单易用的Tcl/OTcl简本编写出仿真代码,就可以对仿真拓扑、节点、链路等各种部件和参数进行方便快速的配置。NS2的仿真流程如图1-2所示。用户首先要进行问题定义;如果需要添加或者修改代码,就要按照图中右侧的过程修改,包括对代码的修改、重新编译和调试;如果不需要修改代码,就采用NS2已有构件完成仿真工作,用户需要编写Tcl仿真脚本,然后执行该脚本进行仿真;用户对仿真结果进行分析,如果达到预期则结束,否则应该分析问题所在,并重新考虑执行仿真前的各个步骤。
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。MATLAB 应用广泛,其中包括信号处理和通信、图像和视频处理、控制系统、测试和测量、计算金融学及计算生物学等众多应用领域。在各行业和学术机构中,有一百多万工程师和科学家使用 MATLAB 这一技术计算语言。当前流行的MATLAB 6.5/7.0包括拥有数百个内部函数的主包和三十几种工具包(Toolbox)。工具包又可以分为功能性工具包和学科工具包,功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能;学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。开放性使MATLAB广受用户欢迎,除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。