NS

NS (NETWORK SIMULATOR)

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的特点是源代码公开;可扩展性强;速度和效率优势明显。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值