计算机专业学年论文基于NS2 的网络仿真与性能分析.docx

上传人:b****3 文档编号:6658157 上传时间:2023-05-10 格式:DOCX 页数:9 大小:106.99KB
下载 相关 举报
计算机专业学年论文基于NS2 的网络仿真与性能分析.docx_第1页
第1页 / 共9页
计算机专业学年论文基于NS2 的网络仿真与性能分析.docx_第2页
第2页 / 共9页
计算机专业学年论文基于NS2 的网络仿真与性能分析.docx_第3页
第3页 / 共9页
计算机专业学年论文基于NS2 的网络仿真与性能分析.docx_第4页
第4页 / 共9页
计算机专业学年论文基于NS2 的网络仿真与性能分析.docx_第5页
第5页 / 共9页
计算机专业学年论文基于NS2 的网络仿真与性能分析.docx_第6页
第6页 / 共9页
计算机专业学年论文基于NS2 的网络仿真与性能分析.docx_第7页
第7页 / 共9页
计算机专业学年论文基于NS2 的网络仿真与性能分析.docx_第8页
第8页 / 共9页
计算机专业学年论文基于NS2 的网络仿真与性能分析.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机专业学年论文基于NS2 的网络仿真与性能分析.docx

《计算机专业学年论文基于NS2 的网络仿真与性能分析.docx》由会员分享,可在线阅读,更多相关《计算机专业学年论文基于NS2 的网络仿真与性能分析.docx(9页珍藏版)》请在冰点文库上搜索。

计算机专业学年论文基于NS2 的网络仿真与性能分析.docx

计算机专业学年论文基于NS2的网络仿真与性能分析

 

学年论文

题目:

基于NS2的网络仿真与性能分析

学院:

计算机科学与工程学院

专业:

计算机科学与技术

班级:

学生姓名:

学号:

指导教师:

 

二零一三年六月六日

基于NS2的网络仿真与性能分析

摘要

近几年来,网络结构的复杂化和应用的多样化,为网络系统的分析和设计提出了新的挑战,计算机网络的运行行为是不可见的,为了能够实时了解网络的运行效能,网络仿真是可靠手段。

采用先进的网络模拟工具NS2对端到端网络进行了模拟仿真以及多方面的性能测试,测试包括端到端延迟、抖动、丢包率以及网络吞吐量等参数。

实现了网络模型的动态生成、数据传输的动画模拟、实时数据的计算以及运行结果呈现,给出了在NS2平台上执行仿真的原理和方法,并对仿真结果进行了具体的分析。

关键字:

NS2,网络仿真,时延,抖动,丢包率,吞吐量

 

NetworkSimulationandPerformanceAnalysisBasedonNS2

Abstract

Inrecentyears,thecomplicatednetworkstructureanddiversificationofapplications,fortheanalysisanddesignofthenetworksystemposesnewchallengesandrunbehaviorofthecomputernetworkisnotvisible,inordertounderstandnetworkperformanceinrealtime,isareliablemeansofnetworksimulation.AdvancednetworksimulationtoolNS2simulationonend-to-endnetworkandanumberofperformancetests,testsincludeend-to-endlatency,jitter,packetlossandnetworkthroughputparameter.Implementsanetworkmodelofdynamicanimationgenerated,datatransfer,datacalculationinrealtime,andrunresults,givesaprincipleandmethodofexecutionontheNS2simulationandanalysisoftheresultsofthesimulationarespecific.

Keywords:

NS2,networksimulation,timedelay,jitter,frame-lossratio,throughput

 

目录

第一章引言4

第二章基于NS2的网络仿真与性能分析5

2.1网络仿真简介5

2.1.1网络仿真的特点5

2.2基于NS2的网络仿真6

2.2.1仿真步骤6

2.2.2环境的建立与配置6

2.2.3模拟运行7

2.2.4性能分析8

结束语11

参考文献12

 

第一章引言

近几年来,随着网络结构和规模的复杂化以及网络的应用的多样化,单纯依靠经验进行网络的规划规划和设计、网络设备的研发以及网络协议的开发已经不能适应网络的发展;网络仿真很好地满足了这种需求。

所谓网络仿真就是将物理世界中的网络通过计算机来模拟实现。

这种模拟是通过数学方法或者动态蒙特卡罗方法来模拟现实中的网络行为,从而可以有效地提高网络规划和设计的可靠性和准确性,降低网络投资的风险,减少不必要的投资。

网络仿真工具是为了进行仿真而开发的专用计算机软件。

从仿真的范围来看我们可以将其分为专用仿真工具(SpecializedNetworkSimulator)和通用仿真工具(Generalizednetworksimulator)。

专用网络仿真工具是为了仿真某个特定的网络环境和网络协议而设计的。

通用网络仿真工具是在一个整体设计架构的基础上集成了很多网络模块(module),并且用户可以根据需要来添加新的模块或者修改现有的模块,从而可以实现各种网络协议的仿真。

目前对通信网络仿真主要有两种途径:

第一种是采用通用计算机语言或专门用于离散事件仿真的计算机语言通过编程,实现对通信网络仿真;第二种是借助已有的网络仿真工具进行仿真,它提供了一种新的网络设计和优化的方法。

采用第一种仿真方法难度大且通用性不好,而借助专用网络仿真工具不需要大量编程,通用性好,很容易实现通信网络仿真,是通信网络仿真发展方向。

国外研制出了一系列高质量的网络仿真工具,主要包括两种类型:

一是基于大型网络开发的网络仿真工具,例如OPNET、Glo2MoSim等;二是基于小型网络开发的网络仿真工具,例如NS2、COMNETⅢ等。

大多数网络仿真工具的价格十分昂贵,对科研院所、学来说都是一笔巨大投资,这里主要探讨免费工具NS2。

NS2由美国国防部高级研究计划局资助,是一种针对网络技术的源代码公开的、免费的软件模拟平台,研究人员使用它可以很容易的进行网络技术的开发,而且发展到今天,它所包含的模块几乎涉及到了网络技术的所有方面。

所以,NS成了目前学术界广泛使用的一种网络模拟软件。

此外,NS也可作为一种辅助教学的工具,已被广泛应用在了网络技术的教学方面。

因此,目前在学术界和教育界,有大量的人正在使用或试图使用。

NS伯克利大学1989年开始开发的源代码公开的共享工具,是一种可扩展、可重用、基于离散事件驱动、面向对象的网络仿真工具。

它支持局域网、广域网、无线移动网及卫星网络仿真,是一种理想的网络仿真工具,得到了广泛的使用。

 

第二章基于NS2的网络仿真与性能分析

2.1网络仿真简介

NS2(NetworkSimulator,version2)是一种面向对象的网络仿真器,本质上是一个离散事件模拟器。

由UCBerkeley开发而成。

它本身有一个虚拟时钟,所有的仿真都由离散事件驱动的。

目前NS2可以用于仿真各种不同的IP网,已经实现的一些仿真有:

网络传输协议,比如TCP和UDP;业务源流量产生器,比如FTP,Telnet,WebCBR和VBR;路由队列管理机制,比如Droptail,RED和CBQ;路由算法,比如Dijkstra等。

NS2也为进行局域网的仿真而实现了多播以及一些MAC子层协议。

NS2使用C++和Otcl作为开发语言。

当仿真完成以后,NS将会产生一个或多个基于文本的跟踪文件。

只要在Tcl脚本中加入一些简单的语句,这些文件中就会包含详细的跟踪信息。

这些数据可以用于下一步的分析处理,也可以使用NAM将整个仿真过程展示出来。

2.1.1网络仿真的特点

1.离散事件模拟

NS2是一个基于离散事件的网络仿真工具[1]。

在NS2中,事件(Event)是模拟器处理的基本单位,它由事件调度器(Scheduler)来进行组织和管理。

一个事件可以是一个路由请求、一次数据包的传送请求,还可以是数据包丢失或链路失效等。

当事件发生时,调度器负责事件的组织和调度。

它首先将事件放置到队列中,然后根据一定的规则对发生的事件进行处理。

在网络的仿真过程中,一般的情况是一个事件发生会引起一系列的连锁反应,很多相关的事件接连发生,这种过程一直持续直到完成一次网络模拟。

2.分裂对象模型

NS2的设计采用了分裂的对象模型。

所谓分裂对象模型就是将NS2中的对象用两种不同的编程语言来实现,NS2采用了C++和Otcl两种语言。

采用分裂对象模型主要是综合考虑了仿真软件的性能(速度)和可配置性。

C++语言是一种编译执行的语言,在执行之前程序已经经过编译器编译成可执行的二进制代码,因此具有非常高的时间效率和空间效率。

与C++相比,Otcl是一种解释执行的语言,它是对Tcl语言的面向对象的扩展。

这种程序设计语言的特点是逐句解释执行,它在执行之前不需要进行编译处理;这种特性使得起非常适合用来进行网络参数的配置。

NS2正是很好地利用了这两种语言的优点,网络仿真模块中对效率要求比较高的网络协议部分都是用C++语言来实现的,而对参数和场景的配置是用Otcl语言来实现的。

3.基于数据包层次的仿真

NS2是一种数据包层次的网络仿真工具,它采用一种具有一定格式的追踪文件(trace文件)记录仿真过程中每个数据包的在每个链路和节点的处理动作。

我们可以根据这个处理过程来定位链路和节点的状态和分析系统的性能。

此外,NS2是一种跨平台的网络仿真工具,它可以在多种平台例如Unix,Linux,Windows,Mac等平台上运行;它可以支持很多种不同的协议,简化了对多种协议进行比较的程序;辅助仿真工具Nam[15]可以使NS2的仿真更加生动和形象化。

2.2基于NS2的网络仿真

2.2.1仿真步骤

采用NS2进行网络仿真,需要针对不同的仿真问题来采取不同的步骤。

如果用户要仿真的协议在NS2中已经存在,则一般步骤为:

(1)编写Otcl脚本文件,文件中一般包含节点、连接、数据源节点和数据接收节点网络参数(例如队列大小、链路带宽传输层代理TCP/UDP的参数等)的设置等;

(2)运行仿真程序,并得到仿真的trace文件;

(3)对仿真后得到的数据进行分析,得到我们需要的网络性能指标并进行图形化。

如果NS2中不包含我们要仿真的网络协议或者NS2中的网络协议和我们要求的协议有差异;那么,在进行以上步骤之前,我们还需要添加自己的网络协议或者对现有的网络协议进行修改。

2.2.2环境的建立与配置

NS2即NetworkSimulatorVersion2,是一个免费的、开源的多协议网络仿真软件,在网络仿真领域中占有十分重要的地位。

它是面向对象的、离散事件驱动的网络环境模拟工具,可以完整地模拟整个网络环境[5]。

用NS2进行网络分析,首先需要编写脚本建立起待考察的网络模型,并且进行相应的网络配置。

建立的网络拓扑如图1所示。

 

 

图1网络拓扑图

在此拓扑结构中,节点0、1、4、5代表主机,节点2、3代表网络中的路由器。

现拟在节点0、4之间配置TCP服务并建立一条FTP的联机,FTP应用程序架构在TCP之上,在端0上使用TCPagent产生“tcp”来发送TCP的封包;在目的地端4使用TCPsinkagent产生“sink”来接受TCP的资料、并产生回复封包(ACK)回传送端、最后把接收的TCP封包释放。

节点1、5之间配置UDP服务并有一条固定的传输速率的联机(CBR),CBR应用程序架构在UDP之上,因此必需在n1使用UDPagent来产生“udp”用来发送UDP封包,在n5上使用Nullagent来产生“sink”以接收由n1传送过来的UDP封包,然后把接收的封包释放。

对于上述环境,在NS2中编写名为CCM.TCL的文件予以实现,其主要参数设置情况如下:

①网络瓶颈设在节点2、3之间;

②在节点0、4之间建立一条TCP联机;

③在TCP联机之上建立FTP应用程序;

④在节点1、5之间建立一条UDP联机;

⑤在UDP联机之上建立CBR应用程序;

⑥在仿真环境中,设定相应的启动与结束时间:

$nsat1.0"$cbrstart"

$nsat2.0"$ftpstart"

$nsat4.0"$ftpstop"

$nsat5.0"$cbrstop"

2.2.3模拟运行

执行上述TCL脚本进行网络仿真,就可以得到网络运行过程的全部数据。

为了能够分析网络运行的效能,仿真结果的数据必须能够完整收集。

NS2提供了两种基本数据追踪能力:

跟踪和监控[6]。

跟踪能够将每个数据包在任何时刻的状态记录到指定的trace文件中,当链路或者队列中的每一个单个的数据包到达、离开或者丢弃时都会记录下来。

而监控则可有选择记录自己需要的数据,例如统计发送包、接收包、丢弃包的总数量。

同时监控也可用来对所有包或指定单一数据流的监测[6]。

同时,NS2还提供了动态显示仿真过程的nam观察器,在命令行输入“nsCCM.TCL”开始运行,程序会自动调用nam动画演示模拟的过程。

仿真结束后,会产生两个档案,一个是ccm.nam,即nam观察器里看到的可视化的仿真过程的源文档。

另一个档案是ccm.tr,这个档案记录了仿真过程中封包传送中所有的事件,分析网络的性能主要是对这个档案的分析。

2.2.4性能分析

国际标准RFC1242和RFC2544中对网络互连设备性能的基本指标和测试方法作了规定,其中,对吞吐量、时延、丢包率、抖动、重启时间等性能指标参数作了具体规定[3]。

但并不是对每个设备都要了解标准中规定的所有指标参数,因为对有些设备某些指标参数可能没有实际意义。

对IP数据网络交换设备,人们通常最关心的性能指标有吞吐量、时延、网络抖动和丢包率。

吞吐量是指在不丢包条件下交换设备每秒转发包的极限[4]。

时延的定义分两种情况,对存储转发设备定义为输入帧的最后一比特输入到输出帧的第一个比特输出之间的时间间隔;对比特转发设备定义为输入帧的第一个比特输入到输出帧的第一个比特输出之间的时间间隔。

时延测试一般要重复测试多次然后取其平均值[4]。

网络抖动是指由于各种延时的变化导致网络中数据分组到达速率的变化[4]。

丢包率是指测试中所丢失数据包数量占所发送数据包的比率,通常在吞吐量范围内测试。

丢包率与数据包长度以及包发送频率相关[4]。

NS2具有很强的结果处理能力。

它采用Gawk工具对追踪文件中的数据进行分析和处理。

awk是一种程序语言,有很强的资料处理功能。

它擅于处理具有列、字段型态的资料,可以对资料做修改、比对、抽取以及统计等工作[7]。

现通过对追踪文件中数据流端到端的延时、抖动、吞吐量以及丢包率进行分析来模拟网络的性能。

以下是端到端延时分析程序,文件名为testdelay.awk。

在命令行输入“gawk–ftestdelay.awkccm.tr>delayout”,则得到执行结果文件delayout,再通过绘图工具XGraph绘制该结果文件delayout,即执行“xgraphdelayout”,得到端到端延时情况如图4所示。

 

 

图4端到端时延特性

由图4中横坐标表示运行时间,以秒为单位,纵坐标表示延时的时间,以毫秒为单位。

通过图4可以看出,在刚开始1.0~2.0s的时候,于只有CBR的封包,所以端到端延时的时间都是固定的,但在2.0s以后,网络多了FTP的封包,这使得CBR封包和FTP封包相互争夺网络资源,因此端到端延时的时间变得不再固定,但等到FTP传输结束后的4.0~5.0s期间,网络中又只剩下CBR封包,延迟时间又变成固定值了。

用同样的方法,可获得网络的抖动以及吞吐量等性能的仿真图样,图5是网络吞吐量仿真图。

 

图5网络吞吐量变化情况

图5中横坐标表示时间,纵坐标表示数据量的大小,以兆为单位。

图5中测试的是节点2、3之间的数据吞吐量。

通过图5可以看出,在刚开始1.0~2.0s的时候,只有CBR的封包,所以端到端延时的吞吐量为0.45Mb,是固定的,但在2.0s以后,网络多了FTP的封包,这使得CBR封包和FTP封包相互争夺网络资源,此时数据吞吐量开始持续增大,端到端延时的时间变得不再固定,但等到FTP传输结束后的4.0~5.0s期间,网络中又只剩下CBR封包,数据吞吐量呈线性下降趋势。

由上分析,NS2具有很强的结果处理能力,分别表现在这些指标:

吞吐量、时延、网络抖动和丢包率。

NS2采用Gawk工具对追踪文件中的数据进行分析和处理。

现已通过对追踪文件中数据流端到端的延时、抖动、吞吐量以及丢包率进行分析,结果表明该模拟网络的性能比较好。

研究了NS2对有线网络的模型仿真及其性能分析,在网络监控与管理以及网络教学等方面都具备积极的现实意义,同时也为作者后期的网络多目标优化问题的研究打下基础。

 

结束语

随着网络的不断发展,网络结构越来越复杂,人们对网络的要求也越来越高,随之对网络性能的分析也变得越来越重要。

NS2是一个非常具有生命力的仿真软件,到目前为止,它可以支持非常广泛的网络类型和协议类型,特别是在无线网络仿真方面,NS2的应用得到了广泛的认可。

通过仿真的的方法模拟网络从而了解网络各个方面的性能,在此基础上,研究人员就可以进一步对网络资源进行改善,使网络资源得到充分利用。

同时也可以通过了解现有网络资源及其存在的问题,从而研究和开发新的网络协议,使网络更加完善且能够满足人们不断发展的需求。

它通过建立网络设备和链路的模型,模拟网络流量的传输,从而获取网络设计或优化所需要的网络性能数据。

随着网络系统复杂度的增大,传统的分析法和实验法越来越不适应网络系统的特点,仿真法成为网络性能分析的主流方法。

NS2是一个由UCBerkeley开发的用于仿真各种以IP网络为主的优秀仿真软件,目前已广泛应用于计算机网络的研究与设计中。

同时,网络性能分析是网络运行效率检测以及网络安全管理的关键,仿真技术为通信网络规划和各项指标测试提供了一种直观可靠的科学方法[8]。

采用网络仿真,就是用计算机程序对网络进行模型化,通过程序的运行模拟仿真网络的运行过程,以期达到应有的效果。

网络仿真利用数学建模和统计分析的方法模拟网络行为,通过建立网络设备和网络链路的统计模型,模拟网络流量的传输,从而获取网络设计及优化所需要的网络性能数据。

本文研究了NS2对有线网络的模型仿真及其性能分析,在网络监控与管理以及网络教学等方面都具备积极的现实意义,网络仿真在国内是近几年才逐步发展起来的,但在国外网络仿真技术已经相当成熟,国内应该大胆地借鉴国外先进技术,促进国内网络仿真技术迅速健康发展。

 

参考文献

[1]唐海娜,李俊.网络性能监测技术综述[J].计算机应用研究,2004(08):

10-13.

[2]张亚明.基于NS2的无线网络仿真研究[J].信息安全与通信保密,2007,3(03):

58-60.

[3]吴功宜.计算机网络[M].北京:

清华大学出版社,2003.

[4]李蓬.基于NS2的局域网性能仿真[J].电脑与信息技术,2008,16(01):

16-18.

[5]徐雷鸣,庞博,赵耀.NS与网络模拟[M].北京:

人民邮电出版社,2003.

[6]况晓辉,赵刚,郭勇.网络模拟器NS2中仿真功能的问题分析及改进[J].系统仿真学报,2009,21(02):

427-431.

[7]包斌,詹自熬.NS2深度探索及在网络传输性能分析中的应用[J].通信技术,2009,42(05):

155-157.

[8]彭飞.网络安全初探[J].信息安全与通信保密,2008(06):

94-97.

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2