NS2(Network Simulator, version 2)是一种面向对象的网络仿真器,本质上是一个离散事件模拟器。由UC Berkeley开发而成。它本身有一个虚拟时钟,所有的仿真都由离散事件驱动的。目前NS2可以用于仿真各种不同的IP网,已经实现的一些仿真有:网络传输协议,比如TCP和UDP;业务源流量产生器,比如FTP, Telnet, Web CBR和VBR;路由队列管理机制,比如Droptail, RED和CBQ;路由算法,比如Dijkstra等。NS2也为进行局域网的仿真而实现了多播以及一些MAC 子层协议[11]。
NS2使用C++和Otcl作为开发语言。NS可以说是Otcl的脚本解释器,它包含仿真事件调度器、网络组件对象库以及网络构建模型库等。事件调度器是计算仿真时间,并且激活事件队列中的当前事件,执行一些相关的事件,网络组件通过传递分组来相互通信,但这并不耗费仿真时间。所有需要花费仿真时间来处理分组的网络组件都必须要使用事件调度器。它先为这个分组发出一个事件,然后等待这个事件被调度回来之后,才能做下一步的处理工作。事件调度器的另一个用处就是计时。NS是用Otcl和C++编写的。由于效率的原因,NS将数据通道和控制通道的实现相分离。为了减少分组和事件的处理时间,事件调度器和数据通道上的基本网络组件对象都使用C++写出并编译的,这些对象通过映射对Otcl解释器可见。
当仿真完成以后,NS将会产生一个或多个基于文本的跟踪文件。只要在Tcl脚本中加入一些简单的语句,这些文件中就会包含详细的跟踪信息。这些数据可以用于下一步的分析处理,也可以使用NAM将整个仿真过程展示出来[12]。
2.2 NS安装相关
NS的安装比较复杂,对于初学者来说有一定的困难,因此也在此作一下简单介绍。
这次NS2安装的平台是在Ubuntu 11.04上,而安装Ubuntu 11.04的平台是基于Windows的虚拟机软件VMware Workstation 8.0.0版本。首先肯定是安装VMware,并在它的基础上安装Ubuntu 11.04,这里不再详细阐述。直接从安装NS2开始。
1、首先,修改更新源,原有的更新源无法完成更新。
2、更新Ubuntu系统文件,虽然系统是较新版本的,但是不代表里面的文件都是较新的,所以需要更新一下,可以有效减少安装过程中出现各类错误。
3、为了更好的安装NS2,还需要进行一些package的安装。
4、下载ns-allinone-2.34.tar.gz。
5、安装nam。
6、修改环境变量。
至此,安装ns2终于结束了。再在/home/linlonghai/桌面/ns-allinone-2.34/ns-2.34/tcl/ex目录下找到simple.tcl文件,执行该tcl文件。可以看到如下图[13]。
这结果就表示,安装NS2已经成功了。
2.3 NS平台工作概述
2.3.1 使用NS进行网络仿真的方法和一般过程
进行网络仿真前,首先分析仿真涉及哪个层次,NS仿真分两个层次:一个是基于OTcl编程的层次。利用NS已有的网络元素实现仿真,无需修改NS本身,只需编写OTcl脚本。另一个是基于C++和OTcl编程的层次。如果NS中没有所需的网络元素,则需要对NS进行扩展,添加所需网络元素,即添加新的C++和OTcl类,编写新的OTcl脚本。
假设用户已经完成了对NS的扩展,或者NS所包含的构件已经满足了要求,那么进行一次仿真的步骤大致如下:
(1)开始编写OTcl脚本。首先配置模拟网络拓扑结构,此时可以确定链路的基本特性,如延迟、带宽和丢失策略等。
(2)建立协议代理,包括端设备的协议绑定和通信业务量模型的建立。
(3)配置业务量模型的参数,从而确定网络上的业务量分布。
(4)设置Trace对象。NS通过Trace文件来保存整个模拟过程。仿真完后,用户可以对Trace文件进行分析研究。
- 上一篇:51单片机光源频闪特性参数测试电路设计
- 下一篇:X波段发卡式带通滤波器设计+ADS仿真
-
-
-
-
-
-
-
杂拟谷盗体内共生菌沃尔...
十二层带中心支撑钢结构...
大众媒体对公共政策制定的影响
当代大学生慈善意识研究+文献综述
酸性水汽提装置总汽提塔设计+CAD图纸
乳业同业并购式全产业链...
中考体育项目与体育教学合理结合的研究
河岸冲刷和泥沙淤积的监测国内外研究现状
电站锅炉暖风器设计任务书
java+mysql车辆管理系统的设计+源代码