计算机专业学年论文_第1页
计算机专业学年论文_第2页
计算机专业学年论文_第3页
计算机专业学年论文_第4页
计算机专业学年论文_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学年论文题目:基于NS2的网络仿真与性能分析学院:计算机科学与工程学院专业:计算机科学与技术班级:学生姓名:学号:指导教师:二零一三年六月六日基于NS2的网络仿真与性能分析摘要近几年来,网络结构的复杂化和应用的多样化,为网络系统的分析和设计提 出了新的挑战,计算机网络的运行行为是不可见的,为了能够实时了解网络的运 行效能,网络仿真是可靠手段。采用先进的网络模拟工具NS2对端到端网络进行 了模拟仿真以及多方面的性能测试,测试包括端到端延迟、抖动、丢包率以及网 络吞吐量等参数。实现了网络模型的动态生成、数据传输的动画模拟、实时数据 的计算以及运行结果呈现,给出了在NS2平台上执行仿真的原理和方法,

2、并对仿 真结果进行了具体的分析。关键字:NS2,网络仿真,时延,抖动,丢包率,吞吐量Network Simulation and Performance Analysis Based on NS2AbstractIn recent years, the complicated network structure and diversification of applications, for the analysis and design of the network system poses new challenges and run behavior of the computer ne

3、twork is not visible, in order to understand network performance in real time, is a reliable means of network simulation. Advanced network simulation tool NS2 simulation on end-to-end network and a number of performance tests, tests include end-to-end latency, jitter, packet loss and network through

4、put parameter. Implements a network model of dynamic animation generated, data transfer, data calculation in real time, and run results, gives a principle and method of execution on the NS2 simulation and analysis of the results of the simulation are specific.Key words:NS2, network simulation,time d

5、elay, jitter, frame-loss ratio,throughput目录 TOC o 1-5 h z HYPERLINK l bookmark10 o Current Document 第一章引言4 HYPERLINK l bookmark13 o Current Document 第二章基于NS2的网络仿真与性能分析5 HYPERLINK l bookmark16 o Current Document 2.1网络仿真简介5 HYPERLINK l bookmark19 o Current Document 2.1.1网络仿真的特点 5 HYPERLINK l bookmark2

6、5 o Current Document 2.2基于NS2的网络仿真6 HYPERLINK l bookmark28 o Current Document 2.2.1仿真步骤6 HYPERLINK l bookmark33 o Current Document 2.2.2环境的建立与配置6 HYPERLINK l bookmark42 o Current Document 2.2.3模拟运行7 HYPERLINK l bookmark45 o Current Document 2.2.4性能分析8 HYPERLINK l bookmark48 o Current Document 结束语11参

7、考文献12王文华-基于NS2的网络仿真与性能分析第一章引言近几年来,随着网络结构和规模的复杂化以及网络的应用的多样化,单纯依 靠经验进行网络的规划规划和设计、网络设备的研发以及网络协议的开发已经不 能适应网络的发展;网络仿真很好地满足了这种需求。所谓网络仿真就是将物理 世界中的网络通过计算机来模拟实现。这种模拟是通过数学方法或者动态蒙特卡 罗方法来模拟现实中的网络行为,从而可以有效地提高网络规划和设计的可靠性 和准确性,降低网络投资的风险,减少不必要的投资。网络仿真工具是为了进行仿真而开发的专用计算机软件。从仿真的范围来看 我们可以将其分为专用仿真工具(Specialized Network

8、Simulator)和通用仿真 工具(Generalized networksimulator)。专用网络仿真工具是为了仿真某个特定 的网络环境和网络协议而设计的。通用网络仿真工具是在一个整体设计架构的基 础上集成了很多网络模块(module),并且用户可以根据需要来添加新的模块或者 修改现有的模块,从而可以实现各种网络协议的仿真。目前对通信网络仿真主要有两种途径:第一种是采用通用计算机语言或专门 用于离散事件仿真的计算机语言通过编程,实现对通信网络仿真;第二种是借助已 有的网络仿真工具进行仿真,它提供了一种新的网络设计和优化的方法。采用第一 种仿真方法难度大且通用性不好,而借助专用网络仿真工

9、具不需要大量编程,通用 性好,很容易实现通信网络仿真,是通信网络仿真发展方向。国外研制出了一系列 高质量的网络仿真工具,主要包括两种类型:一是基于大型网络开发的网络仿真工 具,例如OPNET、Glo2MoSim等;二是基于小型网络开发的网络仿真工具,例如 NS2、COMNET III等。大多数网络仿真工具的价格十分昂贵,对科研院所、学来说 都是一笔巨大投资,这里主要探讨免费工具NS2。NS2由美国国防部高级研究计划局资助,是一种针对网络技术的源代码公开 的、免费的软件模拟平台,研究人员使用它可以很容易的进行网络技术的开发, 而且发展到今天,它所包含的模块几乎涉及到了网络技术的所有方面。所以,N

10、S 成了目前学术界广泛使用的一种网络模拟软件。此外,NS也可作为一种辅助教学 的工具,已被广泛应用在了网络技术的教学方面。因此,目前在学术界和教育界, 有大量的人正在使用或试图使用。NS伯克利大学1989年开始开发的源代码公开的 共享工具,是一种可扩展、可重用、基于离散事件驱动、面向对象的网络仿真工具。 它支持局域网、广域网、无线移动网及卫星网络仿真,是一种理想的网络仿真工具, 得到了广泛的使用。王文华-基于NS2的网络仿真与性能分析第二章基于NS2的网络仿真与性能分析2.1网络仿真简介NS2 (Network Simulator, version 2)是一种面向对象的网络仿真器,本质 上是一

11、个离散事件模拟器。由UC Berkeley开发而成。它本身有一个虚拟时钟,所 有的仿真都由离散事件驱动的。目前NS2可以用于仿真各种不同的IP网,已经实现 的一些仿真有:网络传输协议,比如TCP和UDP;业务源流量产生器,比如FTP, Telnet, Web CBR和VBR;路由队列管理机制,比如Droptail , RED和CBQ;路由算法,比如 Dijkstra等。NS2也为进行局域网的仿真而实现了多播以及一些MAC子层协议。NS2 使用C+和Otcl作为开发语言。当仿真完成以后,NS将会产生一个或多个基于文本 的跟踪文件。只要在Tcl脚本中加入一些简单的语句,这些文件中就会包含详细的 跟

12、踪信息。这些数据可以用于下一步的分析处理,也可以使用NAM将整个仿真过程 展示出来。2.1.1网络仿真的特点离散事件模拟NS2是一个基于离散事件的网络仿真工具1。在NS2中,事件(Event)是模 拟器处理的基本单位,它由事件调度器(Scheduler)来进行组织和管理。一个事 件可以是一个路由请求、一次数据包的传送请求,还可以是数据包丢失或链路失 效等。当事件发生时,调度器负责事件的组织和调度。它首先将事件放置到队列 中,然后根据一定的规则对发生的事件进行处理。在网络的仿真过程中,一般的 情况是一个事件发生会引起一系列的连锁反应,很多相关的事件接连发生,这种 过程一直持续直到完成一次网络模拟

13、。分裂对象模型NS2的设计采用了分裂的对象模型。所谓分裂对象模型就是将NS2中的对象 用两种不同的编程语言来实现,NS2采用了C+和Otcl两种语言。采用分裂对象 模型主要是综合考虑了仿真软件的性能(速度)和可配置性。C+语言是一种编译执 行的语言,在执行之前程序已经经过编译器编译成可执行的二进制代码,因此具 有非常高的时间效率和空间效率。与C+相比,Otcl是一种解释执行的语言,它 是对Tcl语言的面向对象的扩展。这种程序设计语言的特点是逐句解释执行,它 在执行之前不需要进行编译处理;这种特性使得起非常适合用来进行网络参数的 配置。NS2正是很好地利用了这两种语言的优点,网络仿真模块中对效率

14、要求比 较高的网络协议部分都是用C+语言来实现的,而对参数和场景的配置是用Otcl语 言来实现的。基于数据包层次的仿真NS2是一种数据包层次的网络仿真工具,它采用一种具有一定格式的追踪文 件(trace文件)记录仿真过程中每个数据包的在每个链路和节点的处理动作。我 们可以根据这个处理过程来定位链路和节点的状态和分析系统的性能。此外,NS2是一种跨平台的网络仿真工具,它可以在多种平台例如Unix, Linux, Windows,Mac等平台上运行;它可以支持很多种不同的协议,简化了对多 种协议进行比较的程序;辅助仿真工具Nam15可以使NS2的仿真更加生动和形象 化。2.2基于NS2的网络仿真2

15、.2.1仿真步骤采用NS2进行网络仿真,需要针对不同的仿真问题来采取不同的步骤。如果 用户要仿真的协议在NS2中已经存在,则一般步骤为:编写Otcl脚本文件,文件中一般包含节点、连接、数据源节点和数据接 收节点网络参数(例如队列大小、链路带宽传输层代理TCP/UDP的参数等)的设 置等;运行仿真程序,并得到仿真的trace文件;(3 )对仿真后得到的数据进行分析,得到我们需要的网络性能指标并进行图形 化。如果NS2中不包含我们要仿真的网络协议或者NS2中的网络协议和我们要 求的协议有差异;那么,在进行以上步骤之前,我们还需要添加自己的网络协议 或者对现有的网络协议进行修改。2.2.2环境的建立

16、与配置NS2艮Network Simulator Version 2,是一个免费的、开源的多协议网络仿 真软件,在网络仿真领域中占有十分重要的地位。它是面向对象的、离散事件驱动 的网络环境模拟工具,可以完整地模拟整个网络环境5。用NS2进行网络分析, 首先需要编写脚本建立起待考察的网络模型,并且进行相应的网络配置。建立的 网络拓扑如图1所示。图1网络拓扑图在此拓扑结构中,节点0、1、4、5代表主机,节点2、3代表网络中的路由 器。现拟在节点0、4之间配置TCP服务并建立一条FTP的联机,FTP应用程序架 构在TCP之上,在端0上使用TCP agent产生“tcp”来发送TCP的封包;在目的 地

17、端4使用TCPsink agent产生“sink”来接受TCP的资料、并产生回复封包(ACK) 回传送端、最后把接收的TCP封包释放。节点1、5之间配置UDP服务并有一条固 定的传输速率的联机(CBR),CBR应用程序架构在UDP之上,因此必需在n1使用 UDP agent来产生“udp”用来发送UDP封包,在n5上使用Null agent来产生 “sink”以接收由n1传送过来的UDP封包,然后把接收的封包释放。对于上述环 境,在NS2中编写名为CCM.TCL的文件予以实现,其主要参数设置情况如下:网络瓶颈设在节点2、3之间;在节点0、4之间建立一条TCP联机;在TCP联机之上建立FTP应用

18、程序;在节点1、5之间建立一条UDP联机;在UDP联机之上建立CBR应用程序;在仿真环境中,设定相应的启动与结束时间:$nsat1.0$cbrstart$nsat2.0$ftpstart$nsat4.0$ftpstop$nsat5.0$cbrstop2.2.3模拟运行执行上述TCL脚本进行网络仿真,就可以得到网络运行过程的全部数据。为 了能够分析网络运行的效能,仿真结果的数据必须能够完整收集。NS2提供了两 种基本数据追踪能力:跟踪和监控6。跟踪能够将每个数据包在任何时刻的状态 记录到指定的trace文件中,当链路或者队列中的每一个单个的数据包到达、离 开或者丢弃时都会记录下来。而监控则可有选

19、择记录自己需要的数据,例如统计 发送包、接收包、丢弃包的总数量。同时监控也可用来对所有包或指定单一数据 流的监测6。同时,NS2还提供了动态显示仿真过程的nam观察器,在命令行输 入“服CCM.TCL”开始运行,程序会自动调用nam动画演示模拟的过程。仿真结束后,会产生两个档案,一个是ccm.nam, nam观察器里看到的可视 化的仿真过程的源文档。另一个档案是ccm.tr,这个档案记录了仿真过程中封包 传送中所有的事件,分析网络的性能主要是对这个档案的分析。2.2.4性能分析国际标准RFC 1242和RFC 2544中对网络互连设备性能的基本指标和测试方 法作了规定,其中,对吞吐量、时延、丢

20、包率、抖动、重启时间等性能指标参数 作了具体规定3。但并不是对每个设备都要了解标准中规定的所有指标参数,因 为对有些设备某些指标参数可能没有实际意义。对IP数据网络交换设备,人们通 常最关心的性能指标有吞吐量、时延、网络抖动和丢包率。吞吐量是指在不丢包 条件下交换设备每秒转发包的极限4。时延的定义分两种情况,对存储转发设备 定义为输入帧的最后一比特输入到输出帧的第一个比特输出之间的时间间隔;对 比特转发设备定义为输入帧的第一个比特输入到输出帧的第一个比特输出之间的 时间间隔。时延测试一般要重复测试多次然后取其平均值4。网络抖动是指由于 各种延时的变化导致网络中数据分组到达速率的变化4。丢包率是

21、指测试中所丢 失数据包数量占所发送数据包的比率,通常在吞吐量范围内测试。丢包率与数据 包长度以及包发送频率相关4。NS2具有很强的结果处理能力。它采用Gawk工具对追踪文件中的数据进行 分析和处理。awk是一种程序语言,有很强的资料处理功能。它擅于处理具有列、 字段型态的资料,可以对资料做修改、比对、抽取以及统计等工作7。现通过对 追踪文件中数据流端到端的延时、抖动、吞吐量以及丢包率进行分析来模拟网络 的性能。以下是端到端延时分析程序,文件名为testdelay.awk。在命令行输入 “gawk - f testdelay.awkccm.tr delayout”,则得到执行结果文件delayo

22、ut, 再通过绘图工具XGraph绘制该结果文件delayout,即执行“ xgraphdelayout”, 得到端到端延时情况如图4所示。秒为单位。通过图4可以看出,在刚开始1.02.0 s的时候,于只有CBR的封包, 所以端到端延时的时间都是固定的,但在2.0 s以后,网络多了 FTP的封包,这使 得CBR封包和FTP封包相互争夺网络资源,因此端到端延时的时间变得不再固定, 但等到FTP传输结束后的4.05.0 s期间,网络中又只剩下CBR封包,延迟时间又 变成固定值了。用同样的方法,可获得网络的抖动以及吞吐量等性能的仿真图样,图5是网络吞吐量仿真图。l.cmo 1.SOOO 2.0000

23、2.5003.00003.50004.00004.50005.0000只有CBR的封包,所以端到端延时的吞吐量为0.45Mb,是固定的,但在2.0 s以后,网络多了 FTP的封包,这使得CBR封包和FTP封包相互争夺网络资源,此时数据吞吐 量开始持续增大,端到端延时的时间变得不再固定,但等到FTP传输结束后的4.05.0 s期间,网络中又只剩下CBR封包,数据吞吐量呈线性下降趋势。由上分析,NS2具有很强的结果处理能力,分别表现在这些指标:吞吐量、 时延、网络抖动和丢包率。NS2采用Gawk工具对追踪文件中的数据进行分析和处 理。现已通过对追踪文件中数据流端到端的延时、抖动、吞吐量以及丢包率进

24、行 分析,结果表明该模拟网络的性能比较好。研究了NS2对有线网络的模型仿真及其性能分析,在网络监控与管理以及网 络教学等方面都具备积极的现实意义,同时也为作者后期的网络多目标优化问题 的研究打下基础。王文华-基于NS2的网络仿真与性能分析结束语随着网络的不断发展,网络结构越来越复杂,人们对网络的要求也越来越高, 随之对网络性能的分析也变得越来越重要。NS2是一个非常具有生命力的仿真软 件,到目前为止,它可以支持非常广泛的网络类型和协议类型,特别是在无线网 络仿真方面,NS2的应用得到了广泛的认可。通过仿真的的方法模拟网络从而了 解网络各个方面的性能,在此基础上,研究人员就可以进一步对网络资源进行改 善,使网络资源得到充分利用。同时也可以通过了解现有网络资源及其存在的问 题,从而研究和开发新的网络协议,使网络更加完善且能够满足人们不断发展的 需求。它通过建立网络设备和链路的模型,模拟网络流量的传输,从而获取网络 设计或优

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论