




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
(精品word)NS2网络仿真实验 (精品word)NS2网络仿真实验 PAGE\*MERGEFORMAT22 (精品word)NS2网络仿真实验 移动自组织网络 实 验 报 告 NS2网络仿真实验 何云瑞 13120073 电信研1301班 1.实验目的和要求 1.学会NS2的安装过程,并熟悉NS2的环境; 2.观察并解释NAM动画,分析Trace文档. 3.学会用awk和gnuplot分析吞吐量、封包延迟、抖动率和封包丢失率。 2.实验环境 先在PC上安装VMware虚拟机,再在虚拟机上安装Ubuntu系统,最后再Ubuntu系统上安装NS2软件,本次实验采用的是NS—2。34版本. 3.基本概念 3.1NS2简介 NS2是一款开放源代码的网络模拟软件,最初由UCBerkeley开发。它是一种面向对象的网络模拟器,它本质上是一个离散事件模拟器,其本身有一个模拟时钟,所有的模拟都由离散事件驱动.其采用了分裂对象模型的开发机制,采用C++和OTcl两种语言进行开发。它们之间采用TclCL进行自动连接和映射。考虑效率和操作便利等因素,NS2将数据通道和控制通道的实现相分离。为了减少封包和事件的处理时间,事件调度器和数据通道上的基本网络组件对象都使用C++编写,这些对象通过TclCL映射对OTcl解释器可见。 目前,NS2可以用于模拟各种不同的通信网络,它功能强大,模块丰富,已经实现的主要模块有:网络传输协议,如TCP和UDP;业务源流量产生器,如FTP、Telnet、CBR、Web和VBR;路由队列管理机制,如Droptail、RED和CBQ;路由算法;以及无线网络WLAN、移动IP和卫星通信网络等模块。也为进行局域网的模拟实现了多播协议以及一些MAC子层协议。 3。2NS2的功能模块 NS2仿真器封装了许多功能模块,最基本的是节点、链路、代理、数据包格式等,下面对各个模块进行简单的介绍: (1)事件调度器:目前NS2提供了四种具有不同数据结构的调度器,分别是链表、堆、日历表和实时调度器。 (2)节点(node):是由TclObject对象组成的复合组件,在NS2中可以表示端节点和路由器. (3)链路(link):由多个组件复合而成,用来连接网络节点.所有的链路都是以队列的形式来管理封包的到达、离开和丢弃。 (4)代理(agent):负责网络层封包的产生和接收,也可以用在各个层次的协议实现中。每个agent连接到一个网络节点上,由该节点给它分配一个端口号。 (5)封包(packet):由头部和数据两部封包成。一般情况下,packet只有头部、没有数据部分。 (6)应用层(Application):流量产生器(Trafficgenerators)创建了各种不同的概率模型来模拟产生实际网络中的业务流,它建立在UDP代理之上;应用模拟器(Simulatedapplication)产生建立在TCP代理之上的业务流。 (7)数据记录:Trace,功能是能够详细记录模拟过程,同时,用户也可以根据自己的需要记录模拟过程中的任何一个细节,模拟结束后会产生out.tr文件;Monitor,NS2中有两种监测,队列监测(QueueMonitoring)和流量监测(Per-FlowMonitoring)。 (8)动画演示Nam,是基于Tcl/Tk的动画演示工具,用来把模拟的过程用可视化的方式呈现出来,模拟结束后会产生out.man文件。 (9)数据分析:gawk。awk是一种程序语言.它具有一般程序语言常见的功能。由于awk语言具有使用直译器(Interpreter)不需先行编译;变量无型别之分(Typeless),可使用文字当数组的注标(AssociativeArray)等特色,所以使用awk撰写程序比起使用其它语言更简洁便利且节省时间。awk还具有一些内建功能,使得awk擅于处理具资料列(Record),字段(Field)型态的资料。此外,awk内建有pipe的功能,可将处理中的资料传送给外部的Shell命令加以处理,再将Shell命令处理后的资料传回awk程序,这个特点也使得awk程序很容易使用系统资源。而gawk是GNU所开发的awk,最初在1986年完成,之后不断改进和更新,gawk包含awk的所有功能。 3.3Trace文件的格式 (1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)EventTimeFromnodeTonodePkttypePktsizeFlagsFidSrcaddrDstaddrSeqnumPktid(1)Event发生的事件类型。 +表示封包进入链路队列(Enqueue) —表示封包离开链路队列(Dequeue) r表示目的队列接受(receive)事件 d表示队列丢弃(drop

17****21
实名认证
内容提供者


最近下载