本科毕业论文-网络模拟与ns-2

上传人:小** 文档编号:57159766 上传时间:2018-10-19 格式:DOC 页数:72 大小:944.52KB
返回 下载 相关 举报
本科毕业论文-网络模拟与ns-2_第1页
第1页 / 共72页
本科毕业论文-网络模拟与ns-2_第2页
第2页 / 共72页
本科毕业论文-网络模拟与ns-2_第3页
第3页 / 共72页
本科毕业论文-网络模拟与ns-2_第4页
第4页 / 共72页
本科毕业论文-网络模拟与ns-2_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《本科毕业论文-网络模拟与ns-2》由会员分享,可在线阅读,更多相关《本科毕业论文-网络模拟与ns-2(72页珍藏版)》请在金锄头文库上搜索。

1、摘要I摘要摘要当前网络飞速发展,需要人们不断研究新的网络技术,如网络协议和算法等。随着网络的飞速发展,各种网络方案和协议日趋复杂,这使得网络仿真软件成为研究网络技术和系统的有力工具。NS-2 是这样的一个网络仿真软件:用 C+编写构件,用 Otcl作为命令和配置的接口。NS-2 具有源代码公开、可扩展性强等特点,被广泛用于网络分析、研究和教学,成为当前网络仿真最流行的软件之一。由于其源代码公开的特点,NS-2 允许用户根据需要添加自己编写的新协议并可以通过仿真分析新协议的性能,这一特性加速了新协议开发过程。本文主要介绍了 NS-2 的体系结构、工作原理和进行仿真的一般过程;在 NS-2 的仿真

2、环境中如何编写 Otcl 脚本和 Gawk 脚本;如何使用 Nam 和 Xgraph 图形化显示仿真结果;并以一个简单的Ping 协议为例,详细介绍了在 NS-2 环境中 C+层次上进行模块开发和功能扩展的具体方法。关键词关键词:网络仿真;网络协议;NS-2;扩展;应用AbstractIIAbstractThe rapid growth of network technology requires developing more protocols and algorithms. Simulation is playing a more and more important part in d

3、esigning modern network due to increasing of complexity, scale of networks. Network Simulator is a very powerful tool in designing network and simulating the performance of network. NS-2 is written in C+, and it uses Otcl as a command and configuration interface. NS-2, which is source code opened, v

4、ery scalable and efficient, has been used in scientific research and education area. It is one of the most popular Network Simulator today. Because NS-2 is source code opened, people can add new modules into NS-2 on demand. It accelerates the speed of developing new protocols and algorithms.This pap

5、er analyzes the architecture of NS-2, describes the general process of the network simulation, explains the method of writing Otcl and Gawk codes, and explains how to generate the graphic style of the simulation results by Nam or Xgraph. A concrete example about Ping protocol is taken in to show how

6、 user to develop his own module and extend function under NS-2 environment.KEYWORDS: network simulation; network protocol; NS-2; extended; application目录I目录目录摘要I Abstract.II 目录I 第 1 章网络模拟与 NS-2 简介.1 1.1 网络模拟的概念1 1.2 NS-2 的概念和特点.2 1.3 NS-2 的安装.3 1.4 NS-2 的目录结构.4 1.5 NS-2 的功能模块介绍.4 1.6 使用 NS-2 进行网络模拟的方

7、法和一般过程6 1.7 对一个简单网络拓扑的模拟7 第 2 章分裂对象模型和 TclCL13 2.1 NS-2 的体系结构.13 2.2 分裂对象模型.15 2.2.1 NS-2 为什么要使用分裂对象模型?.15 2.2.2 Otcl 和 C+类的对应关系16 2.2.3 类命名规则.17 2.3 向 NS-2 增加一个简单构件的实例.17 第 3 章 NS-2 解析.23 3.1 NS-2 的原理.23 3.1.1 Simulator 类 .24 3.1.2 事件 event 类.25 3.2 节点(Node).26 3.2.1 节点的基本元素26 3.2.2 分类器(Classifier)

8、28 3.3 链路(Link)28 3.3.1 简单的单向/链路29 3.3.2 Tcl 中的 SimpleLink 类.29 3.3.3 连接器(Connector).32 3.4 分组(packet).32 3.4.1 与分组有关的类.34 3.4.2 关于 NS-2 中 packet 的分析 36 3.5 定时器(Timer) .37目录II3.5.1 C+抽象基类 TimerHandler .37 3.5.2 如何定义自己的定时器.38 3.5.3 Otcl Timer 类38 3.6 代理(Agent) .39 3.6.1 Agent 类的状态变量和函数 .39 3.6.2 协议 A

9、gent 40 3.7 应用层(Application) 40 3.7.1 Application 类 41 3.7.2 流量发生器(Traffic Generators)41 3.7.3 应用模拟器(Simulated Applications).42 3.8 对一个简单网络拓扑中数据流的分析.42 3.9 如何创建一个新的协议.43 3.10 对跟踪和监视的支持49 3.10.1 跟踪(trace) .49 3.10.2 监视(monitor).51 第 4 章一些用于模拟分析的工具.53 4.1 Nam(Network Animator)53 4.2 Gawk.53 4.3 Xgraph

10、53 4.4 一个 Gawk+Xgraph 的例子 .54 第 5 章总结与展望.57 参考文献.58 致谢.61 附录.62第 1 章网络模拟与 NS-2 简介1第第 1 章网络模拟与章网络模拟与NS-2 简介简介1.1 网络模拟的概念网络模拟的概念网络模拟是指用计算机程序将真实的网络模型化,通过程序的运行来模拟真实网络的运行。当前网络飞速发展,这需要人们一方面要不断思考新的网络技术,为网络发展做前瞻性研究;另一方面也要研究如何利用现有网络资源,使网络达到最优性能。两个方面都需要对新的网络技术和系统进行分析和验证。研究网络技术和网络系统大概有以下三种方法:(1)分析方法。在理论层面上对网络技

11、术和系统进行分析研究,如采用数学建模、状态机、集合论及概率统计等手段。(2)实验方法。设计出研究所需要的实际的测试床(Test Bed)和实验室测试网,在实际网络上对网络技术和系统进行研究。(3)模拟方法。利用网络仿真(模拟)软件,建立所研究的网络技术和系统的模拟模型,在此模拟模型上进行研究。本文对模拟和仿真不做区分。上述三种方法各有利弊。分析方法的有效性受假设的限制很大,适用于早期研究与设计阶段;实验方法的局限性在于费用很高,要求技术和设备必须开发得相对成熟,网络系统必须基本成型,适用于对系统的稳定性和服务性能的检验;模拟方法在很大第 1 章网络模拟与 NS-2 简介2程度上弥补了前两种方法

12、的不足。它可根据需要设计相关的网络模型以对新的网络技术进行初步得实现检验和及时得调整改进。1.2 NS-2 的概念和特点的概念和特点NS-2,即 Network Simulator Version2,是一种离散事件驱动的面向对象的网络模拟软件。它实现了多种网络协议的模拟,如传输层的 TCP、UDP 协议,应用层的FTP、Telnet、Web、CBR、VBR 协议;实现了DropTail、RED、CBQ 等几种路由器队列机制以及 Dijkstra、动态路由、静态路由、组播路由等路由算法。此外,NS-2 还支持组播协议 SRM 及部分 MAC 层的协议。特别的,由于其开源的特性,使得它一直以来都在

13、吸收全世界各地研究者的成果。NS-2 来源于美国 DARPA 支持的 VINT(Virtual Internet Testbed)项目,由 USI/ISI、Xerox、LBNL、UC Berkey 联合开发。与 NS-2 相似的软件有 OPNET、GloMoSim(Global Mobile Information Systems Simulation Library)、OMNeT+和 QualNet 等,与它们相比,NS-2 是一个免费的软件,它可以在 Windows/Unix上运行,且所有源代码公开,这对于进行网络的研究和扩展非常方便,所以在学术界多采用 NS-2 来做模拟。NS-2 的构

14、件用两种面向对象的语言编写:C+和 Otcl。C+是一种广为人知的高级程序设计语言。Otcl 是 MIT 开发的ObjectTcl,是 Tcl 面向对象后的扩展。而 Tcl 是一种灵活的交互式脚本语言,读音:“tickle”tikl,全称:Tool Command Language。第 1 章网络模拟与 NS-2 简介3NS-2 中的构件通常都作为一个 C+类来实现,同时有一个Otcl 类与之对应,这被称为分裂对象模型。用户通过编写 Otcl 脚本对构件进行配置、组合,描述模拟过程,最后调用 NS-2 完成模拟。NS-2 的几个特点1:(1)抽象。NS-2 既能模拟出详细的细节,又能进行在一定

15、程度上忽略细节的高级别的模拟,这意味着可以在不更换模拟器的前提下通过不同层次的抽象对同一结果做验证。(2)可与真实网络节点交互。但 NS-2 这方面的功能还很不成熟,很少人使用,故本文不对其进行探讨。(3)场景生成。用户既可以自己编写脚本来设置场景,也可以使用 NS-2 中自带的场景自动生成工具,它可自动创建复杂的业务模式、拓扑结构和动态事件(例如链路失效) 。(4)可视化。对于复杂的网络行为,仅仅提供描述性能的数据是不够的。NS-2 提供了一种网络动画工具 Nam,可动态地展示网络行为。(5)可扩充性。NS-2 通过使用一种分裂对象模型,使脚本容易编写并且新协议可以高效得运行。由于这种独特的

16、编程模型,NS-2 中的模块可以很方便得扩展和组合。(6)与平台无关,开源,有可用于开发新协议的丰富的构件平台,提供了在一个受控环境下研究大规模协议交互的可能性。1.3 NS-2 的安装的安装NS-2 是在 Unix 系统上开发的,因此可以在FreeBSD、SunOS、Solaris 等 Unix 和类 Unix 系统上安装。另外,第 1 章网络模拟与 NS-2 简介4NS-2 也可以安装并运行在 Windows 平台上,但需要相应的 Unix模拟环境软件(cygwin) 。本文中的例子的运行环境为:WindowsXp sp2 平台+VMwareWorkstation+RedHatLinux9.03+ns-allinone-2.28.tar.gz。1.4 NS-2 的目录结构的目录结构图 1-1 是通过 allinone 方式安装的 NS-2 的目录结构。NS-2 本身的代码放置在 ns 目录中,其中用 Otcl 编写的代码在 tcl 目录中,用 C+代码编写的代码在其他目录中。ns-allinoneTcl8.0TkOtclTclclnsnamtclext

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号