欢迎来到天天文库
浏览记录
ID:52648421
大小:129.50 KB
页数:12页
时间:2020-04-12
《网络模拟环境 NS-2仿真软件简介.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、网络模拟环境NS-2仿真软件简介姓名:任三阳学号:s070102094NS-2的概貌NS是面向对象的,离散事件驱动的网络环境模拟器,开发于UCBerkeley,它可以模拟各种IP网络环境。NS实现了对许多网络协议的模拟,如TCP,UDP,和数据源发生器(trafficsource)如FTP,WWW,Telnet,Web,CBR和VBR等。NS模拟了路由队列的管理机制,如DropTail,RED和VBR,实现了Dijkstra和其他的路由算法。NS也实现了Multicasting和一些应用于局域网模拟的在MAC层的协议。NS-2由C++和Otcl(加上面向对象特性的TCL脚本程序设计语
2、言,开发于MIT)两种程序设计语言实现。NS-2的概貌NS-2由两种编程语言,OTCL(具有面向对象特性的TCL脚本程序设计语言)和C++实现。之所以使用两种编程语言,是因为模拟器有两方面的事情需要做。为什么要用两种编程语言来实现NS?模拟器有两方面的事情需要做一方面,C++具体协议的模拟和实现:另一方面,OTCL用来建立模拟的环境和配置参数,并且方便修改和发现、修复程序中的Bug。回顾平时进行c++编程的过程:写具有各种独立功能的类写main函数,让类实例化,即new出对象;并让这些对象协调工作一个优秀的OO程序应该只有main这个外部函数,其他全是类。ns的类结构那么ns中:用c
3、++实现各种功能实体,即类用tcl语言new出c++对象,并进行初始化,让这些对象协调工作;可以说,tcl充当了main函数的功能,但交互性更好来看看tcl的初始化:设定一些变量的初始值(一般通过bind机制);注意,初始化更重要的任务是将各个对象的downtarget_和uptarget_赋值,以完成数据包行进路径的设定!!!一旦运行起来,即$nsrun语句执行后,基本不关tcl的事了人们在用tcl进行初始化的时候,为了结构清晰,对应每个c++类,用一个OTcl类进行初始化。而这个关联过程就是ns的一种独有的机制,通过tclcl完成。事实上,随着ns规模的扩大,otcl部分的代码越
4、来越复杂;ns学习的难度转移到otcl代码部分。NS-2的C++和Otcl类对应示意图NS2的仿真过程进行网络仿真前,首先分析仿真涉及哪个层次,NS仿真分两个层次:一个是基于OTcl编程的层次。利用NS已有的网络元素实现仿真,无需修改NS本身,只需编写OTcl脚本。另一个是基于C++和OTcl编程的层次。如果NS中没有所需的网络元素,则需要对NS进行扩展,添加所需网络元素,即添加新的C++和OTcl类,编写新的OTcl脚本。NS2的仿真过程进行一次仿真的步骤大致如下:(1)开始编写OTcl脚本。首先配置模拟网络拓扑结构,此时可以确定链路的基本特性,如延迟、带宽和丢失策略等。NS2的仿
5、真过程(2)建立协议代理,包括端设备的协议绑定和通信业务量模型的建立。(3)配置业务量模型的参数,从而确定网络上的业务量分布。(4)设置Trace对象。NS通过Trace文件来保存整个模拟过程。仿真完后,用户可以对Trace文件进行分析研究。NS2的仿真过程(5)编写其他的辅助过程,设定模拟结束时间,至此OTcl脚本编写完成。(6)用NS解释执行刚才编写的OTcl脚本。(7)对Trace文件进行分析,得出有用的数(8)调整配置拓扑结构和业务量模型,重新进行上述模拟过程。
此文档下载收益归作者所有