网络仿真软件的对比

作用

网络仿真主要应用在2 个方面:

  • 一是开发和评价新的网络协议和设备,
  • 二是网络规划设计。

网络仿真能迅速建立起网络模型, 方便地修改模型, 适用于预测网络性能、容量规划、故障分析、端到端性能分析、指导新网络建设等。

困难

由于网络的复杂性, 网络仿真存在一定的困难。

  • 首先, 网络规模巨大, 网络主机数目的增长异常迅速。
  • 其次, 由于网络的扩展性, 有的网络协议和机制在小规模的网络上行良好, 但在大规模网络中变得低效甚至不可用, 如域名机制。
  • 最后, 网络变化非常快
    • 一是网络异构性和动态特性, 如拓扑变化、链路多样性、路由动态特性、协议复杂性等;
    • 二是网络应用发生变化, 导致了流量模式的变化。这些都使得网络的建模和仿真变得困难。

三种网络仿真软件

OPNET

  • 简介:最著名的仿真软件OPNET 是美国MIL3 公司的产品。目前OPNET 是世界上最先进的网络仿真开发和应用平台, 近几年被第三方权威机构(如NetworkWorld 等)评选为“世界级网络仿真软件”第一名。
  • 原理:OPNET 采用离散事件驱动的模拟机理, 其中“事件”是指网络状态的变化, 也就是说, 只有网络状态发生变化时, 模拟机才能工作。网络状态不发生变化的时间段内不执行任何模拟计算, 即被跳过。
  • 优点:因此, 与时间驱动相比, 离散事件驱动的模拟机计算效率更高。
  • 机制:基于包的建模机制(simulationon packet level)。
    • OPNET 模型分为network 、node和process 三个层次。
    • 用户可以在这三个层次的任何地方切入编程, 建立所需的模型。
    • OPNET 提供了一个比较齐全的基本模型库(包括网络设备和链路),
  • 缺点:收费的商业软件,很贵, 限制了其在研究领域的应用。

NS

  • 简介:NS(network simulator) 。NS 于1995 年由DARPA 资助的VINT(Virtual InterNetTestbed)工程开发, 目前由LBL , Xerox PARC , UCB ,USC/ISI 等合作开发。
  • 原理:采用离散事件驱动机理进行仿真。它的架构严格遵循OSI 七层网络模型, 其内核源码用C 语言完成, 编程语言用C + +和OTcl (面向对象的Tcl)。
    • C ++是一个编译性语言, 通过它可以有效地处理字节、包头等数据信息, 实现各种算法, 适用于具体协议的实现。
    • C ++和OTcl 能够互相直接操作对方定义的数据,C ++的类和OTcl 的类相对应。通过这种机制,NS 达到了仿真配置灵活性和运行效率的统一。
  • 优点:软件包可以从网络上免费下载,所有源代码公开, 是一个开放性的仿真平台。能使得网络初学者比较具体地理解网络技术:协议、路由、分组转发、拥塞控制等。
  • 缺点
    • 文档显得过时而且帮助有限;
    • 不同版本中模块的兼容性问题比较突出;
    • 仿真节点数目很多时,需要更多的内存资源,运行速度明显变慢。
    • 另外, 由于使用2 种编程语言,NS 的学习曲线太过陡峭, 其调试工作也具有相当难度。

GloMoSim

  • 简介:GloMoSim(for global mobile system)[ 4] 仿真软件由美国UCLA 大学计算机系开发。
  • 原理:基于C 语言的并行仿真语言Parsec 设计, 可以实现并行离散时间驱动仿真, 具有可扩展性和可编程性。支持纯无线网络的协议,的结果数据既可以用文本也可用图形表述。采用分层的方法, 不同层之间使用标准的API 进行通信, 这样实现了网络所需的基本协议栈层次。
  • 优点:使用方便, 具有可测量性, 可以远程控制
  • 缺点:分层结构太严格, 要实现跨层信息的应用就显得困难

小结

NS 和GloMoSim 是免费的, 其程序的源代码也是开放的, 因此受到了学术界的欢迎。OPENET 是商业软件, 费用较贵, 但其功能强大, 仿真准确性也较高, 主要为一些大型网络研发部门所使用。OPNET综合采用基于包的建模方法和数学分析的建模方法, 可以获得较快的仿真速度。NS 则特别适用于TCP 层以上的仿真, 但是当仿真节点数较多时速度较慢。

3 种仿真软件都采用离散事件驱动作为引擎。离散事件驱动的模拟机理, 使其可以在高度复杂的网络环境下得到高可信度的结果。但这种机制存在着模型不严格和处理能力不够的缺点。

参考

摘自文献:《基于3 种主流网络仿真软件的网络仿真探讨》

你可能感兴趣的:(网络)