王近涛
(中国船舶重工集团公司第七二二研究所 武汉 430079)
随着海军舰艇通信系统建设的飞速发展,系统规模不断扩大、接入的设备和承载的业务也不断增多,对通信控制管理技术提出了更高的要求。进一步提高控制管理的可扩展性、确保通信系统的高效运行显的尤为重要。
目前舰船通信系统的控制管理多采用了SNMP协议和私有协议,然而由于SNMP缺乏协议扩展和复杂层次配置内容的表示能力,私有协议的二进制数据流表示方式使得管理协议的可读性差,不便于扩展,这些不足决定了二者不适宜作为未来复杂通信系统的控制管理协议。
基于 XML(eXtensible Markup Language,可扩展标记语言)的数据表示方式是目前网络及设备控制管理技术的最新研究方向[1],XML技术具有良好的数据存储格式、可扩展性强、结构化程度高、内容具有良好的可读性并且易于网络传输的特点[2]。上述优点使得XML技术可作为未来海军舰艇通信系统内部的控制管理协议。
XML是由 W3C(World Wide Web Consortium)于1998年2月发布的一种标准,它是一种数据交换格式,具有较强的灵活性和可扩展性[3]。强大的数据描述能力使XML适宜于舰船通信系统的网络管理及设备控制协议。XML作为舰船通信控制管理协议具有如下的优点:
1)数据结构性方面,XML可以方便有效地表示树形结构化数据,这就使得XML可以作为表示数据的手段[4]。
2)扩展性方面,XML还是一组用于设计数据格式和结构的规则和方法,可以生成方便不同的计算机和应用程序读取的数据文件[5]。
3)在数据传输方面,可以根据需要采用多种协议来传输数据。
4)在数据处理方面,XML提供了DOM以及SAX API接口,方便用户提取XML文档中描述的管理数据信息[6]。
完整的通信控制管理协议应包括通信协议栈、控制管理模型和管理信息模型三个要素,这三个要素分别实现了通信控制管理协议数据传输、控制管理模式和数据表示等方面的功能,结合起来共同实现了控制管理接口的全部功能。组成如图1所示。
图1 通信控制管理协议组成
通信协议栈完成控制管理消息端到端的通信[7],并将消息在应用程序与被管控对象代理间传送[8],基于XML的通信控制管理接口的通信协议栈是TCP/IP,采用 HTTP/POST绑定SOAP请求[9]。通信协议栈应具备如下的基本功能。
1)信息的传输与系统无关。通信协议栈应在操作系统上进行封装,协议栈的实现应屏蔽操作系统的差异,以保证协议可以在不同的操作系统上运行。一般采用标准的TCP/IP协议栈或在之上的HTTP协议,通过HTTP的GET或POST消息实现应用程序和被控对象间的通信。
2)信息的传输应具有可靠保证。应具备可靠消息服务的能力,控制XML消息的发送和确认,包括完整性检查、重新发送控制、错误通知、消息的确认等。
3)支撑大批量的数据传输。在基于XML的控制管理接口中,传送大数据量的配置信息、性能数据和故障信息,协议栈应提供FTP等其它数据传输方式,提高传输效率。
控制管理模式对信息的传送采用适当的方式进行建模。根据设备端和管理端所处的网络环境的不同,主要有两种工作模式:Peer to Peer对等模式和Client/Server主从模式[13]。设备端在启动后根据系统的配置启动正确的工作模式流程,管理端同时处理两种工作模式。
1)Peer to Peer对等模式
在Peer to Peer对等模式下,设备端和管理端一般都处于同一个局域网内部,通讯无需经过防火墙或安全隔离设备等隔离系统时,在该模式下设备端和管理端都同时作为服务端和客户端,既提供接口供对方调用,也调用对方的服务接口。组成如图2所示。
图2 对等模式组成图
2)Client/Server主从模式
当管理端处于网络中而设备端位于隔离系统后,在管理端与设备端之间存在防火墙等隔离系统时,由于防火墙的存在,设备端只能向管理端发送Request消息,不能发送Response消息,因此设备端只能作为Client,调用管理端提供的服务接口,管理端作为Server,向设备端提供服务功能,供设备端调用。组成如图3所示。
图3 主从模式组成图
管理信息模型是指通信控制管理应用程序透过控制管理接口所看到的被管对象间的抽象表示形式。在基于XML的网络管理接口中采用XML/Schema为管理信息进行建模。
考虑到目前舰船通信控制管理系统对设备和子网的管理多采用SNMP协议和私有协议,基于XML的管理方案需要对以往的协议进行适配,以保障通信控制管理协议南向接口可适应目前通信系统不同设备的管理需求。下面将沿用传统网络管理的管理者—代理模型,探讨基于XML的控制管理系统可能采取的方案。
第一种方案保留SNMP代理,用XML_based管理者代替SNMP管理者,其主要结构模型如图4所示。
图4 XML_based Manager—SNMP Agent模型
在此方案中采用XML DTD或Schema描述管理信息结构(类似于SNMP SMI),HTTP作为传输数据的手段。管理数据以XML文档格式存取,并用标准的XML技术进行处理。由于该管理者和SNMP代理双方所采用的技术不同,在它们之间需要增设一个XML/SNMP网关,管理者通过此网关来使用和管理现有的SNMP代理。XML/SNMP网关实现SNMP SMI到XML Schema的转换。
当不考虑现有控制管理协议,开发一个全新的通信控制管理系统时,利用XML_based管理者管理XML_based代理是充分发挥XML网络管理优势的最理想方案,其主要结构模型如图5所示。
图5 XML_based Manager—XML_based Agent模型
在此方案中选用XML Schema来描述管理信息结构,管理者和代理之间采用HTTP协议进行通信,管理数据以XML格式存放。管理者通过不同的URL执行发出请求、接收回复和陷阱等各种功能。代理方使用XPath handler解析从管理者发来的XPath表达式,并通过DOM接口在事先解析好的DOM树中定位所要操作的结点,之后DOM树利用管理后端接口向系统应用程序发出取值请求,获得响应后将该结点的值层层返回发送给管理者。
舰船通信系统通常由分布式的网络传输单元组成。采用基于XML_based的网络管理模型,可有效的适应控制管理信息的扩展需求。通信控制管理系统作为管理端实现对分布式网络传输单元的统一管理。管理模型如图6所示。
在舰船通信控制管理中的控制管理消息采用基于XML标准的结构,通过XML/Schema来建
图6 舰船通信控制管理架构
模,并以XSD的形式存储在本地,作为传输XML消息合法性校验的标准。基本信息如表1所示。
表1 XML标准的文本消息结构
具体协议形式示例如图7所示。
图7 基于XML的通信控制管理消息体示例
舰船通信系统的规模不断扩大,复杂性不断增加,异构性日益普遍,传统的网络管理技术已经不能满足新的网管需求。本文利用XML技术在管理者与被管设备之间易于传递XML格式的管理消息的优点,介绍了一种基于XML技术的舰船通信控制管理技术,用于目前舰船通信设备和子网的管理方式,具有很好的理论价值和实用价值。
[1]Tostem Kylie,Frank Startup.Integrating SNMP agents with XML-based management systems[J].IEEE Communications Magazine,2004,7
[2]荣波,周旗.基于XML的新一代互联网网管方案[J].网络与应用,2002(5):68~70
[3]崔建群,吴黎兵,肖德宝.基于XML的被管网元对象模型的建立方法[J].计算机工程,31(14):132~134
[4]VeriSign White Paper.XML Trust Services,2001,11
[5][EB/OL].http://www.w3.org/Encryption/2001,2002-12-31
[6][EB/OL].http://www.w3.org/Signature,2002-12-31
[7]Entrust Technologies.Web Services Trust and XML Security Standards,2001,4
[8]cs-xacml-specification[EB/OL].http://www.oasisopen.org/committees/documents.php
[9][美]莫里森.XML揭密[M].北京:清华大学出版社,2001,6
[10]张小霞.一种基于XML与关系数据库的映射算法[J].计算机与数字工程,2011,39(2)
[11]熊才权,李永辉.基于XML的空间数据互操作与可视化的研究与应用[J].计算机与数字工程,2009,37(6)
[12]姚雅鹃.XML数据路径索引技术研究与分析[J].计算机与数字工程,2011,39(1)
[13]Entrust Technologies.XML Strategy for Authorization,2001,4