(信号与信息处理专业论文)采用omnet对一种实时以太网进行仿真和性能分析.pdf_第1页
(信号与信息处理专业论文)采用omnet对一种实时以太网进行仿真和性能分析.pdf_第2页
(信号与信息处理专业论文)采用omnet对一种实时以太网进行仿真和性能分析.pdf_第3页
(信号与信息处理专业论文)采用omnet对一种实时以太网进行仿真和性能分析.pdf_第4页
(信号与信息处理专业论文)采用omnet对一种实时以太网进行仿真和性能分析.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(信号与信息处理专业论文)采用omnet对一种实时以太网进行仿真和性能分析.pdf.pdf 免费下载

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

文档简介

摘要 摘要 实时以太网技术已经被越来越广泛地应用在分布式实时系统的通讯之中。它 是一种基于标准以太网之上的实时通讯解决方案。因此,实时以太网拥有标准以 太网速度快,价格便宜等优点。当然,标准以太网其本身并不适合于实时系统, 必须经过一些必要的修改之后,才能是标准以太网符合实时通讯的需要。随着研 究的深入,已经出现了多种实时以太网技术,其中的一种称作r t n e t 。r t n e t 提 供了一种独立与硬件设备的,并且普遍适用的实时通讯平台。它在标准以太网的 基础上,添加了实时通讯协议层。这样无论实时数据还是非实时数据都可以在 r t n e t 上传输。r t n e t 通常采用t d m a 作为它的实时通讯层协议,也就是说,通 过t d m a 协议,将r t n e t 上的数据传输进行时间上的分块,每个时间块只能被 一个用户占有,也只有该用户才可以在这个时间块内向网络传输数据。通过这样 的方法,非实时以太网就变成了实时以太网。本文主要介绍了r t n e t ,并且实现 了基于o m n e t + + 的r t n e t 仿真。在仿真的过程中,r t n e t 被划分为三层,它们 是应用层,实时协议层,和标准以太网层。每个网络层将被分割开来进行仿真。 在仿真完成后将得到一个r t n e t 的仿真器。文章的最后一部分将利用这个仿真器 来做一些实验,通过这些实验来检验r t n e t 的运作情况,同时也可以用来寻找出 合理的时间块的分割分配方法。 关键词:实时以太网,r t n e t ,t d m a ,o m n e t 抖 a b s t r a c t a b s t r a c t r e a l t i m ee t h e m e ti sw i d e l yu s e df o rc o m m u n i c a t i o n si nd i s t r i b u t e ds y s t e m s n o w i ti so n eo ft h er e a l - t i m ec o m m u n i c a t i o ns o l u t i o n sb a s e do nt h ee 也e r n e t r e a l t i m ee t h e m e tt a k e sa d v a n t a g eo ft h eg o o dc h a r a c t e r i s t i c so fs t a n d a r de t h e r n e t , s u c ha si n e x p e n s i v ea n dc o n v e n i e n tt ou s e a d d i t i o n a l l y , s o m em o d i f i c a t i o n sh a v e b e e nd o n et om e e tt h er e q u i r e m e n t so fr e a l - t i m ec o m m u n i c a t i o n ,r t n e ti so n et y p eo f r e a l - t i m ee t h e r n e t , w h i c hp r o v i d e sh a r d w a r ei n d e p e n d e n ta n df l e x i b l er e a l t i m e c o m m u n i c a t i o np l a t f o r m i 玎n e ta d d st h er e a l t i m ep r o t o c o ll a y e rt oe t h e m e t ,s o t h a tb o t ht h er e a l t i m et r a 伍ca n dt h en o n r e a l t i m et r a 伍cc a nb et r a n s f e r r e do v e r e t h e r n e t t 1 1 ec o m m o n l yu s e dr e a l t i m ep r o t o c o li n 肌1 e ti st h et d m ap r o t o c o l , w h i c hd i v i d e st h et r a n s m i s s i o nt i m ei n t ot i m es l o t s o n l yt h eo w n e ro ft h ec u r r e n t t i m es l o tc a nt r a n s m i tm e s s a g et ot h en e t w o r k w i t l lt h i sr e a l - t i m ep r o t o c o l ,t h e n o n - r e a l - t i m ee t h e m e ti sm o d i f i e dt ot h er e a l - t i m ee t h e r n e t i nt h i sp a p e r , i u n e ti s d i v i d e di n t oa p p l i c a t i o nl a y e r , r e a l - t i m ep r o t o c o ll a y e ra n de t h e m e tl a y e r e a c h o ft h e mi ss i m u l a t e ds e p a r a t e l y o m n e t + + i sc h o s e na st h es i m u l m i o nt 0 0 1 w h e nt h e i 盯n e ts i m u l a t o ri si m p l e m e n t e d ,e x p e r i m e n t sa r ed o n et oa n a l y z et h ep e r f o r m a n c eo f r t n e t 。 k e y w o r d s :r e a l - t i m ee t h e m e t ,r t n e t ,t d m a ,o m n e t + + i i 学位论文版权使用授权书 本人完全了解同济大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本;学校有权保存学位论文的e r j 届j j 本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前 提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名: 年月日 同济大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、己公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均己在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 学位论文作者签名: 年月 第1 章绪论 1 1 研究目的 第1 章绪论 分布式控制系统在当今有着广泛的应用,其中包括电子控制系统,自动化工 业控制系统等等。这样的分布式系统通常包含多处理器和多原件,包括传感器和 控制器等。不同的任务被分配到不同的处理器中进行处理,从到达到了某种程度 的并行处理。 通常,这种分布式控制系统也是实时的控制系统。这意味着,信号必须在被 处理的越快越好,甚至于在信号产生的时刻,它立刻需要被处理。分配在各个原 件上的任务一般都执行时限,如果在时限到达后,任务仍旧没有被成功处理好, 那么将会导致很严重的后果,不仅整个系统的运行将停止,而且有可能会造成严 重的事故。因此,分布式控制系统的实时性问题引起了广泛的研究。 为了缔造出实时分布式系统,首先就是要将系统的执行任务分配给不同的处 理器( 例如c p u ,f p g a ) ,同时也要为这些任务制定出适当的执行时刻表。这 项工作在早期已经有l i u 1 a n d 完成。在l i u 1 a n d 的文章中,介绍了基于任务的优 先级的算法 1 。近年来,也有另外的一些研究在进行中,比如在 2 4 中,不仅 考虑了任务之间数据的相关性,同时也考虑的到了控制行为的相关性( 任务的执 行并非必然,在满足某个控制条件是,才产生这个任务的执行) 。当所有的任务 都被分配完毕并且每个任务都被安排了其至执行的时刻之后,就进入到了数据传 输的部分。在例如处理器运行完某个任务,或者传感器接受到外部的信息后,各 个处理器和其他功能原件之间的数据传输不可避免。为了保障整个分布式系统的 实时性,数据传输的过程同样也需要在时间上进行安排。当数据传输产生冲突的 时候,依照优先级来传输数据。优先级通常由数据产生的频率,数据包的大小, 和产生该数据的任务的时限等等因素来决定。 一旦制定好数据的传输顺序,下一个任务就是建立网络。在过去的十年间, 现场总线常被用来在实时分布式系统的数据传输。但是随着时间的发展,现场总 线的一些缺点开始暴露出来,比如其传输速率十分有限,同时由于现场总线的标 准不统一,这使得在开发相应的设备的时候产生了很多的问题。近年来,越来越 多的人渴望将以太网技术运用到分布式实时系统的通讯当中去。实时以太网甚至 有可能取代传统的现场总线,成为新的实时通讯网的不二选择。 实时以太网的优点包括其广泛通用的a p i 。相比较而言,总线技术仅仅提供 一些特定的或者是单一的接口。现在已经出现了很多的实时以太网种类,比如说 第1 章绪论 r e a l ,e t h e r c a t ,e t h e r - n e t i p ,r t n e t 等等。在文章 8 中,这几种以太网被分别 加以比较分析,并且给出了他们各自的优缺点。 在本文中,r t n e t 作为实时以太网的一个例子加以仿真,从而得到其表现特 性。 1 2 研究任务 面对众多的实时以太网,首先要选出其中的一种作为本文中仿真的对象。最 后,r t n e t 由于其广泛的硬件独立性和灵活的实时通讯平台技术而被选择成文本 文中的仿真对象。 本文的第二个任务是选择一个合适的仿真器来对r t n e t 进行仿真。 o m n e t + + 是一种面向对象的,基于离散时间的网络仿真器。当使用o m n e t + + 进行仿真时,网络的功能可以被分割成许多的子功能,每个子功能通过不通的模 块来进行仿真。模块之间的关系是树状结构。o m n e t + + 的运行相当于一个软件, 它既可以运行在w i n d o w s 操作系统下,也可以在几个l i n u x 操作系统下工作。 本文的第三个任务是在得到r t n e t 仿真器后,运用这个仿真器做一系列的实 验,通过实验来分析r t n e t 的工作情况。在实验的过程中同样也是遵从任务在多 处理器上的分配,执行时间分配,传输时间分配这样一个过程。接着通过设计不 通的实验方案来分析影响传输延迟的各个不同因素之间的关系。 1 3 文章大纲 文件接下来将以一下的结构来进行叙述: 第二章中将给出相关的理论背景介绍。其中包括分析实时以太网与现场总线 和标准以太网之间的区别。r t n e t 作为本文的研究重点,也将在第二章中给出它 的详细描述。o m n e t 抖作为仿真工具,也将在第二章中被简单的介绍以帮助对 实验部分的理解。 在第三章中,是对使用0 m n e t + + 仿真r t n e t 的实现部分。这个实现部分将 分两大部分来进行介绍,第一部分是对r t n e t 实时协议t d m a 的仿真;第 二部分是对r t n e t 的数据链路层以太网层的仿真。 在第四章中,将进行多个不同类型的实验,并通过这些实验,来检验r t n e t 的基本功能和性能分析。 第五章中包括对本文的总结是一些对未来工作的展望。 2 第2 章理论背景 2 1 实时以太网 第2 章理论背景 近几年来,越来越多的工业应该使用实时以太网作为他们的实时通讯的解决 方案。实时以太网实现了基于标准以太网的实时通讯。并且这种实时通讯经常被 应用在分布式实时控制系统。尤其是在一些汽车电子控制系统中。 实时通讯必须具备以下几种特性: 系统各个原件之间的通讯必须是时间决定性的通讯 在系统控制器和其他一些连接到实施网络的设备之间必须经常时间同步 通常在网络上传输的都是小数据量的数据包,同时这种传输必须是快速 而有效的 在实时以太网出现之前,现场总线作为工业计算机网协议广泛地应用于实时 分布式控制系统中。但是,现在总线的标准一直没有得到很好的统一,这个也造 成了现在总线应用的局限性。尽管现场总线技术产生于1 9 8 8 年,因为现场总线 当时的标准i s a s 5 0 0 2 并不是个国际化的标准,在产生的初期,现场总线并没有 被广泛地应用起来。直到到1 9 9 9 年,随着i e c 6 1 1 5 8 的初始版本的出现,多年来 各国之间在使用现场总线时长期存在的限制被解决了。i e c 6 1 1 5 8 是一个有8 个 不同协议组合起来的协议组。现在常用的几种现场总线标准包括a s i n t e r f a c e , c a n ,工业以太网,i n t e r b u s 等等 7 】。现场总线的各个标准之间的差异比较大, 所以彼此之间很难做到兼容。而这种标准之间的不兼容性几乎已经造成了现场总 线的最大的使用障碍。比如说,当某个原件厂商生产出一个产品后,为了给不使 用不标准的用户使用,厂商必须制造出同一原件的不同版本,这样就大大曾加了 生产成本。与此同时,假设在不久的将来,有一种现在总线标准将作为唯一的标 准统一市场,那么那些针对其它版本而开发的商品将会面临立刻被淘汰的危险, 这也是众多现场总线用户所不乐意看到的事情,这也就是所谓的生产风险。据报 道,现在开发一种广泛适用的现场总线的研究正在进行当中,如果这项研究成功 的话,用户将不需要再考虑低层的应用细节,而直接在应用层上进行开发,但是 显然,这并不是件简单的工作。 实时以太网是实现分布式系统中实时通讯的另一种选择,并且现在它已经被 越来越多的客户接受。特别是在类似于工业自动控制系统实时以太网已经被广发 地应用起来。实时以太网也可以说是一种特殊的现在总线,它使用以太网结构作 为它的数据链路层和物理层的协议。之所以会选择标准以太网作为实时通信网的 第2 章理论背景 下层结构的原因有: 以太网作为颂成熟的网络技术在本地网络中有着显著的优势。 以太州提供了快速的数据传输手段,和廉价的接口设备。 以太网的网络底层结构的费用逐年递减。 这些造成了使用以太网技术作为实时通讯网络底层结构的很大诱因。因而现在很 多工业控制系统都在尝试使用以太 【;l 作为它们的通讯媒介。但是通常来说,以太 网并不具各直接作为实时通讯网的众多条件。在以太网中,多用户共同使用同轴 电缆。因为发送冲突不可避免地会发生。当发生传输冲突是,采用c s m a c d ( 载 波监听多路访问肿突避免) 坼议来解决冲突的问题。c s m a c d 的具体原理为, 当多用户要发送数据到网路上时,即冲突发生时,各个用户的数据都会被退回, 并且各自等待一段随即产生的等待时间,当等待时间期满后,再次试图向网路传 输数据,如果网路空闲,则发送成功;如果网络仍旧有冲突的话,则继续退回数 据,并且重新等待一段随即时间。这样的冲突等待协议早成了数据传输的时间不 确定性,也就是说,数据在何时被传输并不能由用户来控制,而是一个随机时间。 这样的时间不确定性的特性决定了标准以太网其本身并不适合直用作为实时通 讯网。 c o m m u n i c a l i n gn o d e s c o m p u t e r si na r lo f f i c en e t w o r k i na nm d u s t n a is y s t e m 图21 实时以太网交换机 为了解决标准以太网时间不确定性的问题,研究者小断地尝试各种方法来对 以太删作一定的改进。罔21 9 给出了种改进方案。如图所示这种解决方 第2 章理论背景 案中添加了一个交换机。当网络中的节点要发送数据时,数据包首先由交换机进 行安排时间上的排序,然后才被发送到以台网上去。通过这种方法,不但解决了 网络上的冲突问题,也保证了数据发送的时间确定性。 类似的以太网改善方案不是唯一的。经过多年的研究之后,发现了很多种解决方 案,来实现在以太网上的实时通讯的功能。图2 2 给出了几种常见的实时以太网 与标准以太网的比较。 n o n r e a l - t i m e t o p o ft c p ,i p t o po fe t h e m e t m o d i f i e de t h e r n e t 图2 2 几种不同的实时以太网结构 如图所示,所有这些结构都以电缆作为底层的连接设备。最左侧的是非实时 以太网,也就是标准以太网,在它的基础上,剩下的三种实时以太网都做了不通 程度的修改来实现实时通讯。 第一种实时以太网是通过在t c p u d p i p 层上添加实时协议层的方法来实现 实时通讯。因为标准以太网的t c p u d p i p 层被保留了下来,这种修改过后的实 时以太网适用于i n t e m e t 的很多协议,比如说h t t p 和f t p 协议。这就意味着,使 用这种实时以太网的工业控制系统可以连接到由i n t e m e t 连接的地球上的任何站 点。但是使用这种实时以太网会造成额外的能源和存储设备的消耗。与此同时, 使用这样的实时以太网通常需要另外添加一些硬件设备,比如想图2 1 中所提及 的实时交换机设备。这样的硬件设备是用来在时间上控制系统中各个设备的数据 发送,这种控制一般都采用某种算法来实现,比如e d f ( 最早死亡的最先处理) 。 第二种改进方法去掉了标准以太网的t c p u d p i p 协议层。它将实时协议栈 直接加到以太网层的上层。以太网的硬件部分保持不变。这种改进方法就是r t n e t 第2 章理论背景 采用的方法,有关的部分将在下面的文章中具体介绍。除了r t n e t 以外,还有很 多种实时以太网也同样采取了这种网络层结构。例如,由众多生产厂商,包括西 门子公司定义的f r p f i n e tc b a ,e t h e m e tp o w e r l i n k ,t c n a 等等。 在第三种改进方案中,以太网的机制和底层结构被改动了,从而实现更好的 实时特性。典型的以太网网络结构是星状拓扑结构。但是在工业系统中,为了节 省电缆,总线或者环状拓扑结构更受欢迎。因此,很多硬实时服务都基于对设备 或者网络底层结构( 交换机或者网桥) 的硬件改变。这种改变对任意连接在这种 实时以太网的实时通讯部分设备来说都是必须的,然而对于其中的非实时部分来 说则是不必要的 1 2 】。 表2 1 列举出了现在比较常用的实时以太网以及它们各自属于上面的哪种实 时以太网结构。对这几种实时以太网的具体介绍也可以在【1 3 】得到。 表2 1几种不同的实时以太网 m o d b u s t c p e t h e m e t n e t i p o nt o po ft c p i pp r o t o c o l p n e t v n e t i p e t h e m e t p o w e r l i n k ( e p l ) t i m e c r i t i c a lc o n t r o ln e t w o r k ( t c n e t ) o nt h et o po fe t h e m e t e t h e m e tf o rp l a n ta u t o m a t i o n ( e p a ) p r o f i n e tc b a s e r c o s m o d i f i e de t h e m e te t h e r c 陬 p r o f i n e ti o 2 2r t n e t 经过以上部分的介绍,我们知道现在已经有了多种多样的实时以太网。但是, 这些实时以太网都有这样或者那样的缺点。其中的一些对网络中的节点或者网络 的底层设备有特殊的硬件要求比如上一章提到的第三种实时以太网结构。而另外 一些则只是提供软实时保障,比如说将实时协议层加到t c p i p 上的实时以太网结 构。与此同时,这些不同类型的实时以太网所提供的不同的协议或者编程接口彼 此之间也是不兼容的。这样的缺点就十分类似于现场总线多种标准之间不兼容的 问题。此外,以太网在传输媒介上也有很多的不同选择,比如说e t h e m e t 1 0 0 b a s e t ,千兆以太网,无线传输比j t l i e e e8 0 2 1 1 和蓝牙等等。这些不用传输 媒介解决方案同样也影响到了基于实时以太网的应用的可移植性和可延长性。 为了解决这一系列的问题,建立一种独立于硬件设备,同时又是灵活多变的 6 第2 章理论背景 实时以太网,r t n e t 得以研究和发展。r t n e t 是2 0 0 1 年德国汉诺威大学系统工程研 究所,实时系统组开发出来的实时以太网解决方案。它是基于r t a i 矛i x e n o m a i 的硬实时协议。r t n e t 的源代码是完全公开的,这也有利于其在各方的努力下不 断地被改进。不同于以往改变网络接口控制器( n i c ) 这样的硬件设备,或者是 使用高昂的实时交换机的方法,r t n e t 只通过软件协议的方式就实现了在以太网 上进行实时通讯。不仅如此,它还实现了硬实时的特性。对比与软实时,硬实时 要求更加严格的实时控制。也就是说,在硬实时系统中,如果某个任务在起时限 到达时仍i e t 没有被完成的话,这将导致整个系统的运行错误,从而使得整个系统 都被迫停止下来。而在软实时系统中,对任务的延迟通常带有一定的容忍度,也 就是说,在容忍度之内的延迟并不会造成系统的瘫痪。在大多数的实时控制系统 中,计划外的延迟都是不被允许的。比如说,在汽车刹车控制系统中,微小的延 迟也会造成严重的交通事故,因此,硬实时系统更被青睐。 r t n e t 的结构如图2 3 所示 1 0 。在接下来的介绍中,r t c 龟和r t m a c 将被详细 的介绍。 r t a p p l l r t a p p l ,| m a n a g c m e n t n t y t l r 1 - 翔 n e t 、* o 血 s t a c k u d 黔l n 站m 扎 l l o l o 呶c 一o | 卜髓绝 ( e g 。l i n u x a r p i lv n i ci l v n i cl l t d m a i | n o m a c 。,| r t m a e i 虽嚣 2 2 1 应用编程接口 图2 3r t n e t 的层 应用编程接口( a p i ) 提供了实时应用程序连接到i 玎n e t 的接口。这样的接口 包括s o c k e t 接口和输入输出接口。s o c k e t 接口提供了u d p i p 和s o c k e t 包来传输实时 数据;输入输出接口提供一些额外的特征,比如说为t d m a 对用户的输出口提供 全局时间和本地时间之间的同步。 7 第2 章理论背景 2 2 2 实时配置服务 实时配置服务( r t c f g ) 是在不考虑实际的传输媒介的基础上建立起来的。 也就是说,实时配置服务并不依赖于具体的支持广播传输的传输媒介的特性。它 是一种独立的机制。 实时配置服务的功能就是建立起网络,连接需要进行实时通讯的节点,并且 监督他们的工作情况,一旦发生一样,必须即使地向网络中的其他节点进行通报, 从而保证了网络的正常的工作状态。网络同步的阶段将在网络建立的时候就进行 好,同时,配置数据也会由实时配置服务来发送给网络中的每一个节点。 固囤 u p d a t e l :p r o 瓣 r e n d e z v o u s p o i n ll r e n d c z v o u s p o m t 2 矗* a g eiu o n t i g 。 玎弼a 翻瓣嘲 。l , p r o c e 锚i 畔 : c o n f i gi l a n n o u ea n n o u n c e i b r o a d l y s t i b r o a d c a s t e d i i i u p d a t e l il il s t a g e2c o n f i gil i a s s c m b l 露 : a c k n o w l e d g e c o n f i g ; i p r o c e s s i n g ic o n l l g : 。 s t a g e3 r 吣s l a g c 3r e a d y 。! b r o a d c a s l e d i l l 图2 4 添加新节点的时序图 l j 肚t e i pr o u t e s 如图2 4 所示是时序图,其代表的过程是当有新的节点要添加到网络中的整 个过程。这个过程可以被分割成三个步骤: 在配置的第一步中,新节点首先收到一个数据包,其中包含了一些有用的信 息,是它能够加入到有r t m a c 管理的网络中去。举例来说,如果在r t m a c 层 中使用的是t d m a 协议,那么新节点首先至少要被分配一个时间槽来传输数 据,所以,在此时,新节点必须知道哪个时间槽被分配给了它,从而使它占 据了整个时间段中的某个时间槽,令它有机会传输数据。 8 第2 章理论背景 在第二个阶段中,每个连接到网络的节点中的a r p ( 地址解析协议) 缓存表 和路由表将得到更新。这种更新是将新加入节点的消息加入到其他的网络节 点中去,保证了它们彼此之间的数据传输路径通畅。网络中的其余客户端在 收到新节点的更新消息后,将发一个它们各自的通知消息来确认它们已经将 新节点正确地登记在a r p 表和路由表中。同时在这个阶段,服务器端将发送 一个配置消息。当新节点接收到这个配置信息后,这就意味着,这个新节点 已经被完全正确地连接到了网路中去。 在第三个阶段中,也就是新节点被正确地连接到网络中去后,新节点将像网 络中其它的原有节点一样的工作。这包括它应该定时地以广播的方式发送周 期性检测信息( 心跳消息) 给网络中的每个节点,用以报告,它现在已经正 确地连接到网络中,并等待所有要连接到网络中的节点连接成功之后可以开 始数据传输。 当新节点连接到网络中去后,它也要想其它节点一样发送周期性检测信息, 来通知服务器端它现在的工作状态一切正常。如果在实现预约好的时间段里面服 务器没有收到正确的来自某个客户端的周期性检测信息,那么服务器将认定该客 户端已经从网络中断开,同时服务器端将发送信息通知网络中的其它客户端,将 该客户端的信息从a r p 缓冲表和路由表中删除,一次来避免仍旧有消息会被发送 到已经断开的客户端上去。 同客户端一样,当服务器端要连接到网络时,它同样也需要这样一个过程。 这样的事情发生在当某个服务器端从网络中断开后重新连接到网络的时候。通常 来说,服务器端是整个网络的灵魂,当服务器发生故障是,对于整个网络都是一 个灾难,这会令整个网络都停止工作。为了防止这样的事情发生,一般会采用一 个备用服务器。它的作用是,当初始服务器发生故障时,它将顶替初始服务器的 位置,来作为整个网络的服务器进行工作。当初始服务器又要重新开始工作的时 候,它会将配置信息以广播形式发送给网络中的每个客户端。客户端得到这样的 配置消息后,将改变a r p 表和路由表中的服务器地址,然后发送确认信息给初始 服务器。在确认信息中也包含了各个客户端本身的地址,这样就能帮助初始服务 器重新登记网络中的各个客户端,从而从新开始其服务器的工作。 在整个配置阶段发送的消息都是以以太网9 0 2 2 的标准格式来定义的。其中包 括帧的版本和帧的标识符。每个帧的长度都不应该大于r t m a c 层中采用的所设置 规范的最大传输单位( m t u ) 。在表2 2 中列举出了在实时配置服务中所有要用到 的帧。 9 第2 章理论背景 表2 1r t c f g 过程中的不同的帧 c o n f i g u r a t i o nf r a m e s t a g e1 n e wa n n o u n c e m e n tf r a m e r e p l ya n n o u n c e m e n tf r a m e c o n f i g u r a t i o nf r a m e s t a g e2 a c k n o w l e d g ec o n f i g u r a t i o nf r a m e r e a d yf r a m e s t a g e3 h e a r t b e a tf r a m e d e a ds t a t i o nf r a m e 在第一个阶段里面发送的帧可以采用广播和单播两种方式中的任意一种。这 种选择完全依赖于帧的定义。配置帧中包含了帮助新节点连接到网络中去的有用 信息。新的通知帧是由新的客户端发送到网络中的各个已经存在的客户端,来通 知它们及时更新它们各自的a r p 表和路由表。相对的,回复通知帧是以单播的方 式从收到新客户端通知帧的客户端发送回新客户端的。回复通知帧的另外一个作 用是,当已经存在在网络中的客户端收到服务器在第一阶段发送出来的配置消息 帧后,它们也会将回复通知帧发送回到服务器端,这种情况只发生在服务器重新 启动的时候。 第二阶段配置帧是由服务器发送给新客户端的。借此来通知新的客户端现在 阶段网络的状态。举例来说,这样的网络状态信息可能包括现在阶段连接到网络 中的客户端的数量,和新客户端应当发送周期性检测信息的频率等等。第二阶段 配置帧将被重复发送多次,直到收到来自新客户端的确认配置帧或者其时限期 满。由新客户端发送给服务器端的确认配置帧中包含了新客户端面前为止正确收 到的数据量。 在第三阶段,新客户端将广播就绪帧到网络中去。这个就绪帧表示这个新的 客户端已经正确地连接到了网络中,并且时刻准备发送或者接收数据。于此同时, 周期性检测信息也应该已预定好的频率加以发送,以此告知服务器本客户端工作 正常。当服务器没有在预定的时间段内收到来自某客户端的周期性检测信息,它 将发送站死亡帧给网络中的所有客户端,通知它们删除死亡客户端的所有记录。 综上所述,实时配置服务是用来建立和检测整个网络的工作状态的,所有在 这个功能下发送的数据帧,其优先级都低于在r t m a c 层中发送的数据。 2 2 3 实时介质访问控制 实时介质访问控制( r t m a c ) 是r t n e t 中的另一个重要的部分。在上文中已 经提到过,以太网的传输介质可能是e t h e m e t1 0 0 b a s e t ,千兆以太网,无线 i e e e 8 0 2 1 1 或者是蓝牙。但是这些传输介质并不为硬实时应用提供相应的q o s l o 第2 章+ 理论背景 ( q u a l i t yo f s e r v i c e ,服务质量管理) 。r t n e t 添加了r t m a c 层来实现时间决定性 的灵活的介质访问控制机制。t d m a 是在r t n e t 的r t m a c 层中常用的实时协议层。 有关t d m a 协议将在文章的下面章节中具体介绍。 r 一一一一一一一一一一一t 一一一一一一一一一一一t 一一一一一一一一一一一1 1 t y p e v e r s i o n :0 x 0 2 l f l a g s i ;( 2b y t e s ) l ( 1b y t e s ) i ( 】b y t e s ) : 1 。1 。j 。一i 图2 5r t m a c 的帧头格式 r t m a c 层中的标准帧的格式如图2 5 所示,它是根据十六进制以太网0 x 9 0 2 1 标准定制的。其中,帧的版本固定为0 x 0 2 ,直到现今的版本与以后的版本不再兼 容时,这个值才会改变。当标记位设为0 的时候,表示这个帧内封装了数据;否 则的话这个帧是功能帧,即用来实现r 1 a c 工作原理的帧。 使用r t m a c 的功能是是提供对于任意基于软件的应用,如下所示: 1 用r t m a c 帧交换控制和数据消息; 2 给不同的实时n i c ( n e t w o r ki n t e r f a c ec a r d ,网络适配器) 提供不同的规 范: 3 给非产生的或者是从网络上得到的非实时数据单独辟出一条单独的传输 通路; 4 给重要的数据包两外截取输出通路,并且给这些重要数据包重新定位到 规范专用的处理器; 2 2 4 实时火线 实时火线协议栈,也称作是i e e e l 3 9 4 协议,使得r t n e t 可以工作在火线上。 火线赋予连接多种不同设备的系列总线更好的表现性能。比如说i e e e l 3 9 4 b 现在 已经支持高达3 2 g b p s 的物理媒介传输速率。这里给出了实时火线技术的一个大 致介绍,。实时火线有两种传输模式,分别是同步传输和异步传输。在图2 6 中利 用某个周期进行了说明。 第2 章理论背景 图2 6 火线周期 每个火线周期都由同步传输和异步传输组成。同步传输通常要占到整个周期 的百分之八十以上。因为异步传输并不支持对丢失或者毁坏的数据包的重新传 输,它通常只能被用来进行状态信息的传输。相比较而言,同步传输因为起信息 保证的数据传输机制,也就是说当数据包发生丢失或者错误传输时的重发机制, 使得同步传输更加适合于零错误容忍度的数据传输。在同步传输阶段,整个网络 看似有6 4 位的定位总线地址空间。实际上,高16 位地址是用来标识网络中的节点 的。另外低4 8 位地址位用来标识实际的地址。同步传输可以被分割为两个子传输 阶段,第一个阶段要求获得另外节点的地址片,第二个阶段是响应阶段 1 6 。 2 3t d m a 2 3 1t d m a 原理 t d m a 是时分多址介质访问协议。其它的几种多址介质访问协议还有f d l v l a ( 频分多址介质访问协议) 和c d m a ( 码分多址介质访问协议) 。它们的出现主 要是为了提供多用户共同使用同一个传输介质的方式。数据流可以通过这些复用 方式,在传输媒介上进行没有冲突的数据传输。 t d m a 的传输原理简单地说就是将数据传输时间分割为多个时间槽,将各个 时间槽都分配给连接到网络中的不同用户,在每个时间槽里面,只有该时间槽的 拥有者才可以发送数据,如果其它用户在此时也需要发送数据的话,它们必须等 待,知道属于自己的时间槽达到的时候,它们就获得了想网路发送数据的权利。 t d m a 现在还是有很大的应用范围,特别是在移动通讯领域,比如说数字2 g , 1 2 第2 章理论背景 蜂窝系统,例女h g s m ,1 s 一1 3 6 ,p d c ,i d e n 和d e c t 等等。t d m a 现在同样也被应 用在卫星通讯系统和战时无线通讯系统中。 , , g u a r dp e r i o d s ( o p t i o n a l ) 图2 7t d m a 原理图 d a t as t r e a md i v i d e d i n t of r a m e s f r a m e sd i v i d e di n t o t i m es l o t s e a c hl 璐e r i sa 】l o c a t e do n es l o t t i m es l o t sc o n r a i nd a t a w i t hag u a r dp e r i o di f n e e d e df o rs y n c r o n i s a f i o n 如图2 7 所示 2 0 1 网络中的数据流首先被分割成帧。t d m a 的时间帧也就是 t d m a 的时间周期。假设每个t d m a 的时间帧长度为5 0 毫秒。接着,时间帧继续 被分割为时间槽。如果一共有5 个时间槽的话,同时每个时间槽等长的话,那么 每个时间槽的长度有1 0 毫秒。同时,每个时间槽将被分配给不同的用户。 t d m a 的主要优势为,网络中的各个节点,在不属于自己的时间槽的阶段, 就可以停止数据传输,处于等待状态,这样就可以节省整个系统的能量消耗大的 问题,这种优点对于能量供应有限的系统来说是非常有诱惑的,比如说手机系统。 在等待的时间里面,网络中的节点可以探测一下网络的状态,或者监听一下附近 是不是有工作在不同频率下的时分多址传输。通过这样的方式,就可以有效地避 免发生串频,也就是说数据发送到其它错误的频率上去。 于此同时,t d m a 的缺点也是显而易见的。各个时间槽直接通常会存在的小 小的空档会降低带宽的利用率。此外,通常情况下,本地时间和全局时间之间不 可避免地会出现时间偏差。而且这种偏差对于移动通讯来说是时刻会变化的,因 为这个偏差可能也取决于移动设备同站点之问的距离,所以,数据在网络上的传 输延迟时间也在不停的变化。因而,必须在数据传输的同时进行本地时钟和全局 第2 章理论背景 始终的同步工作。网路上的延迟情况也必须时常进行计算。这样才能保证在 t d m a 协议下,数据传输的精准性。 t d m a 的另外一个缺点是,一般手机用户应该都有这样的经验,如果当手机 靠近广播或者其它无线通讯设备时,会发生信号干扰的现象。这种干扰现象叫做 电流能量包围。这种设备之间的互相干扰也是一个很大的缺点。 最后,时间槽的设计方面也是很复杂。但是现在已经有很多的研究已经被完 成来给出t d m a 帧的设计和时间槽的设计。有关的文章,比如【4 】给出了一种如何 给出最小时间槽的方法。这种方法取决于用于实现事件触发的,完成任意时间决 定性行为的t d m a 资源。 因为t d m a 也有这样或者那样的缺点,人们也喜欢采用各种多址复用技术的 结合版本,比如说t d m a 和f d m a 的互相结合。这样的解决方案有p d c 和p h c 。 2 3 2 在r t n e t 下的t d m a 协议 现在,t d m a 除了传统地应用在移动手机通讯以外,也越来越多地被应用在 了分布式实时系统当中。比如,t d m a 就是r t n e t 中实时m a c 层中使用的实时协 议。因为r t n e t 也使用e t h e m e t 作为其数据链路层的协议,所以也是采用c s m a c d 作为解决冲突的协议。但是如同上文中所提到的,c s m a c d 并不是时间决定性 的协议,理由是c s m a c d 协议在解决传输冲突时,并不知道下一个传输数据的 节点是哪个,这完全是个随机事件。在实时系统中,每个任务都有它自己的时限。 如果任务在时限内没有被完成的话,整个系统的运行都将出现错误。因此,采用 一个时间确定性的协议来解决介质访问时的冲突问题变的十分的关键。 在r t n e t 中采用t d m a 协议作为传输介质访问协议。t d m a 被应用在r t n e t 的r t m a c 层,r t m a c 层是e t h e m e t 的上层。 r t n e t 中习惯采用主机,从机的关系,同时在网络中一般配备一个备用主机 来防止原始主机出现故障使得整个网络都没有办法正常工作的事故。从机在得知 自己占用整个系统时间的某个时间槽后,可以在任何时间加入到网络中去。这些 相关的知识在 2 2 2 中已经被介绍过了。这样的一种机制在对用户来说,建立网 络变的十分的便利。 t d m a 协议的实现可以分成两个阶段,同步阶段和标准化阶段。图2 8 给出 了同步阶段和标准化阶段的时序图。 1 4 第2 章理论背景 覃m a 靠习e r e s l a v 习ea 臣s l a v 翠e b 一一市? 百一忙 :一 肛芦f 旺c y c l e 苗t i m e o u t 辜 蝣m 嚣删 | 一一一一一一一一一一一一由,;点妪 、c a l i b r t i o n 一一一一一一一一一一一一p h a s e s 融t i m e o u l i 一型警1 普 u n l c a 默 li l | | ! 峙c y c l e j t i 苗n 啪u t 土l 。 图2 8 同步和标准化过程的时序图 第2 章理论背景 在每个t d m a 周期的开始阶段,主机负责开始同步的工作。主机首先以广播 的形式给每个网络中的节点发送同步帧。图2 9 所示就是同步帧的格式。 图2 9 同步帧格式 同步帧中的传输时间戳的值是同步帧从主机发出的时间点,这个值是依据全 局时间给出的。当网络中的各个从机收到同步帧后,各个从机分别读取各自的本 地时间,作为同步帧的接收时间。同步帧中记录的发送时间和从机记录的本地收 到同步帧的时间的差值是由网络传输延迟和本地时间通全局时间之间的偏差组 成的。因此,本地时间和全局时间之间的差值可以依照以下的公式来计算: to f f s = tr e c v t r e c v = tx m i t + tt r a n s t r e c v( 2 1 ) 当本地时间和全局时间之间的差值被计算出来后,本地时间就要依照这个差 值进行修改。在另外一种情况下,如果原始主机工作失常,由备用主机担当主机 的作用时,备用主机发送的同步帧的计划传输时间变量和原始主机的保持想同, 由此,从机可以立刻补偿好原始主机和备用主机所发送的同步帧之间的偏差。 回 ts e h e d 一一一一一一一一一一一一一一一 tx m i t tl r 。c v t

温馨提示

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

评论

0/150

提交评论