(检测技术与自动化装置专业论文)基于速率控制的网络建模与拥塞控制算法研究.pdf_第1页
(检测技术与自动化装置专业论文)基于速率控制的网络建模与拥塞控制算法研究.pdf_第2页
(检测技术与自动化装置专业论文)基于速率控制的网络建模与拥塞控制算法研究.pdf_第3页
(检测技术与自动化装置专业论文)基于速率控制的网络建模与拥塞控制算法研究.pdf_第4页
(检测技术与自动化装置专业论文)基于速率控制的网络建模与拥塞控制算法研究.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(检测技术与自动化装置专业论文)基于速率控制的网络建模与拥塞控制算法研究.pdf.pdf 免费下载

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

文档简介

北方工业大学硕士学位论文 摘要 计算机网络诞生之初,层次少,结构简单,几乎谈不上有实际意义的控制问题。随 着计算机网络技术的高速发展,网络系统结构日趋复杂,层次繁多,信息交流不断加强, 自动化程度不断提高,原先分离的各种活动在信息流的作用下得到整合。在这种情况下, 传统的启发式研究已经无法满足网络拥塞控制的需要。因此从控制理论的角度来分析和 研究网络拥塞迅速成为了研究热点问题。它采用定性分析与定量分析相结合、结构分析 与功能分析相结合、静态分析与动态分析相结合、局部分解与综合集成相结合、系统建 模与计算机仿真相结合等先进的分析方法,从更加完备和综合的角度来认识网络系统及 网络拥塞现象。它将首创和奠定网络系统中调节和控制过程普遍理论的基础。 论文讨论的拥塞控制的网络背景是以尽力传送( b e s t e 勖n ) 业务为主的互联网,研究 的目标是在不根本改变当前网络风格的前提下通过对现有拥塞控制算法的改进和设计新的 控制算法来提高网络控制性能。论文的主要研究内容有:( 1 ) 分析了目前计算机网络的拥塞 现象及拥塞控制的目标;( 2 ) 论述了计算机网络仿真模型的建模原则、步骤和基于对象的 网络仿真模型的描述方法,给出了三层网络仿真模型的基本结构;( 3 ) 研究了基于 o p m 玎1 2 1 网络仿真软件的计算机网络仿真,建立了目前流行最广的局域网介质访问协议 c s m a k = d ( c a r t l e rs e n s em u i t i p i ea c c e s s c o | l i s i o nd e t i 号魄载波监听多路访问冲突检测) 的模型,并进行了分析;( 4 ) 提出了网络随机延时情况下的双端协同拥塞控制机制,给出了 具体的控制结构和控制算法,并通过o p n e t 进行仿真实现,取得了明显的控制效果;( 5 ) 对基于t c p 传输协议的主动队列管理算法i 逦d 算法和提出的改进算法p d d 进行了仿 真比较,给出了比较结论。 论文的研究工作得到了现场总线及自动化北京市重点实验室开放资金的资助,是北 京市网络自动化创新团队的理论研究分支之一。研究过程中得到了孙德辉教授,史运涛 博士,李志军博士的精心指导。论文在解决随机网络延时对网络性能的影响以及主动队 列管理算法的改进等方面进行了大量研究,并取得了一定的成绩。 关键词:网络拥塞控制,双端协同策略,网络随机延时,主动队列管理 北方丁业大学硕十学位论文 r e s e a r c ho nn e t w o r km o d e la n dc o n g e s t i o nc o n t r o lm e c h a n i s m b a s e do nc o n t r o lo ft t a n s m i s s i o nr a t e a b s t r a c t n e t w o r k sh a dl i t t i el a y e r sa n ds i m p l es t r u c t u r ew h e ni tw a sc o n s t l l l c t e da tt h eb e g i n n i n g a n da l s ot h e r ea r ea l m o s tn om e a n i n g f u lc o n t r o lp r o b l e m se x i s ti nn e t w o r ks y s t e m s w i t ht h e h i g h - s p e e dc o m p u t e rn e t w o r kt e c h n o l o g yd e v e l o p m e n t ,n e t w o r ks t r u c t u r eb e c o m e sc o m p l e x d a yb yd a y ,i n f 6 r m a t i o ne x c h a n g eh a sb e e ns t r e n g t h e n e d c o n t i n u o u s l ya n dt h ed e g r e eo f a u t o m a t i o nh a sb e e ni n l p r o v e dq u i c k l y f o m e r l ys e p a r a t e dv a r i o u sa c t i v i t i e so b t a i nt h e c o n f o m l i t yu n d e rt h ei n f o r m a t i o nf 1 0 wf u n c t i o n i nt h i ss i l u a t i o n ,t h et r a d i t i o n a lh e u r i s t i c s t u d yh a sb e e nu n a b l et 0m e e tt h en e e d so fn e m o r kc o n g e s t i o nc o n t r 0 1 t h e r e f o r e ,u s i n gt h e c o n t r o lt h e o r yt oa n a l y z ea n dr e s e a r c hn e t w o r kc o n g e s t i o nb e c o m e sah o tt o p i cr a p i d l y i t m a k e su st ok n o wt h en e t w o r ks y s t e ma n dt h en e t w o r kc o n g e s t i o np h e n o m e n o nf r o mm o r e c o m p l e t ea n dc o m p r e h e n s i v ed i r e c t i o n 1 n h ep a p e rd i s c u s s e st h en e 俩0 r kc o n g e s t i o nc o n t r o lb a s e do nt h en e 觚o r kw h i c h t m s m i t si n f o m a t i o nw i t hb e s t e 肋r ts e r v i c e w i t h o u tf u n d a m e n t a lc h a n 西n gi nt h ec u n e n t n e 觚o r k ,t h er e s e a r c ht a 唱e ti st oe n h a l l c et h en e t 、) i ,o r kc o n t r o lp e 渤m 锄c et h r o u 曲i m p r o v i n g t h ee x i s t i n gc o n g e s t i o nc o n t r o la l g o r i t l l l i l sa n dd e s i 弘i n gn e wc o n t r o la l g o r i t h m s n em a i n r e s e a r c hc o n t e n t sh a v e : ( 1 ) a n a l y s i so ft h ec i l 玎e n tc o m p u t e rn e 觚o r kc o n g e s t i o n 觚d c o n g e s t i o nc o n t r o lo b j e c t i v e s ;( 2 ) i l l u s t r a t et h em o d e l i n gp r i n c i p l e 锄dp r o c e s so ft h en e t 、7 l r o r k s i m u l a t i o n ,s t u d i e st h es i m u l a t i o nm o d e lb a s e do nr e a lo b j e c t ,a n d 西v e st h eb a s a ls t m c t u r eo f t h r e el a y e r sn e 俩o r ks i m u l a t i o nm o d e l ;( 3 ) r e s e a r c hf o rc o m p u t e rn e m o r ks i m u l a t i o nb a s e d o nt h e0 p n e t l 2 0n e 俩o r ks i l i l u l a t i o ns o 脚a r c ,m o d e la n d 锄a l y z et h cc s m c dp r o t o c o l ; ( 4 ) ad o u b l e e n dc o o p e r a t i v ec o n g e s t i o nc o n t r o lm e c h a n i s mi sp r o p o s e da i l da n a l y z e d a n d w ch a v es t u d i e dt h ep e r f b 姗锄c co ft h ec o n t r o lm e c h a n i s mv i as i m u l a t i o mo no p n e t s o f 研a r e s i m u l a t i o n ss h o wt h a tt h em e c h a n i s mc 孤i m p r 0 v en e 锕o r kp e d :0 r m a i l c eu n d e r m d o m p r o p a g a t i o nd e l a y ( 5 ) p r o p o s e di m p r o v e m e n ta l g o r i t h mp i d r e d ,a n dc o m p a r e di t w i t hr e da 1 9 0 r i t h m n es i m u l a t i o n ss h o wp i d - r e da l g o r i t h mh a sg o o dp e 怕姗a i l c et h 锄 r e dd o e s t h er e s e a r c hi s s u p p o n e db y o p e nf o u n d a t i o n 0 ft h cf i e l db u s1 陀c h n o l o g y& a u t o m a t i o nt h ek e y1 a bo fb e i j i n g i ti so n eo ft h et h e o r yr e s e a r c h e si nt h en e t w o r k a m t o m a t i o nt e 锄1a p p r e c i a t et h ec a r e f u lg i l i d a n c eo fp r o f c s s o fs u nd e h u i ,d ls h iy u n t a o , a n dd r uz h i j u n 北方工业大学硕士学位论文 k e yw o r d s :n e t w o r kc o n g e s t i o nc o n t r o l ,d o u b l e - e n dc o o p e 船t i v ec o n g e s t i o nc o n t r o l , n e t w o r kr a n d o mp r o p a g a t i o nd e i a y a c t i v eq u e u em a n a g e m e n t 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研 究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得j 曼友王些太堂或其他教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示谢意。 学位论文作者签名:签字日期:肼6 月厂日 训参彳 学位论文版权使用授权书 本学位论文作者完全了解j 生友王些太堂有关保留、使用学位论文的规定,有 权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借 阅。本人授权j 壁友王些太堂可以将学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 、 卅犬彳 签字日期:坼月f 日 学位论文作者毕业后去向: 工作单位: 通讯地址: 电话: 邮编 北方t 业大学硕士学位论文 1 引言 1 1 研究的背景及意义 计算机网络在过去的多年中经历了爆炸式的增长,随着网络的应用领域不断拓展, 应用模式不断丰富,加之迅速的商业化推动,网络通信变得十分繁忙。网络通信量的增 加造成了网络十分拥挤,严重情况下造成网络拥塞现象频繁发生。产生拥塞的原因主要 是用户对网络资源的需求量大于网络系统所能提供的总资源。由于网络系统提供资源的 有限性,怎样合理的管理和利用网络资源从而为网络用户提供服务质量( q u a l i t yo f s e i c e ,q o s ) 保证成为了今年来备受关注的热点问题。q o s 实现的核心在于在恰当的层 次和程度上对流量进行管理,其中包括业务分类、接纳控制、调度管理、流量成形和j 爿j 塞控制等诸多方面,但最基本和最核心的应该是拥塞控制。因为很难想象一个时常有可 能出现严重拥塞且无法及时恢复的网络能够实现良好的q o s 保证。实施拥塞控制应该是 其他q o s 机制正常工作的必要前提【。网络拥塞控制本质是一个如何共享网络资源的问 题。在分组交换网络中,所有的激活终端共享网络资源。这些资源包括节点处理能力、 缓存空间和通信链路带宽。这三者中的任何一个都可能成为潜在的瓶颈,从而导致网络 拥塞。 目前,由于缺乏优秀的控制机制,网络设备很难根据网络资源的使用情况有 效的控制网络用户对网络资源的占有量。尽管现在的网络设备运行能力已经有了 很大的提高,但相比用户需求增长速度却远远不够,因此拥塞不会随着网络处理 能力的提高而消除。因此,从控制理论的角度分析和解决网络拥塞问题,具有重要的 现实意义,已经成为学术界不断追求的目标和热点研究问题。它的研究内容至少要 包括以下几个方面的问题弘j : ( 1 ) 网络系统的描述,包括网络系统结构和逻辑描述、网络行为描述和网络控制 系统描述; ( 2 ) 网络控制理论系统研究,包括网络控制理论系统建模分析和仿真分析; ( 3 ) 网络拥塞控制算法研究,包括算法研究和算法性能评估分析。 1 2 网络拥塞控制概述 在计算机网络中,如果某一时刻用户对网络资源( 包括链路带宽,存储空间和处理 器处理能力等) 的需求超过了其固有的容量或者网络设备出现故障,网络便会产生阻塞, 性能变坏,这就是网络拥塞( c o n g e s t i o n ) 现象。网络一旦发生拥塞,交换节点缓存队 列急剧上升,传输延时增大,信元丢失率迅速升高,拥塞严重时,还会使整个网络瘫痪。 北方丁业大学硕十学位论文 就i n i e m e t 的体系结构而言,拥塞的发生是其固有的属性。因为在事先没有任何协商和 请求许可机制的资源共享网络中,几个i p 分组同时到达路由器,并期望经过同一个输 出端口转发的可能性是存在的,显然,不是所有的分组都可以同时接受处理,必须有一 个服务顺序,中间节点上的缓存为等候服务分组提供一定保护。如果此状况具有一定的 持续性,当缓存空间被耗尽时,路由器只有丢弃分组,网络则会呈现拥塞状态。 拥塞导致的直接结果是分组丢失率提高,端到端时延加大,甚至有可能使整个系统 发生崩溃。当网络处于拥塞崩溃状念时,微小的负载增量都将使网络的有效吞吐量 ( t h r o u 曲p u t ) 急剧下降。图1 1 刻画了负载与吞吐量之间的关系【3 1 ,当负载较小时,吞吐 量与负载之间呈线性关系,到达膝点( 1 0 e e ) 之后,随负载的增加,吞吐量的增量逐渐变 小。当负载越过崖点( c l i m 之后,吞吐量却急剧下降。通常将膝点附近称为捌塞避免区 问;膝点和崖点之间是拥塞恢复区问;崖点之外是拥塞崩溃区问。为最大限度地利用资 源,网络工作在轻度捌塞状态时应该是较为理想的,但这也增加了滑向拥塞崩渍的可能 性,因此需要一定的拥塞控制机制来加以约束和限制,这是研究拥塞控制最本质的意义 之一。 咖 崮 赧 一 匿点 膝点 i , , , 拥塞避免 拥塞恢复 拥塞崩瘟 , 负载 图1 1 负载与吞吐量之间的关系曲线 从控制理论的角度看,分析h t e m e t 拥塞控制的复杂性在于: 1 ) i n t e m e t 本身是一个极其复杂的巨系统,网络结构复杂,规模巨大,应用种类繁 多且在不断演化,网络用户数随时变化且不时发生各种随机性故障等,这使得h l t e m e t 建模极其困难; 2 ) 在i i l t e m e t 上不可能采用集中控制,而必须使用分散反馈控制机制; 3 ) 反馈信号的传输必然存在传输时延,而且随着路径及环境的不同,时延也将不 断发生变化; 4 ) 由于应用及环境的不同,需要采用不同的拥塞控制策略。各种控制策略的相互 影响以及他们对整个网络稳定的影响在不同条件下很难进行分析。 直观上,控制网络拥塞应当从两方面入手:一是尽量避免拥塞发生;一是在拥塞发 2 北方工业大学硕士学位论文 生时采取措施消除拥塞。前者是为了预防,力图使网络维持在最佳状态,避免拥塞;后 者是为了补救,进行拥塞恢复。在追求网络服务公平、高速、高利用率的环境下,单独 采用上述的一种方法很难使网络良好运转,采用两种方法共同配合控制网络更为合理。 拥塞控制与流量控制密切相关。拥塞控制会抑制源端发送数据,起到流量控制的作用; 相反,好的流量控制可以避免或推迟拥塞的发生。实际上,流量控制只是实现拥塞控制 的一种技术实现途径。 1 3 拥塞控制研究面临的问题 随着互联网规模和种类的扩展,以及与其它网络( 如交通,金融) 的融合,了解网 络的基本控制规律变得极为重要。另一方面网络的规模和复杂度使研究者很难对网络有 精确的认知。拥塞控制研究作为研究网络行为的重要组成部分,同样受着对网络这个巨 系统认识不足的影响,在设计拥塞控制算法过程中,我们需要面临以下几个方面1 4 j : ( 1 ) 算法的分布性:拥塞控制算法的实现分布不同的网络层次中,以及在多个网络 节点中。采用分布式的拥塞控制算法可以降低单个节点的处理复杂度和提高网络的稳健 性。 ( 2 ) 算法的可扩展性:i n t e m e t 中各处的网络性能有很大的差异,对于不同的网络条 件,如网络的规模变化,带宽的变化,链路传输时延的变化,不同的端系统状况,以及 存在多种数据流时,拥塞控制算法都应该具有相对较好的性能指标。 ( 3 ) 算法的性能要求:拥塞控制算法对性能有很高的要求,包括算法的公平性、效 率、稳定性、鲁棒性和收敛性。通常的拥塞控制策略只能达到部分的性能要求,需要考 虑这些性能指标的折衷。 ( 4 ) 算法的易实现性:设计的拥塞控制算法的实现要尽可能简单,不仅要尽量减少 附加的网络流量,而且要减少反馈信号的复杂度。同时拥塞控制算法的设计还必须尽可 能降低该算法在网络节点的计算量和实现的复杂度。 ( 5 ) 拥塞的复杂性:计算机网络已经发展成为一个庞大的复杂性系统,其复杂性在 于网络拓扑结构的复杂性,网络数据流的复杂性如自相似,自组织临界和拥塞相变现象 等。采用复杂性研究相关的一些理论和方法去研究网络拥塞等演化规律的网络动力学已 经发展成为新的跨学科领域。 鉴于上述几个方面,要做好网络拥塞控制的研究必须建立起其理论上的框架,用控 制理论和优化理论等现代分析方法来研究网络的动力学模型和特性,揭示i i l t e m e t 网络 形成拥塞现象的物理机制,分析各种算法以及算法的组合的性能,发展更有效的拥塞控 制算法,以满足人们对网络快速增长的需求。 北方工业大学硕士学位论文 1 4 拥塞控制研究现状 拥塞控制算法根据其作用和实现位置的不同,可以分为两大类:基于网络源端的拥 塞控制算法和基于网络节点端的拥塞避免算法。前者的作用是用户根据接收到的反馈信 息调整发送速率;后者用于网络设备( 如路由器和交换机) 中,作用是检测网络拥塞的 发生,产生反馈信息。因此,如何检测拥塞、生成反馈信息和如何对反馈信息进行响应 是拥塞控制设计中的关键。 1 5 论文的研究基础及主要研究内容 1 ) 论文的研究基础 本课题为现场总线及自动化北京市重点实验室丌放课题,导师孙德辉教授多年来一直 从事计算机网络控制理论研究,具有大量的研究成果和丰富的指导经验。课题研究中使用 的仿真软件o p m 玎( 1 2 1 版) 能够对网络行为进行细致的描述,仿真程度与实际网络及其 相似,为业内公认的优秀的网络仿真软件之一。 本实验室一直进行网络拥塞控制方面的理论与仿真研究,目前已经在单瓶颈节点网络 拥塞控制、多节点网络拥塞控制、主动队列管理算法、多信种区分服务等多个方向取得了 一定的成果。提出了基于主动队列管理算法的网络节点闭环控制、多信种区分服务的概率 丢弃闭环控制等多种控制机制【孓切。 2 ) 论文的主要研究内容 论文讨论的拥塞控制的网络背景是以尽力传送( b e s t e 肋n ) 业务为主的互联网,研究 的目标是在不根本改变当前网络风格的前提下通过对现有拥塞控制算法的改进和设计新的 控制算法来提高网络控制性能。 论文的主要研究内容有:分析了目前计算机网络的拥塞现象及拥塞控制的目标。研 究了基于o p n e t l 2 1 网络仿真软件的计算机网络仿真,建立了目前流行最广的局域网 介质访问协议c s m c d ( c a r r - e rs e n s em u i t p i ea c c e s s c o | l - s i o nd e t e c t ,载波监听 多路访问冲突检测) 的模型,并进行了分析。提出了网络随机延时情况下的双端协同拥 塞控制机制,给出了具体的控制结构和控制算法,并通过o p n e t 进行仿真实现,取得 了明显的控制效果。对基于t c p 传输协议的主动队列管理算法r e d 算法和提出的改进 算法p i d r e d 进行了仿真比较,给出了比较结论。 1 6 本章小节 本章阐述了计算机网络拥塞的概念及产生的基本原因。介绍了网络拥塞控制 研究的现状。分析了从控制理论的角度分析和解决网络拥塞问题的意义和面临的问题。 最后,说明了本论文的研究基础及其主要研究内容。 4 北方工业大学硕士学位论文 网络建模与仿真实验 2 1 网络系统结构建模方法 在对网络系统进行描述时,这罩使用了两种基本的方法:对象和进程。对象用于将 现有系统分解为更小的部分,并将这些部分之间的关系表现出来,实现对系统的描述。 进程可动态和自适应地对行为进行描述。对行为的描述要能充分地说明系统的各种状态 和事件,进而对所描述系统不同的情况做出不同的反应1 13 1 。 2 1 1 网络系统结构的描述 在计算机网络中所包含的物理实体有:路由器、网关、交换机、网桥、集线 器、工作站、卫星等。可以简单地把它们看作对象。为了实现网络建模,必须要 注意这些对象的工作方式以及它们如何与其它的对象交互。因此,对系统的规范 包含了两个层面:结构层面和行为层面。结构层面关注对象的内部工作,主要用 于将现有的对象进一步分解为更小的对象。或者说一个对象就其自身而言是一个 系统,同时可被看作是很多更小的对象的集合,这些更小的对象根据某种方式实 现一定的功能。除此之外,结构也支持了对象和其他对象之间的交互。这主要包 括了将对象提供的物理接口以及实现对象之间通信的路径加以描述。通信路径通 常是支持互联的对象( 例如链路) 。 理论上,对象的用途并不局限于对网络系统中物理实体的描述。抽象或逻辑 的实体同样可以用对象描述。如进程、工作、请求、任务、数据包、计时器和概 率分布等。 我们期望能以最直观的方式描述系统中的组件。因此,这些抽象的对象并无可视化 的表述形式。作为软件的结构,这些对象仍然可以看作对象,这依赖于它们工作的方式 及它们所涉及的行为。他们之所以被视为对象,主要是因为他们具备如下重要特性:具 有定义完备的接口,通过这些接口可以访问其内部;同时具有相似的表现形式但又互不 相同。这可视为面向对象概念中“类”的不同实例。 2 1 2 网络对象与仿真模型的关系 了解网络对象与网络模型的关系是建立网络仿真模型的基础。当建立对象时, 相关的一些特征( 有时是全部特征) 同时被建立。这些特征包括对象的内部结构、 性能、目的、表现形式以及接口等。这些信息来自之前的规范。而这些规范的集 合构成了模型。 对象是模型的实例,而每一个对象都有自己的模型。通过反复创建对象可以 北方工业大学硕士学位论文 获得新的对象,即该模型的另一个实例。由此可见,对象和模型之间是多对一的 关系。要注意,尽管这些对象来自于拥有某些相同特性的模型,但它们之间依然 是相互独立的。或者说,模型的一个实例发生变化不会影响其它的实例。在对象 所代表的实际系统中也是如此。 建立在某种特定模型之上的对象的集合构成了类,也就是一类对象的总和。 模型能够代表类。当类的定义发生变化时,所有这一类中的对象都将受到影响。 例如,向模型的内部结构中嵌入额外的规范,所有的对象的内部结构都能获得该 规范。类似地,如果修改模型的接口规范,所有相关的对象也要更改他们与外界 对象的接口。若对象不作适当的调整,这样的变化可能导致潜在的无效连接和交 互。 此外,网络仿真模型中还包含了对所有的实例均通用的信息,其中包括对对 象的接口、行为以及内部结构的说明。模型的接口说明了对象怎样与其他对象交 互信息,其中包含对物理连接的说明。例如,一个节点模型的接口将说明该节点 用哪些链路实现与其它节点的连接。同时,模型的接口也包含对象之问交互的机 制和语法。对于复杂的节点,这些机制和语法还包括了定时通信、传送和共享数 据的机制以及解释数据的方法。 除了描述网络对象的接口,仿真模型还应描述对象的行为。在模型中应定义 对象对外部的消息做出何种反应以及做出反应的方式和时间。例如,业务源作为 一个对象,可以自发地产生行动。对于复杂的节点,行为相当于一系列变量的函 数,包括了状态信息的总和、外部触发、时间以及随机变量。 最后,网络仿真模型也要对对象的内部结构进行定义。这要涉及到将对象分 解为更小的组件。这些组件本身对自身模型而言也是对象。如可以把节点模型所 对应的对象称为模块和连接,在后面的内容中将有涉及。 即便仿真模型中说明了对象的大部分特性,仍然还可以进一步设定对象的特性,否 则,所有的网络仿真模型实例将全部都一样。在网络仿真模型中,对哪些方面可以进行 锁定以及哪些方面可以根据不同的实例进行修改做出了规范。可以将网络仿真模型看作 是“参数化 的,也就是说,网络仿真模型设计者可以将某些变量“暴露 给用户进行 配置的设定。然后将这些参数看作是模型接口的一部分。 2 2o p n e t 网络仿真平台 o p 闷三i 1 4 】是一种优秀的网络仿真和建模的工具,支持面向对象的建模方式,并提供图 形化的编辑界面,更便于用户使用。它强大的功能和全面性几乎可以模拟任何网络设备、支 持各种网络技术。同时,o p n e t 在新网络的设计以及对现有网络的分析方面都有卓越表现。 北方工业大学硕士学位论文 它为通信协议和路由算法的研究提供与真实网络相同的环境。此外,功能完善的结果分析 器为网络性能的分析提供了有效又直观的工具。 o p n e tm o l d e r 是专门用于可视化模型设计的软件,它的使用即方便了网络模型的 建立,又减少了编程的工作量。应用该软件仿真建模一般是将其分成网络、节点、进 程三个层次,依次分层进行。在每一个层域中,用来定义模型的对象也是分层次 的。典型的三层网络模型结构如图2 1 所示。 p 0 f i i e - c o 币i g 1 1 0 c l e14 | 王删一 | 一“。“、一| “。、皎薯。? “? ”一| 一“一 ( a ) 网络( n e t w o r k ) 模型 圆 ( b ) 节点( n o d e ) 模型 黧篓黜鞘萎燮羔羔羔。,。:- 一- 蔓, pn e1 m 七1 副、:琵1 甜e ft 州5p r e e 携;暇o e j 醴1 鲒o n,一 产t h ec 泖1 e o 对一钔t :a t l 神矸1 潍r 1 叫e n , 一 1 f 【j 触r 一! 却e9 :一:j 丸。o :6 眦l 咖u u _ 玎帆p t 饵帅 i t ;c n e a 甜e se f 一 l t e r o 计警孙1 湖脚f 话蝗j + b ec o n f t 掣? 凹j e v h - o p _ 1n r 广p o c 睡。小e 一;酣+ ( o o ,6 眦一山崃- l 腮_ 工h 玎:燃i t l ; ,t6 1 “e r 吐2e r r 卵1 ft e1 嘴r 为陀 ”馥r 0 hz a n 错和e l :? pe ¥帅t 叼tb e ;c h 0 辞t , 1 f ( 0 9 醋1 4 ( c v h ) 一e k f 芷;) q n i 5 竹哪r r o r ( ,j ? 一:_ ,;4 。,? - ,。1 扣7 :, pi n ”d 嘲t 譬傩c 札吖j 州甜番1 2 武 。;1 目c p r h o 乌j 。: ? to e r 州+ 。锄? 砖一i :# 。;:洲:”; :。 e 1s e ( ,ts h 酣e 拍 n t e r + o 虻:o 日蝴弹t op ! r 匈h 州稍。? 。 产1 t so 蝴n 1 翱酿1 :羞t 甘 。, e v h - o k l 啦r # t j 曲 捶芒- ;酿c o o j l m - n 糖( ) ,酬 c j e l f j _ n 耵; ,6 e n e r c e r r 廿”t 1 蜥r1 职r5 ”:竹0 m :a 舢删e 幢霞- , ,te 让n r t 酶;c b e 0 小托, , 1 f ( o p 啪 1 0 ( e 蝻) 一0 p :- f 赶s e ) 口f q - c l s 竹目矿甘r ( “”:。一弘,一- i 。,: 。 ) ti ”扪j :et n e n o 材* 州耵1d e l n 却:雌t 警脚鹋e 巧。, 酊曲羽- c 临t 帆j 佃r j n d “to ; ( c ) 进程( p r o c e s s ) 模型( d ) p r o t o c 源代码 图2 1 典型的三层网络仿真模型结构 网络( n e t w o r k ) 模型是最高层次的模型,由网络节点和连接网络节点的通信链路 组成,由该层模型可直接建立起仿真网络的拓扑结构,网络层是从高端设备对网络进行 固一 口。寸;一 咽一掴恻蛔咖如 |=厂l r l l 渺 占笆 北方t 业大学硕士学位论文 规范。节点( n o d e ) 模型由协议模块和连接模块的各种连接组成,如物理接口模块、 m a c 模块、i p 模块、r o u t e 模块、t c p 模块、应用模块、数据包模块等等。每个模块 对应一个或多个进程( p r o c e s s ) 模型,节点层主要是从应用、进程、队列和通信接口 对节点的功能进行规范。进程模型由有限状态机来描述,在进程域内,主要是对节点内 每个进程的行为进行规范,包括决策方式和算法。在代码层主要是针对每个有限状态机 进行c 语言编程。它是所设计的层次性行为网络模型的最底层,也是具体的实现层。用 户可以在上述四个层次的任何地方切入,建立所需的层次性行为网络模型。 2 3c s m a c d 协议建模与仿真分析 本节主要研究在o p n e t 仿真平台上搭建一个运行c s m c d 协议的网络,并进行 仿真分析该协议的信道效率。通过该过程更深入理解网络仿真和0 p n e t 仿真平台。 2 3 1c s m a c d 简介 c s m c d ( c a h i e rs e n s em u l t i p l ea c c e s s c o l l i s i o nd e t e c t ) 即载波监听多路访问冲 突检测协议【1 5 j ,是一种争用型的介质访问控制协议。c s m c d 应用在o s i 七层罩的数 据链路层。由于其具备原理比较简单,技术上易实现,网络中各工作站处于平等地位, 不需集中控制等优点,它被广泛应用于目前的大多数局域网技术中。 它的工作原理是:发送数据前先监听信道是否空闲,若空闲则立即发送数据。在发 送数据时,边发送边继续监听,若监听到冲突,则立即停止发送数据等待一段随即时间, 再重新尝试。c s m c d 控制规程的核心问题是解决在公共通道上以广播方式传送数据 中可能出现的问题( 主要是数据碰撞问题) 。控制过程包含四个处理内容:侦听、发送、 检测、冲突处理。 2 3 2 建模过程 c s m c d 是二个先进的协议,因此建模过程比较复杂。首先给出了建模流程图, 如图2 2 所示。 针对流程图中的每一步,下面分别介绍。 ( 1 ) 建立接收端进程模型 建立如图2 3 所示接收端进程模型,对其中的变量和函数进行定义。 其中需要在头块( h e a d e rb l o c k ) 中定义的宏变量有i n 二s t r m 、r k t r c v d 和 e n ds i m 。矾s t r m 宏变量表示从总线中接收到的包流的序号。r k tr c v d 宏变量 判断进程接收到的中断是否为包流中断。e n ds i m 宏变量判断进程接收到的中断是否 为来自仿真核心模块的仿真终止中断。另外还需定义一个全局变量s u b m p k t s 和一个状 态变量r c v d p k t s 。全局变量s u b i n p k t s 用来对所有发送的数据包进行计数。状态变量 北方一l 业人学硕士学位论文 i 铡2 2c s m a c d 建模流科蚓 哐n d - 5 i 帅扣c o r d - s t a t s 0 图2 3 接收端进程模型 r c 、,dp k t s 在状态变量模块( s t a t ev a “a b l e sb l o c k ) 中定义,用来跟踪和保存接收到的有 效数据包的个数。他们的代码表示如下: 工n s t r m 宏定义:# d e f in ei n s t r m0 p k t r c v d 宏定义:# d e f i n ep k t r c v d ( o p i n t r p t t y p e ( ) = = 0 p c 一工n t r p t s t r m ) e n d s i m 宏定义:# d e f i n ee n d s i m ( o p i n t r p t t y p e ( ) = = 0 p c i n t r p t e n d s i m ) s u b m k t s 定义:i n ts u b m _ p k t s = 0 : r c v dp k t s 在状态变量模块( s t a t ev a r i a b l e sb l o c k ) 中定义,定义形式如下: lt 妇 j 群龋tc o 雅柏畦 | ;i n tr c 甲丑- p k t s,事r e c e i 丫e ap a c k e tc o 豫t e r 掌 9 北方工业大学硕+ 学位论文 定义r c v d k t s 之后需要对其初始化,这项工作在图2 3 的i n i t 状态机的进口代 码中完成。双击i n i t 状态机上半部分,在其中添加代码: r c v d p k t s = 0 : 接下来需要在函数模快( f u n c t i o nb l o c k ) 中定义的函数有p r o 叫k t o 函数和 r e c o r d - s t a t s ( ) 函数。p r o 叫k t o 函数用来获取每一个到达的包流,对该包流进行接收,销 毁的操作,并增加包流计数器的计数。当仿真结束时调用r e c o r ds t a t s ( ) 函数,用来汜录 仿真过程。它们定义代码分别如下所示: p r o c p k t 定义 :s t a ti cv o i dp r o c p k t ( v o i d ) p a c k e t ,i ci np k t : f i n ( p r o c p k t ( ) ) : i n p k t = o p p k g e t( i n s t r m ) : o p p k d e s t r o y( i n p k t ) : + + r c v d p k ts : f o u t : ) r e c o r d - s t a t s 定义:s t a t i cv o i dr e c o r d - s t a t s ( v o i d ) d o u b l ec u r t i m e : f i n( r e c o r d s t a t s ( ) ) : c u r _ t i m e = o p _ s i 吐t i m e ( ) : o p - - s t a t s c a l a r w r i t e( ”c h a n n e lt r a f f i cg ”, ( d o u b l e )s u b l p k t s c u r ti m e ) : o p s t a t s c a l a r r it e( ”c h a n n e lt h r o u 套h p u ts ”, ( d o u b l e )r c v d p k t s c u r t i m e ) : f o u t : 还需要对接收端进程模型进行接口配置,使上层的节点层能够与其通信,配置的最 终形式如图2 4 所示。 1 0 北方工业大学硕士学位论文 f t _ 心i h t :1 h 。i 一一_ _ :_ ,w _ _ _ _ _ _ _ _ _ _ _ _ _ * _ _ _ _ _ - _ _ _ m _ _ _ m _ * _ * ;# _ _ _ ;_ _ _ _ _ _ i _ _ _ _ _ m - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 。_ w _ _ _ q _ * * - _ _ m m _ _ _ _ _ _ _ _ _ _ “_ _ _ _ _ _ _ _ _ _ “目_ _ _ 目_ “_ _ _ _ _ _ 一 | i t t l _ 1 i 融冀曩 _ 潆l 馥赫 i 强i t i 1y 祖触 l b e 霉i i 稿i n t r p t l i id d e n啦由l d ld o cf i l e kd d e n n d :j _ o i l :q l e l e n d 互i mi n t r p t h ia a t ne n 曲1 e d i f a i l l 口r ei n t r p t sh id a e na i 暑l 1 d i | i n t r p ti a t 毫胛a 1 h i a d 钮d i = a b l e d i | p r i o r i t y h i a d t n0 :;r e c o 亨e r yi n t r p t s h ii a 矗e nd i = 囊五1 e d 。:s q :b q u e u e h i d a e nc ) ,s 1 口p e rp r i o r i t y h i d d e nd i = 看l b l e a 图2 4 接收端进程模型接口配置图 最后,对进程进行编译,并保存为进程文件c s m a _ r e c e i v e r _ p r o c 。 ( 2 ) 建立接收端节点模型 建立如图2 5 所示的节点模型图 p m c 就s o rb u :呜c e i v e 7 图2 5 接收端:仃点模型幽 对p r o c e s s o r 处理机的属性p r o c e s sm o d e l 项进行编辑,将其内容改为 c s m c dr c c e i v e rp r o c ,这样在前面进行的接收端进程模型就与节点模型有了联系。 接下来对节点模型接口进行配置,使其能够与上层网络层进行通信。配置的最终形 式如图2 6 。最后将其保存为节点模型c s m a 砌i v e l n o d e 。 ( 3 ) 建立发送端进程模型 。 接收端只是负责对数据的接收、销毁和记述等功能,因此建模过程相对简单。而发 送端需要完成载波侦听、多路访问和冲突检测等多项内容,因此建模过程相对复杂。下 面开始介绍发送端的模型建立过程 建立如图2 7 的发送端进程模型 该进程模型主要的工作流程为:当进程需要发送数据包( t r 锄叫k t 状态机) ,要先 通过函数0 ps t a tl o c a lr e a d o 读取通信链路状态信息,以确定是否链路正处在繁忙状态, 如果链路繁忙,那么进入叭舶e 状态机进行等待,直到读取的链路状态信息不再是繁 忙状态。 其中需要

温馨提示

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

评论

0/150

提交评论