多媒介通信系统链路管理的设计和实现解析_第1页
多媒介通信系统链路管理的设计和实现解析_第2页
多媒介通信系统链路管理的设计和实现解析_第3页
多媒介通信系统链路管理的设计和实现解析_第4页
多媒介通信系统链路管理的设计和实现解析_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、多媒介通信系统链路管理的设计和实现张晓驹, 张有光 时间:2008 年 09月 02日字 体 : 大 中 小关键词 : 链路 管理层 自动切换客户端 通信设备摘? 要: 军事通信系统和某些民用领域对通信可靠性和抗毁性的需求使得 点到点的 链路倾向于建立在多种通信媒介、多种协议上。介绍了一种借鉴OPC规范,基于COM技术,在多协议、多通信媒介上进行链路管理和调度的解决方案 ,并给出 了具体实现。关键词: 多种通信媒介 多协议? 链路调度? COM在许多应用中 , 如军事通信中的 C4I 系统、政府部门和特殊行业中的某些重 要通信系统 , 对通信网络的可靠性、抗毁性有着非常苛刻的要求 , 既要求在

2、正常 情况下有较高的通信效率 ,又要求在恶劣环境下能保证基本的通信 ,因此仅仅依 赖单一通信媒介难以达到可靠性的要求。在 C4I 系统中, 把现有的和未来的全部 传输媒介资源综合到通信系统中已经成为通信网络追求的目标之一 1 。在民用 领域,例如高速公路联网收费系统中,因为需要一个24X7的可靠通信平台,亦采用了不同类型的通信媒介(如图1),它通常把专线作为主用线路,把公众电信网 提供的拨号线(普通调制解调器或ISDN)连接作为临时备用线路2。不同通信媒 介的效率和经济性差别很大。对不同类型的通信链路必须进行综合调度,做到自适应不同的网络环境,自动在主用链路和多条备用链路间进行切换。这样才能适

3、 应这些系统对网络生存能力的要求。传统开发过程中,常把最上端的应用程序直接建立在多种 通信设备上,在应用程序中直接对不同类型链路进行管理和调度,这对整个系统的开发、升级、扩展带来了很大的问题。一方面应用软件开发者需要耗费大量精力 在不同的通信设备上,而这些工作在别的同类项目中无法复用;另一方面,当系统 需要升级通信设备,或者扩展新的通信媒介时,几乎相当于重新开发整个系统。 同时,在多个应用程序共享通信设备时容易产生冲突。借鉴超链思想以及微软和 工业控制界共同推出的 OPC(OLE for process control)规范的设计思路,提出了基于COM技术的解决方案。1系统设计1.1设计思想可

4、以把所有媒介所提供的通信资源看作单一的逻辑数据链,即超链,它表示了每一个节点到相邻节点的连接 ,而并不关心具体的通信媒介。OPC规范通过 提供标准接口的方法,使下层设备无需了解上层应用,上层应用亦无需关心下层 设备的细节4。借鉴二者的思想,在应用软件和通信设备间增加了一层类似中间 件的通信平台,使得应用软件和通信设备间的无关性得以实现,并把对通信设备 的访问进行统一管理,解决了并发冲突问题。1.2系统结构根据ISO七层网络体系定义,在传送(Transport)层之上对底层进行封装,是 因为在多媒介情况下,多种协议是分布式网络体系的一个基本要求。一方面 ,一 般情况下,不同的通信媒介所适用的传送

5、层协议是完全不同的;另一方面,系统中 所传输的不同数据类型对通信性能(如一次可传输消息大小、实时性等指标)的 要求差别很大。针对不同数据类型,设计具有不同性能的传送层协议,并实现自 适应调度,是实际应用的需求。只有在传送层之上进行封装才有可能屏蔽不同媒 介所带来的差异。系统整体描述如图 2所示。链路的调度 管理层对不同协议、不同通信媒介以及不同链路进行统一管理 和调度。通信媒介1n表示诸如专线网络、拨号线-MODEM无线调制解调器- 无线电台及与此类似层次、将来扩展的不同通信媒介 , 链路调度管理层对这些通 信媒介进行初始化、激活、配置 , 并获得它们的数据接口和所有应该得到的状 态。协议1n

6、表示诸如基于TCP的协议、基于UDP勺协议、半双工高速短波协 议8 以及将来扩展的各种不同协议 , 它们的管理同样由链路调度管理层进行 ,接 口并不直接暴露给上层 , 而是由管理层封装后向上层提供统一的接口。协议模块 在需要发送数据或者有数据到来时并不直接与各通信媒介模块通信, 而是通过链路管理层访问通信媒介模块所提供的接口。这是因为许多通信模块( 与物理设备联系紧密 )并不支持并发访问 , 链路管理层可把对它们的访问串行化。1.3 模块化和可扩展性? 在不同的应用中 , 所用的协议和通信组件不尽相同 ,要求在链路管理层不做 过多的改动 ,既能加入新的协议模块和通信媒介模块。这样就需要设计和实

7、现做 到模块化 , 且各模块和链路调度模块之间必须隔离开。链路调度模块通过尽量统 一的接口对各模块进行调度和管理。微软的组件对象模型技术(CO M就提供了这种特性。OPC规范应用COM/OL技术实现了模块化和可扩展性,但OPC规范主 要针对工业控制领域,在本设计中无法完全实现,故直接采用COM技术,借鉴 OPC的设计思想构建本设计。每个协议模块和通信媒介模块均是一个单独COM组件,通过接口和回调接口与链路调度模块进行通信 ,链路管理模块以总线方式 实现对协议模块和媒介模块的管理。而协议组件和通信媒介组件之间的通信则 由链路调度模块转发。所面临的难点之一在于协议组件和通信媒介组件可以有相同的数据

8、接口 , 但 是这些组件的特性千差万别 , 在设置参数和获得当前状态方面无法做到大致统一 的接口 , 可以通过组件自解析的方式解决。链路管理模块和这些组件之间的参数 用字符串或数组的方式传递 , 各组件在得到这些字符串后根据本身的情况进行解 析, 得到特定的参数。难点之二,如前文所述,通信媒介组件与物理层密切相关 ,很难做到支持并行 化的输入。在多条独立链路不同的线程中同时使用同一通信媒介时 , 各链路对物 理层的操作将产生冲突 , 必须对通信媒介组件的数据输入进行串行化处理(排队),使同一时刻,只处理一个输入。在COMA件的多线程模型中,单线程套间(STA)模 型有如下特点:如果某COMA件

9、的对象生存在单线程套间中,则只有与它同在一 个套间特定线程可以访问该对象。不在同一套间的其他线程必须通过列集 (marshal)技术才能访问该对象。这种技术基于COM ORPC议和消息队列机 制,自动把对该对象的访问串行化了。所以如果每个通信媒介组件都只有一个对 象且生存在STA中,则通过列集技术对它的访问自动被串行化。1.4 媒介模块和协议模块的设计媒介组件封装了与网络平台有关的操作,向上提供了建链、断链、发送数 据、接收数据(回调)、参数设置、状态改变报告(回调)、参数查询、状态查询 等接口。例如在高速公路网络中,专线网络和拨号线后备链路都基于IP网 络,Windows套接字接口(Wins

10、ock)提供了一个基本与协议无关的传送接口从而 封装了基本操作。但是对于不同协议,具体操作仍稍有不同,如面向连接的TCP 和面向无连接的UDP向上层暴露的SOCKE连接过程就很不相同,同时对不同协 议参数信息的查询和设置接口差别也很大 ;而拨号线后备链路在SOCKE连接 之外还有拨号、挂断等操作。媒介组件在Win sock基础上又给出了一层封装,把建立链路、撤销链路、等差别较大的操作在此层完成,向上层暴露统一的建链方法。对于参数的设置和信息查询,媒介组件同外界通过不定长度的数组或字符串 交换,这样在形式上掩盖了差异,保持了接口的统一性。对于特殊的后备媒介,如无线MODE无线电台方式,媒介组件必

11、须提供与IP 网络相一致的接口,而对设备的操作(串口、MODEM电台)进行封装。节点ID系 统(与IP系统类似)也在此组件中进行管理。在媒介模块之上完成的协议控制以独立的 COMfi件方式存在。这是考虑到 媒介类型与协议并非一一对应,一种协议可能适用于多种媒介,一种媒介亦可能 使用多种协议。2链路的管理、维护和调度链路的管理、维护和调度是本设计的重点内容之一,可从运行角度和维护测 试角度分别考虑。在运行中,系统的每个节点都可能通过多条链路与多个节点通 信,每条链路所使用的通信媒介和协议又不尽相同。与同一节点通信的过程中,有可能在不同的通信媒介和协议间切换。同时,链路管理层必须实时地获得各条 链

12、路的运行状态和当前参数,如通断情况、吞吐量等,以作出正确的调度决策。 从维护测试角度,需要设置各条链路所涉及的协议参数和涉及通信媒介的参数;新节点必须能够自动加入,成为任一节点的 客户端。2.1多链路管理链路管理层必须维护一张链路表,以记录各条链路的情况(如表1)。目的ID是节点的全网唯一标识,通信媒介用字符标识,链路标识是链路的唯 一标识。对应目的地址为下一层(特定通信媒介)的地址:若基于UDP/IP或TCP/IP,则为IP地址;若基于短波或者别的通信媒介,则为在下一层约定的地 址。优先级表示与同一目的 ID 通信时优先采用哪条链路。与同一节点间的链路 可能有数条 , 它们互相独立且对等 ,

13、 只是优先级不相同。链路状态包括中止和激 活两种。中止状态指链路保持在侦听态 , 能接收数据帧并上报链路管理组件 , 而 发送线程中止运行 ; 激活状态指两节点在此链路上进行通信。链路由中止状态到 激活状态转换的过程称为激活 , 包括启动发送线程 , 通过发送握手帧和接收握手 成功帧与目的 ID 进行握手等过程。链路表包括了所有可能使用的链路 ,在本节点启动时 , 只激活优先级最高的 链路。若优先级最高链路无法激活 , 则激活次高的链路 , 以此类推, 直到连接上。 若激活了非最高优先级链路 , 则保持高优先级链路的“试图连接状态”。若均无 法激活, 则停止主动激活 , 等待被动激活。在所有激

14、活的链路上 ,服务器主动发出 “心跳信号” , 侦测链路状态 , 包括链路是否中断、心跳信号回应时间等 , 并实时 反映到链路表上。本节点与主服务器 (即主父节点 )和备份服务器 (如有)之间的链路必须在本 节点运行之前配置 ,与各客户端 (子节点)之间的链路可在运行中动态配置 ,由客 户端主动发起 , 申请加入。2.2 链路间切换在与一个节点通信的过程中 ,当主用链路 (优先级高)断链或拥塞时 , 必须 自动切换到备用链路上进行数据通信 , 称为自适应切换 ; 亦可禁止自适应切换 而由上层控制 , 称为非自动切换。在许多网络中 , 父节点备用链路通常是公用的 , 无法由某两个节点永久占用 ,

15、 只能在需要时申请激活。在自动切换模式下 , 切换原则是 : 尽量使用高优先级链路进行通信。分五种 情况讨论 :(1) 网络层交给链路层一系列待发送消息 , 此消息结构中包含了目的 ID。链路层通过链路列表找到此目的ID对应的已经激活的链路中优先级最高者 进行通信。 (2) 当正在通信的链路中断时 , 保持该链路的试图连接状态。激活优 先级次之的链路 ,若无,则再次之(此链路应在切换链路集内 )。如果没有链路可 以被激活,则认为通信中断;若激活低优先级链路,则从未被ACK勺消息开始发 送。 (3) 在通信中 , 高优先级的链路被激活时 , 中断正在使用的链路 ,转移到高优 先级的链路上,从未被

16、ACK的消息开始发送。(4)未在通信中的链路中断时(由心 跳信号侦测得知 ), 保持该链路试图连接状态 , 激活优先级次之的链路 , 若无, 则再 次之(在切换链路集内 )。如果没有链路可以被激活 , 则认为通信中断。 (5) 未在 通信中 , 高优先级的链路被激活时 , 中断低优先级链路。非自动切换模式下的要点是保证在切换过程中数据的安全性 , 不丢失也不重 复。向上层提供的非自动切换接口提供三个功能:a、激活某条链路;b、将当前 通信切换至某条链路;c、中止(disable)某条链路。在产生通信动作前,上层可 以指定目前激活的链路 (同时中止其它链路 ,使激活链路数保持在 1); 如果不能

17、 激活指定链路 , 则报告到上层 ,由上层继续进行调度。激活链路只有一条 , 有通信 动作产生时,链路层自然采用这条链路进行通信。如果需要从链路A切换到链路B,上层必须先激活链路B,此时有A/B两条链路激活。但是通信仍在链路A进行;然后上层将当前通信切换至链路B;链路管理层待上条消息发送成功或失败后,再切换至链路B;最后上层disable链路A,使激活链路仍然只保持一条。在这种 模式下,尽管是非自动切换,但是链路管理层仍然对其过程进行干预,保证了数据 的安全性。链路切换流程如图3。2.3节点动态加入新的节点希望成为某节点的子节点时,配置与该节点(服务器)之间的链路, 并向该节点发出加入申请帧,

18、等待对方回传,从回传信息中判断对方是否允许本 节点加入。与服务器之间有可能是多链路,申请帧中必须包含所有这些链路的信 息。本节点收到新的客户端加入本网络的申请帧时,由服务器操作员审核是否允 许该客户端加入。若允许,从申请帧中获得与该节点间所有链路的信息写入链路 表,并把对方发送申请帧所使用的链路设为激活状态,然后发送“成功”应答帧 至该节点,至此,即加入了一个新的子节点。若未通过审核,则发送“失败”应答 帧至该节点。本系统的优点在于:(1)基于超链思想,对点到点的多种类型链路、多条链路 进行统一管理,使具体通信事务不必关心链路的调度;对外接口简单,易于二次开 发;(2)基于COM技术和OPC规

19、范设计思路,把协议、媒介驱动、链路管理作为独 立的组件,使系统的可扩展性大大增强,可以在基本不改变其他要素的情况下,独 立地升级或增加协议或媒介驱动协议,系统的灵活性和适用范围大大增加。参考文献1 Young, P, Mould in , R. Multiply conn ected survivable n etwork architectures for dynamic,on the move,taticalenvironments.?Military Communications Conference, 1993. MILCOM / 93.? Conference record. Com mun icatio ns on the Move. , IEEE 2张有光,赵振生,吴铭.智能交通系统中数据通信协

温馨提示

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

评论

0/150

提交评论