2024年4月27日发(作者:)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.8

(22)申请日 2013.07.29

(71)申请人 华为技术有限公司

地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

(72)发明人 周强

(74)专利代理机构 深圳中一专利商标事务所

代理人 张全文

(51)

H04L29/06

H04L12/24

(10)申请公布号 CN 103401859 A

(43)申请公布日 2013.11.20

权利要求说明书 说明书 幅图

(54)发明名称

一种协议转换的方法及协议转换器

(57)摘要

本发明实施例公开了一种协议转换

的方法及协议转换器,所述方法通过接收

第一设备代理发送的第一简单网络管理协

议SNMP Trap消息,所述第一设备代理支

持SNMP V3协议,所述第一SNMP Trap

消息遵循所述SNMP V3协议;将所述第一

SNMP Trap消息转换成第二SNMP Trap消

息,所述第二SNMP Trap消息遵循SNMP

V1协议;将所述第二SNMP Trap消息发

送到所述第二设备代理,所述第二设备代

理支持所述SNMP V1协议,从而实现

SNMP V3协议和SNMP V1协议之间的转

换。

法律状态

法律状态公告日

法律状态信息

法律状态

权 利 要 求 说 明 书

1.一种协议转换的方法,其特征在于,所述方法包括:

接收第一设备代理发送的第一简单网络管理协议SNMP Trap消息,所述第

一设备代理支持SNMP V3协议,所述第一SNMP Trap消息遵循所述

协议;

SNMP V3

将所述第一SNMP Trap消息转换成第二SNMP Trap消息,所述第二SNMP

将所述第二SNMP Trap消息发送到所述第二设备代理,所述第二设备代理

2.根据权利要求1所述的方法,其特征在于,所述将所述第一SNMP Trap

将第二SNMP Trap消息中的specific trap type字段的值设置为所述第一

将第二SNMP Trap消息中的SNMPTrap Enterprise字段的值设置为所述第一

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

SNMP Trap消息中的SNMPTrapOID字段中除所述任意一个bit位的其他bit

的值。

消息转换成第二SNMP Trap消息,包括:

支持所述SNMP V1协议。

Trap消息遵循SNMP V1协议;

SNMP Trap消息中的SNMPTrapOID字段中的任意一个bit位的值;

将所述第一SNMP Trap消息转换成第三SNMP Trap消息,所述第三SNMP

将所述第三SNMP Trap消息发送到第三设备代理,所述第三设备代理支持

4.根据权利要求3所述的方法,其特征在于,所述将所述第一SNMP Trap

将第三SNMP Trap消息中的团体名Community字段的值设置为第一SNMP

将第三SNMP Trap消息中的PDU TYPE字段和Version字段的值设置为

5.根据权利要求1-4任意一项所述的方法,其特征在于,所述方法还包

接收所述第二设备代理发送的第一SNMP请求消息;

将所述第一SNMP请求消息转换成第二SNMP请求消息;

将所述第二SNMP请求消息发送到所述第一设备代理。

括:

SNMP V2C协议对应的固定值。

Trap消息中的上下文名称contextname字段的值;

消息转换成第三SNMP Trap消息,包括:

所述SNMP V2C协议。

Trap消息遵循SNMP V2C协议;

6.根据权利要求5所述的方法,其特征在于,所述方法还包括:

接收所述第三设备代理发送的第三SNMP请求消息;

将所述第三SNMP请求消息转换成所述第二SNMP请求消息。

7.根据权利要求5所述的方法,其特征在于,所述将所述第一SNMP请

将所述第二SNMP请求消息中的上下文名称contextname字段的值设置为第

将所述第二SNMP请求消息中的Request ID的值设置为预先配置的所述第

8.根据权利要求6所述的方法,其特征在于,所述将所述第三SNMP请

将所述第三SNMP请求消息中的wirte community字段的值或者read

community字段的值设置为所述第二SNMP请求消息中的上下文名称的值;

求消息转换成所述第二SNMP请求消息,包括:

一SNMP请求消息中的Request ID的值。

一SNMP请求消息中的wirte community字段或者read community字段的值;

求消息转换成第二SNMP请求消息,包括:

将所述第三SNMP请求消息中的Request ID的值设置为预先配置的所述第

9.根据权利要求5-8任意一项所述的方法,其特征在于,所述方法还包

将所述第一SNMP请求消息或者所述第三SNMP请求消息的wirte

将所述第一SNMP请求消息或者所述第三SNMP请求消息中的Request ID

的值设置为预先设置的所述第二SNMP请求消息对应的响应消息中的

ID的值。

community字段的值或者read community字段的值设置为第二SNMP请求消

对应的响应消息中的上下文名称的值;

括:

二SNMP请求消息中的Request ID的值。

Request

10.一种协议转换器,其特征在于,所述协议转换器包括:

第一接收单元,用于接收第一设备代理发送的第一简单网络管理协议SNMP

Trap消息,所述第一设备代理支持SNMP V3协议,所述第一

遵循所述SNMP V3协议; SNMP Trap消息

第一转换单元,用于将所述第一SNMP Trap消息转换成第二SNMP Trap消

息,所述第二SNMP Trap消息遵循所述

SNMP V1协议;

发送单元,用于将所述第二SNMP Trap消息发送到所述第二设备代理,所

述第二设备代理支持SNMP V1协议。

11.根据权利要求10所述的协议转换器,其特征在于,所述第一转换单元,

将第二SNMP Trap消息中的specific trap type字段的值设置为所述第一

将第二SNMP Trap消息中的SNMPTrap Enterprise字段的值设置为所述第一

12.根据权利要求10所述的协议转换器,其特征在于,所述协议转换器还

第二转换单元,用于将所述第一SNMP Trap消息转换成第三SNMP Trap消

发送单元,还用于将所述第三SNMP Trap消息发送到第三设备代理,所述

13.根据权利要求12所述的协议转换器,其特征在于,所述第二转换单元,

第三设备代理支持所述SNMP V2C协议。

息,所述第三SNMP Trap消息遵循SNMP V2C协议;

包括:

SNMP Trap消息中的SNMPTrapOID字段中除所述任意一个bit位的其他bit

的值。

具体用于:

SNMP Trap消息中的SNMPTrapOID字段中的任意一个bit位的值;

包括:

第一设置单元,用于将第三SNMP Trap消息中的团体名Community字段的

第二设置单元,用于将第三SNMP Trap消息中的PDU TYPE字段和Version

14.根据权利要求10-13任意一项所述的协议转换器,其特征在于,所述协

第二接收单元,用于接收所述第二设备代理发送的第一SNMP请求消息;

第三转换单元,用于将所述第一SNMP请求消息转换成第二SNMP请求消

发送单元,还用于将所述第二SNMP请求消息发送到所述第一设备代理。

15.根据权利要求14所述的协议转换器,其特征在于,所述协议转换器还

第三接收单元,用于接收所述第三设备代理发送的第三SNMP请求消息;

包括:

息;

议转换器还包括:

字段的值设置为SNMP V2C协议对应的固定值。

值设置为第一SNMP Trap消息中的上下文名称contextname字段的值;

第四转换单元,用于将所述第三SNMP请求消息转换成所述第二SNMP请

16.根据权利要求14所述的协议转换器,其特征在于,所述第三转换单元,

第三设置单元,用于将所述第二SNMP请求消息中的上下文名称

第四设置单元,用于将所述第二SNMP请求消息中的Request ID的值设置

17.根据权利要求15所述的协议转换器,其特征在于,所述第四转换单元,

第五设置单元,用于将所述第三SNMP请求消息中的wirte community字段

的值或者read community字段的值设置为所述第二SNMP请求消息中的上

名称的值;

包括:

为预先配置的所述第一SNMP请求消息中的Request ID的值。

包括:

求消息。

contextname字段的值设置为第一SNMP请求消息中的wirte community字段

者read community字段的值;

下文

第六设置单元,用于将所述第三SNMP请求消息中的Request ID的值设置

为预先配置的所述第二SNMP请求消息中的Request ID的值。

18.根据权利要求14-17任意一项所述的协议转换器,其特征在于,所述协

第七设置单元,用于将所述第一SNMP请求消息或者所述第三SNMP请求

第八设置单元,用于将所述第一SNMP请求消息或者所述第三SNMP请求

消息中的Request ID的值设置为预先设置的所述第二SNMP请求消息对应

应消息中的Request ID的值。

消息的wirte community字段的值或者read community字段的值设置为第二

SNMP请求消息对应的响应消息中的上下文名称的值;

议转换器还包括:

的响

说 明 书

技术领域

本发明涉及通信领域,尤其涉及到一种协议转换的方法及协议转换器。

背景技术

在90年代早期,为了实现对通讯网络设备的管理,人们对简单网管监控协

议(Simple Gateway Monitoring Protocol,SGMP)进行了很大的修改,特别

入了符合Internet定义的管理信息结构

SMI)和管理信息库

议是简单网络

协议最

是加

(Structure of Management Information,

(Management Information Base,MIB),改进后的SGMP协

管理协议(Simple Network Management Protocol,SNMP)。SNMP

初的V1/V2C版本中,重点是简化大型网络中设备的管理和数据的获取,

在安全性上的考虑并不完善。到了90年代后期,因为运营商的安全意识的

征求修正意见书(Request For Comments,RFC)制定了安全

协议。SNMPV3协议引入了安全性的很多模型和多视

全性的问题,在很多新开发的设备中广泛使用。

定的时候,并没有考虑和之前的

仍然有大量的网管和设备仅

加强,

性更高的SNMPV3

图隔离的概念,解决了安

但是,由于在SNMPV3协议制

SNMP V1/V2C协议的兼容问题,因此目前业界

支持SNMP V1/V2C。

由于上述原因,只支持SNMP V3协议的设备代理(Agent)无法接入只支

现有技术中,当SNMP V3协议的Agent与只支持SNMP V1/V2C的管理系统

对接时,通过网管开发一套SNMP V3的协议栈来接入SNMP V3的设备代

因为商务等原因,网管无法进行修改来支持SNMP V1/V2C设

持SNMP V2C/V1协议的网管。

理。在

备的场景,该方案

无法满足。

另一个现有技术中,通过修改Agent,使其支持SNMP V1/V2C的协议栈,从

而与实现了V1/V2C的网管进行对接,但需要设备厂商的代理重新开发协议

难度较大。 栈,

发明内容

本发明实施例提供了一种协议转换的方法,旨在解决如何将SNMPV3协议

第一方面,一种协议转换的方法,所述方法包括:接收第一设备代理发送

的第一简单网络管理协议SNMP Trap消息,所述第一设备代理支持

协议,所述第一SNMP Trap消息遵循所述SNMP V3协议;将

消息转换成第二SNMP Trap消息,所述第二

议;将所述第二SNMP Trap消息发送到

支持所述SNMP V1协议。

转换成SNMPV1协议的问题。

SNMP V3

所述第一SNMP Trap

SNMP Trap消息遵循SNMP V1协

所述第二设备代理,所述第二设备代理

结合第一方面,在第一方面的第一种可能的实现方式中,所述将所述第一

SNMP Trap消息转换成第二SNMP Trap消息,包括:将第二SNMP Trap消

的specific trap type字段的值设置为所述第一SNMP Trap消息中的 息中

SNMPTrapOID字段中的任意一个bit位的值;将第二SNMP Trap消息中的

SNMPTrap Enterprise字段的值设置为所述第一SNMP Trap消息中的

SNMPTrapOID字段中除所述任意一个bit位的其他bit位的值。

结合第一方面,在第一方面的第二种可能的实现方式中,所述方法还包括:

将所述第一SNMP Trap消息转换成第三SNMP Trap消息,所述第三

消息遵循SNMP V2C协议;将所述第三SNMP Trap消息发送SNMP Trap

到第三设备代理,

所述第三设备代理支持所述SNMP V2C协议。

结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现

方式中,将所述第一SNMP Trap消息转换成第三SNMP Trap消息,包括:

三SNMP Trap消息中的团体名Community字段的值设置为第一

中的上下文名称contextname字段的值;将第三

字段和Version字段的值设置为

将第

SNMP Trap消息

SNMP Trap消息中的PDU TYPE

SNMP V2C协议对应的固定值。

结合第一方面或者第一方面的第一种可能的实现方式或者第一方面的第二

种可能的实现方式或者第一方面的第三种可能的实现方式,在第一方面的第

种可能的实现方式中,所述方法还包括:接收所述第二设备代理发送

一SNMP请求消息;将所述第一SNMP请求消息转换成所述

消息;将所述第二SNMP请求消息发送到所述第一设

的所述第

第二SNMP请求

备代理。

结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现

方式中,所述方法还包括:接收所述第三设备代理发送的第三SNMP请求

将所述第三SNMP请求消息转换消息;

成所述第二SNMP请求消息。

结合第一方面的第四种可能的实现方式,在第一方面的第六种可能的实现

方式中,所述将所述第一SNMP请求消息转换成所述第二SNMP请求消息,

括:将所述第二SNMP请求消息中的上下文名称contextname字段的

一SNMP请求消息中的wirte community字段或者

将所述第二SNMP请求消息中的Request ID的

SNMP请求消息中的Request ID的值。

值设置为第

read community字段的值;

值设置为预先配置的所述第一

结合第一方面的第五种可能的实现方式,在第一方面的第七种可能的实现

方式中,所述将所述第三SNMP请求消息转换成所述第二SNMP请求消息,

括:将所述第三SNMP请求消息中的wirte community字段的值或者

community字段的值设置为所述第二SNMP请求消息中的上下文名称

所述第三SNMP请求消息中的Request ID的值设置为预先配

SNMP请求消息中的Request ID的值。

read

的值;将

置的所述第二

结合第一方面的第四种可能的实现方式或者第一方面的第五种可能的实现

方式或者第一方面的第六种可能的实现方式或者第一方面的第七种可能的实

方式,在第一方面的第八种可能的实现方式中,所述方法还包括:将

SNMP请求消息或者所述第三SNMP请求消息的

者read community字段的值设置为第二

下文名称的值;将所述第一SNMP

Request ID的值设置为预先

的Request ID的值。

所述第一

wirte community字段的值或

SNMP请求消息对应的响应消息中的上

请求消息或者所述第三SNMP请求消息中的

设置的所述第二SNMP请求消息对应的响应消息中

第二方面,一种协议转换器,所述协议转换器包括:第一接收单元,用于

接收第一设备代理发送的第一简单网络管理协议SNMP Trap消息,所述第

备代理支持SNMP V3协议,所述第一SNMP Trap消息遵循所述

第一转换单元,用于将所述第一SNMP Trap消息转换

所述第二SNMP Trap消息遵循所述SNMP V1协

二SNMP Trap消息发送到所述第二设备

协议。

一设

SNMP V3协议;

成第二SNMP Trap消息,

议;发送单元,用于将所述第

代理,所述第二设备代理支持SNMP V1

结合第二方面,在第二方面的第一种可能的实现方式中,所述第一转换单

元,具体用于:将第二SNMP Trap消息中的specific trap type字段的值设置

为所 述第一SNMP Trap消息中的

二SNMP Trap消息

Trap消息中

SNMPTrapOID字段中的任意一个bit位的值;将第

中的SNMPTrap Enterprise字段的值设置为所述第一SNMP

的SNMPTrapOID字段中除所述任意一个bit位的其他bit位的值。

结合第二方面,在第二方面的第二种可能的实现方式中,所述协议转换器

还包括:第二转换单元,用于将所述第一SNMP Trap消息转换成第三

消息,所述第三SNMP Trap消息遵循SNMP V2C协议;发送

述第三SNMP Trap消息发送到第三设备代理,所述第

V2C协议。

SNMP Trap

单元,还用于将所

三设备代理支持所述SNMP

结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现

方式中,所述第二转换单元,包括:第一设置单元,用于将第三

息中的团体名Community字段的值设置为第一

contextname字段的值;第二设置单元,

TYPE字段和Version字段的值设

SNMP Trap消

SNMP Trap消息中的上下文名称

用于将第三SNMP Trap消息中的PDU

置为SNMP V2C协议对应的固定值。

结合第二方面或者第二方面的第一种可能的实现方式或者第二方面的第二

种可能的实现方式或者第二方面的第三种可能的实现方式,在第二方面的第

种可能的实现方式中,所述协议转换器还包括:第二接收单元,用于

第二设备代理发送的第一SNMP请求消息;第三转换单元,

SNMP请求消息转换成所述第二SNMP请求消息;发

二SNMP请求消息发送到所述第一设备代理。

接收所述

用于将所述第一

送单元,还用于将所述第

结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现

方式中,所述协议转换器还包括:第三接收单元,用于接收所述第三设备代

理 发送的第三SNMP请求消息;第四转换单元,用于将所述第三

转换成所述第二SNMP请求消息。 SNMP请求消息

结合第二方面的第四种可能的实现方式,在第二方面的第六种可能的实现

方式中,所述第三转换单元,包括:第三设置单元,用于将所述第二SNMP

求消息中的上下文名称contextname字段的值设置为第一SNMP请求

wirte community字段或者read community字段的值;第四设

述第二SNMP请求消息中的Request ID的值设置为预

请求消息中的Request ID的值。

消息中的

置单元,用于将所

先配置的所述第一SNMP

结合第二方面的第五种可能的实现方式,在第二方面的第七种可能的实现

方式中,所述第四转换单元,包括:第五设置单元,用

求消息中的wirte community字段的值或者

第二SNMP请求消息中的上下文

SNMP请求消息中的

息中的

于将所述第三SNMP请

read community字段的值设置为所述

名称的值;第六设置单元,用于将所述第三

Request ID的值设置为预先配置的所述第二SNMP请求消

Request ID的值。

结合第二方面的第四种可能的实现方式或者第二方面的第五种可能的实现

方式或者第二方面的第六种可能的实现方式或者第二方面的第七种可能的实

方式,在第二方面的第八种可能的实现方式中,所述协议转换器还包

设置单元,用于将所述第一SNMP请求消息或者所述第三

wirte community字段的值或者read community字段的

消息对应的响应消息中的上下文名称的值;第八

SNMP请求消息或者所述第三SNMP请

设置的所述第二SNMP请求消息

括:第七

SNMP请求消息的

值设置为第二SNMP请求

设置单元,用于将所述第一

求消息中的Request ID的值设置为预先

对应的响应消息中的Request ID的值。

可见,本发明实施例提供的一种协议转换的方法及协议转换器,通过接收

第一设备代理发送的第一简单网络管理协议SNMP Trap消息,所述第一设

理支持SNMP V3协议,所述第一SNMP Trap消息遵循所述

所述第一SNMP Trap消息转换成第二SNMP Trap消息,

消息遵循SNMP V1协议;将所述第二

理,所述第二设备代理支持所述

SNMP V1协议之间的转换。

备代

SNMP V3协议;将

所述第二SNMP Trap

SNMP Trap消息发送到所述第二设备代

SNMP V1协议,从而实现SNMP V3协议和

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施

例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描

中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,

出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在不付

图1是本发明实施例提供的一种协议转换的方法流程示意图图;

图2是本发明实施例提供的一种协议转换的方法示意图;

图3a是本发明实施例提供的一种协议转换的方法示意图;

图3b是本发明实施例提供的一种协议转换的方法示意图;

图4是本发明实施例提供的一种协议转换器的结构示意图;

图5是本发明实施例提供的一种协议转换器的结构示意图;

图6是本发明实施例提供的一种协议转换器的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清

楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不

全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有

性劳动前提下所获得的所有其他实施例,都属于本发明保护的

作出创造

范围。

参考图1,图1是本发明实施例提供的一种协议转换的方法流程图。如图1

步骤101,接收第一设备代理发送的第一简单网络管理协议SNMP Trap消

息,所述第一设备代理支持SNMP V3协议,所述第一SNMP Trap消息遵循

SNMP V3协议;

所示,所述方法包括以下步骤:

所述

步骤102,将所述第一SNMP Trap消息转换成第二SNMP Trap消息,所述

可选地,所述将所述第一SNMP Trap消息转换成第二SNMP Trap消息,包

括:将第二SNMP Trap消息中的specific trap type字段的值设置为所述第一

SNMP Trap消息中的SNMPTrapOID字段中的任意一个bit位的值;将第二

Trap消息中的SNMPTrap Enterprise字段的值设置为所述第一

的SNMPTrapOID字段中除所述任意一个bit位的其他

第二SNMP Trap消息遵循SNMP V1协议;

SNMP

SNMP Trap消息中

bit位的值。

具体的,将所述第一SNMP Trap消息中用以标识Trap定义的字段,即SNMP

Notify Type字段转换为第二SNMP Trap消息中用以标识Trap定义的字段,

snmp Notify Type字段;

将所述第一SNMP Trap消息中用以标识同一企业的字段,即SNMPTrapOID

字段转换为第二SNMP Trap消息中用以标识同一企业的字段,即

type字段; specific trap

将所述第一SNMP Trap消息中用以标识Trap所属企业的字段,即

SNMPTrapOID字段转换为第二SNMP Trap消息中用以标识Trap所属企业

段snmp Trap Enterprise字段。 的字

步骤103,将所述第二SNMP Trap消息发送到所述第二设备代理,所述第

作为一种可选的实施例,所述方法还包括:将所述第一SNMP Trap消息转

换成第三SNMP Trap消息,所述第三SNMP Trap消息遵循SNMP V2C协议;

所述第三SNMP Trap消息发送到第三设备代理,所述第三设备代理

SNMP V2C协议。

二设备代理支持所述SNMP V1协议。

支持所述

可选地,所述将所述第一SNMP Trap消息转换成第三SNMP Trap消息,包

括:将第三SNMP Trap消息中的团体名Community字段的值设置为第一

Trap消息中的上下文名称contextname字段的值;将第三SNMP Trap

PDU TYPE字段和Version字段的值设置为SNMP V2C协议对

SNMP

消息中的

应的固定值。

具体的,可以参考SNMP V2C协议,在PDU TYPE字段中填入7,Version

字段中填入1,因为第一SNMP Trap消息的VB字段和第三SNMP Trap消

VB字段定义相同,可以直接将第一SNMP Trap消息中VB字段的值息的

赋值给第三

的上下文名称

SNMP Trap消息中VB字段的值。将第一SNMP Trap消息中

contextname填入第三SNMP Trap消息中的团体名

Trap消息中的团体名Community有鉴权

Community没有实际作用,因此,

响,同时可以保留

Community。在第三SNMP

的语意,但在Trap消息中此团体名

这个语义的变化在实际作用中不会有太大影

SNMP V3协议多视图的能力。

作为另一种可选的实施例,所述方法还可以包括:接收所述第二设备代理

发送的第一SNMP请求消息;将所述第一SNMP请求消息转换成第二

请求消息;将所述第二SNMP请求消息发送到所述第一设备代理。 SNMP

可选地,所述将所述第一SNMP请求消息转换成第二SNMP请求消息,包

括:将所述第二SNMP请求消息中的上下文名称contextname字段的值设置

一SNMP请求消息中的wirte community字段或者read community字

将所述第二SNMP请求消息中的Request ID的值设置为预先

为第

段的值;

配置的所述第一SNMP请求消息中的Request ID的值。

作为另一种可选的实施例,所述方法还可以包括:接收所述第三设备代理

发送的第三SNMP请求消息;将所述第三SNMP请求消息转换成所述二

请求消息。 SNMP

可选地,所述将所述第三SNMP请求消息转换成所述第二SNMP请求消

息,包括:将所述第三SNMP请求消息中的

wirte community字段的值或者read community字段的值设置为所述第

所述第三SNMP请求消息

SNMP请求消息中的

二SNMP请求消息中的上下文名称的值;将

中的Request ID的值设置为预先配置的所述第二

Request ID的值。

具体的,在协议转换器运行前,预先配置第二SNMP请求消息中的

username、鉴权协议、鉴权口令、加密协议、加密口令等信息,直接透传第

SNMP请求中的Varible binding,将Set消息中的write community字

二SNMP请求消息中的上下文名称,将Get消息中的

为第二SNMP请求消息中的上下文名称,由所

求消息或者第三SNMP请求消息中的

Request ID,并维护上述两个

段转换为第

read community字段转换

述协议转换器根据第一SNMP请

Request ID配置第三SNMP请求消息的

Request ID的对应关系。

作为另一种可选的实施例,所述方法还可以包括:将所述第一SNMP请求

消息或者所述第三SNMP请求消息的wirte community字段的值或者read

community字段的值设置为第二SNMP请求消息对应的响应消息中的上下文

称的值;将所述第一SNMP请求消息或者所述第三SNMP请求消息

ID的值设置为预先设置的所述第二SNMP请求消息对应的响

Request ID的值。

中的Request

应消息中的

具体的,如果是Set消息,将第一设备代理返回的Set消息中的上下文名称

填入write community,或者将第一设备代理返回的Get消息中的上下文名

入read community,透传第一设备代理返回的响应消息中的

第二SNMP请求消息中的Request ID获取第一SNMP

请求消息中的Request ID,透传返回的响应消息

称填

error status,并根据

请求消息或者第三SNMP

中的Varible binding。

可见,本发明实施例提供的一种协议转换的方法,所述方法通过接收第一

设备代理发送的第一简单网络管理协议SNMP Trap消息,所述第一设备代

持SNMP V3协议,所述第一SNMP Trap消息遵循所述SNMP V3协

第一SNMP Trap消息转换成第二SNMP Trap消息,所述第二

理支

议;将所述

SNMP Trap消息遵

所述第二设备代理,所

循SNMP V1协议;将所述第二SNMP Trap消息发送到

述第二设备代理支持所述SNMP V1协议,从而

协议之间的转换。 实现SNMP V3协议和SNMP V1

参考图2,是本发明实施例提供的一种协议转换的方法示意图。如图2所示,

协议转换器接收第一设备代理发送的

述SNMP Trap消息转换成

转换器将所述

将转换

SNMP Trap消息后,所述协议转换器将所

第二设备代理支持的SNMP Trap消息,或者所述协议

SNMP Trap消息转换成第三设备代理支持的SNMP Trap消息,并

后的SNMP Trap消息发送到所述第一设备代理。

参考图3a,图3a是本发明实施例提供的一种协议转换的方法示意图。如图

3a所示,协议转换器接收第二设备代理发送的SNMP Trap消息,将其转换

一设备代理支持的SNMP Trap消息,并将转换后的SNMP Trap消息

第一设备代理,接收所述第一设备代理返回的SNMP Trap的

议转换器转换所述响应消息,并将转换后的响应消息发

成第

发送到所述

响应消息,所述协

送到所述第二设备代理。

参考图3b,图3b是本发明实施例提供的一种协议转换的方法示意图。如图

3b所示,协议转换器接收第三设备代理发送的SNMP Trap消息,将其转换

一设备代理支持的SNMP Trap消息,并将转换后的SNMP Trap消息

第一设备代理,接收所述第一设备代理返回的SNMP Trap的

议转换器转换所述响应消息,并将转换后的响应消息发

成第

发送到所述

响应消息,所述协

送到所述第三设备代理。

图2,图3a及图3b的中通信消息之间的协议转换方法可参考前述实施例所

述,在此不再赘述。

参考图4,图4是本发明实施例提供的一种协议转换器的结构示意图。如图

第一接收单元401,用于接收第一设备代理发送的第一简单网络管理协议

SNMP Trap消息,所述第一设备代理支持SNMP V3协议,所述第一

消息遵循所述SNMP V3协议;

4所示,所述协议转器400包括以下单元:

SNMP Trap

第一转换单元402,用于将所述第一SNMP Trap消息转换成第二SNMP Trap

可选地,所述第一转换单元402,具体用于:将第二SNMP Trap消息中的

specific trap type字段的值设置为所述第一SNMP Trap消息中的

字段中的任意一个bit位的值;将第二SNMP Trap消息

字段的值设置为所述第一SNMP Trap消息中的

意一个bit位的其他bit位的值。

消息,所述第二SNMP Trap消息遵循所述SNMP V1协议;

SNMPTrapOID

中的SNMPTrap Enterprise

SNMPTrapOID字段中除所述任

具体的,将所述第一SNMP Trap消息中用以标识Trap定义的字段,即snmp

Notify Type字段转换为第二SNMP Trap消息中用以标识Trap定义的字段,

snmp Notify Type字段;将所述第一

即SNMPTrapOID字段转换

即specific trap type

业的字段,即

所属企

SNMP Trap消息中用以标识同一企业的字段,

为第二SNMP Trap消息中用以标识同一企业的字段,

字段;将所述第一SNMP Trap消息中用以标识Trap所属企

SNMPTrapOID字段转换为第二SNMP Trap消息中用以标识Trap

业的字段snmp Trap Enterprise字段。 发送单元403,用于将所述第二

所述第二设备代理支持SNMP Trap消息发送到所述第二设备代理,

SNMP V1协议。

可见,本发明实施例提供的一种协议转换器,通过接收第一设备代理发送

的第一简单网络管理协议SNMP Trap消息,所述第一设备代理支持

协议,所述第一SNMP Trap消息遵循所述SNMP V3协议;将

消息转换成第二SNMP Trap消息,所述第二

议;将所述第二SNMP Trap消息发送到

支持所述SNMP V1协议,从而实

换。

SNMP V3

所述第一SNMP Trap

SNMP Trap消息遵循SNMP V1协

所述第二设备代理,所述第二设备代理

现SNMP V3协议和SNMP V1协议之间的转

作为一种可选的实施例,参考图5,图5是本发明实施例提供的一种协议转

第一接收单元501,用于接收第一设备代理发送的第一简单网络管理协议

SNMP Trap消息,所述第一设备代理支持SNMP V3协议,所述第一

消息遵循所述SNMP V3协议;

换器500的装置结构图。如图5所示,协议转换器500还可以包括:

SNMP Trap

第一转换单元502,用于将所述第一SNMP Trap消息转换成第二SNMP Trap

发送单元503,用于将所述第二SNMP Trap消息发送到所述第二设备代理,

第二转换单元504,用于将所述第一SNMP Trap消息转换成第三SNMP Trap

可选地,所述第二转换单元504,包括:第一设置单元504a,用于将第三

SNMP Trap消息中的团体名Community字段的值设置为第一SNMP Trap消

的上下文名称contextname字段的值;第二设置单元504b,用于将第

消息中的PDU TYPE字段和Version字段的值设置为

定值。

消息,所述第三SNMP Trap消息遵循SNMP V2C协议;

所述第二设备代理支持SNMP V1协议;

消息,所述第二SNMP Trap消息遵循所述SNMP V1协议;

息中

三SNMP Trap

SNMP V2C协议对应的固

具体的,可以在PDU TYPE字段中填入7,Version字段中填入1,因为第

一SNMP Trap消息和第三SNMP Trap消息的VB字段定义相同,可以直接

将第一SNMP Trap消息中的上下文名称contextname填入第三

中的团体名Community。在第三SNMP Trap消息中的

的语意,但在Trap消息中此团体名Community

的变化在实际作用中不会有太大影响,同

透传。

SNMP Trap消息

团体名Community有鉴权

没有实际作用,因此,这个语义

时可以保留SNMP V3协议多视图的能力。

发送单元503,还用于将所述第三SNMP Trap消息发送到第三设备代理,

作为另一种可选的实施例,所述协议转换器进一步还可以包括:

第二接收单元505,用于接收所述第二设备代理发送的第一SNMP请求消

第三转换单元506,用于将所述第一SNMP请求消息转换成第二SNMP请

发送单元503,还用于将所述第二SNMP请求消息发送到所述第一设备代

作为另一种可选的实施例,所述协议转换器进一步还可以包括:

第三接收单元507,用于接收所述第三设备代理发送的第三SNMP请求消

第四转换单元508,用于将所述第三SNMP请求消息转换成所述第二SNMP

息;

理。

求消息;

息;

所述第三设备代理支持所述SNMP V2C协议。

请求消息。

可选地,所述第三转换单元506,包括:第三设置单元506a,用于将所述

第二SNMP请求消息中的上下文名称contextname字段的值设置为第一

请求消息中的wirte community字段或者read community字段的值;

元506b,用于将所述第二SNMP请求消息中的Request ID的

的所述第一SNMP请求消息中的Request ID的值。

SNMP

第四设置单

值设置为预先配置

可选地,所述第四转换单元508,包括:第五设置单元508a,用于将所述

第三SNMP请求消息中的wirte community字段的值或者read community字

值设置为所述第二SNMP请求消息中的上下文名称的值;第六设置

用于将所述第三SNMP请求消息中的Request ID的值设置为

二SNMP请求消息中的

段的

单元508b,

预先配置的所述第

Request ID的值。

具体的,在协议转换器运行前,预先配置第二SNMP请求消息中的

username、鉴权协议、鉴权口令、加密协议、加密口令等信息,直接透传第

SNMP请求中的Varible binding,将Set消息中的write community字

二SNMP请求消息中的上下文名称,将Get消息中的

为第二SNMP请求消息中的上下文名称,由所

段转换为第

read community字段转换

述协议转换器根据第一SNMP请求消息或者第三SNMP请求消息中的Request ID

配置第三SNMP请求消息的

的对应关系。

作为另一种可选的实施例,所述协议转换器进一步还可以包括:

第七设置单元509,用于将所述第一SNMP请求消息或者所述第三SNMP

Request ID,并维护上述两个Request ID

请求消息的wirte community字段的值或者read community字段的值设置为

SNMP请求消息对应的响应消息中的上下文名称的值; 第二

第八设置单元510,用于将所述第一SNMP请求消息或者所述第三SNMP

请求消息中的Request ID的值设置为预先设置的所述第二SNMP请求消息

的响应消息中的Request ID的值。 对应

具体的,如果是Set消息,将第一设备代理返回的Set消息中的上下文名称

填入write community,或者将第一设备代理返回的Get消息中的上下文名

入read community,透传第一设备代理返回的响应消息中的

第二SNMP请求消息中的Request ID获取第一SNMP

称填

error status,并根据

请求消息或者第三SNMP请求消息中的Request ID,透传返回的响应消息中的

Varible binding。

可见,本发明实施例提供的一种协议转换器,所述协议转换器通过接收第

一设备代理发送的第一简单网络管理协议SNMP Trap消息,所述第一设备

支持SNMP V3协议,所述第一SNMP Trap消息遵循所述SNMP V3

述第一SNMP Trap消息转换成第二SNMP Trap消息,所述第

遵循SNMP V1协议;将所述第二SNMP Trap消息发送

所述第二设备代理支持所述SNMP V1协议,从

V1协议之间的转换。

代理

协议;将所

二SNMP Trap消息

到所述第二设备代理,

而实现SNMP V3协议和SNMP

图6是本发明实施例提供的一种协议转换器的结构示意图。参考图6,图6

是本发明实施例提供的一种协议转换器600,本发明实施例并不对所述协议

器的具体实现做限定。所述协议转换器600包括:处理器601,通信

存储器603,以及总线604。处理

604完成相互间的通信。

转换

接口602,

器601,通信接口602,存储器603通过总线

通信接口602,用于与除本发明实施例所述的协议转换器600之外的其他设

处理器601,用于执行存储器603中存储的程序,所述程序可能是操作系统

具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。

处理器601可能是一个中央处理器(Central Processing Unit,CPU),或者

是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被

成实施本发明实施例的一个或多个集成电路。

程序,也可以能是应用程序。

备进行通信;

配置

存储器603,用于存储程序。存储器603可能包含高速随机存储器(Random

Access Memory,RAM)存储器,也可能还包括非易失性存储器(non-

memory),例如至少一个磁盘存储器。 volatile

处理器601用于调用存储器603中的程序并执行如下操作::

接收第一设备代理发送的第一简单网络管理协议SNMP Trap消息,所述第

一设备代理支持SNMP V3协议,所述第一SNMP Trap消息遵循所述

协议;将所述第一SNMP Trap消息转换成第二SNMP Trap消

Trap消息遵循SNMP V1协议;将所述第二

备代理,所述第二设备代理支持所

SNMP V3

息,所述第二SNMP

SNMP Trap消息发送到所述第二设

述SNMP V1协议。

其中,若协议转换器600独立于第一设备代理或第二设备代理,那与第设

备代理或第二设备代理之间的消息通信通过所述通信接口602实现。

具体的,所述将所述第一SNMP Trap消息转换成第二SNMP Trap消息,包

括:将第二SNMP Trap消息中的specific trap type字段的值设置为所述第一

SNMP Trap消息中的SNMPTrapOID字段中的任意一个bit位的值;将第二

Trap消息中的SNMPTrap Enterprise字段的值设置为所述第一

的SNMPTrapOID字段中除所述任意一个bit位的其他

SNMP

SNMP Trap消息中

bit位的值。

在一种实现方式下,处理器601还用于:将所述第一SNMP Trap消息转换

成第三SNMP Trap消息,所述第三SNMP Trap消息遵循SNMP V2C协议;

述第三SNMP Trap消息发送到第三设备代理,所述第三设备代理支

V2C协议。

将所

持所述SNMP

具体的,所述将所述第一SNMP Trap消息转换成第三SNMP Trap消息,包

括:将第三SNMP Trap消息中的团体名Community字段的值设置为第一

Trap消息中的上下文名称contextname字段的值;将第三SNMP Trap

PDU TYPE字段和Version字段的值设置为SNMP V2C协议对

SNMP

消息中的

应的固定值。

在另一种实现方式下,所述处理器601还用于:接收所述第二设备代理发

具体的,所述将所述第一SNMP请求消息转换成第二SNMP请求消息,包

括:将所述第二SNMP请求消息中的上下文名称contextname字段的值设置

一SNMP请求消息中的wirte community字段或者read community字

将所述第二SNMP请求消息中的Request ID的值设置为预先

SNMP请求消息中的Request ID的值。

送的第一SNMP请求消息;将所述第一SNMP请求消息转换成第二SNMP

求消息;将所述第二SNMP请求消息发送到所述第一设备代理。

为第

段的值;

配置的所述第一

在另一种实现方式下,所述处理器601还用于:接收所述第三设备代理发

送的第三SNMP请求消息;将所述第三SNMP请求消息转换成所述第二

请求消息。 SNMP

所述将所述第三SNMP请求消息转换成所述第二SNMP请求消息,包括,

将所述第三SNMP请求消息中的wirte community字段的值或者

字段的值设置为所述第二SNMP请求消息中的上下文

SNMP请求消息中的Request ID的值设置为预先

息中的Request ID的值。

read community

名称的值;将所述第三

配置的所述第二SNMP请求消

在另一种实现方式中,所述处理器601还用于:将所述第一SNMP请求消

息或者所述第三SNMP请求消息的wirte community字段的值或者read

community字段的值设置为第二SNMP请求消息对应的响应消息中的上下文

称的值;将所述第一SNMP请求消息或者所述第三SNMP请求消息

ID的值设置为预先设置的所述第二SNMP请求消息对应的响

Request ID的值。

中的Request

应消息中的

需说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施

例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实

例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法

所以描述得比较简单,相关之处参见方法实施例的部分说明即实施例,

可。

综上所述,本发明实施例提供的一种协议转换的方法及协议转换器,通过

接收第一设备代理发送的第一简单网络管理协议SNMP Trap消息,所述第

备代理支持SNMP V3协议,所述第一SNMP Trap消息遵循所述

将所述第一SNMP Trap消息转换成第二SNMP Trap消

一设

SNMP V3协议;

息,所述第二SNMP Trap 消息遵循SNMP V1协议;将所述第二

理,所述第二设备代理支持所述

SNMP V1协议之间的转换。

SNMP Trap消息发送到所述第二设备代

SNMP V1协议,从而实现SNMP V3协议和

需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分

离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部

可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以

个网络单元上。可以根据实际的需要选择其中的部分或者全部

施例方案的目的。另外,本发明提供的装置实施例附图

系表示它们之间具有通信连接,具体可以实现为

本领域普通技术人员在不付出创造性劳动

分布到多

模块来实现本实

中,模块之间的连接关

一条或多条通信总线或信号线。

的情况下,即可以理解并实施。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发

明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包

专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一

凡由计算机程序完成的功能都可以很容易地用相应的硬件来实

实现同一功能的具体硬件结构也可以是多种多样的,例

或专用电路等。但是,对本发明而言更多情况下

式。基于这样的理解,本发明的技术方案

部分可以以软件产品的形式体现出

介质中,如计算机的软盘,

Memory)、随机存

包括若

般情况下,

现,而且,用来

如模拟电路、数字电路

软件程序实现是更佳的实施方

本质上或者说对现有技术做出贡献的

来,该计算机软件产品存储在可读取的存储

U盘、移动硬盘、只读存储器(ROM,Read-Only

取存储器(RAM,Random Access Memory)、磁碟或者光盘等,

干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网

络设备等)执行本发明各个实施例所述的方法。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之

权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范

围。