版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科毕业设计(论文) 基于opnet的校园网建模与仿真学 院 信息工程学院 专 业 信息工程(通信工程方向)年级班别 2006级(3)班 学 号 3106002514 学生姓名 龙 建 武 指导教师 文 元 美 2010年 5 月摘 要近年来,随着计算机科学技术的发展,特别是网络技术的发展,高校规模的扩大和人数的增多,对网络的需求越来越大,对上网速度的要求越来越高,对业务的需求迅速增长,如语音、图像、视频等多媒体数字业务。需入网的结点迅速增加,因此网络的结构更复杂,对设备性能的要求更高,链路速度更快。建设一个基于多业务、复杂的校园网络系统,其投资规模是非常庞大的,需要一种有效的手段对校园网进行
2、规划、设计、并实现。通过数学建模的方法过于复杂,根据经验进行规划设计的方法不可靠,不适应日益增长的网络需求,利用网络仿真软件来对网络模型进行建模并仿真便成了必然的选择。本文的主要研究任务,是通过opnet仿真软件,对我国一般大学校园网的网络结构进行建模,模拟网络行为,对关键参数进行收集,分析,并在原有模型上添加网络结点及应用,再进行仿真,分析,对比,得出改进设计方案是可行性。本文的研究对校园网的规划、设计、网络建模都具有一定的指导意义,可以提高网络设计的科学性,缩短网络设计周期,降低校园网网络的投资风险。最后,对本文进行了总结,同时对未来的工作进行设想和展望。关键词:网络仿真,opnet,校园
3、网abstractin recent years, as computer science and technology development, especially the development of network technology, colleges and universities to expand the size and number increases, the networks growing demand for increasingly demanding high-speed internet access for business needs rapid gr
4、owth, such as voice, images, video and other multimedia data services。 network nodes need to rapidly increase, so the network structure is more complex and more demanding on the equipment performance, link speed, the building of a multi-service-based, complex campus network system, its scale of inve
5、stment is very large, need for an effective means of pairs of campus network planning, design, and implementation。 through mathematical modeling approach is too complicated, through experience, the planning and designing method is not reliable and not suited to the growing network needs, using netwo
6、rk simulation software to model the network model and simulation has become an inevitable choice。the main task of this research is through opnet simulation software, for chinas general university network, the network structure for modeling, simulation of network behavior, the key parameters of the c
7、ollection, analysis, and add in the original model of the network nodes and applications, and then simulation, analysis, comparison, come to this design is feasible。this study on the campus network planning, design, network modeling has certain guiding significance for network design can improve the
8、 scientific nature of the network places a short design cycle, reduce the investment risks of campus network。 finally, this paper summarized the same time, the work of the future vision and prospects。key words: opnet, network simulation, campus network目 录第一章 绪论11.1 题目背景及目的11.2 国内外研究现状21.3 论文研究的主要内容及
9、组织结构3第二章 网络仿真技术52.1 网络仿真概述52.1.1 仿真技术的产生52.1.2 仿真技术特点6 2.2仿真技术的发展现状6 2.3 网络仿真流程9第三章 网络仿真软件opnet103.1 opnet仿真软件概述103.2 opnet仿真技术10 3.2.1 三层建模机制103.2.2 离散事件仿真机制123.2.3 仿真调度机制13 3.3 opnet通信机制13 3.4 opnet仿真流程17第四章 校园网网络设计技术194.1 校园网的性能评价指标19 4.1.1 响应时间19 4.1.2 网络延迟19 4.1.3 延迟变化20 4.1.4 吞吐量20 4.1.5 链路利用率
10、20 4.1.6 资源利用率20 3.1.7 丢包率203.1.8 可靠性和可用性214.2 校园网的主要拓扑类型21 4.2.1 星型拓扑结构21 4.2.2 树型拓扑结构21 4.2.3 总线拓扑结构22 4.2.4 环型拓扑结构22 4.2.5 网状型拓扑结构22 4.3 校园网关键设备及主要技术22 4.3.1 关键设备22 4.3.2 主要技术26第五章 校园网建模及仿真分析295.1 校园网的建模29 5.1.1 需求分析29 5.1.2 网络建模29 5.1.3 业务配置31 5.2 数据收集及仿真分析31 5.2.1 数据收集31 5.2.2 仿真及分析32 5.3 增加节点及
11、业务后仿真分析35 5.4 改进后校园网的仿真分析38 5.4.1 对原有网络的改进38 5.4.2 改进后网络的仿真分析39 5.5本章总结42结论 43参考文献 44致谢 46第一章 绪论1.1论文研究的背景及目的随着网络技术的发展,传统的只传输文本信息的网络已不能满足人们对更为丰富的数据、语音、图像、视频等多媒体业务的需求,而且网络的使用也越来越广泛,用户也随之增加,这必然给网络原有设备带来冲击,因此需要加以改造以适应网络需求的发展。网络仿真是一个很有用的网络研究工具,它以系统理论、形式化理论、随机过程和统计学理论、优化理论为基础,在设计阶段,仿真方法提供一个虚拟模型来预测并比较各种方案
12、的性能,通过对不同环境和工作负荷的分析和比较,来优化系统的性能。在某些情况下,仿真是唯一可行的方法和技术。仿真方法的抽象化程度比数学分析方法低,耗费的时间比测量技术少,其低成本和有效性是其他传统方法不可替代的。随着网络新技术的不断出现和数据网络的日趋复杂,对网络仿真技术的需求必将越来越迫切,网络仿真的应用也越来越广泛,网络仿真已成为研究、规划、设计网络不可缺少的工具。校园网是现代化教学的基础性设施,作为实施教育信息化有效载体,对保障学校教育和科研管理等工作的正常有序进行,实现校际交流和资源共享方面,起着至关重要的作用,并将直接影响到教育信息化建设的质量。目前,世界上大部分发达国家和部分发展中国
13、家都建立了本国的校园网体系。美国在1999年就已有95的中小学上网,瑞典也有90以上的公立高中和绝大部分的九年制义务教育学校联网,教育信息化已成为世界发展的大趋势。随着网络技术的层出不穷,新的应用逐步普及,高校的业务需求逐步增长,另外,随着高校扩招工作的不断深入,学生及教师人数的增加,其对信息化的需求与日俱增,学生宿舍用户及教师用户数急速增长,校园网网络性能因此受到相应的影响,因此,网络升级,扩容问题被提到了重要的议事日程,对大学校园网进行改造是势在必行。然而,随着用户对网络的依赖程度的增加,网络的正常运行变得越来越重要,用户对网络可用性、稳定性、响应性等提出了越来越高的要求。网络应用系统越多
14、,网络的功能系统越复杂,出现问题所带来的损失也就越大,网络性能的问题最终会影响到用户的工作效率。经过规划设计出来的网络,不能保证其可行性,导致网络应用性能降低的因素是多方面的,而网络测试正是一种可以有效提高网络系统及运行质量的方法,在测试的基础上,建立网络行为模型,并用模拟仿真的方法建立理论到实际的桥梁,是了解网络性能的有效方法。随着网络结构日趋复杂,网络规模日趋庞大,新的网络技术层出不穷,网络的应用也越来越多样化。其中的网络规划设计以及网络升级等问题尽管在实验室中的小规模评价和真实的环境下进行实验都很有价值,但每一种都有很大的局限性,缺乏灵活、扩展性,并且成本太高。因此,网络仿真作为一种新的
15、网络研究和网络规划设计技术应运而生,无论对于网络规划设计,还是网络升级,网络的仿真研究日益显示出其重要意义。为此利用opnte网络仿真软件对校园网进行仿真,以传统大学校园网结构为依托,针对网络中主交换机的性能情况作为研究校园网的切入点,通过对仿真结果的分析,根据分析结果提出对网络改造方案,再次应用网络仿真软件测试改造后交换机的数据,判断改造后的网络性能是否优于原有网络。从校园网的应用出发,分析其业务主要有:ftp、http、email、视频等。利用各个工作点,通过主交换机对服务器进行业务访问来测试交换机的能力,分析结果并从中提出改进方案以解决设备与新网络业务配套的问题,减少在实际系统中试验所需
16、要的巨大投入,减少成本并避免所谓的“牛与马”不配套的问题。1.2 国内外研究状况从80年代开始,美国等发达国家就一直致力于开发商业和非商业用途的网络仿真产品。近年来,我国的网络仿真研究和应用得以发展。1997年,cernet的网络中心开始开发自己的网络仿真软件;1998年后,我国多家单位陆续引进opnet网络仿真软件,用于网络协议和网络设备的开发和研究,使用者大都是大学和研究院、所的研究和开发人员。网络仿真软件的操作相当复杂,使用者一般需要半年左右时间的培训和熟悉才能够熟练掌握。近年来,由于数据网络日趋复杂、网络规模日趋庞大,网络仿真技术应用于网络规划和设计的需求日渐强烈。于是,网络仿真软件厂
17、商纷纷把应用和开发重点转向网络规划和设计方面,将用户由研究开发人员转向网络规划和设计人员,简化软件界面和操作流程,强化软件的工程应用能力,特别是加强了与网络管理软件厂商的合作,开发与网管软件的接口,使得网络模型的建立逐步自动化,加快网络建模的速度。opnet与hp网管紧密结合就是一个典型的例子。不过,应该指出,网络仿真技术在网络规划和设计方面的应用时间还不长,特别是在大型网络和复杂网络的应用方面,还处于应用的初级阶段,尚有不少重要的技术问题有待解决。网络仿真规划设计软件的使用和操作还相当复杂,还远没有达到一般网络规划设计人员经过短时间培训就能够熟练使用的目标。不过,网络仿真软件厂家正在全力向这
18、个方向努力。我国的网络仿真技术的研究从1999年起步,这主要有两个原因,一个是我国数据网络的发展较晚,对网络仿真技术的需求相对不是十分迫切;另一个原因是主流的网络仿真软件基本上产自美国,而其高端产品在1998年以前一直是对包括中国在内的社会主义国家禁运。自1998年以来,由于我国数据网络迅猛发展的拉动和美国解除高端网络仿真软件出口限制的刺激,我国的网络仿真研究和应用逐步起步。1997年,cernet网络中心开始开发自己的网络仿真软件;1998年,北京邮电大学、广东省邮电科学技术研究院、原电子部电科院、邮电部规划设计院等单位先后引进了先进的opnet网络仿真软件,开展网络协议开发、网络规划设计应
19、用等方面的研究工作。1.3 论文研究的主要内容及组织结构本文以opnet仿真软件为平台,对一般大学校园网的网络需求进行了分析,介绍校园网网络设计技术,涉及硬件、拓扑结构、主要性能指标、业务需求等,利用opnet对校园网进行了建模并运行仿真,分析仿真结果,增加应用业务及结点,再进行仿真、分析。全文共分五章,章节安排如下:第一章是绪论部分,说明了研究题目的背景,简要介绍国内外教育信息化和校园网的建设使用情况,国内外网络仿真技术使用的现状,利用opnet进行网络仿真的意义及目的。第二章介绍了当前网络仿真技术的现状,分析及对比了各主流软件技术的特点,对仿真技术进行了理论方面的探讨。第三章介绍了本文利用
20、到的网络仿真软件opnet的详细情况,介绍opnet仿真关键技术,opnet的仿真通信机制及建模方法等。第四章介绍了当前网络技术的主要技术,及校园网建设中的主要问题,技术指标,性能评价,拓扑结构等。第五章介绍了利用opnet对校园网进行网络建模,收集仿真数据,对其进行仿真,分析仿真数据,在原来模型上增加结点及业务,再进行仿真,分析仿真结果,得出利用opnet对校园网建模及仿真是可行的,得到的模型及数据具有一定的工程应用参考价值。最后对全文进行了总结,并提出其中的不足及下一步的研究方向。第二章 网络仿真技术2.1网络仿真概述2.1.1 仿真技术的产生在网络迅速膨胀的今天,网络研究人员一方面不断思
21、考新的网络协议和算法,为网络发展做前瞻性的基础研究;另一方面也要研究如何利用和整合现有的资源 ,使网络达到最高效能。无论是哪一方面都需要对新的网络方案进行验证和分析。进行网络技术的研究一般有以下三种手段:(1) 分析方法。对所研究的对象和所依存的网络系统进行初步分析,根据一定的限定条件和合理假设,对研究对象和系统进行描述,抽象出研究对象的数学模型,利用数学分析模型问题进行求解。(2) 实验方法。设计出研究所需要的合理硬件和软件配置环境,建立测试和实验室,在现实的网络上实现对网络协议、网络行为和网络性能的研究。(3) 仿真方法。应用网络仿真软件建立所研究的网络系统的模型,然后在计算机上运行这个模
22、型,并分析运行的输出结果。 然而,分析方法的有效性和精确性受限制大。当一个系统很复杂时,就无法用一些限制性假设来对系统进行描述。实验方法的局限性在于成本很高,重新配置或共享资源很难,运用起来不灵活。而仿真方法在很大程度上可以弥补前两种方法的不足。仿真方法可以根据需要设计所需的网络模型,用相对较少的时间和费用了解网络在不同条件下的各种特性,获取网络研究的丰富有效的数据。无疑,网络仿真技术是一种研究网络规划与设计的有效工具。网络仿真技术是一种通过建立网络设备、链路和协议模型,并模拟网络流量的运输,从而获取网络设计和优化所需要的网络性能数据的仿真技术。网络模型不仅可以在实施之前预测拓扑和设备规划,还
23、有助于在网络的运行中保持其有效性。网络仿真也被称为网络模拟,就是用计算机程序对通信网络进行模型化,通过程序的运行模仿通信网络的运行过程。因为对各种网络仿真过程来说,其中也有“模拟”的含义,即,网络仿真既可以取代真实的应用环境得出可靠的运行结果和数据,也可以模仿一个系统运行过程中的某些行为和特性。网络仿真提供了一个方便、高效的验证和分析方法,所以网络仿真技术在现代通信网络设计和研究中的作用正变得越来越大。2.1.2 网络仿真的特点网络仿真技术是一种利用数学建模和统计分析的方法模拟网络行为,从而获取特定的网络特性参数的技术。数学建模包括网络建模(网络设备、通信链路等)和流量建模两个部分。模拟网络行
24、为是指模拟网络流量在实际应用中传输、交换和复用的过程。网络仿真获取的网络特性参数包括全局性能统计量、网络节点的性能统计量、网络链路的流量和延迟等,由此既可以获取某些业务层的统计数据,也可以得到协议内部某些特殊参数的统计结果。网络仿真技术有两个显著的特点:首先,网络仿真能够为网络的规划设计提供可靠的定量依据。网络仿真技术能够迅速地建立现有网络的模型,并能够方便地修改模型并进行仿真。这使得网络仿真非常适用于预测网络的性能,回能“whatif”这样的问题。其次,网络仿真能够验证实际方案或比较多个不同的设计方案。在网络规划设计过程中经常出现多个不同的设计方案,它们往往是各有特点,仅凭主观判断,很难做出
25、正确的选择,因此如何进行科学的比较和取舍往往是网络设计者们感到头疼的事。网络仿真能够通过为不同的设计方案建立模型,进行模拟,获取定量的网络性能预测数据,为方案的验证和比较提供可靠的依据。这里所指的设计方案可以是网络拓扑结构、路由设计、业务配置等。总而言之,网络仿真技术具备全新的模拟实验机理,使其具有在高度复杂的网络环境下得到最高可信度结果的特点:网络仿真的预测功能是其他任何方法都无法比拟的,使用范围广,既可以用于现有网络的优化和扩容,也可以用于新网络的设计,而且特别适用于中大型网络的设计和优化,初期应用成本不高,而且建好的网络模型可以延续使用,后期投资还会不断下降。2.2 网络仿真技术的发展现
26、状网络仿真软件通过在计算机上建立一个虚拟的网络平台,来实现真实网络环境的模拟,网络技术开发人员在这个平台上不仅能对网络通信、网络设备、协议、以及网络应用进行设计研究,还能对网络的性能进行分析和评价。另外,仿真软件所提供的仿真运行和结果分析功能使开发人员能快速、直观的得到网络性能参数,为优化设计或做出决策提供更便捷、有效的手段。因此,运用网络仿真软件对网络协议、算法等进行仿真已经成为计算机网络通信研究中必不可少的一部分。最著名的仿真软件opnet是美国mil3公司的产品。目前opnet是世界上最先进的网络仿真开发和应用平台,近几年被第三方权威机构评选为“世界级网络仿真软件”第一名。opnet采用
27、离散事件驱动的模拟机理,其中“事件”是指网络状态的变化,也就是说,只有网络状态发生变化时,模拟机才能工作,网络状态不发生变化的时间段内不执行任何模拟工作,即被跳过。因此,与时间驱动相比,离散事件驱动的模拟机计算效率更高。opnet采用基于包的建模机制。opnet模型分为网络,结点和进程三个层次。用户可以在这三个层次的任何地方切入编程,建立所需的模型。opnet提供了一个比较齐全的基本模型库(包括网络设备和链路),主要包括:ethernet、fddi、tr、tcp/ip、atm、fr、pstn、cellular phone、wireless network。opnet支持sun、hp、ibm、s
28、gi工作站和一般pc等硬件设备,可以运行在unix、nt或win95/98等操作系统上。到目前为止,全球已有多个单位采用opnet技术进行通信网络研究开发以及网络规划。但由于opnet是收费的商业软件,限制了其在研究领域的应用。另一知名仿真软件是ns2,ns2于1995年由darpa资助的vint工程开发,目前由lbl,xerox parc,ucb,usc/isi等合作开发。ns2是一个完全免费的软件,因有开放体系结构,并带有大量协议库支持,尤其适合于对基于tcp/ip的网络进行仿真,在国际上享有很高的学术声誉,被世界各国的网络研究者广泛使用。ns2采用离散事件驱动机理进行仿真。它的架构严格遵
29、循osi七层网络模型,其内核源码用c语言完成,编程语言用c+和otcl(面向对象的tcl)。c+是一个编译性语言,通过它可以有效地处理字节、包头等数据信息,实现各种算法,适用于具体协议的实现。otcl是一个解释性语言,用于书写仿真脚本,只需修改网络的参数和配置,就可以对大量的场景进行比较,提高程序的效率,ns2中利用tcl机制把otcl和c+结合起来,使得c+和otcl能够互相直接操作对方定义的数据,c+的类和otcl的类相对应。通过这种机制,ns2达到了仿真配置灵活性和运行效率的统一。ns2的优点在于软件包可以从网络上免费下载,所有源代码公开,是一个开放性的仿真平台。用户可以通过继承ns2类
30、来开发适合自己需要的对象模块,集成到ns2环境中去。使用ns2的另一个好处是使初学网络者能比较具体地理解网络技术、协议、路由、分组转发、拥塞控制等。但ns2仍有一些缺点。首先,相对于不断更新的仿真器,所做的文档显得过时而且帮助有限;其次,由于仿真器本身的不断升级,不同版本中模块的兼容性问题比较突出;再次,仿真节点数目很多时,ns2就需要更多的内在资源,运行速度明显变慢。另外,由于使用两种编程语言,ns2的学习曲线太过陡峭,其调试工作也具有相当难度。glomosim(for global mobile system)仿真软件由美国ucla大学计算机系开发。它用基于c语言的并行仿真语言parsec
31、设计,可以实现并行离散时间驱动仿真,具有可扩展性和可编程性。新版本的glomosim支持纯无线网络的协议并采用分层的方法,不同层之间使用标准的api进行通信,这样实现了网络所需的基本协议栈层次。glomosim的优点在于使用方便,具有可测量性,可以远程控制。glomosim的缺点在于其分层结构太严格,要实现跨层信息的应用就显得困难。在这点上,其它两种仿真器要相对好一些。未来的glomosim开发目标是拥有更友好的用户界面,可以将仿真结果和仿真过程动态显示。ns2和glomosim是免费的,其程序的源代码也是开放的,因此受到了学术界的欢迎。opnet是商业软件,费用较贵,但其功能强大,仿真准确性
32、也较高,主要为一些大型网络研发部门所使用。opnet综合采用基于包的建模方法和数学分析的建模方法,可以获得较快的仿真速度。ns2则特别适用于tcp层以上的仿真,但是当仿真节点数较多时速度较慢。对同一种情况,三种网络仿真软件的仿真结果也会有一定差别。这些差别的产生主要有以下几个原因:首先,从物理层的角度来看,现实的环境和设备很难表述,各仿真软件的无线传播模型都很简单和通用化;其次,协议实现的手段各不相同,把这些协议整合进仿真系统中各不相同,在仿真试验中必然存在差异。因此仿真时要尽量使得建模符合实际要求,环境设定和初始参数的确定符合真实性原则。三种仿真软件都采用离散事件驱动作为引擎。离散事件驱动的
33、模拟机理,使其可以在高度复杂的网络环境下得到高可信度的结果。但这种机制存在着模型不严格和进程能力不够的缺点。目前已有些仿真软件采用对诸如流量或队列行为的分析模型来增强事件驱动机制,以提高仿真的准确性和扩展性。另外,并行和分布式网络仿真软件也在研究中。2.3 网络仿真流程网络仿真研究时,一般经过以下4个阶段的相应仿真工作来完成。(1) 仿真设计:利用仿真模型完成具体仿真场景,同时设计仿真实验序列:设计适当的模型输入参数,仿真统计内容,仿真运行时间,仿真随机种子数个数,仿真独立运行次数,仿真启动条件,仿真终止条件,仿真的准备周期等。(2) 仿真运行:利用仿真软件工具进行仿真实验。(3) 仿真分析:
34、利用分析工具和数学知识进行仿真结果分析。利用平均、方差、最大值、最小值等数学方法和数据过滤技术进行仿真数据,分析仿真结果,在必要时将多次独立运行的仿真结果进行统计分析以解决网络的随机统计问题。(4) 仿真报告:完成网络仿真的研究报告。第三章 网络仿真软件opnet3.1 opnet仿真软件概述opnet公司是全球领先的决策支持工具提供商,总部在美国华盛顿特区,主要面向网络领域的专业人士,为网络专业人士提供基于软件方面的预测解决方案。opnet公司最早是由麻省理工学院(mit)信息决策实验室受美国军方委托而成立的。1987年opnet公司发布了第1个商业化的网络仿真软件,提供了具有重要意义的网络
35、性能优化工具,使得具有预测性的网络性能管理和仿真成为可能。1987年以来,opnet迅速而稳步地发展,作为高科技网络规划、仿真及分析工具,opnet在通信、国防及计算机网络领域已经被广泛认可和采用。成千上万的组织使用opnet软件来优化网络性能、最大限度地提高通信网络和应用的可用性。至今opnet已经升级到了11.5以上版本。它的产品线除了modeler外,还包括itguru、sp guru、opnet development kit 和wdm guru等。opnet的产品主要针对网络服务提供商、网络设备制造商和一般企业这3类客户。opnet目前在全球有超过5000个客户,在全美设立了4个办事
36、处,分别在加州、德州、北卡罗来纳州及马萨诸塞州,另外,opnet也在全球设立了4个办事处,分别为法国的巴黎、英国的剑桥、澳大利亚的悉尼以及比利时的根特。新加坡经纬线科技公司是opnet产品在亚洲地区的总代理。opnet的全球部分电信级运营商客户,如at&t、ntt docomo、france telecom等,这部分客户相对于中型企业,具有更复杂的网络结构和协议配置,因此管理起来更复杂。opnet利用高网络智能来辅助运营商的网管人员管理网络,同时opnet具有很好的开放性和互联性,可以和当前很多流行的网络管理和监控软件一起协同工作,如hp公司的opnetview、tivoli公司的netvie
37、w、cisco的netflow以及angilent公司的netmetrix等。目前opnet的应用在国内还处于起步阶段,因此opnet具有很大的研究及应用价值。3.2 opnet仿真技术3.2.1三层建模机制网络是复杂的系统,opnetmodeler建模采用层次化和模块化的方式,将复杂的体系分解为不同的层次结构,每层完成一定的功能,一层内又由多个模块组成,每个模块完成更小的任务。网络域、节点域、进程域是构建opnet model模型的三个层次。节点域建模的方法是基于节点模块,每个节点模块实现节点行为的某一方面,诸如数据生成、数据存储、数据的处理或选路和数据的传输等。多个节点模块的集合构成功能完
38、整的节点。模块间用包流线或统计线相连,其中包流线承载了模块间数据包的传输,统计线可实现对模块待定参数变化的监视,通过modules,paeketstreams和statistic wires的联合使用,用户可对节点的行为进行仿真。节点模块根据功能可以划分为处理器类、数据流线类和收/发机类三种。处理器类功能的实现是在进程域中通过pro-c编程完成的。数据流类和收/发机类是通过管道阶段模型实现的。是通过管道阶段模型实现的。作为三层建模机制的最底层,进程模型是实施各种算法的载体,因此是建模仿真过程中最重要的部分,同时也是最难实现的部分。进程模型主要用来刻画节点模型里的处理机以及队列模型的行为,可以模
39、拟大多数软件或者硬件系统,包括通信协议、算法、排队策略、共享资源、特殊的业务源等。进程模型主要由状态和转移线构成。状态就是进程在仿真过程中所处的众多模式之一,状态之间是互斥和互补的,进程在某一时刻只能处在一个状态中,而所有的状态则构成了进程状态空间的全集。状态分为两类,强迫状态和非强迫状态,强迫状态是不允许停留的状态,当进程进入强迫状态时,仿真核心将强迫进程立刻转移到下一个状态。而非强迫状态不同,当进程进入非强迫状态后,将停留在此状态,等待事件、其他进程或仿真核心的触发。在每个进程模型中都至少有一个初始状态,是进程被访问的第一个状态,既可以是强迫状态,也可以是非强迫状态。每个状态都有相应的动作
40、与其对应,在pro-c中这些动作被称为执行代码。状态的执行代码分为两部分,上面部分称为进入代码,是进程进入该状态时执行的动作;下面部分称为离开代码,是进程离开状态时执行的动作。非强迫状态被认为是系统真正的状态,因为当进程执行完非强迫状态的进入代码后,进程就处于阻塞,等待新的触发,而强迫状态是为了实际编程和状态控制的需要而提出的一种状态,进程不会停留在该状态。转移则描述了进程模型从一个状态向另一个状态转移的过程和条件,包含4个部分:源状态、目的状态、转移条件和转移执行代码。其含义为在源状态时,进程只要完成源状态的离开代码,就立即对转移条件进行判断,当转移条件成立,则执行转移代码,之后转移到目的状
41、态。转移分为条件转移和无条件转移,分别用虚线和实线表示。proto-c语言是进程建模中支持各种算法实现的opnet独有的语言。他包括三个方面,在限状态机,opnet核心函数,标准的c和c。modeler采用阶层性的模拟方式,从协议间关系看,节点模块建模完全符合osi标准,业务层-tcp层-ip层-ip封装层-arp层-mac层-物理层;从网络物件层次关系看,提供了三层建模机制,最底层为进程模型,以状态机来描述协议;其次为节点模型,由相应的协议模型构成,反映设备特性;最上层为网络模型。三层模型和实际的协议、设备、网络完全对应,全面反映了网络的相关特性。在过程层次模拟单个对象的行为,在节点层次中将
42、其互连成设备,在网络层次中将这些设备互连组成网络。几个不同的网络场景组成“项目”,用以比较不同的设计方案。opnet中的建模工作在3种不同的层中完成,这3种层次也称为3个域。modeler采用面向对象模拟方式,每一类节点开始都采用相同的节点模型,再针对不同的对象,设置特定的参数。基于事件出发的有限状态机建模(finite state machine modeling),避免以时间出发,变成以事件出发的建模。采用离散事件驱动(discrete event driven)的模拟机理,将基于包的分析方法和基于统计的数学建模方法结合,与时间驱动相比,计算效率得到了很大提高。例如在仿真路由协议时,如果要
43、了解封包是否到达,不必要每隔很短时间周期性地查看一次,而是收到封包,事件到达才去看。每一时刻,fsm 将停留在特定状态,之后收到事件,完成事件并跳转状态。例如路由协议要做的事有获取周边节点地址,建立拓扑信息,之后路由表稳定下来,在收到封包将其转发到下一个节点,这些事件中断将引起相应的状态转移。采用混合建模机制,把基于包的分析方法和基于统计的数学建模方法结合起来,既可得到非常细节的模拟结果,也大大提高了仿真效率。3.2.2 离散事件仿真机制opnet采用基于离散事件驱动的仿真机制。事件是指网络状态的变化。当网络状态发生变化时,模拟机进行仿真,状态不发生变化的时间段,不进行仿真,即被跳过,因而仿真
44、时间是离散的。每个仿真时间点上可以同时出现多个事件,事件的发生可以有疏密的区别。仿真中的各个模块之间通过事件中断方式传递事件信息。每当出现一个事件中断时都会触发一个描述网络系统行为或者系统处理的进程模型的运行,通过离散事件驱动的仿真机制实现了在进程级描述通信的并发性和顺序性,再加上事件发生时刻的任意性,决定了可以仿真计算机和通信网络中的任何情况下的网络状态和行为。3.2.3 仿真调度机制在opnet中使用基于事件列表的调度机制,合理安排调度事件,以便执行合理的进程来仿真网络系统的行为。调度的完成通过仿真软件的仿真核和仿真工具模块以及模型模块来实现,事件列表的调度机制具体描述如下:1 每个opn
45、et仿真都维持一个单独的全局时间表,其中的每个项目和执行都受到全局仿真时钟的控制,仿真中以时间顺序调度事件列表中的事件,需要先执行的事件位于表的头部。当一个事件执行后将从事件列表中删除该事件。2 仿真核作为仿真的核心管理机构,采用高效的办法管理维护事件列表,按顺序通过中断将在队列头的事件交给指定模块,同时接收各个模块送来的中断,并把相应事件插入事件列表中间。仿真控制权伴随中断不断地在仿真核与模块之间转移。3 当事件同时发生时,仿真核按照下面两种办法来安排事件在事件列表中的位置:(1) 按照事件到达仿真核的时间先后顺序,先到达先处理(first come first serve)。(2) 按照事
46、件的重要程度,为事件设置不同的优先权,优先权高的先处理。3.3 opnet通信机制1. 基于包的通信a) 包:opnet 采用基于包的建模机制(simulation on packet level)来模拟实际物理网络中包的流动,包括在网络设备间的流动和网络设备内部的处理过程;模拟实际网络协议中的组包和拆包的过程,可以生成、编辑任何标准的或自定义的包格式,利用调试功能;还可以在模拟过程中察看任何特定包的包头(header)和净荷(payload)等内容。包是opnet 为支持基于信息源(message-oriented)通信而定义的数据结构。包被看作是对象,可以动态创建、修改、检查、拷贝、发送、
47、接收和销毁。每个包含有一些存储信息的区域。包的类型可以是有格式(formatted)或无格式(unformatted)的。一个有格式包中每个域以名字标识,作为访问(设置或者读取)包域的依据,而无格式包只为每个域指定索引号。包域可以存储不同类型的信息,如整型和双精度型用来存储数字数据;包结构类型用来封装另一个包;结构体用来内嵌用户自定义的数据结构。b) 包流是支持包在同一节点模型的不同模块间传输包的物理连接,具体来说,它是源模块的输出端口和目的模块输入端口间的物理连接。包流通常分为源模块的输出流(output stream)和目的模块的输入流(input stream)。虽然连接到模块的包流(输
48、入流和输出流)的个数没有限制,但是opnet 不允许群收(fan-in)和群发(fan-out)模式,具体来说,每个输入流只能是一个包的唯一接收者,相对应地,每个输出流只能是每个包的唯一发送者。c) opnet 为目的模块设置了一个包队列,允许包在没有被移除之前在队列中积压。包队列是隶属于模块,而不隶属于某个包流,因此连接模块的包流可以有多个,而包队列只有一个。仿真核心不限制该队列的大小。队列采用先进先出(fifo)模式管理包,位于队首的包才能被目的模块通过op_pk_get(stream index)获取并移除。2. 中断初始状态有以下四种:初始状态为强制状态,beginsimulation
49、intermpt被启用。因为是强制状态,仿真开始就进入下一个状态。下一个状态的进入代码不能包含和处理主流中断相关的内容。1) 初始状态为强制状态,beginsimulationintemipt没有被启用。初始化仿真由主流中断引起。除完成初始化工作外还要处理该中断。2) 初始状态为非强制状态,beginsimulationintemipt被启用。此时初始化通常是放在进入执行部分,在仿真时间为零时完成初始化。之后,进程将被阻塞,知道第一次主流中断到达后才被激活。初始化的退出执行代码用于处理主流中断,也可以将主流中断交由下一个状态的进入代码或转移代码完成。3) 初始状态为非强制状态,beginsim
50、ulatinnintenupt不被启用。主流中断需要完成初始化,与第一主流中断相关的进程要内含在输入初始化状态中。这是不常用的初始化。初始中断可以由仿真核心beginsimulationintenupt引发,也可以由主流中断引发。一般建议使用begin simulation inienupt作为初始中断。其优点是因begin simulation intenupt发生在所有中断之前,进程以标准的方式处理所有主流中断,并且进程在执行第一次主流中断之前能够完成所有初始化的活动,这是非常重要的。通过使用begin simulation intenupt队列和处理器对象设置可能产生的初始化中断。如果包
51、流的源模块是进程模块,则可以通过op_pk_send()及其演变的3 种方式将包发送至目的模块输入流。(一) 常用的发送方式是调用op_pk_send(),当包沿着源模块输出流到达目的模块输入流时立即向目的模块触发流中断。时延由包流的“delay”属性指定,所以包到达的时刻为包发送的时刻加上包流“delay”属性的值。(二) 如果要模拟包在包流传输过程的额外延时,以此来仿真模块有限的处理速度,这时可以调用op_pk_send_delayed()函数,包将滞后指定的时间达到目的模块。(三) op_pk_send_forced()产生的事件不需在仿真核心的事件列表中排队,而是插队到事件列表的队首立
52、刻执行,并且包不需要经历从源模块输出流到目的模块输入流的延时,直接到达目的模块。(四) 前面3 种传输方式对于目的模块来说是被动的,因为包的到达会强加一个流中断通知它接收。如果目的模块希望隔一定的时间间隔主动地去从队列中取出一个包,应当采用op_pk_send_quiet()函数,采取一种静默的方式发送包。 为了支持以上各种包传输模式,还必须设置相应的包流“中断模式”(intrpt mode)属性,它有三种可选值,分别是scheduled、forced 和quiet。选择scheduled 对应采用op_pk_send()和op_pk_send_delayed()传输包,这时可以设置包流的“d
53、elay”属性;选择forced 对应采用op_pk_send_forced()传输包;选择quiet 对应采用op_pk_send_quiet()。3. 包传递与包发送的四种方式op_pk_send()、op_pk_send_delayed()、op_pk_send_forced()和op_pk_send_quiet() 相对应,包传递也有四种方式,分别是op_pk_deliver() 、op_pk_deliver_delayed()、op_pk_deliver_forced()和op_pk_deliver_quiet(),但是与包发送不同的是包传递需要指定目的模块的objid。4. 用接口
54、控制信息进行通信(ici)类似于基于包的通信机制。广义ici 是与事件关联的用户自定义的数据列表。由于ici 是以事件为载体,所以它可以用在各种有关事件调度的场合,比包的应用范围更广,如同一节点模型的不同模块之间、不同节点模型之间以及同一节点模型的相同模块内。基于ici的通信机制类似于数据包的通信机制,且ici数据结构也类似数据包,但比包结构更简单,只包含用户自定义的域,而不存在封装的概念。ici的应用场合主要是:ici是与事件关联的用户自定义的数据列表,ici与事件绑定,以事件为载体,可以用在各种有关事件调度的场合,因此比包的应用范围更广。如需传输额外信息又想避免使用包本身,可以使用ici。
55、为将ici与一事件关联,仿真核心采用一种称为绑定的机制,一个进程在一个时刻只能绑定一个ici。绑定后进程生成的新事件都自动与绑定的ici地址相联系。基于ici 的通信适用于任何事件,而且常和流事件一起使用,虽然流事件源于包的传输,但是如果需要传输额外的信息又想避免使用包本身,这时可以用ici。例如协议栈中的高层协议模块在向底层传输包的同时可以通过ici 捎带这个包相应的服务等级和目的地址。在使用op_ici_create()创建ici 之前必须先编辑其格式。属性名是读写ici 数据的依据,它的作用和包域名称一样,以属性名作为输入参数可以对相应数据进行设置(op_ici_attr_set)读取(
56、op_ici_attr_get) 和存在性判断(op_ici_attr_exists)等操作。当包被销毁时,所有包域数据所占内存会被自动清空,ici 这点与之不同,ici 被销毁时,其封装的数据所占内存需要手动清空。 将一个ici 与一个事件关联,仿真核心采用一种称为绑定(installation)的机制。在任意时刻每个进程一次最多只能绑定一个ici,(op_ici_install()绑定ici,最后一个起作用的)。调用op_ici_install(opc_nil)拆除。ici 是仿真中进程动态创建的对象。以ici 格式文件名为输入参数,调用op_ici_create()可以返回一个相应的ici 指针,它作为所有后续操作的依据。5. 链路形式对于有线链路,它们都需要设定所支持的封包格式,并且要和收发信机支持的封包格式一致。有线链路编辑器中链路的类型将决定有线链路是点对点单工链路(pts
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人力资源培训计划制定及执行表
- 线上查看劳动合同模板(3篇)
- 澳洲电工考试题库及答案
- 企业危机应对预案模板风险预警与处理
- 2025年信用卡行业支付创新与消费金融研究报告及未来发展趋势预测
- 2025年服务行业共享经济与消费升级研究报告及未来发展趋势预测
- 第一次登台的体验演讲稿6篇
- 2025年电商行业消费者行为变化研究报告及未来发展趋势预测
- 2025年绿色能源行业可持续发展策略研究报告及未来发展趋势预测
- 2025年虚拟现实行业虚拟现实培训技术应用案例报告
- 2025年个人网约车租赁合同
- 2025云南文山交通投资建设集团有限公司总经理及副总经理招聘2人笔试历年典型考点题库附带答案详解2套试卷
- 江苏省南京市、镇江市、徐州市联盟校2025-2026学年高三上学期10月学情调研英语试题(含答案)
- 2025江西省交通投资集团有限责任公司招聘78人笔试历年参考题库附带答案详解
- 广西医科大学介绍
- 2026宁夏旅游投资集团有限公司招聘16人(第二批)考前自测高频考点模拟试题浓缩300题及答案1套
- 三级安全教育试卷(电工)测试题库含答案
- 景区门票收益权质押合同
- (正式版)DB54∕T 0417-2024 《公共建筑能耗监测系统技术规范》
- 2025四川宜宾市文化旅游会展集团有限公司下属子公司第一批员工招聘35人考试参考题库及答案解析
- 建筑装饰石材知识培训课件
评论
0/150
提交评论