一种基于snmp协议的代理网管的实现方法

文档序号:7900189阅读:305来源:国知局
专利名称:一种基于snmp协议的代理网管的实现方法
技术领域
本发明涉及一种代理网管的实现方法,尤其涉及一种分布式网络通信设备系统中基于SNMP协议的代理网管的实现方法。
背景技术
目前几乎所有的网络通信设备都具备了简单网络管理协议SNMP,即Simple Network Management Protocol网络管理功能,SNMP网络管理系统由网络管理工作站NMS,即Network Management Station和运行在被管设备上的网管代理SNMP Agent组成,SNMP Agent与NMS之间是通过标准的SNMP协议来进行通信的,SNMP网管系统可以完成对被管设备的配置管理、性能管理和故障管理等功能。
对于分布式的网络通信系统,如无线局域网WLAN,即WirelessLocal Area Network网络系统,运营商在进行WLAN网络建设时会在每一个城市规划许多个热点地区,并根据需要在每个热点地区布置一定数量的无线接入点AP,即Access Point,这些AP设备和其他网络设备组成了一个庞大的分布式网络,对于网络中的每个AP设备都需要进行网络管理。
在这样的分布式网络通信系统中,要想实现对其中各网元的SNMP网管,目前采用的做法有两类1.在每个网元上配置公网IP地址,这样虽然能够实现远程集中管理,但是由于网元的数量很多,所以会占用很多的公网IP地址,目前的公网IP地址资源已经非常紧张,因此这种做法的代价非常大。
2.在网元上配置私网IP地址,在每一个热点区域设立网络管理工作站来实现对本热点内所有网元的网络管理,这样不仅会造成网络管理工作站的资源配置过于浪费,而且无法实现远程集中管理。

发明内容
本发明的目的是提供一种基于SNMP协议的代理网管的实现方法,以解决现有技术中对公网IP地址的浪费和无法实现远程集中管理的缺点,为分布式网络通信系统中网元的网络管理提供一种经济有效的实现方法。
本发明所采用的基于SNMP协议的代理网管的实现方法为,在分布式网络通信系统中,设置代理网管服务器,在该代理网管服务器上同时配置公网IP地址和私网IP地址,被管设备配置私网IP地址,网管站通过公网IP地址与代理网管服务器实现路由,代理网管服务器和被管设备之间通过私网IP地址实现路由,通过代理网管服务器对SNMP报文的处理和转发,完成网管站与被管设备之间的通信;所述的网管站通过代理网管服务器访问被管设备上的管理信息库时,构造SNMP代理请求报文,并将该请求报文发送给代理网管服务器,所述的SNMP代理请求报文中的community字段中包含了SNMP报文转发所需要的附加信息,代理网管服务器在接收到SNMP请求报文后,根据其中的附加信息生成新的SNMP请求报文,并将其转发到真正的被管设备上,被管设备向代理网管服务器返回SNMP回应报文,代理网管服务器恢复回应报文中的原始信息,将其转发到对应的网管站上;所述的附加信息包括被管设备上SNMP Agent所支持的SNMP版本号和community以及被管设备上SNMP Agent的工作IP地址和UDP端口号;所述的代理网管服务器在接收到SNMP请求报文后,对请求报文进行ASN.1解码,解析出其中的附加信息,并记录代理请求报文中的相关原始信息,根据解析出来的附加信息修改原始SNMP请求报文中的version和community字段,并对request-id重新进行编号,重新进行ASN.1编码后生成新的SNMP请求报文,并将新的SNMP请求报文转发到真正的被管设备上,并记录已经转发的SNMP请求报文的相关状态和request-id等信息;所述的代理网管服务器对请求报文进行ASN.1解码时对community字段进行有效性检查,如果community字段中带有代理请求标志,则认为是SNMP代理请求报文,否则作为普通SNMP请求报文处理;所述的community字段为proxy@vx@cstring@addr@port的格式,则认为是SNMP代理请求报文,所述的proxy@前缀是代理请求报文的标志,vx是被管设备上所支持的SNMP版本号,cstring是被管设备上的community字符串,addr和port分别是被管设备上SNMP Agent的工作IP地址和UDP端口号;所述的被管设备接收到来自代理网管服务器的SNMP请求后进行相应的管理信息库存取操作,构造SNMP回应报文,将回应报文发给代理网管服务器,所述的代理网管服务器上接收返回的SNMP回应报文,解码后根据回应报文中的request-id字段在所保存的信息中进行匹配,如果匹配成功,则恢复该报文中的version、community和request-id等相关字段原始值,重新进行报文的编码,然后转发到对应的网管站上;所述的request-id字段在所保存的信息中进行匹配时,如果匹配不成功,则丢弃该报文;若所述的被管设备上发生告警或者故障,则实时向代理网管服务器发送SNMP Trap报文,代理网管服务器接收到之后再将该SNMP Trap报文转发到网管站。
本发明的有益效果为在本发明中,由于代理网管服务器与网管站的之间的接口,以及代理网管服务器与被管设备之间的接口均为标准的SNMP协议接口,所以本发明提出的基于SNMP协议的代理网管的实现方法对被管设备和网管站均没有特殊要求,只需在现有设备中选择一台设备作为代理网管服务器即可,为分布式网络通信系统中网元的网络管理提供一种经济有效的实现方法。
具体地说,本发明具有如下优点1.节约了大量的公网IP地址;不需要在每台被管理设备上都配置公网IP地址,只有代理网管服务器才占用公网IP地址。
2.满足了远程管理和集中管理的要求,不需要在被管设备本地设置网管站,网管站可以集中配置,通过代理网管服务器来实现对网络的远程管理和监测。
3.在本发明中,代理网管服务器与网管站的之间的接口和与被管设备之间的接口均为标准的SNMP接口,具有非常好的通用性和灵活性,适用于各种由分布式网络通信设备所组成的系统中。
4.本发明原理简单,开发难度小,投资周期短。


图1a为SNMP请求报文的格式示意图;图1b为SNMP请求报文的PDU格式示意图;图2为本发明代理网管的管理模型示意图;图3为本发明中代理网管服务器的处理流程示意图。
具体实施例方式
下面根据附图和实施例对本发明作进一步详细说明
无线局域网设备在实际运营组网时,一般采用无线接入点AP和接入控制器AC,即Access Controller,AP作为设备数量较多且分布比较分散,出于节约IP地址的考虑,AP上通常配置为私网IP地址,AC作为用户无线接入的集中和控制设备,实现用户的认证、管理和记帐等功能,AC设备数量相对较少,设备分布相对比较集中,AC的网络侧接口配置为公网IP地址,用户侧接口配置为私网IP地址,用户侧接口通过有线方式与AP的以太网接口相连,可以与AP之间进行通信。由于运营商的网管中心位于公网上,AC与网管中心之间的路由是可达的,但由于AP上为私网地址,与网管中心之间的路由不可达。
基于上述实际运营的设备因素,在本发明中,如图2的所示,采用AC作为SNMP代理网管服务器SNMP Proxy Agent,AP作为真正的被管设备SNMP Proxy Target,在所设置的代理网管服务器SNMP Proxy Agent上同时配置公网IP地址和私网IP地址,被管设备SNMP Proxy Target配置私网IP地址,网管站NMS通过公网IP地址与代理网管服务器实现路由,代理网管服务器和被管设备之间通过私网IP地址实现路由,通过代理网管服务器对SNMP报文的处理和转发,完成网管站与被管设备之间的通信。
代理网管服务器作为网管站和被管设备之间的桥梁,主要起到处理和转发SNMP报文的作用,对从网管站接收到的SNMP请求报文处理后转发到对应的被管设备上,对被管设备返回的SNMP回应报文处理后转发到NMS上。
如图3所示,其具体的处理流程如下网管站通过代理网管服务器访问被管设备上的管理信息库时,构造SNMP代理请求报文,并将该请求报文发送给代理网管服务器,SNMP代理请求报文的格式仍然严格遵守标准SNMP报文的格式,如图1a所示的整个SNMP报文的格式,其中协议数据单元PDU,即Protocol Data Unit的格式如图1b所示,针对不同类型的SNMP PDU,如GetRequest PDU,GetNextRequest PDU,SetRequest PDU等,都遵守如图1b所示的PDU格式,PDU type字段标识了他们的类型,代理请求报文的变量绑定列表variable-bindings中所绑定的请求对象标识符OID,即ObjectIdentifier为真正的被管设备上的OID实例,所述的SNMP代理请求报文中的community字段的格式还包含转发所需要的附加信息,反映被管设备信息,如被管设备上SNMP Agent所支持的SNMP版本号和community以及被管设备上SNMP Agent的工作IP地址和UDP端口号。
代理网管服务器在接收到SNMP请求报文后,对请求报文进行ASN.1解码,由于代理网管服务器上既有普通的SNMP Agent存在,同时又具有网管代理功能,因此,代理网管服务器对接收到的SNMP请求报文必须要区分是正常的SNMP请求还是SNMP代理请求,这个区分工作是通过对SNMP请求报文中的community字段的解析来实现的。
首先对community字段进行有效性检查,如果community字段中带有代理请求标志,则认为是SNMP代理请求报文,否则作为普通SNMP请求报文处理;community字段为proxy@vx@cstring@addr@port的格式,则认为是SNMP代理请求报文,其中proxy@前缀是代理请求报文的标志,vx是被管设备上所支持的SNMP版本号,取值是v1或者v2,cstring是被管设备上的community字符串,addr和port分别是被管设备上SNMPAgent的工作IP地址和UDP端口号,SNMP代理请求报文将通过代理网管服务器被转发到该IP地址和端口;代理网管服务器解析出SNMP请求报文中的附加信息,并记录代理请求报文中的相关原始信息,根据解析出来的附加信息修改原始SNMP请求报文中的version和community字段,并对request-id重新进行编号,重新进行ASN.1编码后生成新的SNMP请求报文,并将新的SNMP请求报文转发到真正的被管设备上,相应地设置等待接收被管设备回应报文的定时器,并记录已经转发的SNMP请求报文的相关状态和request-id等信息在Proxy全局控制链表中,结束对该次SNMP请求的处理。
被管设备接收到来自代理网管服务器的SNMP请求后进行相应的管理信息库存取操作,构造SNMP回应报文,将回应报文发给代理网管服务器,所述的代理网管服务器上接收返回的SNMP回应报文,解码后根据回应报文中的request-id字段在Proxy全局控制链表所保存的信息中进行匹配,如果匹配成功,则恢复该报文中的version、community和request-id等相关字段原始值,重新进行报文的编码,然后转发到对应的网管站上;如果匹配不成功,说明该回应报文已经超时,则丢弃该报文。
若被管设备上发生告警或者故障,说明代理网管服务器下挂的某个被管设备上产生某种告警,则实时向代理网管服务器发送SNMP Trap报文,这时代理网管服务器接收到之后将不改变该SNMP Trap报文中的内容而直接将该SNMP Trap报文转发到网管站。
权利要求
1.一种基于SNMP协议的代理网管的实现方法,其特征在于在分布式网络通信系统中,设置代理网管服务器,在该代理网管服务器上同时配置公网IP地址和私网IP地址,被管设备配置私网IP地址,网管站通过公网IP地址与代理网管服务器实现路由,代理网管服务器和被管设备之间通过私网IP地址实现路由,通过代理网管服务器对SNMP报文的处理和转发,完成网管站与被管设备之间的通信。
2.根据权利要求1所述的基于SNMP协议的代理网管的实现方法,其特征在于所述的网管站通过代理网管服务器访问被管设备上的管理信息库时,构造SNMP代理请求报文,并将该请求报文发送给代理网管服务器,所述的SNMP代理请求报文中的community字段中包含了SNMP报文转发所需要的附加信息,代理网管服务器在接收到SNMP请求报文后,根据其中的附加信息生成新的SNMP请求报文,并将其转发到真正的被管设备上,被管设备向代理网管服务器返回SNMP回应报文,代理网管服务器恢复回应报文中的原始信息,将其转发到对应的网管站上。
3.根据权利要求2所述的基于SNMP协议的代理网管的实现方法,其特征在于所述的附加信息包括被管设备上SNMP Agent所支持的SNMP版本号和community以及被管设备上SNMP Agent的工作IP地址和UDP端口号。
4.根据权利要求2或3所述的基于SNMP协议的代理网管的实现方法,其特征在于所述的代理网管服务器在接收到SNMP请求报文后,对请求报文进行ASN.1解码,解析出其中的附加信息,并记录代理请求报文中的相关原始信息,根据解析出来的附加信息修改原始SNMP请求报文中的version和community字段,并对request-id重新进行编号,重新进行ASN.1编码后生成新的SNMP请求报文,并将新的SNMP请求报文转发到真正的被管设备上,并记录已经转发的SNMP请求报文的相关状态和request-id等信息。
5.根据权利要求4所述的基于SNMP协议的代理网管的实现方法,其特征在于所述的代理网管服务器对请求报文进行ASN.1解码时对community字段进行有效性检查,如果community字段中带有代理请求标志,则认为是SNMP代理请求报文,否则作为普通SNMP请求报文处理。
6.根据权利要求5所述的基于SNMP协议的代理网管的实现方法,其特征在于所述的community字段为proxy@vx@cstring@addr@port的格式,则认为是SNMP代理请求报文,所述的proxy@前缀是代理请求报文的标志,vx是被管设备上所支持的SNMP版本号,cstring是被管设备上的community字符串,addr和port分别是被管设备上SNMP Agent的工作IP地址和UDP端口号。
7.根据权利要求4所述的基于SNMP协议的代理网管的实现方法,其特征在于所述的被管设备接收到来自代理网管服务器的SNMP请求后进行相应的管理信息库存取操作,构造SNMP回应报文,将回应报文发给代理网管服务器,所述的代理网管服务器上接收返回的SNMP回应报文,解码后根据回应报文中的request-id字段在所保存的信息中进行匹配,如果匹配成功,则恢复该报文中的version、community和request-id等相关字段原始值,重新进行报文的编码,然后转发到对应的网管站上。
8.根据权利要求7所述的基于SNMP协议的代理网管的实现方法,其特征在于所述的request-id字段在所保存的信息中进行匹配时,如果匹配不成功,则丢弃该报文。
9.根据权利要求5或6或7或8所述的基于SNMP协议的代理网管的实现方法,其特征在于若所述的被管设备上发生告警或者故障,则实时向代理网管服务器发送SNMP Trap报文,代理网管服务器接收到之后再将该SNMP Trap报文转发到网管站。
全文摘要
一种涉及分布式网络通信设备系统中基于SNMP协议的代理网管的实现方法,其特征在于在分布式网络通信系统中,设置代理网管服务器,在该代理网管服务器上同时配置公网IP地址和私网IP地址,被管设备配置私网IP地址,网管站通过公网IP地址与代理网管服务器实现路由,代理网管服务器和被管设备之间通过私网IP地址实现路由,通过代理网管服务器对SNMP报文的处理和转发,完成网管站与被管设备之间的通信;网管站将SNMP请求报文发送给代理网管服务器,所述的SNMP代理请求报文中的community字段的格式还包含转发所需要的附加信息,反映被管设备信息;本发明为分布式网络通信系统中网元的网络管理提供一种经济有效的实现方法。
文档编号H04L29/06GK1549499SQ0311341
公开日2004年11月24日 申请日期2003年5月7日 优先权日2003年5月7日
发明者张磊, 徐媛, 郭钟, 张 磊 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1