基于ns2光突发交换(obs)网络仿真平台的构建

基于ns2光突发交换(obs)网络仿真平台的构建

ID:34132261

大小:342.70 KB

页数:6页

时间:2019-03-03

基于ns2光突发交换(obs)网络仿真平台的构建_第1页
基于ns2光突发交换(obs)网络仿真平台的构建_第2页
基于ns2光突发交换(obs)网络仿真平台的构建_第3页
基于ns2光突发交换(obs)网络仿真平台的构建_第4页
基于ns2光突发交换(obs)网络仿真平台的构建_第5页
资源描述:

《基于ns2光突发交换(obs)网络仿真平台的构建》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、http://www.paper.edu.cn基于NS2光突发交换(OBS)网络仿真平台的构建邱强北京邮电大学电子工程学院电路与系统中心,北京(100876)E-mail:qiuqiang20022002@yahoo.com.cn摘要:在科研中,经常要用到各种网络仿真工具,其中有OPNET、NS2(NetworkSimulator)等。而NS2是目前科研中最流行的网络仿真工具,但是却缺乏光网络的组件,所以光网络的仿真往往无法选择NS2作为仿真工具,但是OPNET由于其价格昂贵以及代码非开源导致科研中光网

2、络仿真较为困难。本文就是基于这个原因,参考国内外研究进展,构建了一个光突发交换网络的方针平台。关键词:NS2网络仿真器;OBS光突发交换1.NS2仿真软件介绍NS2起源于早在1989年的REAL网络模拟器。在过去的几年中,NS发生了实质性的演进。1995年,NS的开发获得了DARPA的支持,通过VINT项目,由LBL、XeroxPARC、UCB和USC/ISI合作进行。目前NS的开发由DARPA的SAMAN项目和NSF的CONSER项目支持。NS具有开放的结构和良好的可扩充性。NS已经从其他研究者那里吸

3、收了很丰富的模块,包括从UCBDaedelus和CMUMonarch计划以及SUN微系统公司获得的无线代码。目前比较新的NS2版本为NS22.32,可以通过网络下载:www.isi.edu/nsnam/ns/ns-build.html。在RedhatLinux上稳定的版本有NS22.27和NS22.29,在编译过程中一般不会出现问题。1.1NS2网络仿真器原理NS2是一个离散时间模拟器。离散时间模拟,是几种常用的系统模拟模型之一。简单地说,事件规定了系统状态的改变,状态的修改仅在事件发生时进行。在一个网

4、络模拟器中,典型的时间包括分组到达、时钟超时等。模拟时钟的推进由事件发生的时间量确定。模拟处理过程中的速率不直接对应着实际时间。一个时间的处理可能又会产生后续的事件,例如对于一个接收到的分组的处理触发了更多的分组的发送。模拟器所做的就是不停地处理一个个事件,直到所有的事件都被处理完或某一特定的事件发生为止。NS2的核心部分是一个离散事件模拟引擎。NS中有一个“调度器”(Scheduler)类,负责记录当时时间,调度网络事件队列中的事件,并提供函数产生新事件,指定事件发生的时【1】间。1.2NS2中丰富的

5、构件库有了这个离散事件模拟引擎,原则上用户可以对任何系统进行模拟,而不限于通信网络系统。用户可以自己完成对所要研究的系统的建模工作,编写各种事件的处理代码,然后利用这个离散事件模拟器来完成对这个模型的模拟。然而,这样做不能发挥NS2的优势,不符合NS2设计者的本意。针对网络模拟,NS2已经预先做了大量的模型化工作。NS2对网络系统中一些通用的实体已经进行了建模,例如链路、队列、分组、节点等,并用对象来实现了这些实体的特性和功能,这就是NS2的构件库。相对于一般的离散事件模拟器来说,NS2的优势就在于它有

6、丰富的构件库,而且这些对象易于组合,易于扩展。用户可以充分利用这些已有的对象,进行少量的扩展,组合出所要研究的网络系统的模型,然后进行模拟。-1-http://www.paper.edu.cn这样就大大减轻了进行网络模拟研究的工作量,提高了效率。图1给出了NS2构件库的部分类层次结构。TclObjectNsObjectConnectClassifieorrAddrClReplicMcastClQueueAgentTraceassifieratorassifierTrace/DropTEnqailDela

7、yTrace/DnqAgent/Agent/Trace/TCPMessageHopREDTrace/AgentMessage/DropRenoProberNewReno图1NS2构件库(部分)NS2的构件库所支持的网络类型包括广域网、局域网、移动通信网、卫星通信网等,所支持的路由方式包括层次路由、动态路由、多播路由等。NS2还提供了跟踪和监测的对象,可以把网络系统中的状态和事件记录下来以便分析。另外,NS2的构建库中还提供了大量的数学方面的支持,包括随机数产生、随机变量、积分等。1.3分裂对象模型NS2

8、的构件库是用两种面向对象的语言编写的:C++和Otcl。C++是广为人知的高级程序设计语言,然而,Otcl对于大多数人来讲都是陌生的,Otcl是MIT开发的ObjectTcl,即Tcl面向对象的扩展。Tcl的全称是Toolkitcommandlanguage,它是一种灵活的、交互式的脚本语言,Otcl则是在Tcl中加入了类、实例、继承等面向对象的概念。NS2中的构件通常都作为一个C++类来实现,同时有一个Otcl类与之对应。用户通过编写Ot

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。