网络模拟环境 NS-2仿真软件简介

转载 2006年06月24日 10:18:00
对于如何验证网络协议的正确性和进行相关性能测试,人们提出了很多方法,目前最广泛使用的方法就是通过虚拟环境进行模拟仿真。NS-2是进行网络仿真最流行的软件,已广泛被科研院所和各大高校用于进行网络分析、研究和教学。它支持众多的协议,并提供了丰富的测试脚本。

NS-2全称是Network Simulator Version 2。它是面向对象的,离散事件驱动的网络环境模拟器,主要用于解决网络研究方面的问题。NS-2提供在无线或有线网络上,TCP、路由、多播等多种协议的模拟。

NS-2最早来源与1989年的Real Network Simulator项目,经过多年的发展之后,于1995年得到施乐公司(Xerox)的支持,加入VINT项目。NS一直以来都在吸收全世界各地研究者的成果,包括UCB、CMU等大学和SUN等公司的无线网络方面的代码。

NS-2由两种编程语言,OTCL(具有面向对象特性的TCL脚本程序设计语言)和C++实现。之所以使用两种编程语言,是因为模拟器有两方面的事情需要做。一方面,具体协议的模拟和实现,需要一种程序设计语言,能够高效率的处理字节(Byte),报头(Packet Header)等信息,能够应用合适的算法在大量的数据集合上进行操作。为了实现这个任务,程序内部模块的运行速度(run-time speed)是非常重要的,而运行模拟环境的时间、寻找和修复bug的时间,重新编译和运行的时间(run-around time)不是很重要。这种情况下,C++语言是非常合适的。

另一方面,许多网络中的研究工作都围绕着网络组件和环境的具体参数的设置和改变而进行的,需要在短时间内快速的开发和模拟出所需要的网络环境(scenarios),并且方便修改和发现、修复程序中的Bug。在这种任务中,网络环境布置的时间就显得很重要了,因为模拟环境的建立和参数信息的配置只需要运行一次。这种情况下,脚本语言有很大优势,具有面向对象特性的TCL脚本语言可以充分满足需求。NS-2的内部类结构如图1所示。


图1:NS-2类结构图


NS-2中节点的结构与实际环境中的网络节点非常相似,如图2所示。对于一个网络节点来说,有IP地址和端口号,这对应的就是图中的地址分类器(Address Classifier)和端口分类器(Port Classifier)。当TCP数据包从节点入口处(Node Entry)进来节点之后,首先在地址分类器处通过IP包头判断IP地址是否与本节点相同,如果相同则进入端口分类器,通过TCP包头获得数据包的目的端口,并把数据包发送到节点相应的端口进行处理;如果在地址分类器处发现数据包的目的IP地址与本节点不同,就将数据包重新发送进入链路,以供其他节点处理。


图2:NS-2节点结构图



总之,NS-2为我们提供了一个很好的试验平台。它使用两种语言,C++有利于快速的运行速度;TCL则有利于快速建立试验环境。NS-2中的实体结构也非常清晰,有利于构建新的网络协议和网络实体。(T114)

 

NS-2网络仿真软件The Network Simulator 2.35

  • 2017年09月25日 18:50
  • 56.77MB
  • 下载

网络仿真工具TOTEM之——IP路由功能

摘要: 本文主要介绍TOTEM的IP路由功能模块,首先,通过载入底层拓扑结构以及底层网络之间的带宽请求关系进行底层数据的初始化;其次,通过路由协议算法的应用,计算出相应的路由状况的好坏;最后,通过对路...
  • Canhui_WANG
  • Canhui_WANG
  • 2016年05月05日 14:48
  • 477

复杂网络环境模拟工具软件

复杂网络环境模拟工具软件
  • usausa2
  • usausa2
  • 2016年03月01日 22:32
  • 976

利用Dummynet模拟恶劣网络环境

利用Dummynet模拟恶劣网络环境在之前的文章中提到了三种模拟恶劣网络环境调试代码的手段: 应用层或者传输层的代理服务器 传输层或者网络层控制数据包的驱动 网络层控制数据包的网关 同时在之前的文章中...
  • baidu_zhongce
  • baidu_zhongce
  • 2015年07月14日 10:49
  • 3239

用fiddler2模拟2G,3G环境下的网络环境

用fiddler2模拟2G,3G下的网络速度 1.为什么要限速? 主要是为了模拟app端(也包括pc端)在低网络速度的情况,用于测试各终端是否有bug以及对用户体验是否有影响。 2....
  • Roenfun
  • Roenfun
  • 2015年09月08日 16:55
  • 2910

网络环境模拟搭建

原先使用NEWT在Windows端搭建一套网络仿真的环境,现在搭建一套更加精确的网络控制器网络模拟拓扑图其中,网络控制器需要时一个双网卡的服务器,两个网口eth0和eth1网桥的搭建网桥:工作在网络链...
  • lluozh2015
  • lluozh2015
  • 2016年08月08日 09:21
  • 4621

WANemv搭建网络模拟环境

WANemu 与 NistNet 的比较     做网络测试的往往需要使用网络模拟工具来模拟实际网络情况,大家比较常用的网络模拟工具主要有NistNet, IP Cloud,...
  • u010209218
  • u010209218
  • 2015年05月26日 14:57
  • 673

windows下网络丢包模拟软件(Network Emulator for Windows Toolkit)

最近公司有一个直播的测试项目,需要模拟各种网络环境下的直播状态,最后找到一款这样的软件(如果有遇到更好的软件,望和网友多多交流) 介绍一款windows下的网络模拟器,可以模拟各种丢包或延迟的网络(...
  • lyhDream
  • lyhDream
  • 2015年10月25日 16:06
  • 12353

模拟恶劣网络环境常用的几种解决方案

一、利用Fiddler模拟恶劣网络环境   在解决日常的支持需求中,经常会遇到一些用户反馈一些无法简单复现的bug,有很大一部分的bug是由于用户自身的网络环境波动,或者是本身网络环境就较为恶劣,...
  • zwz1984
  • zwz1984
  • 2016年10月12日 17:07
  • 1351

利用Fiddler模拟恶劣网络环境

在解决日常的支持需求中,经常会遇到一些用户反馈一些无法简单复现的bug,有很大一部分的bug是由于用户自身的网络环境波动,或者是本身网络环境就较为恶劣,而服务在面对这种恶劣的网络环境的健壮性不够,导致...
  • baidu_zhongce
  • baidu_zhongce
  • 2015年06月29日 15:51
  • 9269
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:网络模拟环境 NS-2仿真软件简介
举报原因:
原因补充:

(最多只允许输入30个字)