NS简介仿真.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NS简介

NS简介仿真 2007-04-23 15:15 一。NS简介 NS是一个由UC Berkeley开发的用于仿真各种IP网络的为主的优秀的仿真软件。该软件的开发最初是针对基于UNIX系统下的网络设计和仿真而进行的。 Tcl(Tool Command Language)与Tk是安装在UNIX/Linux环境下的两个包,他们一起构成了一套开发系统应用程序和图形用户界面接口(GUI)应用程序的环境。Tk是Tcl在X Window环境下的扩展,它包含了Tcl的全部c库函数,以及支持X Window的窗口,控件等c库函数,为用户开发图形用户界面提供了方便。 NS的设计实现了使用两种程序设计语言,C++和Otcl。这两种程序设计语言都是面向对象的。C++程序模块的运行速度非常快,是强制类型的程序设计语言,容易实现精确的,复杂的算法,但是修改和发现,修正bug所花费的时间较长,因为它比较复杂。Otcl是脚本程序编写语言,是无强制类型的,比较简单,容易实现和修改,容易发现的修正bug,虽然它的运行速度和C++的模块相比要慢很多。 NS的仿真原理-网络组件。NSobject是所有基本网络组件的父类它本身的父类是TclObject类。这个类的对象有一个基本功能,就是处理数据包(PACKET)。所有的基本网络组件可以划分为两类,分类器(Classifier)和连接器(Connector)。它们都是NSobject、的直接子类,也是所有基本网络组件的父类。分类器的派生类组件对象包括地址分类器和多播分类器等。连接器的派生类组件对象包括队列,延迟,各种代理,和追踪对象类。应用程序是建立在传输代理上的应用程序的模拟。NS2中有两种类型的“应用程序”,数据源发生器和模拟的应用程序。NS是离散事件驱动的网络仿真器。它使用Event Scheduler对所有组件希望完成的工作和计划该工作发生的时间进行列表和维护。 NS的工作平台可以是Windows,Linux,Uinx,machitosh,还要求系统装有C++编译器。NS的工作流程:NS代码使用OTCL语言编写,通过OTCL语言解释器解释,使用NS仿真库进行编译和仿真,输出仿真结果,根据仿真结果记录,可进一步进行相关内容分析,生成网络拓补图或者得到数据的可视化的图表。使用辅助的NAM工具,在NS中可以清晰显示网络拓补图,使用X Graph工具,可以将NS的仿真结果用图表形式表示, NS设计的出发点是基于网络仿真,它集成了多种网络协议,业务类型,路由排队管理机制,路由算法。此外,NS还集成了组播业务和应用于局域网仿真有关的部分、MAC层协议。其仿真主要针对路由层,传输层,数据链路层展开,因此NS可以进行对固定,无线,卫星以及混合等多种网络的仿真。但它最适用于TCP层以上的模拟。NS的特点是源代码公开;可扩展性强;速度和效率优势明显。 二 简介2 NS2(Network Simulator, version 2)是一种面向对象的网络仿真器,本质上是一个离散事件模拟器。由UC Berkeley开发而成。它本身有一个虚拟时钟,所有的仿真都由离散事件驱动的。目前NS2可以用于仿真各种不同的IP网,已经实现的一些仿真有:网络传输协议,比如TCP和UDP;业务源流量产生器,比如FTP, Telnet, Web CBR和VBR;路由队列管理机制,比如Droptail , RED和CBQ;路由算法,比如Dijkstra等。NS2也为进行局域网的仿真而实现了多播以及一些MAC 子层协议。 NS2使用C++和Otcl作为开发语言。NS可以说是Otcl的脚本解释器,它包含仿真事件调度器、网络组件对象库以及网络构建模型库等。事件调度器计算仿真时间,并且激活事件队列中的当前事件,执行一些相关的事件,网络组件通过传递分组来相互通信,但这并不耗费仿真时间。所有需要花费仿真时间来处理分组的网络组件都必须要使用事件调度器。它先为这个分组发出一个事件,然后等待这个事件被调度回来之后,才能做下一步的处理工作。事件调度器的另一个用处就是计时。NS是用Otcl和C++编写的。由于效率的原因,NS将数据通道和控制通道的实现相分离。为了减少分组和事件的处理时间,事件调度器和数据通道上的基本网络组件对象都使用C++写出并编译的,这些对象通过映射对Otcl解释器可见。 当仿真完成以后,NS将会产生一个或多个基于文本的跟踪文件。只要在Tcl脚本中加入一些简单的语句,这些文件中就会包含详细的跟踪信息。这些数据可以用于下一步的分析处理,也可以使用NAM将整个仿真过程展示出来。 2、使用NS进行网络仿真的方法和一般过程。 进行网络仿真前,首先分析仿真涉及哪个层次,NS仿真分两个层次:一个是基于OTcl编程的层次。利用NS已有的网络元素实现仿真,无需修改NS本身,只需编写

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档