(信号与信息处理专业论文)opnet网络仿真技术及网络设计.pdf_第1页
(信号与信息处理专业论文)opnet网络仿真技术及网络设计.pdf_第2页
(信号与信息处理专业论文)opnet网络仿真技术及网络设计.pdf_第3页
(信号与信息处理专业论文)opnet网络仿真技术及网络设计.pdf_第4页
(信号与信息处理专业论文)opnet网络仿真技术及网络设计.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(信号与信息处理专业论文)opnet网络仿真技术及网络设计.pdf.pdf 免费下载

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

文档简介

中文摘要 随着互联网应用的日益广泛,网络的规模也越来越大。如何设计一个高性能 的计算机网络,并且使设计的网络能够满足客户的性能要求,还要尽量节省资金 的投入,避免不必要的浪费,成为每一个网络设计者在网络设计阶段所面临的重 要任务。 传统网络设计和规划方法主要是靠经验,对复杂的大型网络,有很多地方由 于无法预知而抓不住设计要点。单纯的依靠经验进行网络的规划和设计、网络设 备的研发以及网络协议的开发,已经不能适应网络的发展,因而急需一种科学的 手段来反映和预测网络的性能,o p n e t 仿真软件的出现,可以说比较好的解决 了这方面的技术难题。 本文通过介绍传统的网络设计方法,采用了一种自顶向下的层次化设计方法 来进行网络拓扑结构的设计,并通过在o p n e t 中进行仿真,展现了该方法的优 越性;其次,通过引入随机模型,对实际的网络业务进行建模,并将其应用于仿 真模型中;最后,通过使用o p n e t 进行仿真分析,逐步改善了校园网的网络性 能。最终设计出来一个具有高性价比的校园网络。在文章的最后,对应用o p n e t 进行网络规划和设计的发展前景做了展望。 关键词:o p n e t 、网络仿真、模型、自顶向下法 a b s t r a c t a sn c t w o r k sa p p l i c a t i o ni sb e c o m i n gw i d e ra n dw i d e r , t h en e t w o r k ss i z ci sa l s o b e c o m i n gb i g g e ra n db i g g e r h o wt od e s i g na ne x c e l l e n c en e t w o r ka n dm a k et h e n c t w o r kb es a t i s f i e db yc l i e n t sw i t hl o w g ri n v e s t m e n ti sam o s ti m p o r t a n tt a s kt o n e t w o r ka l g i a e e r 8 t h et r a d i t i o n a i w a y so fd e s i g n i n gn e t w o r km a i n l yd e p e n do ne x p e r i e n c e h o w e v e rw h e nw eu s et h e s ew a y st od e s i g nc o m p l i c a t e dn e t w o r k s w eo f f 饥d o n t k n o wh o wt od e s i g nb e c a u s ew ed o n tk n o ww h e r ei st h ek e yp l a c e t h ew a y st h a t s i m p l yd e p e n do ne x p e r i e n c et od e s i g nn e t w o r k sc a n tk e e pu dw i t l lt h e d e v e l o p m e n t a ls t e po fi n t e r n e t s o 。w ou r g e n t l yn e e ds c i e n t i f i cw a y st od e s i g n n e t w o r k s f o r t u n a t e l y , t h eo p n e t s o f t w a r ec a ns o l v et h e s ep r o b l e m sw i s e l y t h f o u g hi n t r o d u c i n gt h et r a d i t i o n a lw a y so fd e s i g n i n gn e t w o r k , t h i sp a d e l u s e sa n e ww a y ( t h et o d o w nn e t w o r kd e s i g n i n gw a y ) t od e s i g nn e t w o r ka n ds h o w st h e a d v a n t a g e so ft h i sw a yt h r o u g hs i m u l a t i n gw i t l lo p n e t t h t h r o u 曲u s i n g s t o c h a s t i cm o d e l w em a k ea na c c u r a t em o d e lw h i c ha b o u tt h es e r v i c eo f t h en e t w o r k a n du s ei tt ot h es i m u l a t i v en e t w o r km o d e l a tl a s t , w ei m p r o v et h ep e r f o r m a n c eo f t h en e t w o r ka n dd e s i g na n & x c e l l e n c ec a m p u sn e t w o r kw i m0 p n f r 强el a s tp a r t t h e p a p e rd i s c u s s c dt h ef o r e g r o u n do f h o wt ou s e0 p n e t t os i m u l a t ea n dd e s i g nn e t w o r k k e y w o r d s :o p n e t , s i m u l a t e , m o d e l ,t o p - d o w n 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得鑫生盘鲎或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:必王签字日期:弘印多年月即日 学位论文版权使用授权书 本学位论文作者完全了解鑫壅盘堂。有关保留、使用学位论文的规定。 特授权鑫壅盘茎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:磋杰导师签名: 签字日期:加年2 月仞日签字日期:冽,年力月加日 天津大学硕士学位论文第一章绪论 1 1 网络仿真技术需求背景 第一章绪论 随着互联网的发展,现在网络的结构和规模越来越复杂,网络的应用也越来 越多样化。例如:对于企业网络,在建设网络,开展网上业务之前,需要对配置 的网络设备、所采用的网络技术、承载的网络业务等方面的投资进行综合分析和 评估,以期提出性能价格比最优的解决方案。对于运营商网络,面对用户的增加、 新业务的推出以及新的网络技术的出现,技术人员和网络管理人员需要知道可能 给网络带来瓶颈的原因是什么是业务量过于繁重、网络带宽不够还是服务器 处理速度不高? 如果网络上增设新的业务,对网络性能有什么影响。如果拟采用 新的网络技术对网络进行升级,网络的性能会有多大的改善,相比之下投入是否 值得,新技术的引进是否会给网络性能带来负面的影响。对于从事新协议的研发 机构,如何有效逼真的模拟协议各种行为细节,如何构建接近真实有代表性的网 络环境和业务,使得测试结果能够公正的评判新协议的性能。 无论是构建新网络,升级改进现在的网络还是测试新协议,都需要对网络的 可靠性和有效性进行客观的评估,从而降低网络建设的投资风险,使设计的网络 有很高的性能,或者使测试结果能够比较真实反映新协议的表现。传统网络设计 和规划方法主要是靠经验,对复杂的大型网络,有很多地方由于无法预知而抓不 住设计要点。单纯的依靠经验进行网络的规划和设计、网络设备的研发以及网络 协议的开发,已经不能适应网络的发展,因而急需一种科学的手段来反映和预测 网络的性能,网络仿真技术应运而生。通常,网络仿真都是在计算机中构造虚拟 的环境来反映现实中的网络环境,通过数学方法来模拟现实中的网络行为。它以 其独有的方法为网络的规划设计提供客观、可靠的定量依据,缩短网络建设周期, 提高网络建设中决策的科学性。目前,网络仿真技术已经逐渐成为网络规划、设 计和开发中的主流技术。 具体来说,网络仿真技术是一种通过建立网络设备、链路和协议模型,并模 拟网络流量的传输,从而获取网络设计或优化所需要的网络性能数据的仿真技 术。从应用的角度上看,网络仿真技术有以下特点:1 全新的模拟试验机理,使 其具有在高度复杂的网络环境下得到高可信度结果的特点。网络仿真的预测功能 是其它任何方法都无法比拟的;2 使用范围广,既可以用于现有网络的优化和扩 容,也可以用于新网络的设计,而且特别适用于大中型网络的设计和优化;3 初期应用成本不高,而且建好的网络模型可以延续使用,后期投资还会不断下降。 1 2 网络仿真的一般步骤f l l 【2 l 吲 在网络仿真研究中要遵循一般的仿真研究方法,同时考虑到网络仿真中需要 针对特殊的问题和目标,一般网络仿真要经历4 个阶段:网络仿真研究准备阶段, 天津大学硕士学位论文第一章绪论 网络仿真模型设计阶段,网络仿真和分析阶段和网络仿真结束阶段。 网络仿真研究准备阶段: 首先,确认、规范化课题和问题。研究要仿真的网络对象和课题,准备要研 究网络的技术、协议、业务的基本资料和知识,明确和规范化网络仿真所要研究 的问题和目标( 例如m p l s 网络负载平衡和队列丢弃算法问题等) 。提出明确的网络 仿真描述性能参数,一般性能参数包括网络通信吞吐量、链路利用率、设备利用 率、频带利用率、端到端延迟、丢失概率、阻塞概率、队列长度、满意用户数等。 其次,制订研究计划。针对研究课题和问题制定详细的仿真研究计划,提出参考 对比研究方案和计划。 网络仿真模型设计阶段: ( 1 ) 建立模型 建立网络仿真研究的网络、技术、协议的概念模型和数学模型。包括网络和 设备以及链路往仿真模型转化过程中的模型模拟原理、实现方式、结构组成、模 型模块以及业务和流量的数学描述模型( 分布函数) 等。它的实现和具体采用的仿 真软件有关。 ( 2 ) 搜集数据 搜集用于仿真模型实现和验证的相关数据。包括网络环境( 大气、地理、电 磁等) 、网络拓扑、通信节点技术和结构以及配置、链路参数( 延迟、误码、干扰 等) 、网络应用特征、网络流量和负载状况。数据尽量详尽准确。 ( 3 ) 模型代码实现 通过仿真建模工具具体实现网络仿真模型。具体使用的方法和工具由仿真软 件工具决定。 ( 4 ) 检查模型 检查代码实现的仿真模型是否有误,是否和概念以及数学模型相符合。可以 使用跟踪、在一定范围内变化输入参数检查输出结果、常量输入观察结果、动画 等手段。 ( 5 ) 验证模型 验证代码实现的仿真模型是否和相应确定条件下实际网络、技术、协议与实 际情况的性能相符合。确保模型的正确性、完整性、一致性。评估模型的可靠性, 建立一定的模型置信度。 网络仿真和分析阶段: 在该阶段,首先进行仿真设计。利用仿真模型完成具体仿真场景,同时设计 仿真实验序列:设计适当的模型输入参数,仿真统计内容,仿真运行时间长度, 仿真随机种子数个数,仿真独立运行次数,仿真启动条件,仿真终止条件,仿真 的准备周期等。然后,利用仿真软件工具进行仿真实验。最后,利用分析工具和 数学知识进行仿真结果分析。利用平均、方差、最大值、最小值等数学方法和数 据过滤技术处理仿真数据,分析仿真结果,在必要时将多次独立运行的仿真结果 进行统计分析以解决网络的随机统计问题。 网络仿真结束阶段: 完成网络仿真的研究报告 2 天津大学硕士学位论文第一章绪论 1 3o p n e t 简介【4 】1 5 】【6 】 目前比较成熟的网络仿真软件有o p n e t 、n s 2 等,由于o p n e t 采用了对时 间的离散仿真机制、层次化的建模等先进技术,使得它成为在目前网络仿真软件 中比较突出的一个。 ( 1 ) 离散仿真机制 o p n e t 采用基于离散事件驱动的仿真机制。事件是网络模型状态的变化或 者某种决策。只有模型状态发生变化,模拟机才进行仿真,状态不发生变化的时 间段,不进行仿真。仿真的时间是离散的,每当有一个事件出现后时间往前推进, 也就是时间是跳跃前进的。一个仿真时间点上可以同时出现多个事件,事件的发 生可以有疏密的区别。仿真中的各个模块之间通过事件中断方式传递事件信息。 每当出现一个事件中断时都会触发一个描述通信网络系统行为或者系统处理的 进程模型的运行。通过离散事件驱动的仿真机制实现了在进程级描述通信的并发 性和顺序性,再加上事件发生时刻的任意性,决定了可以仿真计算机和通信网络 中的任何情况下的网络状态和行为 ( 2 ) 仿真调度机制 在o p n e t 中使用基于事件列表的调度机制,合理安排调度事件,以便执行 合理的进程来仿真网络系统的行为。调度的完成通过仿真软件的仿真核和仿真工 具模块以及模型模块来实现。 首先,每个o p n e t 仿真都维持一个单独的全局时间表,其中的每个项目和 执行都受到全局仿真时钟的控制,仿真中以时间顺序调度事件列表中的事件,需 要先执行的事件位于表的头部。当一个事件执行后将从事件列表中删除该事件。 其次,仿真核作为仿真的核心管理机构,采用高效的办法管理维护事件列表。 并且按顺序通过中断将在队列头的事件交给指定模块。同时接收各个模块送来的 中断,并把相应事件插入事件列表中间。仿真控制权伴随中断不断地在仿真核与 模块之间转移。 最后,当事件同时发生时,仿真核按照下面两种办法来安排事件在事件列表 中的位置:按照事件到达仿真核的时间先后顺序和按照事件的重要程度。 ( 3 ) 通信机制 o p n e t 采用基于包的通信机制。通过仿真包在仿真模型中的传递来模拟实 际物理网络中数据包的流动和节点设备内部的处理过程。仿真包还可以用作模型 中各个模块之问控制接口信息的描述方法。在建模中,可以根据需要生成或编辑 各种格式的包。 ( 4 ) 层次化建模技术 计算机和通信网络一般包括3 个方面的模型:网络拓扑、节点内部结构和通 信行为。o p n e t 基于面向对象软件技术将设计域分为网络域、节点域和进程域, 分别完成上述3 个方面模型。分别实现为网络模型、节点模型、进程模型。网络 模型中完成网络拓扑和配置模型的设计。网络模型支持无限多重的子网模型。节 点模型中完成网元节点结构和数据流模型的设计。进程模型完成节点模型中每个 模块的进程模型的设计。进程模型通过p r o t o _ _ c 语言实现,它是一种基于有限状 态机( f s m ) 的c 语言。进程状态机不同状态通过执行不同的c 语言描述的通信行为 程序来实现。进程模型是通信协议功能模拟以及与仿真有关控制流行为的实现的 具体位置。 天津大学硕士学位论文第一章绪论 基于上面描述的网络仿真研究方法,在运用o p n e t 的仿真技术进行网络仿 真研究时,一般在网络仿真模型设计阶段和网络仿真和分析阶段使用如下的流 程、方法和工具。 网络仿真模型设计阶段: ( 1 ) 建立进程模型 主要使用p r o c e s se d i t o r 。在完全自己开发新技术时,在使用库中节点模型 但是需要进行底层进程修改时,需要进行这一步来建立进程模型。而在完全使用 库中节点模型时,在利用库中节点模型进行修改但不需要修改进程时或者库中有 替代进程模型存在时,不需要进行这一步。 ( 2 ) 建立节点模型 主要使用n o d ee d i t o r ,必要时可以使用d e v i c ec r e a t o r 快速建立模型。使 用进程模型为它的底层模型。建模中,可能有3 种情况:完全使用模型库中的节 点模型、基于模型库进行修改、完全开发新模型。 ( 3 ) 建立网络模型 主要使用n e t w o r ke d i t o r 。使用链路、节点模型为它的底层模型。如果针对 已有的实际网络进行研究还可以使用h p n m m ( h p 网络节点管理器) 自动导入。 ( 4 ) 建立流量模型 可以使用3 种流量建模技术,分别用于不同的场合。1 显性流量建模:仿真 中每一个包的产生、排队、传送、接收都被显性描述,考虑通信协议细节,一般 用来描述应用性能和协议性能。建模中可以便用模型库中的模型来修改或者使用 p d fe d i t o r 建立分布函数再建立自己的显性流量建模。2 背景交互流量建模:描 述端到端之间的流量,使用流量矩阵来描述。流量在中间的路由情况由路由协议 来决定。一般用于研究容量规划、网络失效分析、协议性能。3 背景利用率流量 建模:描述网络中背景的利用率。仿真中不必进行仿真包的传送。一般用于容量 规划和应用分析。对于后两者,可以便用a n g i l e n tn e t m e t r i x ,c i s c on e t f l o w 等多种流量监控分析工具导入或者手动导入设计。 网络仿真和分析阶段: ( 1 ) 使用p r o j e c te d i t o r ,利用刚建立的网络模型,流量模型,链路模型以及 模型库提供的大气模型,地理模型( 需要时) 等来完成仿真场景设计。 ( 2 ) 使用p r o b ee d i t o r 用于设计全局或者局部的统计数据探针和自动或者用户 定制的动画探针用于收集各种仿真结果。 ( 3 ) 使用s e q u e n c ee d i t o r 完成具体仿真序列设计。 ( 4 ) 仿真中使用0 d b 以及v c 联合调试两种调试工具进行仿真调试。 ( 5 ) 使用各种可视化的图形分析工具、动画工具、静态f l o wa n a l y s i s 分析技术 以及外部自开发工具进行数据分析。 1 4 论文的结构 本文主要讲述了如何使用o p n e t 来进行网络建模并用它来设计一个高性能 的校园网,全文一共分为六章。第一章为绪论,主要讲述了网络仿真的技术需求 背景及仿真的一般步骤和o p n e t 使用的主要仿真技术及建模方法。第二章介绍 了o p n e t 的建模原理,主要讲述了系统结构建模和如何将实际系统映射到 4 天津大学硕士学位论文第一章绪论 o p n e t 模型里。第三章通过与传统的网络设计方法相比较,讲述了如何采用自 顶向下法设计网络的拓扑结构。第四章讲述了如何通过数学方法对网络流进行建 模。第五章通过使用o p n e t 来逐步设计一个高性能的校园网,展现了o p n e t 在实际应用中的价值。最后一章,展望了网络仿真的应用前景及存在的一些难题, 并将以此作为今后继续研究的方向。 1 5 作者的工作 首先,通过介绍传统的网络设计方法,作者采用了一种自顶向下的层次化设 计方法来进行网络拓扑结构的设计,并通过在o p n e t 中进行仿真,展现了该方 法的优越性;其次,通过引入随机模型,对实际的网络业务进行建模,并将其应 用于仿真模型中;最后,通过使用o p n e t 进行仿真分析,逐步改善了校园网的 网络性能。最终设计出来一个具有高性价比的校园网络。作者在如何使用网络仿 真技术来进行网络规划设计方面进行了一些尝试。 5 天津大学硕士学位论文第二章0 p n e t 的建模原理 2 1 仿真建模概述 第二章o p n e t 的建模原理 建模中最基本的概念就是等同性。建模的过程实际上是将实际的系统映射到 仿真环境中,仿真环境对实际系统的逼近程度直接影响到仿真结果的有效性。但 是由于建模本身的复杂性,仿真系统只能从某些方面去模拟实际系统的行为。因 此,这里所说的同等性并不是指仿真系统和实际系统完全的等同,而是指在某些 方面、某些层次上反映实际的系统。具体的等同性依赖于建模人员的定义,但是 必须满足以下一些条件: ( 1 ) 模型必须能够回答所感兴趣的问题; ( 2 ) 模型必须具有能够反映需要的精确程度; ( 3 ) 模型必须能够被验证; ( 4 ) 模型应该满足一些前提条件。 实际系统的任一方面都可以建模,但是在我们建模的时候,并不需要将系统 的所有方面都包含在模型中,因此选择对哪些方面进行建模,而将哪些忽略或者 简化,就是十分重要的,也是建模人员碰到的一个最困难的问题。因为很难知道 实际系统哪些方面是重要的,哪些方面会影响到实际系统的性能,哪些方面的工 作方式比较特殊。对于反映现有网络的模型以及未来网络的模型,模型必须基于 一些怀疑和假设。也就是说,必须对哪些因素可能会产生问题做出一些假设。这 样可以帮助建模人员通过模型判断哪些因素会影响到仿真,而哪些因素不会。下 面为建模的一般过程: ( 1 ) 确定模型需要解决的问题。 ( 2 ) 创建原始模型,原始模型不需要特别完善,只要能回答一些问题即可。 ( 3 ) 验证模型,以获得一定的等同性。对于出现的不等同性,找出其原因,如 果不会影响到系统的性能,则可以忽略过去;如果会影响系统性能,则需要进行 修改。如果无法获得模型和实际系统的一定的同等性,则需要回到第二步,重新 创建模型。 ( 4 ) 增强模型,对模型做出修改,以解答未来的问题。模型的修改不能破坏模 型的同等性,在这一步需要对做出的修改进行验证。 ( 5 ) 设置仿真参数以及条件,运行仿真,查看并分析仿真结果。 ( 6 ) 发布结果。 2 2 系统结构建模m 】【9 j 【州 。 在对系统进行描述时,o p n e t 使用了两种基本的方法:对象和过程。对象 用于把现有的系统分解为更小的部分,并将这些部分之间的关系表现出来,实现 对系统的描述。过程可动态和白适应的对行为进行描述。对行为的描述要能充分 6 天津大学硕士学位论文第二章0 p n e t 的建模原理 的说明系统的各种状态和事件,进而描述系统对不同情况作出的反应。在o p n e t 的系统建模中,自然的将这两种方法合二为一,在本节后续内容中会对此作出说 明。 2 2 1 系统结构 这节利用对象的概念,对系统的结构进行描述。对象为包括通信网络在内的 大多数系统提供了自然的建模方法。这主要是因为在实际中,系统也是包含了很 多物理上相互区别的实体,可以简单的把它们看作对象。在通信网络中存在的物 理对象有:路由器、网关、交换机、网桥、集线器、微机、电缆、天线等。这些 对象都是在实际系统中可见到的,并且可以从物理的角度对其进行描述。除了物 理特性外,为了实现建模,还需要注意这些对象的工作方式以及它们是如何与其 他对象交互的。因此,对系统的规范包含了两个层面:结构层面和行为层面。结 构层面关注对象的内部工作,主要用于将现有的对象进一步分解为更小的对象。 或者说,一个对象就其自身而言是一个系统,同时可被看作是很多更小的对象的 集合,这些更小的对象根据某种方式实现一定的功能。除此之外,结构也支持了 对象和其它对象间的交互。这主要包括了对对象提供的物理接口以及实现对象间 通信的路径的描述。通信路径通常是支持互联的对象( 例如链路) 。 理论上,对象的用途并不局限于对系统中物理实体的描述。抽象或逻辑的实 体同样可以用对象来描述,如:进程、数据包、请求、计时器、概率分布等。 o p n e t 期望能以最直观的方式描述系统中的组件。因此,这些抽象的对象并无 可视化的表述形式。但是,作为软件的结构,这些对象仍然可以看作是对象,这 依赖于它们工作的方式及它们所涉及的行为。它们之所以被视为对象,主要是因 为它们具有如下的重要特性:具有定义完备的接口,通过这些接口可以访问其内 部;具有相似表现形式但又互不相同,这可视为面向对象概念中“类”的不同实 例。 从以上描述中可以看出,所有抽象和逻辑的对象都无法代表真实的系统,它 们是动态的实体( 在某一时刻产生,然后再被丢弃) 。虽然从广义上考虑可将其 看作对象,但它们与本节中讨论的系统结构的描述无关,所以在后续部分所涉及 的对象均为物理对象。 2 2 2 对象和模型 对象和模型的关系是o p n e t 中建模的基础。当建立对象时,相关的一些特 征( 有时是全部特征) 同时被建立。这些特征包括对象的内部结构、性能、目的、 表现形式以及接口等。这些信息来自于之前的规范,而这些规范的集合构成了模 型。 对象是模型的实例,而每一个对象都有自己的模型。通过反复仓建对象( 例 如通过可视化的操作) 可以获得新的对象,即该模型的另一个实例。由此可见, 对象和模型之问是多对一的关系。要注意的是,尽管这些对象来自于拥有某些相 同特性的模型,它们之间依然是相互独立的。或者说,模型的一个实例发生变化 不会影响其它的实例。在对象所代表的实际系统中也是如此。以汽车模型为例: 一个专门制作的汽车样式称作模型。模型只是汽车的蓝图,同时还包括了描述这 个模型的其它额外信息,例如价格列表、可选颜色等。消费者实际购买的汽车可 7 天津大学硕士学位论文 第二章0 p n e t 的建模原理 以看作是这种模型的一个实例,每辆汽车都独立于其它的汽车。例如,某一辆汽 车出现故障并不意味着该类型的其它汽车也发生了故障。 建立在某种特定模型之上的对象的集合构成了类,也就是一类对象的总和。 模型能够代表类。当类的定义发生变化时,所有这一类中的对象都将受到影响。 例如,向模型的内部结构中嵌入额外的规范,则所有对象的内部结构都能获得该 规范。类似的,如果修改模型的接口规范,则所有相关的对象也要更改它们与外 界对象的接口。若对象不作适当的调整,这样的变化可能导致潜在的无效连接和 交互。 这种机制提供了对一系列对象进行更改的集中控制。在对所有对象进行修改 时,这种方法尤为重要,这里所说的对象还包括了当前在o p n e t 的编辑器中不 存在的对象。事实上,这种变化甚至可以到影响未被建立的对象。 模型中包含了对所有的实例均通用的信息,其中包括对对象的接口、行为以 及内部结构的说明。模型的接口说明了对象怎样与其它对象交互信息,其中包含 对物理连接的说明。例如,一个节点模型的接口将说明该节点用哪些链路实现与 其它节点的连接。同时,模型的接口也包含对象之间交互的机制和语法。对于复 杂的节点,这些机制和语法还包括了定时通信、传送和共享数据的机制以及解释 数据的方法。 除了描述对象的接口,模型还描述了对象的行为。在模型中还定义了对象对 外部的消息作出何种反映以及作出反应的方式和时间。例如,业务源作为一个对 象,可以自发的产生行动。对于复杂的节点,行为相当于一系列变量的函数,包 括了状态信息的总和、外部触发时间以及随机变量。 最后,模型也要对对象的内部结构进行定义。这要涉及到将对象分解为更小 的组件。这些组件本身对自身模型而言也是对象。例如,o p n e t 的节点模型所 对应的对象称作模块和连接。 即便模型中说明了对象的大部分特性,仍然还可以进一步设定对象的特征, 否则,所有的模型实例将全部一样。在模型中,对哪些方面可以进行锁定以及哪 些方面可以根据不同的实例进行修改作出了规范。可以将模型看作是参数化的, 也就是说,模型设计者可以将某些变量“暴露”给用户进行配置的设定。现在, 都将这些参数看作是模型接口的一部分。 2 2 3 属性 在表示一个对象时,有些特定的特性被设计为“私有的”,因此在对象内部 是隐藏的,而有些特性则是展现给用户的。这些特性以数据条目的形式表现出来, 称作属性。属性主要有两个用途:将选择对象的特性告诉用户;为实现某些应用, 允许对特性进行修改。在属性中涉及的信息类型范围广泛,包括普通的特性、对 象的行为以及内部的结构。 属性可与一类对象相联系,同时也可与特定的对象相联系。也就是说,属性 可在模型中定义,也可在对象中定义。本节中所涉及的属性同时包括对象的属性 以及模型的属性。 每种属性都提供了信息的存储,并构成了对象或模型的说明。属性的内容可 用值来表示,对象和模型具有多种属性。因此,为了获得属性的值,实现对值的 读( 检验) 和写( 修改) ,属性必须是可识别的。不允许一个模型或一个对象中 天津大学硕士学位论文第二章0 p n e t 的建模原理 的两种属性使用相同的名称。 属性可以存储不同类型的信息以支持大量的对象和模型的特性。在o p n e t 中的属性的值分为简单型和复合型两种。大多数的属性包含了一个简单的值,即 在属性中只包含一个元素,例如:数值、字符串、布尔型变量等。即使在字符串 中包含了多元的字符、词和连线,考虑到这些特性不再包含其它的属性,他依然 可被看作简单的值。同时,属性也可以是复合型的,即在属性中又包含了嵌套的 对象。嵌套的对象也拥有自身的属性,而这些属性可能是简单的或者是复合的。 因此,对属性信息的存储可采用单层结构( 用于简单的属性) 或者多层的分级结 构( 用于复合的属性) 。 尽管从表面上看,属性相对简单,但事实上,属性也可以是复杂的实体。为 属性确定其名称后,属性将用来存储值。属性的行为由其它组件来描述,称为属 性的特性。从广义上来看,属性的特性为:属性可以存储的数据类型,属性的处 理,属性如何展示在用户面前以及属性所能执行的功能。 如上所述,在符号映射中,某一属性的值可用预先定义好的字或短语来表示, 而这些字或短语就可看作符号,符号可用常见的字符来表示。然而,有一些符号 是为数值属性预先保留的,这些符号在o p n e t 中代表了特殊的意义,因此不允 许用户对这些值进行自定义。除此之外,对符号的形式也有一定的限制,见下表: 限制的形式或符号详细信息 无长度符号至少有一个字符表示 “o t h e r 保留字,使用于“a l l o wo t h e r s ” ( ) ”保留字,用来代表复合属性的值 p r o m o t e d 保留字,用来代表“提升”的属性 包含“”符号中不能包含“ 包含“f ”符号中不能包含i 符号不能使用这种形式,该形式用来表 t o 示数值的范围 2 3 从实际系统到o p n e t 模型的映射j o p n e t 中的建模工作是在3 种不同的环境中完成,这3 种环境也称为3 个 域。这种建模方法与使用单一层次对系统中的所有层面进行建模的绝大多数建模 方法不同。在对系统的行为及其结构进行建模时,这两种建模方法的区别尤为明 显。下面介绍多层次建模的基本原理。 通常,在通信网络和分布式系统中包含了从底层通信硬件到高层决策软件涉 及的多种技术。为了对系统的性能和行为进行有效的预测,一个成功的系统建模 要能够充分反映这些子系统及子系统之间的交互。子系统及其每一层都有很大的 差别,例如:通信协议和实时操作系统是完全不同类型的实体。针对通信网络中 不同的级别,o p n e t 将建模的工作划分为3 个层次,每层功能如下表: 9 天津大学硕士学位论文第二章0 p b l e t 的建模原理 建模域功能 网络域 从高层设备对系统进行规范 从应用、进程、队列和通信接口对节点 节点域 的功能进行规范 对系统内节点所含进程的行为进行规 进程域 范,包括决策进程和算法 如何将模型中涉及的各种特性与建模对应起来,这是在建模的过程中遇到的 首要问题。下面将讲述怎样在o p n e t 的建模域中建立起与实际系统的对应关系。 在下表中,列出了o p n e t 的建模域,并列举了系统中的各个层面和建模域 的对应关系。在某些情况下,系统的某一个层面可能有多个域与之对应,这就说 明了在建模的过程中需要将多个域结合起来,或者是这个层面的建模还要依赖于 其它的层面。 打“处为该层面所对应的建模域。后面还将一一阐述各层面的作用。 系统层面网络域节点域进程域 分层化拓 f 结构 通信链路 地理布局 设备移动性 设备故障 通信时延 通信错误 资源管理和竞争 数据包事务排队 数据包事务产生 数据包事务处理 远程监听和控制 中断处理 行为的逻辑 通用信息的存储 ( 1 ) 分层化拓扑结构 通信设备和通信链路共同构成了通信系统的拓扑结构。在网络域中涵盖了这 些设备和链路。设备通过链路相互连接,实现了信息的传送。同时,这些通信设 备的连接组合构成了子网,而子网可以进一步包含更低的子网,从而构成多层子 网。通信网常用多层次的系统结构来表示,一个网络通常包括多个以及多层予网。 在o p n e t 中通过子网来表示实际的网络拓扑结构,- 为建模提供了极大的自由度 和便捷性。o p n e t 中的子网可以和实际的子网一样,也可以不一样。用户可以 根据需要,以任意的前提来划分子网,例如,根据地域、功能或实际网络来进行 子网的划分。 ( 2 ) 通信链路 包含了多元子网的系统和设备,大多数可支持一种或多种方式的通信。在这 些通信方式中,有些不需要建立物理连接就可以实现信息的传送,例如由操作系 1 0 天津大学硕士学位论文第二章0 p n e t 的建模原理 统发起的对进程的中断。但对于大多数系统,特别是地理上分离的系统,需要利 用物理资源来建立子系统间的连接。在o p n e t 的模型库中提供的多种链路对象, 可用于在设备间建立连接,用户自定义的数据包通过这些链路传送数据。链路可 模拟实际系统中通信媒质的特性,包括干扰、错误和时延。 网络域的链路很少用于对设备间的纯逻辑层的连接建模,而这类通信通常由 节点域中的简单连接来表示,即数据包流和统计线。数据包流是节点内模块间的 携带数据包的管道。统计线可在位于同一节点内的设备或进程间传送数值,主要 用于对状态变化和节点中设备性能的监听以及进程间简单信令机制的建立。 ( 3 ) 地理布局 对于某些特定的网络模型,节点的实际物理布局将会影响仿真的结果。特别 是在包含了无线及总线型链路的系统中,需要利用节点问的距离来计算包括传播 时延、干扰和接收功率等级在内的链路性能。o p n e t 的网络域通过系统配置对 网络的物理层面进行精确的描述,并以度数、秒、公里、米或英尺为单位,涵盖 了大规模及小规模的模型。同时,根据用户的需要,还可以向网络中加载地图背 景。 ( 4 ) 设备的移动性 在包含了移动通信设备的系统中,模型要能够描述设备的移动轨迹,并通过 时间的函数对轨迹进行计算,这影响到了包括传输和连接质量在内的通信特性。 系统中的每一个移动节点都具有独立的轨迹,并可用时间的函数来表示。将轨迹 看作一系列与时间有关的离散点的集合,是实现模型移动性的最通用的方法;除 此之外,也可以通过用户开发的进程模型动态地更新节点的位置属性,由此实现 自适应的节点移动性。 ( 5 ) 设备故障 在建模的过程中要考虑到当系统中的某些组件发生故障时系统的行为。对于 复杂的系统,可使用内嵌的进程来应付组件的故障。为了精确的仿真系统的行为, 需要将此功能并入系统的建模。 在网络域中,节点和链路的条件属性可直接支持故障建模。通过在仿真过程 中修改这些属性,用户定义的进程可以对被选中的节点和链路进行操作。通过禁 止一个节点或链路来阻止对它的所有操作,对于节点而言,这意味着节点内部的 方针事件将被抑制;对于链路而言,这意味着所有传输的数据包将被丢弃。在一 次仿真中,每个节点和链路均可被多次的禁止和恢复。应用条件属性产生故障时, 所有网络模型中的进程都可以收到关于属性状态发生变化的异步通知,这一点尤 为重要。这种通知机制能够将特定的中断送到故障进程,这一切依靠设定处理器 和队列中的故障中断和恢复中断属性来实现。 如果o p n e t 内嵌的对故障的建模不能满足需要,则可通过对系统组件模型 中的进程编程来实现对故障的建模。在进程模型中加入用户自己的代码,通过中 断等通信手段来实现故障建模,这种方法更加灵活。 ( 6 ) 通信时延 在实际的分布式系统或通信网络中,时延出现在多个层次,并且影响着信息 的传输。o p n e t 提供了多种对通信时延建模的方法。 。 链路上信号的传播时延( 依赖于距离) 是导致通信时延的重要因素。在网络 域中的点对点和总线型对象都包含了时延属性,可供下层链路模型使用。在点对 点的链路中,时延为常数,但在总线型的链路中,时延要依赖于每一个单元的距 离;在无线通信中的默认模型中,通过发送机和接收机之间的距离来计算时延。 天津大学硕士学位论文第二章0 p c e t 的建模原理 对所有的链路类型,下层链路模型可用于计算传输时延。在节点域中,每一个数 据包流为它传输的数据包分配传输时延。 发送时延是链路上除了传播时延之外的另一种数据包所具有的时延。时延值 为从第一个比特发送到最后一个比特传输结束之间的时间间隔。所有的链路类型 中,均可利用下层模型或管道阶段来计算时延值,也可以由用户定制。在默认的 模型中,用发送机模块的数据速率和被传送数据包的长度来计算发送时延。 在数据等待可用资源( 通常是通信链路和处理器) 的过程中,则产生排队时 延。在多数情况下,排队时延决定了数据包从产生至目的地的点对点时延。 o p n e t 中大多数排队时延发生在节点域的队列或处理器模块中。发送机模块与 先入先出队列结合,当前面的数据包没有被发送时,后面的数据包在队列中排队 等待;排队模块利用可由用户定义的处理器模型,判断数据包何时可以出列并向 前传送。因此,进程域也参与了对排队时延的判决。 ( 7 ) 通信错误 通信错误将影响通信系统中数据的传输。从不完善的电子设备到其它发送机 或噪声源的干扰都可能引起通信错误的产生。通常,利用对链路误比特率的设定, 在网络域中实现了对这些错误的建模;另外,下层的总线链路模型说明了因信息 的同时发送造成的冲突。在默认的总线模型中,将丢弃发生冲突的数据包。无线 链路模型依照影响链路质量的参数( 例如干扰和信号强度) 动态的对错误进行判 断。因此,大多数通信错误均可在网络域中实现。然而,也可用进程模型对节点 内部的错误建模。例如:通过编程,可令在正常传送数据包的进程依照某一确定 的概率销毁数据包,由此模拟了随机错误的产生。如果在节点内的接收机旁直接 使用这样的进程,则可以用面向数据包的错误替代链路中的面向比特的错误( 此 时链路的误比特率可设为o ) 。 ( 8 ) 资源管理和竞争 通常认为资源是为了完成一定的任务所需要的实体。典型的资源是指包含 c p u 、磁盘、内存以及计算机总线在内的硬件设备。当考虑到同时发起应用的用 户程序或通信信道是有限的时候,资源的概念更为抽象。通常,由于资源只能满 足一定数量客户端的需要,因此在建模过程中要对资源加以考虑。客户端是利用 资源完成其自身任务的实体。在每一个系统中都要建立起各自的准则,来判断客 户端依照什么顺序以及如何占用资源。客户端的数量及其对资源占用的需求是诸 多因素的函数。除此以外,资源的分配准则也是复杂的、非解析的,因此仿真通 常成为预测系统行为的最有效方法。事实上,很多仿真数据包专门用于面向资源 的仿真过程。 在o p n e t 中没有专门用于对资源建模的范例,但节点域和进程域为资源的 建模提供了很好的环境。在o p n e t 中最常用的资源建模策略是在节点域中对每 一资源都用队列来表示。通过对队列的编程,资源可以拥有其分配的算法。在 o p n e t 提供的多种可选择的准则中,包括了简单的先入先出队列以及处理器的 共享和可预制的优先权。进程域中p r o t o c 语言十分灵活,可对任意的资源管理 方案进行定义。客户端的模型通常要向不同的系统资源发送访问请求。根据资源 的任务定义,当无资源可用时,访问请求被阻止,反之接受。资源的访问可以用 o p n e t 中包含了的访问请求参数的数据包明确的表示,这些参数将会影响到系 统如何应答资源访问请求。 ( 9 ) 数据包和事务的产生 绝大多数的仿真系统至少包含了一种动态的实体,该实体可在系统的各个组 1 2 天律大学硕士学位论文 第二章0 p n e t 的建模原理 件中传递和循环。这些实体可命名为事务、数据结构或数据单元。o p n e t 能够 支持这些动态的对象,其中最常见的动态对象是数据包。数据包是根据用户的定 义形成的数据结构,由带有信息的字段构成。一个系统模型中包含了多种数据包, 每种数据包都有各自的形式。 数据包是动态的仿真实体,因为它可以在仿真的过程中不断的产生和销毁。 在o p n e t 的仿真过程中,可以通过以下机制产生数据包:1 发生器模块作为节 点模型的一部分,可根据其随机特性产生数据包;2 处理器或队列中的进程可以 依据需要,产生全新的数据包。可通过这种机制对随机的数据包产生装置进行建 模,替代简单的发生器模块,也就是说用户可以通过自己的进程模型来代替 o p n e t 提供的数据源产生模型;3 进程模型可以复制现有的数据包:4 为了实 现广播( 即向多个目的地点发送数据包) ,总线和无线通信链路可以对数据包进 行复制。 ( 1 0 ) 数据包和事务的处理 当数据包在系统中的不同组件间循环时,能够根据数据包中所含的信息触发 某些动作。由于o p n e t 的数据包是独立建模的具有特殊数据的实体,因此可以 在实际系统中对数据包的处理进行详细的建模。在o p n e t 中,对数据包的处理 在进程域中完成,p r o t o - c 进程模型将利用仿真内核程序对产生和接受的数据包 进行处理。通常使用的数据包操作包括:数据包的产生、接收及复制,取字段的 值,数据包出列以及数据包的销毁。除此之外,很多数据包处理操作将进一步触 合与数据包有关的动作。例如,路由更新的数据包会触发更新路由表的过程,确 认数据包可导致计时器的取消,这些都要依赖于数据包中的内容。 ( 1 1 ) 远程监听和控制 在某些系统中,需要用特定的组件来保留系统中各状态的信息,以保证所有 操作的协调进行。系统中组件的状态变化可能需要其它组件同时进行某些动作, 这种行为上的协调包含了组件间的通信。在某些情况下,通信是通过数据包的传 输来实现的,信息包存在于数据包的字段里,例如在无线链路上由远程节点发送 的遥感数据。然而,o p n e t 提供了两种更为简单也更为实用的通信机制,特别 是当组件间的协调是建立在数值的共享时,这两种方法的优势更为突出。 对数据的本地通信而言,节点域中的统计线实现了数值的输出,从而能够在 模块的状态和性能发生变化时,做出反应。例如,某一节点包含了几个队列和一 个处理器,为了实现队列的输出,就要从队列中做出选择。作为系统定义的一部 分,处理器要实时关注队列的大小,并在队列的大小超过预先设定的极限值时, 就发送异步警告。统计线适用于上述系统,

温馨提示

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

评论

0/150

提交评论