陈轶的论文-基于opnet的网络系统仿真研究(孙国基)_第1页
陈轶的论文-基于opnet的网络系统仿真研究(孙国基)_第2页
陈轶的论文-基于opnet的网络系统仿真研究(孙国基)_第3页
陈轶的论文-基于opnet的网络系统仿真研究(孙国基)_第4页
陈轶的论文-基于opnet的网络系统仿真研究(孙国基)_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

1、摘 要 在网络迅速膨胀的今天,传统的基于经验的网络设计优化方法已经不再适用于复杂的网络,而网络仿真技术已经成为现今网络设计优化的主要方法。各种优秀的仿真软件的出现更使得网络仿真成为更方便更可靠的设计手段,其中opnet是有代表性的一种。通过这些软件可以对电信网络及计算机网络进行有针对性的仿真。排队论是电信网络的基本理论,本文通过对排队论中最简单的m/m/1排队系统用opnet进行仿真,并用得到的仿真结果与理论计算的结果以及用c程序仿真的结果三者进行比较分析,验证了opnet仿真的可靠性。然后扩展性的仿真了m/m/5排队系统,进一步验证opnet的可靠性并指出其在复杂系统设计中的优势。最后,文章

2、对一个局域网用opnet进行了http和ftp的业务仿真,对有代表性的参数进行了观察分析,并且针对ftp业务对网络进行了优化,取得了良好的效果。关键词:网络仿真,opnet,排队系统,局域网59abstract nowadays, as the networks grow much larger and more complex, simulation modeling has becoming an increasingly popular method for network analysis. and the computer simulation has been the ideal

3、way to simulate a complex system which is beyond the ability of traditional mathematical analysis. opnet, one of the most powerful software simulation packages, provides a comprehensive development environment for simulation of communication network. an m/m/1 queuing system is simulated, as an examp

4、le of the queuing theory. and then its results are compared with those from mathematical way and c programming method. as a complementarity, an m/m/5 queuing system is also simulated then. so the reliability and advantage of opnet is indicated. finally, a lan is simulated with opnet, focused on both

5、 http and ftp applications. some valuable statistics are collected and analysed. also, an effective advice is given for optimizing the system.key words :network simulation,opnet,queuing theory,lan目 录目 录iii前 言1第一章 绪论41.1 仿真的概念41.2 网络仿真基本概念和特点41.3 网络仿真的基本步骤51.4 网络仿真的应用5第2章 opnet仿真软件介绍72.1 opnet简介72.2

6、opnet modeler特点82.3 opnet modeler的仿真机制92.3.1 离散事件系统的仿真策略(事件调度法)92.3.2 opnet的事件推进机制92.4 opnet的体系结构92.4.1 模型说明102.4.2 数据采集102.4.3 仿真分析112.5 opnet网络建模的基本流程11第3章 m/m/1排队系统及其分析方法123.1. 排队论基础及m/m/1排队系统123.1.1 排队论基础123.1.2 m/m/1排队系统123.2 m/m/1的分析方法133.2.1 m/m/1系统的理论分析(公式计算)133.2.2 m/m/1系统的c程序仿真分析

7、系统流程分析及编程思想 程序结果分析183.2.3. m/m/1系统的opnet仿真分析 问题的分析和定义 节点模型的建立及仿真结果的观察 对m/m/1节点进程模型的分析运行仿真与对仿真结果的分析283.2.4 几种分析方法的比较293.3. m/m/5并联排队系统的opnet仿真实现303.3.1 问题的分析和定义303.3.2 节点模型的建立和仿真结果观察3节点模型的建立3 仿真运行及结果观察3结果的比较与分析33第4章 用opnet实现复杂网络系统的仿

8、真354.1 问题的提出和分析354.1.1 问题的提出354.1.2网络拓扑结构354.1.3 网络性能指标384.1.4 网络业务分析3 http业务仿真3 ftp业务仿真404.1.5 opnet建模和仿真过程414.2 opnet建模(http业务)424.2.1 业务设置4 设定应用参数(application config)4 设置客户端业务规格(profile config)434.2.2 建立网络模型4 main节点的配置4 各层节点设置464.2.3 设置背景利用率484.2.4

9、数据收集及结果比较4 数据收集及仿真的运行4 仿真结果的观察和比较:494.3 opnet建模(ftp业务)524.3.1 业务设置524.3.2 数据收集和结果分析524.3.3 结论分析54第5章 总结和展望555.1 论文总结555.2 前景与展望55致 谢56参考文献57前 言当今信息技术时代,网络日益深入工作生活各个角落,网络状况的好坏直接影响工作效率和生活质量,因此如何对网络进行研究并对其进行优化设计和规划已经成为一个富于挑战性的课题。目前,进行网络研究的方法包括分析建模、实验测试和网络模拟等,它们各有其优缺点和适用范围。(1) 分析方法:建立分析模

10、型对所研究的对象和所依存的网络系统进行初步分析,根据一定的限定条件和合理假设,对研究对象和系统进行描述,抽象出研究对象的数学分析模型。通过数学推理证明,或与现实实例对照,或与模拟的结果比较等方法,来验证模型的有效性和精确性,对模型进行校验修正。最后利用求精后的数学分析模型对问题进行解答。这种方法的优点是具有灵活性,不受硬件或软件性能等物质资源的限制,但模型的有效性和精确性受假设限制很大,当一个系统很复杂时,无法用一些限制性假设来对系统进行详细描述。这种方法适用于网络节点协议实现理论研究、简单的网络行为分析。(2) 实验方法:建立测试床和实验室对所研究的对象和所依存的网络系统进行初步分析,设计出

11、研究所需要的合理硬件和软件配置环境,建立有特定特性的实际网络,在现实的网络上实现对网络协议、网络行为和网络性能的研究。这种方法具有针对性,可以获得更真实的数据,不会丢失重要的详细资料。缺点是成本很高,重新配置或共享资源更难,运用起来不灵活,只适用于小规模的网络性能评估,不能实现网络中的多种通信流量和拓扑的融合。(3) 模拟方法:应用网络模拟软件对所研究的对象和所依存的网络系统进行初步分析,自己开发或选用一个网络模拟工具,设计一个实际的或理论的网络系统的模拟模型,在计算机上运行这个模型,并分析运行的输出结果。模拟方法很灵活,可以根据需要设计所需的网络模型,以用相对很少的时间和费用了解网络在不同条

12、件下的各种特性,获取网络研究的丰富有效的数据。缺点是受软硬件资源的限制,无法同时展现现实网络的全部特性。模拟方法适用于网络协议研究、网络性能研究、网络设计。网络仿真技术即是属于这一类。因此,针对目前不断扩充的复杂网络,网络仿真技术应运而生。网络仿真技术以其独有的方法能够为网络的规划设计提供客观、可靠的定量依据,缩短网络建设周期,提高网络建设中决策的科学性,降低网络建设的投资风险。本文将从仿真的角度对网络系统进行研究。本文先对网络仿真技术作了简单的描述,然后介绍了现今流行的一些仿真软件,并详细介绍和应用了opnet仿真软件。再通过几种不同的方式(通用语言编程,opnet软件仿真等)对通信系统中最

13、基本的排队论理论进行实现和仿真,将仿真结果与理论结果比较,验证仿真的可靠性。最后用opnet对一个计算机局域网进行性能研究和分析,得到其性能状况并提出改进意见。第一章 绪论1.1 仿真的概念仿真(simulation)这个概念最早由g.w.morgenthater在1961年给出技术性定义,即“仿真意指在实际系统尚不存在的情况下对于系统或活动本质的实现”。1984年oren给出了仿真的基本框架“建模实验分析”,提出了“仿真是一种基于模型的活动”的定义,被认为是现代仿真技术的一个重要概念。根据研究对象的不同,仿真可以分为连续系统仿真和离散事件系统仿真。很多复杂的人工系统,比如计算机网络系统、通信

14、系统、制造系统等,都可以看作是离散事件系统,这些系统状态的变化主要发生在随机的离散时间点上,且状态的变换是离散的,比如一个网络用户对某个ftp服务器发出的下载请求就是随机发生的。因此,人们广泛采用离散事件系统仿真技术来研究复杂人工系统。1.2 网络仿真基本概念和特点网络仿真是一种利用数学建模和统计分析的方法模拟网络行为,从而获得特定的网络参数的技术。而现今的网络仿真多是利用计算机仿真实现的,即在研究和分析系统的过程中,根据相似原理,利用计算机来模拟研究对象。1.3 网络仿真的基本步骤1)收集和消化网络工程设计文档2)建立网元模型3)建立网络模型4)建立网络流量模型(包括背景路由流量、背景利用率

15、流量和前景业务流量建模)5) 仿真设计和仿真计算6)查看、分析结果并提交仿真报告1.4 网络仿真的应用网络仿真是面对具体网络应用的仿真,在特定条件下,通过计算机仿真进行网络性能评估、业务量分析、可靠性分析和参数灵敏度分析等,以实现不同设计准则下的网络拓扑结构及设备配置优化。网络仿真技术的主要应用从应用的层次可以分为以下两个方面:1)开发或评价新的网络协议和设备;2)网络的规划和设计;从网络类型来分则包括以下几个方面:lan/wancellular technologieswireless package messaging servicewireless lan technologiestac

16、tical battlefield communication networkssatellite communication第2章 opnet仿真软件介绍当前有不少仿真软件可以用来进行网络建模与仿真,比较著名的有:real、netsim、ns2、opnet等。为了达到最高的效率,仿真环境必须模块化、分级的,并且利用好当前工作站的图形能力,opnet是能满足所有这些要求而且是最强大的通用网络仿真器。opnet的全面分析工具对解释和综合输出数据尤其理想。利用许多opnet的独有特性例如通过一个自动柜员机开关对模型的虚拟环路传输的动态进程分配,可以进行对呼叫和路由信号传输的离散事件仿真。更重要的是

17、,它的内建类 c 语言支持赋予它实现任何功能和协议的能力。2.1 opnet简介opnet 网络仿真软件是mil3公司的产品,mil3公司是由mit(麻省理工学院)的几位教师在1986年创建的,他们把在mit的研究成果产品化,开发出了mil3公司的第一个产品modeler,并在随后将其扩充、完善为opnet产品系列。目前,该产品系列主要包括四个核心部分:1)serviceproviderguru: 主要是面向网络服务提供商的智能化网络管理软件。2)itguru:帮助网络专业人员预测和分析网络和网络应用的性能,诊断问题,查找影响系统性能的瓶颈,提出并验证解决方案。3)wdmguru:主要应用在波

18、分复用光纤网络的分析和评测。4)opnet modeler:为技术人员(工程师)提供一个网络技术和产品开发平台。可以帮助他们设计和分析网络、网络设备和通信协议。这个模型是最常用的模型,也是本文主要应用的工具。2.2 opnet modeler特点opnet modeler有以下几个主要特点:1)层次化的网络模型 opnet modeler使用无限嵌套的子网来建立复杂的网络拓扑结构。2)简单明了的建模方法在“进程层次”模拟单个对象的行为,在“节点层次”将其互联成设备,在“网络层次”将这些设备互连组成网络。几个不同的网络场景组成“项目”,以比较不同的设计。3)有限状态机opnet modeler使

19、用有限状态机来对协议和其他进程进行建模,在有限状态机的状态和转移条件中使用c/c+语言对任何进程进行仿真,并且可以随心所欲控制仿真的详细程度。另外,opnet modeler还对协议编程有全面的支持,具有无线、点到点以及点到多链路,具有完全开放的系统和丰富的集成分析工具和调试器,并且有详细协议模型的全面模型库。2.3 opnet modeler的仿真机制2.3.1 离散事件系统的仿真策略(事件调度法)这里先介绍一下离散事件的事件调度法。离散事件系统中最基本的概念是事件。事件的发生引起系统状态的变化。用事件的观点来分析真实系统,通过定义事件及每个事件发生引起系统状态的变化,按时间顺序确定并执行每

20、个事件发生时有关的逻辑关系,这就是事件调度法(event scheduling)的基本思想。2.3.2 opnet的事件推进机制opnet采用离散事件驱动的仿真机制(其中“事件”是指网络状态的变化),即只有网络状态发生变化时,模拟机才工作,网络状态不发生变化的时间内不执行任何模拟计算。因此,与时间驱动相比,离散事件驱动的模拟机计算效率得到很大提高。仿真核心实际上为离散事件驱动的时间调度器,它对所有进程模块希望完成的时间和计划该事件发生的时间进行列表和维护。2.4 opnet的体系结构opnet软件包由一系列工具组成,这些工具分别集中处理仿真任务的某一特定方面。这些工具大致可分为三类:说明(定义

21、)、数据采集和仿真分析。下面对它们分别详细介绍。 2.4.1 模型说明opnet通过5种工具(编辑器)来获取系统模型的特性来完成对模型的详细说明。这5种编辑器是:网络编辑器:开发由子网和节点构成的网络模型;节点编辑器:开发节点模型;研究进程编辑器: 开发进程模型,它参考参数模型,控制模块的行为;分组格式编辑器: 开发分组格式编辑器,分组格式中说明分组中存储信息的结构和存储顺序;参数编辑器:开发参数模型,可从一个侧面概括系统的关键特性;2.4.2 数据采集opnet的数据采集是通过用户对需要采集的统计数据和动画通过指定一系列的探测器来完成的。由探测器来表明要采集那些统计量,通过不同的探测器采集不

22、同的统计数据,包括全局统计数据、链路统计数据、节点和属性的统计数据。2.4.3 仿真分析仿真中收集到的大量数据,大多存放在输出标量和输出矢量文件中,opnet使用分析工具来访问数据,分析工具是一个具有图形化和数字化特征的处理环境。2.5 opnet网络建模的基本流程图2-1显示使用opnet进行仿真的基本流程。它给出了从建立模型、运行仿真到收集最后结果的一般仿真流程。第3章 m/m/1排队系统及其分析方法3.1. 排队论基础及m/m/1排队系统 3.1.1 排队论基础排队论是专门研究各种排队现象(如制造系统、通信系统等)统计规律的数学,属于概率论和随机过程的一个部分。最简单的排队模型是只有一个

23、服务台的排队模型(如图3-1),可以由一个服务台和一个代表队列的方框组成。图3-1 排队模型其中是顾客到达率或者系统负荷;是顾客离去率或称服务率或系统容量;系统负荷和系统容量之比称为服务强度或链路利用率=/。对于一般的排队系统,我们用a/b/c表示,a表示顾客到达的分布特性,b表示服务台的服务特性,c表示服务台个数。3.1.2 m/m/1排队系统m/m/1排队系统是一个符合泊松分布到达,指数分布服务时间,按先进先出(fifo)规则服务的单服务台排队模型。其相关统计特性有:系统平均排队长度e(q)、顾客在系统中平均逗留时间e(t)和平均等待时间e(w)。3.2 m/m/1的分析方法这里我们分析一

24、个到达时间间隔服从负指数分布,服务时间服从负指数分布,且按fifo规则服务的单台单队排队(m/m/1)系统。已知平均到达时间间隔(packet interarrival time)为1/=5secs,信包平均大小(packet size)为1000bits,队列服务速率(queue servive rate)为250bits/sec,即平均服务时间为1/=4secs。3.2.1 m/m/1系统的理论分析(公式计算)根据参考文献5可知理论公式为:链路利用率 稳态平均队长 (信包)稳态平均实体数 (信包)稳态平均延迟时间 (秒)稳态平均滞留时间 (秒)所以根据以上公式,代入实际数值可知,本系统中:

25、1. 链路利用率 2. 稳态平均队长 q 信包 3. 稳态平均实体数 l 信包4. 稳态平均延迟时间 d secs5. 稳态平均滞留时间 w secs(因此可以看到即,)3.2.2 m/m/1系统的c程序仿真分析 系统流程分析及编程思想系统比较简单,其状态可以用顾客排队队长q及服务台忙闲状态z来描述,相应的,引起这些状态发生变化的事件有:顾客到达系统,顾客接受完服务后离开系统。该系统主程序流程框图可见图3-2。主程序主要是调用完成不同功能的多个子程序,这些子程序包括初始化子程序、时间控制子程序、到达事件子程序、离开事件子程序以及随机数产生子程序。并且主程序完成对仿真所要求的顾客

26、排队平均队长和平均每个顾客排队等待时间的输出。初始化程序init()完成的功能有:(1)仿真钟初始化,一般为零值;(2)系统状态初始化;(3)建模变量初始化;(4)仿真启动,即产生第一个发生的事件,以便推进仿真钟。系统的初始状态为闲,排队的队长为0,仿真钟的初始值亦为0。系统的第一个事件是顾客到达,顾客离去时间未知,故先设置为无穷大,由此来保证到达事件作为系统的第一事件。定时子程序timing()是系统仿真钟推进的控制部件,其基本功能是从事件表中选择发生时间最早的事件,它体现了事件调度法的实质。程序中tne(0)代表顾客到达事件发生的时间,tne(1)代表顾客离去事件发生的时间,通过timin

27、g子程序选择其中数值最小的元素tne(i),即是系统下一个最早发生事件的记录,并将此值赋予变量next返回主程序。顾客到达程序arrive()是当下一个最早发生事件是到达事件时调用的子程序,其功能是用以处理顾客到达事件,其流程框图如图3-3所示。正如流程图,正如流程图所示首先必须安排本到达事件发生后的下一次事件发生时间以保证仿真钟的推进,然后才开始处理当前顾客到达后引起的系统状态变化,这时会有两种情况,如果服务台闲(status=0),则直接服务,这时顾客的等待时间为0,服务台状态设为忙(status=1),然后预定顾客离去时间,并将服务过的顾客数加1;如果服务台忙,则当前到达的顾客必须要进入

28、队列排队,队列人数加1,同时当前队列长度的积分值要重新计算,使得其值aniq=niq*(time-tlevnt)(其中niq是当前队列中人数,tlevnt是前一事件发生的时间,time为当前仿真钟的时间)。并且要将参加排队的顾客的到达时间保存在数组tarrvl(100)中,以便使系统按fifo方式服务。相应的顾客离开程序depart()是当下一事件是离开事件时调用的子程序。其功能是处理该事件发生时系统状态的变化并对有关的量进行统计计算。其流程图如图3-4所示。如果本顾客离去后,队列中无顾客等待就应置服务台状态为闲,并使得下一离去事件的时间tne(1)设置为无穷,以保证下一最早发生事件为到达事件

29、,否则会造成系统死循环。如果顾客离去后队列中仍有顾客在等待,则按照fifo规则从队列中选择第一个顾客(程序中为tarrvl(1),并将队列长减少1,同时重新对tarrvl(i)排序。这里可以通过使tarrvl的每个元素位置“往上”移动一个单位(下标减1)实现。另外,子程序expon()完成产生随机数的功能,从而产生指数分布时间间隔。函数主要是调用了c语言中的rand()函数。 程序结果分析当顾客平均到达时间间隔为5secs,平均服务时间为4secs的情况下,采用不同仿真长度的多次仿真结果如表3-1所示:表3-1: c程序结果分析表格仿真长度average delay in qu

30、eue(平均等待时间)(秒)average number in queue (平均队长)(信包)100015.13362.53288200016.57802.73547300015.19112.54284400017.87763.06211500015.52552.60941600017.47832.99986700016.34162.74394800018.67973.22413900018.22863.12111以上9次平均等待时间的平均值为16.7816secs,平均队长的平均值为2.84131 信包。3.2.3. m/m/1系统的opnet仿真分析 问题的分析和定义根据

31、要求,系统可以在opnet中由一个单节点表示,该节点内部有数据的发生器,数据的队列缓冲器,队列调度执行的策略是先进先出的调度策略(fifo)。其中队列的特点是数据到达服从指数分布,队列具有无穷大的缓冲区,而服务台只有一个,数据处理时间也服从指数分布,即m/m/1系统。如图3-5所示:在该系统中,主要使用如下三个参数:平均到达时间间隔(packet interarrival time);数据包平均大小(packet size);服务器的平均服务速率(service rate);在本系统中平均到达时间间隔(packet interarrival time)=5secs,数据包平均大小(packet

32、 size)=1000bits,服务器的平均服务速率(service rate)=250bits/sec,也即平均服务时间为4secs。 节点模型的建立及仿真结果的观察(1)节点模型的建立这里我们先建立节点内部的模块组成,该节点的三个模块为数据发生模块、队列缓冲模块以及数据包处理模块。在opnet的节点编辑器中先编辑数据发生模块,按照要求设置平均到达事件间隔为5的指数分布的和数据包平均大小设置为指数分布1000bits。如图3-6所示。然后设置队列缓冲模块,将服务器平均速率设置为250bits/sec ,并将排队方式设置为acb_fifo即先进先出策略。如图3-7所示。图3-6

33、源节点设置 图3-7 队列节点设置最后是数据处理模块,这个模块主要是对收到的数据包进行销毁数据以释放存储空间的操作。直接将其进程设置为sink进程即可。此时的节点模型如图3-8:图3-8 节点模型图将该节点模型简单的置入一个网络工程中,完成对系统的建模。(2)设置统计量这里我们要考察的统计量有稳态平均队长q及稳态平均延迟时间d,所以我们选择收集变量为queue size和queue delay。如图3-9所示:图3-9 统计量指针设置 对m/m/1节点进程模型的分析这里再对m/m/1节点的进程模型进行深入的分析。这是一个简单的排队系统,它是用来描述一个到达时间间隔服从指数分布,

34、服务时间间隔服从指数分布,服务台数目为1的排队系统。系统中包含三个模块。其中src模块负责产生数据包,并把数据包发送给queue模块。queue模块负责把到达的数据包进行排队,服从acb_fifo规则。队首的数据包发送给sink模块。sink负责丢弃收到的数据包。以下是这三个模块的属性:1. src模块:模块的属性:1) 它是一个simple_source类型的进程2) 信包到达时间间隔服从指数分布,exponential(5.0)3) 信包大小服从指数分布,exponential(1000)2. queue模块服务率是常数=250所以,信包处理时间服从exponential(4.0)的分布。

35、3. sink 模块统计信息,销毁收到的信包。打开各个模块,显示出各自的进程状态转移图:src模块如图3-10:图3-10 src源节点进程状态转移图init:1) 读入包产生的初始化参数,载入用来计算packet interarrival time, packet sizes的pdf分布函数。2) 设置仿真时间开始和结束的信息。3) 当满足条件 start的时候,执行ss_packet_generate()函数,状态转移到generate.当满足条件disabled,转移到stop状态generate::1) 安排下一个信包的到达。2) 当满足条件packet_generate,执行ss_p

36、acket_generate()函数,状态自身转移。当满足条件stop,转移到stop状态stop: 终止状态 queue模块如图3-11:图3-11 queue进程状态转移图有四个强制状态,一个idle非强制状态。init1) 置忙闲状态初始值为0,即空闲。server_busy = 0;2) 分配server的处理速率 op_ima_obj_attr_get (own_id, service_rate, &service_rate);3) 条件满足arrival,转移到arrival状态arrival1) 获取到达的信包pkptr = op_pk_get (op_intrpt_strm (

37、); 2) 将信包插入子队列队尾3) 当满足空闲和插入正确的条件时 !server_busy&insert_ok,转移到svc_startsvc_start1) 取得子队列队首信包的句柄pkptr = op_subq_pk_access (0, opc_qpos_head);2) 获取该信包长度pk_len = op_pk_total_size_get (pkptr);3) 计算该信包的服务时间pk_svc_time = pk_len / service_rate;4) 服务结束时调用一个中断op_intrpt_schedule_self (op_sim_time () + pk_svc_ti

38、me, 0);5) 把server置为忙 server_busy = 1;6) 执行完入口操作,直接转移到idle状态svc_compl1) 提取队首已经完成服务的包 pkptr = op_subq_pk_remove (0, opc_qpos_head);2) 转发包,产生一个目的地中断op_pk_send_forced (pkptr, 0);3) 置server状态闲server_busy = 0;4) 当满足!queue_empty,队列不空,转移到svc_start一个非强制状态:idle:当满足条件自中断,转移到svc_compl状态当满足条件流中断,转移到arrival状态head

39、er block 头文件#define queue_empty (op_q_empty ()#define svc_completion op_intrpt_type () = opc_intrpt_self 中断类型为自中断#define arrival op_intrpt_type () = opc_intrpt_strm中断类型为流中断sink 模块如图3-12:图3-12 sink模块进程状态转移图init1) 初始化统计句柄。2) 执行完后直接转移到下一个状态 discarddiscard (出口代码)1) 获取到达的包pkptr = op_pk_get (op_intrpt_str

40、m ();2) 计算包大小和延迟pk_size = (double) op_pk_total_size_get (pkptr);ete_delay = op_sim_time () - op_pk_creation_time_get (pkptr);3) 更新局部和全局统计量4) 销毁收到的信包op_pk_destroy (pkptr); 运行仿真和结果分析对仿真过程配置如下:仿真种子seed值设置为430,仿真时间duration设置为5hours。运行仿真后观察结果如图3-13和3-14所示,其中队列的稳态队长queues size约为l=4,稳态平均延迟时间queue de

41、lay值约为w=20secs。由于opnet仿真过程中计算的是包括正在服务的数据包的稳态平均实体数l和包括服务时间在内的所谓稳态滞留时间w,所以根据理论公式实际信包, secs。图3-13 队列延迟 图3-14 队列稳态队长 3.2.4 几种分析方法的比较以上通过理论计算、c程序实现和opnet仿真三种方式实现了对m/m/1系统的分析并分别得出了结果。现整理如下:表3-2 三种分析方法结果的比较实现方式稳态平均队长(信包)稳态平均延迟(秒)理论计算3.216c程序2.8413116.7816opnet仿真3.216通过表3-2可知理论计算值和c程序实现以及opnet仿真的结果基本相同,理论计算

42、是在概率论和数理统计的基础上得出公式计算而得的,在公式基础上计算显得比较简单快捷,也可以准确地得出结果,但是公式只适用于简单排队系统,对于复杂的实际系统,如通信网络或者计算机网络,将无法用数学方法得出公式,因此理论计算有其局限性。c语言编程的方法,或一般而言是通用计算机语言编程实现的方法,也可以在应付简单网络情况下得出准确的结果,但是实现的过程需要有大量的编程工作,需要开发者具有网络设计知识的同时有较高的编程技巧,并且对于大型实际网络,通用语言编程将是一项巨大而繁琐甚至不现实的工作。而opnet仿真实现,则是通过利用该软件本身强大的功能和友好的用户界面很简单的构建出模型并由软件实现整个仿真的过

43、程,虽然在应对小型网络或简单系统时其工作量优势相对前两种方式并不能很好体现,但是在应对大型网络的情况下,opnet强大的模型库和仿真能力可以方便的实现理论计算和编程无法完成的工作,并且保持很好的可靠性。因此,相对而言opnet有其重要的意义。3.3. m/m/5并联排队系统的opnet仿真实现 3.3.1 问题的分析和定义该系统有五个并行服务的服务台(m/m/5),信包到达时间和处理时间服从负指数分布,其中信包到达的时间间隔平均值c为16秒,5个服务台(n=5)的平均处理时间s为60秒,允许队长q4为5。这里排队规则采用fifo策略,排队按等待消失制,即当信包来到时,如果服务台全忙而队长数又大

44、于允许值时,信包就离开系统(消失),否则信包就排队等待。系统分析要求的指标为系统中平均信包数(个)以及平均等待时间(秒)。由于理论结果计算比较复杂,这里根据参考文献8直接给出: 令,则(1)平均信包数;其中;(2)平均等待时间;代入系统参数后可得:平均信包数m=4.342 信包,其中p0=0.02035,平均等待时间w=11.256 秒。3.3.2 节点模型的建立和仿真结果观察节点模型的建立由于opnet提供了很方便的排队策略acb_fifo_ms用于并行多服务台的fifo算法,所以m/m/5并联系统的模型与m/m/1类似。具体建立过程中数据产生模块的设置中设置包到达时间间隔服从

45、平均为16s的负指数分布,包大小服从平均大小为600bits的负指数分布。对于队列模型的属性,设置服务率为10bits/s,以保证平均服务时间为60s。同时由于队列采用等待消失制,需设置队列容量为5,即设置系统中最多有10个信包,作如下设置:图3-15 m/m/5队列长度的设定设置完后系统与m/m/1节点模型外表一致,如图3-8所示。 仿真运行及结果观察运行仿真5个小时,使用seed为430,得到结果如下:队列延迟如图3-16(此处队列延迟时间包括队列中等待时间和服务时间两部分):图3-16 m/m/5队列延迟系统中平均信包数:图3-17 mm5系统平均信包数与m/m/1的情况类

46、似,这里图像中表示的时间是系统中平均滞留时间w,而且由于opnet中在存在队长限制时这个时间不包括因队长达到限制而离开的信包的服务时间0s,所以实际平均队列等待时间d可以用;而系统中平均信包数为4.2个。结果的比较与分析表3-3 m/m/5结果比较表计算方式平均队列等待时间(secs)系统中平均信包数(个)理论计算11.2564.342opnet仿真104.2从上表的比较结果中可以看到,opnet仿真的结果基本上与理论结果一致,而opnet可以方便地通过几个参数的设置获得结果,不用像理论计算那样通过繁琐的数学运算获得公式,再次体现了opnet的优越性和仿真结果的可靠性。第4章 用

47、opnet实现复杂网络系统的仿真4.1 问题的提出和分析 4.1.1 问题的提出以上利用opnet完成的都是简单排队系统的模型仿真,而这些工作都可以通过理论计算等其他方法获得结果,但是如果要对一个复杂的网络,如一个计算机局域网的仿真,则将无法通过计算来获得所需的数据。在实际中,一个网络的设计和优化往往是凭借设计者本身的经验来进行的,该网络设计出来的性能参数往往只有当实际运行时才能获得,这就对设计者本身提出了很高的要求,也使得设计的过程包含不小的风险,因而如果能在实际网络架设前获得该网络的性能指标,将会对设计过程有很大的帮助。opnet可以对复杂网络系统进行仿真,可以使设计者在opnet中建立的

48、模型来获取所需的参数,并根据这些来确定如何设计网络。本节就将利用opnet对一个计算机局域网进行仿真,获取所需参数并作分析。4.1.2网络拓扑结构这里仿真的是某研究所的网络结构,该网络系统包括三个楼层,每个楼层有一个交换机和若干实验室(由不同节点代表),而所有交换机接到一个主要的路由器,并从该路由器接入internet。在opnet中网络主干拓扑结构如图4-1所示:图4-1 网络主干拓扑图其中main节点内部结构如图4-2:图4-2 main节点内部拓扑图楼层4(4th floor)的内部结构如图4-3:图4-3 4th floor内部拓扑图楼层5(5th floor)的内部结构如图4-4:图

49、4-4 5th floor内部拓扑图楼层6(6th floor)的内部结构如图4-5:图4-5 6th floor内部拓扑图4.1.3 网络性能指标评价一个网络的性能有很多指标,包括链路利用率、服务响应时间、丢失率和延迟等,但对于特定的研究对象,往往可以通过某些特定的指标来表征系统的性能,而不用要求每一个指标。在本文研究的局域网中,我们关注了如下几个指标:(1)响应时间(response time)响应时间是指客户端发送一个请求到服务器端到收到一个响应的时间。对于http业务,这个指标是指页面响应时间(http page response time),是指发出一个请求到打开这个页面所需要的时间

50、;对于ftp业务,这个指标是下载响应时间(download response time),是指发出一个下载请求到下载完该文件所需要的时间。该指标能能很直观地描述该网络在具体的应用中的性能。(2)链路队列延迟(link queuing delay)链路队列延迟是指在该条链路上的信包从进入这个链路的一个节点到另一个节点所需时间,有的情况下还包括在节点接受服务的时间(如opnet中的该值)。该指标可以反映该网络中某些具体链路对整个网络性能的影响。(3)链路利用率(utilization)链路利用率反映了链路上吞吐量与链路容量的比例关系,是指对该条链路的利用程度。该指标可以反映链路上流量的大小并可以通

51、过此指标分析拥塞情况。通过研究以上几个指标可以评价一个网络的当前性能是否良好,在网络状况改变时,性能状况是否会变化,以及在网络出现拥塞等情况时找出具体位置。同时对服务器端的负载进行研究可以观察服务器的性能,以判定服务器是否可以满足该网络的应用。4.1.4 网络业务分析 http业务仿真在该仿真过程中,我们只关心该网络访问internet的http服务的性能,因此最终收集的都是http业务的参数。仿真中,我们分三种情况研究该网络:场景(1)normal:无背景流量,单一http业务的场景;场景(2)back_single_service:有背景流量(70%),单一http业务为前景

52、的场景;场景(3)noback_multi_service:无背景流量,含http,ftp,email业务的多业务场景。(其中场景(3)时在5th floor分别增加一个email服务器和ftp服务器。)最终考察的参数为:客户端 client http:page response time (sec) 页面响应时间(秒)服务器端 server http: load (requests/sec)负载(请求/秒)端对端(链路)point-to-point: queuing delay(sec)队列延迟(秒)utilization链路利用率 ftp业务仿真另外我们对该网络访问ftp业务

53、时的性能亦进行了仿真,因而在仿真过程中只收集ftp业务性能参数。在仿真中设置了4个场景:场景(1)normal:无背景流量,单一ftp业务访问;场景(2)back_single_service:70%背景流量,研究单一ftp业务;场景(3)normal_pro: 场景(1)基础上的改进,在main节点中增加了一个ftp服务器,以期获得参数上的改善;场景(4)normal_badnet:在场景(1)基础上对ipcloud的延迟增加,以观察对网络性能的影响。最终收集的参数有:客户端:client ftp:download response time(sec) 下载响应时间服务器端:server f

54、tp:load(requests/sec) 负载(请求/秒)端对端(链路):queuing delay (sec) 队列延迟(秒)4.1.5 opnet建模和仿真过程利用opnet进行建模和仿真的基本流程如下:(1)业务设置:在建立网络结构前对该网络中将要使用到的应用参数(application config)及客户端业务规格(profile config)预先做好设置是比较合适的。我们通过分别在应用参数对象和客户端业务规格对象中设置这两项。(2)建立网络:建立网络的过程包括在opnet上实现该网络的拓扑结构,对网络中的对象进行配置(包括设备参数、客户端业务规格及链路背景利用率等)。并根据不同

55、的仿真条件建立不同的场景,以便比较分析。同时为了对结果进行有针对性的分析,需要设置好要收集的统计量。(3)运行仿真与观察结果:最终是对已建立的网络进行实际的仿真,并对结果进行比较分析。下面将按照这样一个步骤对该网络进行仿真。4.2 opnet建模(http业务)4.2.1 业务设置 设定应用参数(application config)应用(application)具体描述应用的动作,比如http应用,规定了每次取得页面的大小和时间间隔,而如ftp应用,则规定上传和下载的流量。这里应用设置为default默认,对于http业务即是页面对象object size为常数1000bits

56、,取得页面的时间间隔page interarrival time为服从平均时间间隔为60secs的负指数分布。 设置客户端业务规格(profile config)客户端业务规格(profile)的设定可以决定客户端会产生哪些业务请求。在场景normal和back_single_service下只需设置一种业务即http业务,命名该profile为lan client,设置业务仅为http。设置如图4-6。图4-6 normal场景客户端业务规格设置场景noback_multi_service中需要对profile lan client进行修改,添加file transfer(heavy)和email(heavy)两

温馨提示

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

评论

0/150

提交评论