首页> 中国专利> 一种基于网络服务的管理的轻量级简单对象访问协议传输的方法及系统

一种基于网络服务的管理的轻量级简单对象访问协议传输的方法及系统

摘要

本发明公开了一种基于网络服务管理的轻量级简单对象访问协议传输的方法及系统。该方法一方面包括使用简单对象访问协议(SOAP)消息管理系统,该消息通过以下中的一个或两个映射:远程管理和控制协议(RMCP)和RMCP安全扩展协议(RSP),从而使用带外(OOB)管理设备中的网络服务来远程管理系统。

著录项

  • 公开/公告号CN101351993A

    专利类型发明专利

  • 公开/公告日2009-01-21

    原文格式PDF

  • 申请/专利权人 美国博通公司;

    申请/专利号CN200780001056.7

  • 发明设计人 赫梅尔·谢;

    申请日2007-01-12

  • 分类号H04L12/24;

  • 代理机构深圳市顺天达专利商标代理有限公司;

  • 代理人蔡晓红

  • 地址 美国加州

  • 入库时间 2023-12-17 21:19:23

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-03-06

    未缴年费专利权终止 IPC(主分类):H04L12/24 授权公告日:20120829 终止日期:20170112 申请日:20070112

    专利权的终止

  • 2012-08-29

    授权

    授权

  • 2009-03-11

    实质审查的生效

    实质审查的生效

  • 2009-01-21

    公开

    公开

说明书

技术领域

本发明涉及网络通讯领域。更具体地说,本发明涉及到一种基于网络服务管理的轻量级简单对象访问协议(SOAP)传输的方法及系统。

背景技术

网络服务体系基于一组规范,这组规范定义了丰富的基于网络的功能,并被编排以满足各式各样的服务需求。网络服务体系被利用在系统管理领域,这样可提升管理应用与被管理的资源之间的协作性。网络服务体系能够识别网络服务规范和使用需求的核心集,这样是为了揭示出系统管理的主要操作的通用集。例如,规范能够用于发现管理资源的存在,并在它们之间导航。通过调整,个别的管理资源被生成、重命名或删除。

为构造网络服务实现,网络服务规范可定义最小实现需求。网络服务规范的实现可自由扩展超出该操作集,或者,如果该功能性不适合目标设备或系,可选择不支持一个或多个功能性领域。

网络服务可自包容、自描述、在网络环境下可被公布、定位和调用的模块化应用。网络服务定义语言(Web service definition language,WSDL)可使服务提供者通过不同协议或编码来描述网络服务请求的基本格式。网络服务可以是网络终点或端口的集合。在WSDL里,终点和消息的抽象定义可以与它们具体的网络配置或数据格式绑定分离开来,这是为了允许消息和端口类型的抽象定义的再使用,消息即被交互的数据的抽象描述,端口类型即操作的抽象集合。特定端口类型的具体协议和数据格式规范可组成可以再度使用的绑定(binding)。可通过将网络地址与可以再度使用的绑定相关联来定义端口,端口集合可定义一个服务。

术语“系统可管理性”可描绘很广范围内的技术,无论是操作系统在线还是操作系统未在线的环境下,该技术都可以远程系统进行访问和控制。这些技术主要集中在最小化现场信息技术(information technology,IT)相关的维护,最大化系统对本地用户可用性和性能,最大化远程可见性和IT管理者对本地系统的访问,和最小化保持该连接完整所需要的系统能量消耗。

基于网络服务的计算机系统管理已经逐渐普及。对于系统中出现的OOB管理设备,例如网络控制器和基板管理控制器(baseboard managementcontrollers,BMC),在带外(out-of-band,OOB)或操作系统未在线的环境中使用网络服务的系统远程管理产生了重要的挑战。

比较本发明后续将要结合附图介绍的系统,现有技术的其它局限性和弊端对于本领域的普通技术人员来说是显而易见的。

发明简介

一种基于网络服务管理的轻量级简单对象访问协议传输的方法和/或系统,结合至少一幅附图进行了充分的显示和/或描述,在权利要求中有更完整的阐述。

从以下的附图和描述中,本发明的这些其他优点、方面和新颖特征、及其实施例的细节,将会得到更全面的理解。

附图说明

图1A是根据本发明实施例的带有通过RMCP/RSP映射的简单对象访问协议的示范体系的方框图;

图1B是根据本发明实施例的带有网络接口硬件的主机的方框图;

图1C是可与本发明实施例结合使用的示范客户端服务器体系的方框图;

图2是根据本发明不同实施例的带有各类SOAP传输的WS-MAN堆栈的方框图;

图3是根据本发明实施例的能够与ASF堆栈共存的WS-MAN堆栈,所述ASF堆栈带有与从ASF堆栈到WS-MAN堆栈的迁移路径(migration path);

图4是根据本发明实施例的对基于网络服务管理的RMCP分组进行出站消息处理的示范步骤流程图;

图5是根据本发明实施例的对基于网络服务管理的RMCP分组进行入站消息处理的示范步骤流程图。

具体实施方式

本发明的实施例介绍了一种基于网络服务管理的轻量级简单对象访问协议传输的方法及系统。该方法及系统的一方面包含使用简单对象访问协议

(SOAP)消息管理系统,该消息通过以下中的一个或两个映射:远程管理和控制协议(RMCP)和RMCP安全扩展协议(RSP),从而使用带外(OOB)管理设备中的网络服务来远程管理系统。

图1A是根据本发明实施例的带有通过RMCP/RSP映射的简单对象访问协议的示范体系的方框图。参照图1A,显示了简单对象访问协议(SOAP)模块102,远程管理和控制协议(RMCP)模块104,RMCP安全扩展协议(RSP)模块106,用户数据报协议(UDP)模块108,互联网协议(IP)模块110,媒介访问控制(MAC)层和物理(PHY)层(MAC/PHY)模块112。

媒介访问控制/物理层模块112包含适当的逻辑,电路和/或编码,用于控制访问在两个或更多实体间共享的媒介。媒介访问控制/物理层模块112包含MAC地址,该MAC地址对每个网络接口控制器(NIC)来说都是唯一的。媒介访问控制/物理层模块112能够将数据包编码和解码成比特。媒介访问控制/物理层模块112能够提供传送协议消息和管理,并处理物理层、流量控制和帧同步中的错误。媒介访问控制/物理层模块112能够控制如何使网络上的电脑访问到数据并许可将它传送。通过电机级的网络来传输比特流,例如电脉冲、光或无线电信号,媒介访问控制/物理层模块112可通过连接两个设备的物理媒介来传送信息。媒介访问控制/物理层模块112提供在载体上发送和接收数据的硬件,例如,电缆。媒介访问控制/物理层模块112与例如网络参考模型的最底层对应。

以太网结构包含以太网报头134、以太网有效载荷136、以及与媒介访问控制/物理层模块112相关的循环冗余校验(CRC)字段138。以太网报头字段134包含以太网目的地址和以太网源地址,以及例如帧类型。以太有效载荷136包含一部分被用来传送用户信息的以太网报文。循环冗余校验(CRC)字段138包含与CRC数据确认计算相关的数据。循环冗余校验(CRC)字段138可以被用于检测数据传输错误。

IP模块110对应网络层。网络层定义互联网络功能,并能够接收一个电脑到另一个电脑的数据,即使它处于远程网络上。IP数据报包含与IP模块110相关的IP报头130和IP有效载荷132。IP报头130包含版本及报头长度字段、服务类型字段、总长度字段、识别字段、标记字段、生存时间(time to live)字段、协议字段、报头校验和字段、源IP地址字段和目的IP地址字段。

UDP模块108在IP模块110上层。UDP模块108对应传输层。传输层能够追踪来自各个应用的数据,并将其合并成单个数据流,来将其传输到更底层。传输层同样可以负责定义潜在大量的应用数据被分段进行传输的方式。UDP模块108可以在应用进程之间发送数据,没有TCP的某些可靠性和流程管理属性,但是极大提高了效率。UDP数据报包含与UDP模块108相关的UDP报头126和UDP有效载荷128。UDP报头126包含源端口字段、目的端口字段、UDP长度字段和UDP校验和字段。

RSP模块106为RMCP消息提供完整性和反重播(ati-replay)服务。RSP消息包含RSP报头120、RSP有效载荷122和RSP报尾(trailer)124。当RSP被使用时,整个RMCP消息被封装到RSP报头120和RSP报尾124。RSP报头120被插入到UDP报头126与RMCP报头116之间。RSP报尾124位于RMCP消息数据模块的末端,安全扩展应用在UDP层之上。

RSP报头120包含2个字段,例如,会话识别和序列号。会话识别是由各个实体选择的任意的数字,并使用RSP会话协议(RSP session protocol,RSSP)开放会话请求/响应消息来交互。会话识别用来识别处理特定消息的特定会话状态。序列号用来随同滑动(sliding)接收窗口一起,来为消息提供反重播服务。序列号是由发送者插入到报头的唯一单调递增的数字。当产生会话时,序列号被初始化为0,对于给定的消息,在入站处理的开始,逐一增加。在序列号环绕返回至0之前,产生新的会话。

RSP报尾124包含4个字段,例如,填充(pad)字段、填充长度字段、下一个报头字段和完整数据字段。填充字段为被保护的RMCP消息内的完整数据字段提供数据词对齐(alignment)。填充长度字段定义出现在消息中的填充字节数量。下一个报头字段指示在RSP报头120与RSP报尾124间封装的消息类型。完整数据字段用于保持完整运算法则的结果,例如,在RSP报头120、RMCP消息以及RPS报尾124的特殊字段上执行的键控散列功能。

当被管理的客户端处于操作系统未在线状态,RMCP模块104用于客户端控制功能。在操作系统未在线的环境,RMCP消息在管理控制台与被管理客户端之间交互。客户端控制功能包括如重置、上电和断电的操作。协议可以使警报发送设备的固件在没有操作系统在线驱动器时,解析信息。

RMCP消息可以独立于媒介,根据媒介,相关的报头字段可不同。RMCP消息包含RMCP报头116和RMCP有效载荷118。RMCP报头116包含版本字段、保留字段、序列号字段和一类消息字段。版本字段可以识别RMCP报头的版本。序列号字段可指示与RMCP消息相关的序列号。序列号可用于确保可靠性超过UDP,并便于消息排序和同样消息的识别。每次从相同的来源发出唯一消息,例如,从管理控制台或客户端系统,序列号就可增加。当消息发起者由于缺少RMCP确认而再试消息的时候,消息发起者可发送带相同序列号的最初传输的原样消息,来允许消息发起者把RMCP消息与相关的确认进行匹配。

RMCP有效载荷118包含因特网赋号授权(internet assigned numberauthority,IANA)企业号码字段、消息类型字段、消息标签字段、保留字段、数据长度字段和数据字段。IANA企业号码字段可显示与实体相关的IANA企业号码,所述实体为消息定义消息型值和数据字段格式。消息类型字段可以由与之前字段的值相关的实体来定义。消息标签字段可用于匹配请求-响应对。数据长度字段可指示数据字段中出现的字节数量。数据字段可指示与特定企业号码和消息类型相关的数据。

来自管理控制台的在线请求(presence ping)可请求客户用在线响应(precence pong)来响应。来自管理控制台的能力请求可请求客户端以能力响应来响应。来自管理控制台的系统状态请求可请求客户以系统状态响应来响应。RMCP有效载荷118的消息标签字段可提供将响应绑定到其相关联的请求上的方法。例如,管理控制台发送带有设置为12h的消息标签字段的在线请求到被管理的客户端。在传输接收到的消息之前,客户端警报发送设备可复制该消息中的该消息标签字段值到相关联的在线响应响应。当管理控制台接收在线响应,管理控制台通过匹配消息标签字段,将消息映射到其相关联的在线请求。

图1B是根据本发明实施例的带有网络接口硬件的主机的方框图。参照图1B,显示了网络系统150,比如服务器,客户端,或相似的网络机器,例如,可包含主机152和网络接口硬件(NIHW)设备154。主机152包含中央处理模块(central processing unit,CPU)156、存储器158和芯片组160。CPU156、存储器158和芯片组160可以经由总线162可通信地耦合。

网络系统150能够操作或支持各种各样的网络协议。例如,网络系统150可支持传输控制协议/互联网协议(transport control protocol/internet protocol,TCP/IP)连接。在这方面,网络系统150可支持例如互联网控制信息协议(internet control message protocol,ICMP),SOAP,RMCP,RSP,UDP,IP,地址解析协议(address resolution protocol,ARP),流控制传输协议(streamcontrol transmission protocol,SCTP),和/或路径最大传输单位(path maximumtransmission unit,PMTU)发现协议。ICMP协议指的是ISO/OSI层3协议,该协议允许路由器,例如发送错误和/或控制关于在IP网络上进行分组处理的消息。ARP协议指的是TCP/IP组内的低水平协议,可将IP地址映射到相应的以太网地址。SCTP可支持公共交换电话网络(public switched telephonenetworks,PSTN)传输,它通过无连接分组网络来发信号消息,举个例子,比如IP网络。PMTU指的是可在物理网络媒介上发送的数据的最大单位。在其他实施例中,SCTP可用作传输协议,而不是TCP。

主机152给网络连接设置参数。例如,主机152设置传输层参数,包含支持时戳、窗口比例缩放、延迟响应策略、即将使用的流控制方案、阻塞处理、选择性应答(selective acknowledgement,SACK)、即将被使用的缓冲、和/或其他传输相关参数。主机152同样设置网络层参数,包含支持例如IPv4或IPv6的信息,以及如无碎片和/或跳变限制之类的选项。主机152还设置数据链接层参数,包含支持例如虚拟局域网(virtual local area networks,VLAN)和即将被使用的来源地址的信息。

CPU 156包含适当的逻辑、电路和/或编码,用于支持与网络上远程等同体或客户端相关联的管理和/或网络操作的执行。CPU 156也支持提供给网络上的远程客户端的服务应用的管理和/或执行。

存储器158包含适当的逻辑、电路和/或编码,能够存储与由CPU 156支持的网络操作和/或服务应用相关的信息。芯片组160包含适当的逻辑、电路和/或编码,用于支持例如存储管理、PCI控制和仲裁、图形界面、USB的I/O控制、音频、和/或外围设备。在这点上,芯片组160包含至少1个集成电路(integrated circuit,IC),提供支持CPU156操作的服务。在某些情况下,芯片组160提供的服务可在分开的IC中实施。可基于所提供的服务的数量和类型来选择一个或多个IC来实施芯片组160。NIHW 154可包括适当的逻辑、电路和/或编码,用于与主机152通信。在这方面,NIHM设备104可以与CPU 156、存储器158和/或芯片组160通信。

图1C是可以与本发明的实施例结合使用的示范客户端服务器体系的方框图。参照图1C,显示了系统170,它包含主机171和多个客户端,客户端173、客户端175、客户端177和客户端179。主机171包含适当的逻辑、电路和/或编码,使用简单对象访问协议(SOAP)消息来管理系统170,该消息通过以下中的1个或2个映射:远程管理和控制协议(RMCP)和RMCP安全扩展协议(RSP),来使远程管理系统,该系统使用带外管理设备或客户端的网络服务,例如,客户端173、客户端175、客户端177和客户端179。

系统170包含管理控制台,它利用RMCP来管理多个客户端,客户端173、客户端175、客户端177和客户端179。管理控制台利用操作系统未在线方法作为主要的方法来掉电或重置被管理的客户端,这样任何断电操作可按有序的方式而被处理。如果被管理的客户端没有响应操作系统在线方法,管理控制台可使用RMCP。

图2是根据本发明实施例的带有各类SOAP传输的WS-MAN堆栈的方框图。参照图2,显示了网络服务管理(WSM-MAN)堆栈200与各种SOAP传输。WS-MAN堆栈200包含MAC/PHY层模块240、IP模块238、UDP模块234、传输控制协议(TCP)模块236、RMCP/RSP模块222、超文本传输协议(hyper text transfer protocol,HTTPS)模块220、安全超文本传输协议(hypertext transfer protocol,HTTPS)模块216、传输层安全协议(transport layer securityprotocol,TLS)模块218、简单对象访问协议(simple object access protocol,SOAP)模块212、描述模块210、安全策略模块208、数据传输模块206、网络服务管理(WS-management)模块204和远程管理应用模块202。

MAC/PHY层模块240包含适当的逻辑、电路和或编码,用于控制访问在两个或更多实体间共享的媒介。MAC/PHY层模块240包含MAC地址,该MAC地址对各个网络接口控制器(network interface controller,NIC)来说都是唯一的。MAC/PHY层模块240提供传输协议消息并处理物理层、流控制和帧同步上的错误。MAC/PHY层模块240为发送和接收载体上的数据提供硬件,例如电缆。MAC/PHY层模块240对应物理层。IP模块238对应网络层。网络层定义互连网络功能,并接收从一台电脑到另一台的电脑的数据,即使它处于远程网络中。

UDP模块234和TCP模块236位于IP模块238的上层。UDP模块234和TCP模块236对应传输层。传输层可追踪来自每个应用的数据,并合并到单个数据流,以将它传输到更底层。传输层负责定义潜在大量应用数据被分段以进行传输的方式。UDP模块108用来在应用过程之间发送数据,没有TCP模块236的某些可靠性和流程管理特征,但是极大提高了效率。

RMCP/RSP模块222为RMCP消息提供完整性和反重播服务。当使用RSP时,整个RMCP消息被封装到RSP报头和RSP报尾中。当被管理的客户端处于操作系统关机状态时,RMCP/RSP模块222被用于客户端控制功能。在操作系统关机状态的环境中,RMCP消息在管理控制台和被管理的客户端之间交互。客户端控制功能包括如重置、上电和断电等操作。协议使警报发送设备的固件在没有操作系统在线驱动器时,解析信息。

HTTP模块220可以是TCP/IP应用,它可通过在客户端和服务器之间传递超文本文件和其他文件来实现网络。HTTPS模块216可使用安全套接层(secure socket layer,SSL)或传输层安全(transport layer security,TLS)运算法则来确保HTTP连接的私密性。TLS协议模块218可为各种各样的应用提供互联网上的安全通信,例如,网络浏览、电子邮件、互联网传真和其他数据传输。在WS-MAN堆栈200中的各种SOAP传输包含UDP模块234、TCP模块236、RMCP/RSP模块222、HTTP模块220以及HTTPS模块216和TLS模块218。

SOAP模块212可使用HTTP交互标记语言消息(markup languagemessage),比如通过电脑网络上的XML消息。SOAP模块212通过提供基础通知框架(basic messaging framework)形成WS-MAN堆栈200的基础层,更多的抽象层会被建立在该框架之上。SOAP模块212可实现远程过程调用(remote procedure call,RPC),在这过程中,一个网络节点(比如客户端)发送请求消息到另一个节点(比如服务器),并且服务器可发送响应消息到客户端。SOAP模块212为轻量级协议,用于在分散及分布的环境里交互结构化信息。

SOAP绑定规范可断言由绑定提供的特征。SOAP绑定规范可描述潜在协议(underlying protocol)的服务是怎样被用于传输SOAP消息集,并描述潜在协议的服务如何被用于承兑由该绑定支持的特征所形成的合约。SOAP绑定规范描述在绑定内可被预见的潜在失败的处理,并定义了构造指定绑定的实现一致性的要求。

依照发明的实施例,按照分布状态机的方式规定了通过一个或多个中间媒介生成、传输和处理SOAP消息的过程。该状态包含在给定时间点上对SOAP节点来说已知的信息,包括但不限于被集合供传输或被接收供处理的消息的内容。可通过本地处理或者从邻近节点接收的信息来更新每个节点的状态。绑定规范的目的是为核心SOAP规则增加对绑定来说比较特殊的附加处理,并详细说明潜在协议被使用来传输消息路径上的邻近节点之间的信息的方式。

分布状态机管理给定SOAP消息通过其消息路径的传输,可以是各个节点上核心SOAP处理操作与连接各对节点的绑定规范的组合。传输消息时绑定的最小责任包括指定SOAP消息信息集被传递到接收SOAP节点并在此处被绑定重组的方式,以及指定使用潜在协议的便利而影响封套(envelope)传输的方式。

模块210允许端点间通信的编程模式、传输或协议。模块210描述被WS-MAN堆栈200接受和生成的消息,并描述由WS-MAN堆栈200生成的应用级错误消息。安全策略(security profile)模块208包括许多安全策略来保护管理操作,并对攻击做出对抗响应,所述攻击是例如传输过程中的探听、拦截、重播和更改。传输层负责消息的完整、保护、鉴定和/或安全。安全策略用于描述及元数据目的,且在SOAP通信量中不可见。

数据传输模块206包含多个资源访问操作,比如获得、设置及计数值。例如WS传输规范可用作一元资源访问的基础。WS事件消息可用作多实例获取。WS事件消息可用于通过允许客户端订阅和接收事件消息来发表和公布事件。

WS管理模块204包含管理系统的基于SOAP的通用协议,所述管理系统是例如个人电脑,服务器,设备,网络服务和其他易于管理的实体。WS管理模块204被设计来满足许多需求,从而例如约束网络服务协议和格式,使得网络服务在硬件和软件的管理服务中可被执行。WS管理模块204可确保与其他网络服务规范的兼容性。WS管理模块204可使IT管理者远程访问其网络上的设备,不管系统是否是不确定、关机或其他不可利用的情况。远程管理应用模块202可使用如个人电脑桌面系统和/或服务之类的系统进行带外远程管理。

根据发明的实施例,RMCP上的SOAP包括SOAP消息在RMCP/RSP传输上的映射。RMCP/RSP是在位于UDP上层的消息导向协议层。RMCP/RSP可在客户端和服务器系统的基于ASF和智能平台管理接口(intelligent platformmanagement interface,IPMI)的带外(OOB)管理解决方案中用作传输器。RMCP可在序列、消息水平确认和受限转播方面在UDP上提供可靠性。RSP可以以消息完整性和数据源认证的方式在UDP上提供足够的安全性。根据发明的实施例,可通过增加使用RMCP+的加密支持或通过加密部分SOAP消息来提供附加加密服务。

图3是根据本发明实施例的能够与ASF堆栈共存的WS-MAN堆栈,所述ASF堆栈带有与从ASF堆栈到WS-MAN堆栈的迁移路径(migration path)。参照图3,示出了带有各种SOAP传输的网络服务管理(Web servicesmanagement,WS-MAN)堆栈300。WS-MAN堆栈300包含MAC/PHY层模块340、IP模块338、UDP模块334、传输控制协议(TCP)模块336、平台事件陷阱(platform event trap,PET)模块322、简单网络管理协议(simplenetwork management protocol,SNMP)模块324、RSP会话协议(RSP sessionprotocol,RSSP)模块326和RSSP认证及密钥生成协议(key generation protocol,RAKP)模块328。WS-MAN堆栈300也包含RSP模块330、RMCP模块332、

HTTP模块320、HTTPS模块316、TLS模块318、报警标准格式(alert standardformat,ASF)模块314、SOAP模块312、描述模块310、安全策略模块308、数据传输模块306、网络服务管理(WS-management)模块304和远程管理应用模块302。图3的各种各样协议和SOAP传输会象图2那样充分描述。

RSP模块330可为RMCP消息提供完整性和反重播服务。当RSP被使用时,整个RMCP消息被封装到RSP报头和RSP追踪器里。当被管理的客户端在操作系统关机状态时,RMCP模块332用于客户端控制功能。在操作系统关机环境里,RMCP消息在管理控制台和被管理客户端间交互。客户端控制功能包括如重置、上电和断电等操作。协议可以使警报发送设备的固件在没有操作系统在线驱动器时,解析信息。

在带外消息的处理操作中,当RMCP请求发起者创建消息时,其RMCP协议引擎可访问设备安全策略,来决定RMCP安全扩展功能是否被激活。如果功能性是激活的,RMCP模块332可决定该消息是否有合适的RSP会话存在。如果合适的会话不存在,RMCP模块332使用RSSP模块26来创建会话。如果会话存在,但是会话不处于消息传输状态,RMCP模块332将等候,直到会话到达RMCP消息被发送之前的阶段。如果会话存在且会话处于消息传输状态,RMCP模块332会传递会话ID、RMCP消息和RMCP消息长度到下一个更底层协议进行附加处理。

当发送设备RSP协议引擎接收来自RMCP模块332的消息,RSP模块330在消息的开始插入RSP报头,并将会话ID值复制到报头的会话ID字段。RSP模块330可使用会话ID来访问会话状态,增加会话的序列号,然后将该值插入到RSP报头的序列号字段。RSP模块330可在消息数据模块的结尾部分创建RSP报尾。RSP模块330计算在数据词分界上将被保护消息的完整数据字段对齐所需要的填充量。RSP模块330可使用由RMCP模块332传递的RMCP消息长度,以定位消息数据模块的结尾,并插入正确数量的填充字节和RSP报尾填充长度及下个报头字段的值。

RSP模块330使用会话ID来访问会话状态并决定随消息使用的特定完整性运算法则,并计算封装消息上的完整数据。计算值被插入到RSP报尾的完整数据字段,来创建被保护的RMCP消息。RSP模块330可更新消息长度来解决RSP报头和RSP报尾的增加,并将UDP源和目的端口值、被保护的RMCP消息长度和被保护的RMCP消息传递到下一个更低层协议,例如UDP模块334进行附加处理。

当UDP模块334接收到来自RSP模块330的消息时,发送设备的UDP协议引擎在被保护RMCP消息的开始插入其报头。UDP模块334可将RSP模块330传递的端口值复制到UDP报头的源端口和目的端口字段。UDP模块334能计算UDP分组长度和校验和,并将这些值插入到UDP长度和校验和字段。这样产生的UDP分组被传递到其他更底层协议,例如IP模块338和MAC/PHY层模块340进行附加处理,并最终传输到其目的地。

在带内消息处理操作中,当包含被保护的RMCP消息的帧到达其目的地,更底层协议例如接收设备的MAC/PHY层模块340和IP模块338可将产生的分组传送到下个更高层协议,例如UDP模块334以进行附加处理。接收设备中的UDP模块334可验证UDP报头中的校验和字段。如果校验和字段无效,UDP模块334丢弃分组。如果校验和有效,UDP模块334校验它是否支持由目的端口字段中的值来指定的上层协议。如果不支持上层协议,UDP模块334将丢弃分组。如果支持上层协议,UDP模块334将剥落其报头,更新被保护RMCP消息长度,并将被保护的RMCP消息和其长度传递到下一个更高层协议,例如RSP模块330,以进行附加处理。

当RSP模块330接收来自UDP模块334的被保护RMCP消息,RSP模块330可访问设备安全策略,来确定RMCP安全扩展功能是否激活。如果功能性无效,RSP模块330就丢弃消息。如果功能性是激活的,RSP模块330使用RSP报头的会话ID值来定位这个消息的会话状态。如果没有为该消息定位会话状态,RSP模块330丢弃消息。如果会话存在但会话处于不允许被保护RMCP消息被接受的状态,RSP模块330丢弃消息。如果会话存在并处于允许被保护RMCP消息被接受的状态,RSP模块330使用会话状态中指定的完整性运算法则、以及UDP模块334传递的被保护RMCP消息长度,来定位和验证RSP报尾中的完整数据字段。如果完整数据字段是无效的,RSP模块330丢弃消息。如果完整数据字段是有效的,RSP模块330使用RSP报头的序列号字段和会话状态中的滑动接收窗口信息,来决定消息是否是新的,是否不是先前接收的消息的副本,并确定消息相对于滑动接收窗口消息的位置。

接收的消息可为新的,且在滑动接收窗口内或者在滑动接收窗口右边。如果接收的消息不是新的,RSP模块330丢弃消息。如果接收的消息在滑动接收窗口右边,滑动接收窗口向右前进,以包含消息。根据发明的实施例,消息会被无序接收并被合适地处理。如果序列号处理成功完成,RSP模块330将序列号值保存在下一个报头字段,并使用填充长度字段中的值来计算从消息结尾移除的填充字节的数量。RSP模块330剥落RSP报头和RSP报尾,并更新RMCP消息的长度值。RSP模块330将RMCP消息及其相应的长度传递到下一个更高层协议,例如RMCP模块332,以进行附加处理。

RSSP模块326可在管理控制台与其相应的客户端建立关联。关联可保持跟踪定义该关系的状态信息,例如即将被使用的特殊运算法则、密钥材料和序列号。经由带有消息组的会话来建立关联,所述消息组被发送,以设置和拆分关联。RSSP模块326可将会话划分为四个阶段,例如发现、创建、消息传输和终止。可根据用于创建会话的管理控制台用户角色,例如操作员会话和管理者会话,将会话划分为一个或多个类型。根据发明的实施例,被管理的客户端可同时支持至少2个会话,每种类型一个。

在发现阶段中,管理控制台和被管理客户端使用RMCP在线请求/响应消息,来决定特殊的管理客户端是否支持RMCP安全扩展。如果被管理客户端支持RMCP安全扩展,且管理控制台尝试与被管理的客户端建立关联,管理控制台为被管理客户端将会话协议转换到创建状态。在创建阶段,管理控制台和被管理客户端使用RSSP打开会话请求/响应消息,以交互会话ID,并通过RSSP认证和密钥生成协议(RSSP authentication and key generation protocol,RAKP)以及会话的RSP完整运算法则。管理控制台开始被选择的认证和密钥生成协议,并生成RSP完整运算法则所需要的必要密钥材料。如果RSSP是成功的,管理控制台与被管理客户端间的关联就形成,并转换到会话协议的消息传输阶段。如果由于丢失消息导致RSSP不成功,全部实体重初始化它们的协议状态。如果管理控制台检测到丢失消息,就从头重新开始协议。

在消息传输阶段中,管理控制台和被管理客户端交互管理客户端所需要的期望消息,这些消息中的每一个都被封装到RSP报头和RSP报尾,带有在创建阶段通过的RSP完整运算法则提供的完整保护。如果管理控制台尝试关闭会话,它将转换到终止阶段。在终止阶段中,管理控制台和被管理客户端交互RSSP关闭会话请求/响应消息,并结束会话。在创建阶段结尾的会话建立将被封装到使用旁路会话ID的RSP报头中之前,多个消息被传输到RMCP安全扩展UDP端口。

RAKP模块328利用预先共享的对称密钥和基于完整运算法则的密钥散列消息认证码(keyed-hashed message authentication code,HMAC),来互相像给定的被管理客户端认证管理控制台,并生成成对的唯一对称密钥材料,该密钥材料可以与多个完整运算法则一起使用,从而为RMCP消息提供保护。PET模块322可利用SNMP陷阱协议数据单元(protocol data units,PDU)来发送警报。SNMP模块324被网络管理应用用于询问管理代理,该管理代理使用被支持的管理信息库。SNMP模块324可发送SNMP陷阱PDU。

PET模块322可从被管理的客户端发送警报到管理控制台。SNMP模块324被网络管理应用用来询问管理代理,该管理代理使用被支持的管理信息库。

管理控制台利用RMCP来管理客户端系统。管理控制台利用操作系统在线方法作为主要方法来掉电或重设被管理客户端,这样任何关机操作会以有序方式处理。如果被管理客户端没有响应操作系统在线方法,管理控制台使用RMCP。

警报标准格式(alert standard format,ASF)模块314包括一组安全扩展,对RMCP消息提供认证和完整性服务。RMCP认知管理控制台可通过发布任何之后的消息,来决定被管理客户端的RMCP能力。管理控制台发布RMCP在线请求消息到被管理客户端。RMCP认知客户端确认接收RMCP消息,只要在RMCP报头116中的RMCP版本是被客户端支持的版本。客户端用RMCP在线响应消息响应,并设置被支持的实体字段,来指出其ASF版本。管理控制台可发布RMCP能力请求消息到被管理的客户端。客户端确认收到RMCP消息,只要RMCP报头116中的RMCP版本是被客户端支持的版本。通过将系统能力先前设定返回到警报发送设备的非易失性存储,客户端用RMCP能力响应消息进行响应。

网络服务可利用SOAP模块312或者基于XML的消息和HTTP模块320或HTTPS322作为SOAP传输来进行通讯。在HTTP/HTTPS上使用SOAP需要HTTP/TLS/TCP堆栈实施。HTTP/TLS/TCP堆栈实施对嵌入式设备是复杂的,并且大HTTP(S)/TLS/TCP程序编码对有限内存资源的设备是不划算的。更进一步的是,传输协议处理所需要的处理能力可导致不可接受的响应时间或能耗。因此,SOAP的轻量级传输可用于OOB管理环境。

ASF规范为在OOB管理环境中的计算机系统远程管理而定义。RMCP模块332和RSP模块330是由ASF规范定义的一套协议的一部分。根据发明的实施例,可为系统远程管理提供网络服务器接口。

根据发明的典型实施例,在RMCP/RSP上使用SOAP带来许多有益效果。例如,RMCP/RSP模块222比HTTP模块220、HTTPS模块216、TLS模块218与TCP模块236的组合更简单。RMCP/RSP模块222是带有消息语义、可靠支持、认证支持和多播传送支持的轻量级传输。RMCP/RSP模块222从能耗、内存和处理约束方面来说都更适合OOB管理环境。在RMCP/RSP上使用SOAP可影响现有的ASF/IPMI基础构造,并使基于WS-MAN的管理解决方案用于OOB管理环境。在RMCP/RSP上使用SOAP提供更好的从ASF到基于WS-MAN的管理解决方案的迁移路径。

在RMCP/RSP上使用SOAP被称作轻量级soap传输。轻量级SOAP传输适合更小的程序编码,并且更容易去执行。与HTTP模块220或HTTPS模块216相比,轻量级SOAP传输需要更少数量的处理周期。轻量级SOAP传输为OOB操作提供安全性和可靠性。轻量级SOAP传输可支持单向消息交换模式(one-way message-exchange-pattern,MEP),请求响应MEP和SOAP消息的多点传送。

RMCP消息可独立于媒介,根据媒介,相关的报头字段可不同。RMCP消息包含RMCP报头116和RMCP有效载荷118。RMCP报头116包含版本字段、保留字段、序列号字段和一类消息字段。称为网络服务的消息类别可用于RMCP映射上的SOAP。版本字段识别RMCP报头的版本。序列号字段可指示与RMCP消息相关联的序列号。序列号用于确保UDP上的可靠性,并且便于消息排序和同样消息的识别。在每次唯一消息从相同来源发送时,例如从管理控制台或客户端系统,序列号增加。当由于丢失RMCP确认,消息发起人重试消息时,消息发起人发送最初随相同序列号传输的准确消息,来允许消息发起人将RMCP消息与相关的确认相关联。

RMCP有效载荷118包含因特网赋号授权(internet assigned numbersauthority,IANA)企业号码字段、消息类型字段、消息标签字段、保留字段、数据长度字段和数据字段。IANA企业号码字段指示与定义消息类型值和消息数据字段格式的实体相关联的IANA企业号码。为RMCP上的SOAP分配新的IANA企业号码。消息类型字段由与在先字段中的值相关的实体来定义。例如,对于RMCP上的SOAP,对于单播单向SOAP消息来说,消息类型字段的值等于0。对于多播单向SOAP消息来说,消息类型字段的值等于1。对于单播SOAP请求,消息类型字段值等于2。对于单播SOAP响应,消息类型字段值等于3。对于多播SOAP请求,消息类型字段值等于4。

消息标签字段被用来匹配请求-响应对。数据长度字段指示表示数据字段的字节数量。数据字段指示与特殊企业号码和消息类型相关的数据。例如,使用保留字段来将RMCP上的SOAP的数据长度字段扩展到2字节,以至于SOAP消息可增至65535字节长。序列、消息确认和如ASF规范中定义的转发机制可被使用而不进行任何修改,以提供比UDP更好的可靠性。

轻量级传输的统一资源标识符(uniform resource identifier,URI)可根据以下句法定义:

soap.rmcp://<host>[:<port>][/<rel_path>][?<query>]

URI方案的语义包含许多缺省端口号码,例如对于OOB管理服务,RMCP为0x026F或RMCP/RSP为0x0298。如果端口是专用的,相应的端口号码就被使用。如果端口号码不是专用的,就会使用缺省的端口号码。主机被分解到IP地址。IP地址和端口被用来发送消息。

图4是根据本发明实施例的对基于网络服务管理的RMCP分组进行出站消息处理的示范步骤流程图。根据图4,示范步骤从步骤402开始。在步骤404中,RMCP请求发起人接收SOAP消息。在步骤405中,RMCP报头被插入到SOAP消息中。在步骤406中,RMCP协议引擎访问设备安全策略,来决定RMCP安全扩展功能是否被激活。如果RMCP安全扩展功能未被激活,控制转到步骤407。在步骤407中,决定安全是否是必需的。如果安全不是必需的,控制转到步骤408。在步骤408中,消息被丢弃。如果安全是必需的,控制转到步骤409。在步骤409中,RSP模块330用于更新消息长度,来解决RSP报头和RSP报尾的添加,并将UDP来源和目的端口值、RMCP消息长度、以及RMCP消息传送到下一个更底层协议例如UDP模块334进行附加处理。在步骤411中,UDP模块334接收来自RSP模块330的消息,然后发送设备的UDP协议引擎在RMCP消息的起始插入其报头。控制转到步骤430。

如果RMCP安全扩展功能被激活,控制转到步骤410。在步骤410中,将决定对于SOAP消息来说是否存在合适的RSP会话。如果对于SOAP消息来说不存在合适的RSP会话,控制转到步骤418。在步骤418中,RSSP模块326被允许去创建会话。控制转到步骤416。如果对于SOAP消息来说存在合适的RSP会话,控制转到步骤412。在步骤412中,将决定RSP会话是否在消息传输阶段。如果RSP会话不在消息传输阶段,控制转到步骤414。在步骤414中,系统等待特定时间段,直到会话到达RMCP消息被发送之前的该阶段,然后返回控制到步骤412。如果RSP会话在消息传输阶段,控制转到步骤416。在步骤416,RMCP模块332将会话ID、RMCP消息和RMCP消息长度传送到下个更低层进行附加处理。

在步骤420中,发送设备的RSP协议引擎接收来自RMCP模块332的SOAP消息,RSP模块330在消息的起始插入RSP报头,并将会话ID值复制到RSP报头的会话ID字段。在步骤422,RSP模块330使用会话ID来访问会话状态,增加会话序列号,然后将会话序列号值插入到RSP报头的序列号字段。在步骤424中,RSP模块330在消息的数据模块的结尾创建RSP报尾。RSP模块330计算在数据字边界上对齐被保护消息的完整数据字段所需的填充数量。RSP模块330使用RMCP模块332传递的RMCP消息长度来定位消息数据模块的结尾,并插入填充字节的正确数量,以及RSP报尾的填充长度值和下一个报头字段的值。RSP模块330使用会话ID来访问会话状态,并决定随消息使用的特殊完整性运算法则,并在封装消息上计算完整性数据。计算值被插入到RSP报尾的完整性数据字段,来创建被保护的RMCP消息。

在步骤426中,RSP模块330用于更新消息长度,来解决RSP报头和RSP报尾的增加,并将UDP源和目的端口值、被保护RMCP消息长度和被保护RMCP消息传递到下一个更低层协议,例如UDP模块334进行附加处理。在步骤428中,UDP模块334接收来自RSP模块330的消息,然后发送设备的UDP协议引擎在被保护RMCP消息的起始插入其报头。在步骤430中,UDP模块334将RSP模块330所传递的端口值复制到UDP报头的源端口和目的端口字段。在步骤432中,UDP模块334计算UDP分组长度和校验和,并插入这些值到UDP长度和校验和字段。在步骤434中,得出的UDP分组被传递到其他更低层协议,例如,IP模块338和MAC/PHY模块340进行附加处理,并最终传输到其目的地。然后控制转到结束步骤436。

图5是根据本发明实施例的对基于网络服务管理的RMCP分组进行入站消息处理的示范步骤流程图。根据图5,示范步骤开始于步骤502。在步骤504中,更底层协议例如接收设备中的MAC/PHY层模块340和IP模块338将接收的被保护RMCP消息传递到下一个更高层协议,例如UDP模块334进行附加处理。在步骤506中,接收设备中UDP模块334验证UDP报头中的校验和字段。在步骤508中,确定校验和字段是否有效。如果校验和字段是无效的,控制转到步骤510。在步骤510中,UDP模块334丢弃分组。如果校验和字段是有效的,控制转到步骤512。在步骤512中,确定接收的消息是否支持目的端口字段的值所指定的上层协议。如果接收的消息不支持上层协议,控制转到步骤510。在步骤510中,UDP模块334丢弃分组。如果上层协议被支持,控制转到步骤516。在步骤516中,UDP模块334剥离其报头,更新被保护RMCP消息长度,并传送被保护RMCP消息及其长度到下一个更高层协议,例如RSP模块330以进行附加处理。

在步骤518中,RSP模块330从UDP模块334接收被保护RMCP消息,RSP模块330访问设备安全策略来确定RMCP安全扩展功能是否被激活。如果RMCP安全扩展功能未被激活,控制转到步骤519。在步骤519中,确定安全是否必须。如果安全不是必须,控制转到步骤510。在步骤510中,RSP模块330丢弃消息。如果安全不是必须,控制转到步骤534。

如果RMCP安全扩展功能被激活,控制转到步骤520。在步骤520中,确定RSP模块330是否使用RSP报头的会话ID值来定位消息的会话状态。如果不能为消息定位会话状态,控制转到步骤510。在步骤510中,RSP模块330丢弃消息。如果能为消息定位会话状态,控制转到步骤522。

在步骤522中,确定会话是否处于消息接受阶段。如果会话不在消息接受阶段,控制转到步骤510。在步骤510中,RSP模块330丢弃消息。如果会话处于消息接受阶段,控制转到步骤524。在步骤524中,RSP模块330使用会话状态中规定的完整性运算法则、以及UDP模块334传递的被保护RMCP消息长度来定位和验证RSP报尾中完整性数据字段。在步骤526中,确定完整性数据字段是否有效。如果完整性数据字段是无效的,控制转到步骤510。在步骤510中,RSP模块330丢弃消息。如果完整性数据字段是有效的,控制转到步骤528。在步骤528中,RSP模块330使用RSP报头的序列号字段和会话状态中的滑动接收窗口信息来确定接收的消息是否是新的(而不是先前接收消息的副本)以及消息相对于滑动接收窗口的位置。如果接收的消息不是新消息,控制转到步骤510。在步骤510中,RSP模块330丢弃消息。

如果接收的消息是新消息,控制转到步骤530。在步骤530中,接收的消息是新的,并且不是在滑动接收窗口中,就是在滑动接收窗口右边。如果接收的消息在滑动接收窗口的右边,滑动接收窗口向右前进,以包含消息。根据发明的实施例,消息被无序的接收,并合适地处理。在步骤530中,如果序列号处理成功完成,RSP模块330将序列号值保存在下一个报头字段中,并使用填充长度字段中的值来计算从消息结尾移除的填充字节的数量。在步骤532中,RSP模块330剥离RSP报头和RSP追踪器,并更新RMCP消息的长度值。在步骤534中,RSP模块330传递RMCP消息和相应长度到下一个更高层协议,例如RMCP模块332进行附加处理。控制然后转到结束步骤536。

根据发明的实施例,一种基于网络管理的轻量级简单对象访问协议传输的方法及系统包括:使用简单对象访问协议(SOAP)312消息管理系统150,SOAP312消息在轻量级传输协议上映射。轻量级传输协议是以下中的一个或两个:远程管理和控制协议(RMCP)332、以及RMCP安全扩展协议(RSP)330,从而使用带外(OOB)管理设备中的网络服务来远程管理系统,所述带外管理设备是例如客户端173、客户端175、客户端177和客户端179。可使用映射SOAP消息以及一个或多个网络服务来管理系统150。轻量级传输协议给OOB操作提供安全和可靠性。轻量级传输协议支持单向消息交互模式(message-exchange-pattern,MEP)、请求——响应MEP和SOAP消息的多路传输。轻量级传输协议支持SOAP消息的传输和接收确认。可通过消息认证和/校验或映射SOAP消息的完整性来保护系统150。轻量级传输协议还用于支持SOAP消息的反重播保护。

发明的另一个实施例提供了一种可机读存储,其上存储有计算机程序,所述计算机程序带有至少一个代码段,该代码段可被机器执行,从而使机器执行如上所述的基于网络管理的轻量级简单对象访问协议传输的步骤。

申请人提出,此处没有论点或陈述应该被解释为以下供认或表示:申请人的权利要求的实施必然导致与ASF规范不兼容的操作。相反,申请人提出,申请人的权利要求的实施仍然会导致与ASF规范完全兼容的操作。

因此,本发明可以用硬件、软件或者硬件和软件的组合实现。本发明可以在至少一个计算机系统的集中模式下实现,或者在分布式模式下实现,在所述分布式模式下,不同组件分布在几个互联的计算机系统中。采用任何适用于执行本发明介绍的方法的计算机系统或者其他设备都是合适的。一种硬件、软件和固件的典型组合是具有计算机程序的通用计算机系统,当程序被加载和执行时,控制所述计算机系统以使其执行本申请描述的方法。

本发明还可以嵌入到计算机程序产品内,所述计算机程序包含能够实现本发明方法的全部特征,当其安装到计算机系统中时,通过运行,可以实现本发明的方法。本文件中的计算机程序所指的是:可以采用任何程序语言、代码或符号编写的一组指令的任何表达式,该指令组使系统具有信息处理能力,以直接实现特定功能,或在进行下述一个或两个步骤之后实现特定功能:a)转换成其它语言、编码或符号;b)以不同的格式再现。然而,本领域技术人员能够理解的计算机程序的其它含义也被本发明所包含。

本发明是通过一些实施例进行描述的,本领域技术人员知悉,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本申请的权利要求范围内的实施例都属于本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号