当前有许多优秀的网络仿真软件,其中有Opnet、NS2、Matlab等,这为网络研究人员提供了很好的网络仿真平台。主流的网络仿真软件都采用了离散事件模拟技术,并提供了丰富的网络仿真模型库和高级语言编程接口,这无疑提高了仿真软件的灵活性和使用方便性。下面将对各种主流的网络仿真软件进行简要评价。

  OPNET Modeler

  OPNET Modeler是OPNET Technology公司的四个系列网络仿真软件产品的其中之一,它主要面向的用户为网络设计专业人士,能够满足大型复杂网络的仿真需要。OPNET Modeler有如下特点:

  (1) 提供三层建模机制,最底层为Process模型,以状态机来描述协议;其次为Node模型,由相应的协议模型构成,反映设备特性;最上层为网络模型。三层模型和实际的网络、设备、协议层次完全对应,全面反映了网络的相关特性;

  (2) 提供了一个比较齐全的的基本模型库,包括:路由器、交换机、服务器、客户机、ATM设备、DSL设备、ISDN设备等等。同时,OPNET Technology公司会对不同的企业用户提供附加的专用模型库,但需另外付费;

  (3) 采用离散事件驱动的模拟机理(discrete event driven),与时间驱动相比,计算效率得到很大提高。

  (4) 采用混合建模机制,把基于包的分析方法和基于统计的数学建模方法结合起来,既可得到非常细节的模拟结果,又大大提高了仿真效率。

  (5) OPNET具有丰富的统计量收集和分析功能。它可以直接收集常用的各个网络层次的性能统计参数,能够方便地编制和输出仿真报告。

  (6) 提供了和网管系统、流量监测系统的接口,能够方便的利用现有的拓扑和流量数据建立仿真模型,同时还可对仿真结果进行验证。

  NS2

  NS2(Network Simulator, version2)是一种面向对象的网络仿真器,本质上是一个离散事件模拟器。NS2由UCBerkeley开发而成。它本身有一个虚拟时钟,所有的仿真都由离散事件驱动的。目前NS2可以用于仿真各种不同的IP网,已经实现的一些仿真有:网络传输协议,比如TCP和UDP;业务源流量产生器,比如FTP、Telnet、WebCBR和VBR;路由队列管理机制,比如Droptai、RED和CBQ;路由算法,比如Dijkstra等。NS2也为进行局域网的仿真而实现了多播以及一些MAC子层协议。

  NS2使用C++和Otcl作为开发语言。NS可以说是Otcl的脚本解释器,它包含仿真事件调度器、网络组件对象库以及网络构建模型库等。事件调度器计算仿真时间,并且激活事件队列中的当前事件,执行一些相关的事件,网络组件通过传递分组来相互通信,但这并不耗费仿真时间。所有需要花费仿真时间来处理分组的网络组件都必须要使用事件调度器。它先为这个分组发出一个事件,然后等待这个事件被调度回来之后,才能做下一步的处理工作。事件调度器的另一个用处就是计时。NS是用Otcl和C++编写的。由于效率的原因,NS将数据通道和控制通道的实现相分离。为了减少分组和事件的处理时间,事件调度器和数据通道上的基本网络组件对象都使用C++写出并编译的,这些对象通过映射对Otcl解释器可见。

  当仿真完成以后,NS将会产生一个或多个基于文本的跟踪文件。只要在Tcl脚本中加入一些简单的语句,这些文件中就会包含详细的跟踪信息。这些数据可以用于下一步的分析处理,也可以使用NAM将整个仿真过程展示出来。

  Matlab

  MATLAB软件是由美国Mathworks公司推出的用于数值计算和图形处理的科学计算系统环境。MATLAB是英文MATrixLABoratory(矩阵实验室)的缩写。MATLAB环境下,用户集成了程序设计、数值计算、图形绘制、输入输出、文件管理等各项功能。MATLAB提供了一个人机交互的数学系统环境,该系统的基本数据结构是矩阵,在生成矩陈对象时,不要求作明确的维数说明。与利用C语言或FORTRAN语言作数值计算的程序设计相比,利用MATLAB可以节省大量的编程时间。

  MTALAB系统由五个主要部分组成:

  (1) MATALB语言体系。MATLAB是高层次的矩阵/数组语言。具有条件控制、函数调用、数据结构、输入输出、面向对象等程序语言特性。利用它既可以进行小规模端程,完成算法设计和算法实验的基本任务,也可以进行大规模编程,开发复杂的应用程序。

  (2) MATLAB工作环境包括管理工作空间中的变量据输入输出的方式和方法,以及开发、调试、管理M文件的各种工具。

  (3) 图形图像系统。这是MATLAB图形系统的基础,包括完成2D和3D数据图示、图像处理、动画生成、图形显示等功能的高层MATLAB命令,也包括用户对图形图像等对象进行特征控制的低层MATLAB命令,以及开发GUI应用程序的各种工具。

  (4) MATLAB数学函数库。这是对MATLAB使用的各种数学算法的总称。包括各种初等函数的算法,也包括矩阵运算、矩阵分析等高层次数学算法等。

  (5) MATLAB应用程序接口。这是MATLAB为用户提供的一个函数库,使得用户能够在MATLAB环境中使用C程序或FORTRAN程序,包括从MATLAB中调用程序(如动态链接库),读写MAT文件的功能。

  由此可见,MATLAB是一个功能十分强大的系统,是集数值计算、图形管理、程序开发为一体的环境。除此之外,MATLAB还具有很强的功能扩展能力,与它的主系统一起,可以配备各种各样的工具箱,以完成一些特定的任务。

  CASSAP

  CASSAP是美国Synopsys(新思科技)公司开发了一款仿真软件,主要应用于数字信号处理和网络通信领域,它可以在概念、体系结构、算法三个层次上实现仿真。CASSAP采用了数据流驱动仿真器,它比基于时钟周期的仿真器速度提高了8-16倍。CASSAP提供了1000多个高层模块,并可对其中所需模块自动生成行为级或RTL级VHDL,也可生成各种风格的DSP代码,供DSP处理器作软件实现。CASSAP可广泛应用于需分析和评估算法、实现方式的数字传输系统,如通讯、图像、多媒体等,并提供了针对GSM、CDMA、DECT等标准的专用开发平台。

  SPW

  SPW仿真软件是Cadence公司的产品,它提供了面向电子系统的模块化设计、仿真及实施环境,是进行算法开发,滤波器设计,C代码生成,硬/软件结构联合设计和硬件综合的理想环境。SPW的一个显著特点是他提供了HDS接口和Matlab接口。Matlab里面的很多模型可以直接调入SPW,然后利用HDS生成C语言仿真代码或者是HDL语言仿真代码。SPW通常可以应用于无线和有线载波通信、多媒体和网络设计与分析等领域。

几款主流的网络仿真软件相关推荐

  1. 六款主流免费网络嗅探软件wireshark,tcpdump,dsniff,Ettercap,NetStumbler

    1.WireShark WireShark是一个开源免费的高性能网络协议分析软件,它的前身就是非常著名的网络分析软 件Ethereal.你可以使用它来解决网络疑难问题,进行网络协议分析,以及作为软件或 ...

  2. 关于当前若干主流网络仿真软件的综述及实例应用分析

    关于当前若干主流网络仿真软件的综述及实例应用分析 撰文:周翔 摘要: 网络仿真是进行网络技术研究的一种基本手段.在新技术的研究过程中,由于各种原因,实际网络系统的实现往往是代价较高或是不现实的.在这种 ...

  3. 让网络信息“私有化”:五款主流RSS阅读器横评

    让网络信息"私有化":五款主流RSS阅读器横评 作者:出处:电脑爱好者 [ 2006-04-26 13:30 ] 摘要:本次测试选用的软件有五款:雅虎助手订阅.搜狗直通车RSS阅读 ...

  4. 推荐几款主流好用的远程终端连接管理软件

    一.介绍 远程终端连接管理软件是管理服务器.虚拟机等远程计算机系统不可或缺的工具之一,它可以通过网络连接到另一台计算机,以执行命令.编辑文件或进行其他管理任务,下面我将为大家介绍几款主流好用的远程终端 ...

  5. 三款主流数码绘画软件调研分析

    大约从四年前起,我开始接触数码绘画.相较于传统的手绘,数码绘画以更加便捷的操作方法.更加方便的存储方式.以及更加出彩的绘画效果,迅速成为了我日常绘画的首选. 数码绘画所需的产品除了必不可少的数位板之外 ...

  6. 元宇宙中的手势交互(四)第一款主流VR头显中的手势交互原理剖析(Meta Quest 2)

    简介 随着Facebook正式改名为Meta,元宇宙的概念也一夜之间在世界范围内被点燃.相应的,Quest2也正式改名为Meta Quest2.马克·扎克伯格在2020年底的时候说,一款VR头显成为主 ...

  7. 浏览器真的能“永不假死”?——六款主流浏览器防假死功能测试

    作者:一石来源:家用电脑 浏览器是大家上网必备的工具,而浏览器假死也是大家在上网时常常所遇到的问题,让人头疼.最近各款主流浏览器纷纷推出了最新版本,我们可以发现一个相同点就是他们都以"防假死 ...

  8. 远程控制软件哪家好?六款主流远控软件全方位测评

    *本文内容以及测试数据来自"B站" 作者:小李student 什么是远控软件?选择远控软件的标准又是什么呢?今天我将测评6款主流的软件来帮大家看看谁是最强远控软件!本次参与测试的远 ...

  9. 个人云存储时代 五款主流网盘横向评测

    编者按:在你开始阅读本文之前,我们先来明确一下读者范围:如果你有两台及以上的终端(包括台式机.笔记本电脑.平板电脑和智能手机):如果你有多终端协同工作的需求,及需要在不同终端中使用相同的数据(包括图片 ...

最新文章

  1. 北电ERS1600,8300,8600交换机的基本技术-第六章 二层冗余技术(MLT,SMLT,IST)
  2. LIBSVM多分类问题 参数详解及实例演示
  3. JSP简单练习-EL表达式操作JavaBean
  4. CSS鼠标响应事件经过、移动、点击示例介绍
  5. java协变返回类型_Java中的协变返回类型
  6. 初识空中计算(Over-the-Air Computation)
  7. 58. 网络驱动器设备: iSCSI 服务器
  8. 业务异常通用类及全局异常处理
  9. 解决wordpress不能上传媒体问题
  10. 中国城市交通管理体制改革初探
  11. 【TVM帮助文档学习】Relay的代数数据类型
  12. postgresql - SQL查询某一天内的记录
  13. 封装的PKPM BimView的方法
  14. uc浏览器返回按钮的兼容_浏览器的返回、后退、上一页按钮的事件方法
  15. flutter 可拖拽吸边的悬浮按钮,悬浮布局;
  16. 所有的环境都配置好了,将新创建的weex项目导入到Android studio中的时候,出现的错误。...
  17. 公网部署freeswitch1.8.6后,终端注册成功后,在fs_cli控制台执行originate user/1000 echo,呼通1000的SIP终端后,终端讲话没有收到fs的回声解决方法
  18. mysql中怎么查询出昨天,明天,五天,一周内,三个月内,半年内的数
  19. ABF平台设计(五)-物料中心/脚手架
  20. Threejs中的Shadow Mapping(阴影贴图)

热门文章

  1. Google网站提交指南
  2. 计算机网络——已知 IP 地址,求解子网的网络地址
  3. Oracle 官网下载地址
  4. python爬虫-异步爬虫
  5. 软件设计到底是什么?
  6. nodejs之pathinfo/pathname的使用
  7. myEclipse 注册码 在线生成
  8. 关于android 手机硬件加速问题
  9. Mac Ports的安装和卸载
  10. 审批业务流程方案设计