首页> 中国专利> SNMP网元及SNMP网元与私有协议网元通信的方法

SNMP网元及SNMP网元与私有协议网元通信的方法

摘要

本发明公开了一种SNMP网元及SNMP网元与私有协议网元通信的方法,其中,SNMP网元与私有协议网元通信的方法包括:SNMP代理接收SNMP管理站发送的SNMP协议请求报文;上述SNMP代理将上述SNMP协议请求报文适配成私有协议请求报文;上述SNMP代理将上述私有协议请求报文发送给私有协议网元。本发明通过SNMP代理对SNMP协议报文和私有协议报文进行适配,解决了现有技术中SNMP网元无法直接与私有协议网元进行通信的问题,从而可以在SNMP网元与私有协议网元之间进行通信。

著录项

  • 公开/公告号CN101848107A

    专利类型发明专利

  • 公开/公告日2010-09-29

    原文格式PDF

  • 申请/专利权人 中兴通讯股份有限公司;

    申请/专利号CN201010184173.5

  • 发明设计人 曹连峰;

    申请日2010-05-14

  • 分类号H04L12/24;H04L29/06;

  • 代理机构北京康信知识产权代理有限责任公司;

  • 代理人余刚

  • 地址 518057 广东省深圳市南山区科技南路55号

  • 入库时间 2023-12-18 00:48:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-05-26

    未缴年费专利权终止 IPC(主分类):H04L12/24 专利号:ZL2010101841735 申请日:20100514 授权公告日:20140611

    专利权的终止

  • 2014-06-11

    授权

    授权

  • 2012-02-22

    实质审查的生效 IPC(主分类):H04L12/24 申请日:20100514

    实质审查的生效

  • 2010-09-29

    公开

    公开

说明书

技术领域

本发明涉及通信领域,具体而言,涉及一种SNMP网元及SNMP网元与私有协议网元通信的方法。

背景技术

SNMP(简单网络管理协议)是由IETF(The Internet EngineeringTask Force)定义的一套网络管理协议,该协议基于简单网关监视协议(SGMP),并可以加载到多种传输协议上,如目前使用最广泛的UDP协议。一个SNMP管理站可以远程管理多个支持SNMP协议的网络设备(内嵌SNMP代理),同时一个SNMP代理端也可以同时被多个SNMP管理站管理,包括监视网络状态、修改网络设备配置、接收网络事件警告等。SNMP采用了Client/Server模型的特殊形式:管理站/代理模型。对网络的管理与维护是通过SNMP管理站与SNMP代理之间交互SNMP报文消息来实现的。每个SNMP代理负责应答SNMP管理站关于MIB(Management Information Base,管理信息库)节点的查询和设置,并以陷阱(TRAP)的方式主动向管理站上报告警等事件。

现有管理站、代理间消息交互的过程如图1所示,管理站向代理发送Get、GetNext、GetBulk、Set请求,代理收到请求后调用内部处理函数,获取所需数据。SNMP协议作为中事实上的标准协议,目前很多网络设备都采用SNMP协议对其进行管理。然而并不是所有的网络设备都是支持SNMP协议,有些网络设备使用自己定制的私有协议,因此需要重新开发一套SNMP代理软件,实现对网络设备的管理。现有SNMP协议栈一般使用同步接口调用的方式来实现,即SNMP代理收到管理站请求后,根据请求类型调用同步操作接口进行协议数据间的适配,在代理设备内存或其他存储介质中进行查询或设置操作。此时如果需要对子代理进行操作时,由于代理和子代理之间的数据通过网络进行传输,无法同步调用,将导致获取数据失败。

可见,在现有的技术中,SNMP网元无法直接与私有协议网元进行通信。

发明内容

本发明的主要目的在于提供一种SNMP网元以及SNMP网元与私有协议网元通信的方法,以至少解决现有技术中SNMP网元无法直接与私有协议网元进行通信的问题。

根据本发明的一个方面,提供了一种SNMP网元与私有协议网元通信的方法,其包括:SNMP代理接收SNMP管理站发送的SNMP协议请求报文;上述SNMP代理将上述SNMP协议请求报文适配成私有协议请求报文;上述SNMP代理将上述私有协议请求报文发送给私有协议网元。

进一步的,在上述SNMP代理将上述私有协议请求报文发送给私有协议网元之后,还包括:上述私有协议网元向上述SNMP代理发送响应于上述私有协议请求报文的私有协议应答报文;上述SNMP代理根据上述私有协议应答报文携带的上述SNMP协议请求报文的标识查到本地保存的上述SNMP协议请求报文;上述SNMP代理将上述私有协议应答报文适配成上述SNMP协议应答报文;上述SNMP代理将上述SNMP协议应答报文发送给上述SNMP管理站。

进一步的,在上述SNMP代理接收SNMP管理站发送的SNMP协议请求报文之后,还包括:上述SNMP代理获取与上述SNMP协议请求报文对应的MIB节点信息;上述SNMP代理根据所获得的MIB节点信息判断对上述SNMP协议请求报文执行同步处理还是执行异步处理;在判断出执行异步处理时,上述SNMP代理执行将上述SNMP协议请求报文适配成私有协议请求报文的步骤。

进一步的,上述SNMP代理将上述SNMP协议请求报文适配成私有协议请求报文时,还包括:上述SNMP代理获取与上述SNMP协议请求报文对应的MIB节点信息;上述SNMP代理根据所获得的MIB节点信息注册上述私有协议的命令码;上述SNMP代理注册与上述私有协议的命令码对应的异步处理接口;上述SNMP代理注册在上述异步处理接口上保存上述SNMP协议请求报文。

进一步的,上述SNMP代理根据上述应答报文携带的上述SNMP协议请求报文的标识查到本地保存的上述SNMP协议请求报文包括:上述SNMP代理获取与上述应答报文携带的私有协议的命令码对应的异步处理接口;上述SNMP代理在获取的异步处理接口上查找与上述SNMP协议请求报文的标识对应的上述SNMP协议请求报文。

进一步的,上述私有协议网元包括:私有协议代理和/或私有协议子代理。

根据本发明的另一方面,提供了一种SNMP网元,包括:第一接收模块,用于接收SNMP管理站发送的SNMP协议请求报文;第一适配模块,用于将上述SNMP协议请求报文适配成私有协议请求报文;第一发送模块,用于将上述私有协议请求报文发送给私有协议网元。

进一步的,上述SNMP网元还包括:第二接收模块,用于上述私有协议网元发送的响应于上述私有协议请求报文的私有协议应答报文;查找模块,用于根据上述私有协议应答报文携带的上述SNMP协议请求报文的标识查到本地保存的上述SNMP协议请求报文;第二适配模块,用于将上述私有协议应答报文适配成上述SNMP协议应答报文;第二发送模块,用于将上述SNMP协议应答报文发送给上述SNMP管理站。

进一步的,上述SNMP网元还包括:获取模块,用于在接收SNMP管理站发送的SNMP协议请求报文之后,获取与上述SNMP协议请求报文对应的MIB节点信息;判断模块,用于根据所获得的MIB节点信息判断对上述SNMP协议请求报文执行同步处理还是执行异步处理;通知模块,用于在判断出执行异步处理时,通知上述第一适配模块将上述SNMP协议请求报文适配成私有协议请求报文。

进一步的,上述私有协议网元包括:私有协议代理和/或私有协议子代理。

本发明具有以下有益效果:

1)通过SNMP代理对SNMP协议报文和私有协议报文进行适配,从而可以在SNMP网元与私有协议网元之间进行通信。

2)通过异步处理接口实现SNMP协议报文和私有协议报文之间的适配,避免了同步处理机制下无法正确获取通信报文的缺陷,从而极大地提高了SNMP代理软件的开发效率,缩短开发进程,节省开发成本,具有广泛的适用性。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据相关技术的SNMP管理站与SNMP代理之间的消息交互的示意图;

图2是根据本发明实施例的SNMP网元与私有协议网元通信的方法的流程图;

图3是根据本发明实施例的SNMP管理站与SNMP代理以及私有协议网元之间的消息交互的示意图;

图4是根据本发明实施例的SNMP网元与私有协议网元通信的方法的优选流程图;

图5是根据本发明实施例的SNMP网元的结构示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

图2是根据本发明实施例的SNMP网元与私有协议网元通信的方法的流程图。如图2所示,根据本发明实施例的SNMP网元与私有协议网元通信的方法包括如下步骤:

S202,SNMP代理接收SNMP管理站发送的SNMP协议请求报文;

S204,上述SNMP代理将上述SNMP协议请求报文适配成私有协议请求报文;

S206,上述SNMP代理将上述私有协议请求报文发送给私有协议网元。

在现有的技术中,SNMP网元无法直接与私有协议网元进行通信。反观本发明实施例,通过SNMP代理对SNMP协议报文和私有协议报文进行适配,从而可以在SNMP网元与私有协议网元之间进行通信。

优选的,在所述SNMP代理将所述私有协议请求报文发送给私有协议网元之后,所述私有协议网元向所述SNMP代理发送响应所述私有协议请求报文的私有协议应答报文;所述SNMP代理根据所述私有协议应答报文携带的所述SNMP协议请求报文的标识查到本地保存的所述SNMP协议请求报文;所述SNMP代理将所述私有协议应答报文适配成所述SNMP协议应答报文;所述SNMP代理将所述SNMP协议应答报文发送给所述SNMP管理站。

优选的,在所述SNMP代理接收SNMP管理站发送的SNMP协议请求报文之后,所述SNMP代理获取与所述SNMP协议请求报文对应的MIB节点信息;所述SNMP代理根据所获得的MIB节点信息判断对所述SNMP协议请求报文执行同步处理还是执行异步处理;在判断出执行异步处理时,所述SNMP代理执行将所述SNMP协议请求报文适配成私有协议请求报文的步骤。

通过上述的方式,SNMP代理完成了将SNMP协议栈和私有协议栈的无缝对接,这样,可以根据实际需求来选择对请求报文进行同步处理或是异步处理,从而增加了本发明实施例的适用性。

所述SNMP代理将所述SNMP协议请求报文适配成私有协议请求报文时,所述SNMP代理获取与所述SNMP协议请求报文对应的MIB节点信息;所述SNMP代理根据所获得的MIB节点信息注册所述私有协议的命令码;所述SNMP代理注册与所述私有协议的命令码对应的异步处理接口;所述SNMP代理注册在所述异步处理接口上保存所述SNMP协议请求报文。

通过异步处理接口实现SNMP协议报文和私有协议报文之间的适配,避免了同步处理机制下无法正确获取通信报文的缺陷,从而极大地提高了SNMP代理软件的开发效率,缩短开发进程,节省开发成本,具有广泛的适用性。

所述SNMP代理根据所述应答报文携带的所述SNMP协议请求报文的标识查到本地保存的所述SNMP协议请求报文包括:所述SNMP代理获取与所述应答报文携带的私有协议的命令码对应的异步处理接口;所述SNMP代理在获取的异步处理接口上查找与所述SNMP协议请求报文的标识对应的所述SNMP协议请求报文。

优选的,所述私有协议网元包括:私有协议代理和/或私有协议子代理。这样,在本发明实施例中,不仅可以实现SNMP网元与私有协议代理之间的通信,还可以进一步实现SNMP网元与私有协议子代理之间的通信,从而扩展了本发明的适用范围。

图3是根据本发明实施例的SNMP管理站与SNMP代理以及私有协议网元之间的消息交互的示意图。如图3所示,SNMP代理可以与私有协议代理通信,也可以进一步与私有协议子代理通信。

下面结合附图详细描述根据本发明实施例的SNMP网元与私有协议网元通信的方法的优选流程图。如图4所示,根据本发明实施例的SNMP网元与私有协议网元通信的方法包括以下步骤:

步骤S402:SNMP管理站向SNMP代理端发送请求报文,然后执行步骤S404。SNMP管理站接收SNMP代理端对相关请求的响应报文或TRAP陷阱报文。

步骤S404:SNMP接收任务负责接收网管站的请求报文,并向下转发,执行步骤S406。

步骤S406:SNMP协议管理站和代理依靠MIB管理信息库进行消息交互,SNMP代理根据MIB管理库生成内部可识别的MIB节点信息。SNMP代理接收管理站请求后,查找相关的MIB节点信息,并根据MIB节点信息中的相关字段(静态注册的信息,填写标识字段)可以判断需要同步处理或异步处理。MIB节点的同步或异步处理由SNMP代理根据不同的设备系统进行定制,执行步骤S408。

步骤S408:根据MIB节点信息中的标识字段区分不同的操作流程,如果是同步处理,则执行步骤S416;如果是异步处理,则执行步骤S410。

步骤S410:调用SNMP协议栈集成的异步处理接口,根据MIB节点信息-命令码生成映射函数(映射函数的主要作用是处理SNMP协议和私有协议之间的报文转换、适配。特别的,映射函数不仅仅是数据字段的适配,还应包括其他信息,以达到和原来使用私有协议处理相同的后续处理流程)。SNMP协议栈只提供相应的接口,接口的注册可以在配置文件动态加载或在程序中静态注册。接口的具体实现,包括报文数据字段的适配,需要单独实现,执行步骤S412。

步骤S412:根据SNMP管理站下发的请求报文,注册异步应答节点(在SNMP协议栈中集成,并进行异步应答节点链表的管理),使用SNMP协议中的PDU的Request ID字段来标识每一条SNMP数据报,执行步骤S414。

步骤S414:完成SNMP协议报文和私有协议报文之间的适配,使向下的报文能够和原私有协议系统保持一致。以下的流程一般为私有协议系统操作流程,不同的设备可能使用不同私有协议,执行步骤S420。

步骤S416:调用SNMP协议栈同步处理接口(正常流程),根据SNMP管理站的请求,在内存或SD卡等存储介质中查询或设置相关数据。执行步骤S418。

步骤S418:在内存或数据库等介质中保存设备运行数据。用来系统进行查询或设置等操作。

步骤S420:私有协议子代理系统,实现网络设备的管理功能,如配置管理、故障管理、性能管理等功能。

步骤S422:子代理应答后,完成私有协议报文和SNMP协议报文之间的适配。优选的,根据MIB节点信息-命令码映射函数处理私有协议报文和SNMP协议报文转换、适配。然后,执行步骤S424。

步骤S424:根据子代理的应答报文的Request ID字段在异步应答节点链表中查找原始的SNMP请求报文。异步应答节点的主要是为了实现子代理应答之后能够正确找到原始报文,以对SNMP的管理站进行应答,其主要功能有SNMP协议应答管理(封装SNMP协议栈应答接口,向SNMP管理站应答操作结果),超时管理(防止出现子代理一直不应答的情况,防止冗余数据驻留内存,以TRAP陷阱的方式上报超时、异常),异步应答节点的插入、修改、删除等。

步骤S426:根据Request ID判断是否查找到原始SNMP请求报文,如果找到,则执行步骤S428;如果没有找到,则执行步骤S430。

步骤S428:根据原始SNMP报文中的源地址,将SNMP应答报文发送到SNMP发送任务队列,执行步骤S432。

步骤S430:构造TRAP陷阱报文,将SNMP操作超时信息发送到SNMP发送任务队列。执行步骤S432。

步骤S432:SNMP发送任务,主要用于向SNMP管理站应答操作结果或上报TRAP陷阱。优选的,再次执行步骤S402。

通过以上步骤,在SNMP管理站、SNMP代理和私有协议代理/子代理的协作下,使用协议间异步处理机制,可以极大的提高SNMP代理软件的开发效率,缩短开发进程,节省开发成本,具有广泛的适用性。

本发明还提供了一种SNMP网元的实施例,该SNMP网元适用于上述方法实施例。

图5是根据本发明实施例的SNMP网元的结构示意图。如图5所示,根据本发明实施例的SNMP网元包括:第一接收模块502,用于接收SNMP管理站发送的SNMP协议请求报文;第一适配模块504,用于将上述SNMP协议请求报文适配成私有协议请求报文;第一发送模块506,用于将上述私有协议请求报文发送给私有协议网元。

在本发明实施例中,通过SNMP代理对SNMP协议报文和私有协议报文进行适配,从而可以在SNMP网元与私有协议网元之间进行通信。

优选的,上述SNMP网元还包括:第二接收模块508,用于上述私有协议网元发送的响应于上述私有协议请求报文的私有协议应答报文;查找模块510,用于根据上述私有协议应答报文携带的上述SNMP协议请求报文的标识查到本地保存的上述SNMP协议请求报文;第二适配模块512,用于将上述私有协议应答报文适配成上述SNMP协议应答报文;第二发送模块514,用于将上述SNMP协议应答报文发送给上述SNMP管理站。

在本发明实施例中,通过异步处理接口实现SNMP协议报文和私有协议报文之间的适配,避免了同步处理机制下无法正确获取通信报文的缺陷,从而极大地提高了SNMP代理软件的开发效率,缩短开发进程,节省开发成本,具有广泛的适用性。

优选的,上述SNMP网元还包括:获取模块516,用于在接收SNMP管理站发送的SNMP协议请求报文之后,获取与上述SNMP协议请求报文对应的MIB节点信息;判断模块518,用于根据所获得的MIB节点信息判断对上述SNMP协议请求报文执行同步处理还是执行异步处理;通知模块520,用于在判断出执行异步处理时,通知上述第一适配模块504将上述SNMP协议请求报文适配成私有协议请求报文。

通过上述的方式,可以根据实际需求来选择对请求报文进行同步处理或是异步处理,从而增加了本发明实施例的适用性。

优选的,上述私有协议网元包括:私有协议代理和/或私有协议子代理。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号