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

文档序号:7749859阅读:268来源:国知局
专利名称:Snmp网元及snmp网元与私有协议网元通信的方法
技术领域
本发明涉及通信领域,具体而言,涉及一种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协议请求报文适配成私有协议请求报文。通过上述的方式,可以根据实际需求来选择对请求报文进行同步处理或是异步处 理,从而增加了本发明实施例的适用性。优选的,上述私有协议网元包括私有协议代理和/或私有协议子代理。 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示 出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或 步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种简单网络管理协议SNMP网元与私有协议网元通信的方法,其特征在于,包括SNMP代理接收SNMP管理站发送的SNMP协议请求报文;所述SNMP代理将所述SNMP协议请求报文适配成私有协议请求报文;所述SNMP代理将所述私有协议请求报文发送给私有协议网元。
2.根据权利要求1所述的方法,其特征在于,在所述SNMP代理将所述私有协议请求报 文发送给私有协议网元之后,还包括所述私有协议网元向所述SNMP代理发送响应于所述私有协议请求报文的私有协议应 答报文;所述SNMP代理根据所述私有协议应答报文携带的所述SNMP协议请求报文的标识查到 本地保存的所述SNMP协议请求报文;所述SNMP代理将所述私有协议应答报文适配成所述SNMP协议应答报文; 所述SNMP代理将所述SNMP协议应答报文发送给所述SNMP管理站。
3.根据权利要求1所述的方法,其特征在于,在所述SNMP代理接收SNMP管理站发送的 SNMP协议请求报文之后,还包括所述SNMP代理获取与所述SNMP协议请求报文对应的管理信息库MIB节点信息; 所述SNMP代理根据所 获得的MIB节点信息判断对所述SNMP协议请求报文执行同步处 理还是执行异步处理;在判断出执行异步处理时,所述SNMP代理执行将所述SNMP协议请求报文适配成私有 协议请求报文的步骤。
4.根据权利要求1或2所述的方法,其特征在于,所述SNMP代理将所述SNMP协议请求 报文适配成私有协议请求报文时,还包括所述SNMP代理获取与所述SNMP协议请求报文对应的MIB节点信息; 所述SNMP代理根据所获得的MIB节点信息注册所述私有协议的命令码; 所述SNMP代理注册与所述私有协议的命令码对应的异步处理接口 ; 所述SNMP代理注册在所述异步处理接口上保存所述SNMP协议请求报文。
5.根据权利要求4所述的方法,其特征在于,所述SNMP代理根据所述应答报文携带的 所述SNMP协议请求报文的标识查到本地保存的所述SNMP协议请求报文包括所述SNMP代理获取与所述应答报文携带的私有协议的命令码对应的异步处理接口 ; 所述SNMP代理在获取的异步处理接口上查找与所述SNMP协议请求报文的标识对应的 所述SNMP协议请求报文。
6.根据权利要求1所述的方法,其特征在于,所述私有协议网元包括私有协议代理和 /或私有协议子代理。
7.一种SNMP网元,其特征在于,包括第一接收模块,用于接收SNMP管理站发送的SNMP协议请求报文; 第一适配模块,用于将所述SNMP协议请求报文适配成私有协议请求报文; 第一发送模块,用于将所述私有协议请求报文发送给私有协议网元。
8.根据权利要求7所述的SNMP网元,其特征在于,还包括第二接收模块,用于所述私有协议网元发送的响应于所述私有协议请求报文的私有协 议应答报文;查找模块,用于根据所述私有协议应答报文携带的所述SNMP协议请求报文的标识查 到本地保存的所述SNMP协议请求报文;第二适配模块,用于将所述私有协议应答报文适配成所述SNMP协议应答报文; 第二发送模块,用于将所述SNMP协议应答报文发送给所述SNMP管理站。
9.根据权利要求7所述的SNMP网元,其特征在于,还包括获取模块,用于在接收SNMP管理站发送的SNMP协议请求报文之后,获取与所述SNMP 协议请求报文对应的MIB节点信息;判断模块,用于根据所获得的MIB节点信息判断对所述SNMP协议请求报文执行同步处 理还是执行异步处理;通知模块,用于在判断出执行异步处理时,通知所述第一适配模块将所述SNMP协议请 求报文适配成私有协议请求报文。
10.根据权利要求7所述的SNMP网元,其特征在于,所述私有协议网元包括私有协议 代理和/或私有协议子代理。
全文摘要
本发明公开了一种SNMP网元及SNMP网元与私有协议网元通信的方法,其中,SNMP网元与私有协议网元通信的方法包括SNMP代理接收SNMP管理站发送的SNMP协议请求报文;上述SNMP代理将上述SNMP协议请求报文适配成私有协议请求报文;上述SNMP代理将上述私有协议请求报文发送给私有协议网元。本发明通过SNMP代理对SNMP协议报文和私有协议报文进行适配,解决了现有技术中SNMP网元无法直接与私有协议网元进行通信的问题,从而可以在SNMP网元与私有协议网元之间进行通信。
文档编号H04L12/24GK101848107SQ20101018417
公开日2010年9月29日 申请日期2010年5月14日 优先权日2010年5月14日
发明者曹连峰 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1