一种基于snmp协议的消息交互方法

文档序号:7708317阅读:220来源:国知局
专利名称:一种基于snmp协议的消息交互方法
技术领域
本发明涉及以SNMP ( Simple Network Management Protocol,简单网络管理协议)为管理接口的网络管理领域,尤其涉及一种基于SNMP协议的消息交互方法。
背景技术
SNMP是由IETF ( The Internet Engineering Task Force,互联网工程任务组)定义的基于SGMP ( Simple Gateway Monitor Protocol,简单网关监视协议)的一套网络管理协议。利用SNMP, 一个管理工作站可以远程管理所有支持该协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件告警等。SNMP采用了 Client/Server (客户端/服务器端)模型的特殊形式——代理/管理站模型,对网络的管理与维护是通过SNMP管理站与SNMP代理间的交互工作完成的。每个SNMP代理负责回答SNMP管理站关于MIB(Management Information Base,管理信息库)定义信息的各种查询和i殳置,并以陷阱(trap)方式主动向SNMP管理站上报告警等事件。
现有SNMP管理站与SNMP代理间的消息交互过程如图1所示。SNMP管理站向SNMP代理发送Get、 Get-Next、 Get-Bulk、 Set请求(即SNMP报文),SNMP代理收到请求后进行内部处理,并向SNMP管理站返回响应。SNMP管理站在向SNMP代理发送请求时,会设置一定的超时时间来处理本次请求,以防止SNMP管理站在SNMP代理端发生异常无法返回响应时一直阻塞于接收响应的状态。SNMP管理站在超时前等待SNMP代理返回响应,在超时后系统返回正常状态,同时界面输出超时结果。SNMP管理站超时时间一般为默认值,也可以手动设置。
不同被管设备处理数据的时间不同,同 一被管设备处理不同请求的时间也不同。尤其在电信网络设备中,由于lt据量相对较多,处理查询和i殳置请求的时间较长,经常会超过SNMP管理站所设置的超时时间。多次超时可能会引发一系列问题1) SNMP管理站无法查询到所需数据或无法获知对被管设备的设置结果;2) SNMP管理站在超时后,管理员可能立即会再次进行查询或设置操作,而SNMP代理端还正在处理上一个消息,这样会加重SNMP代理端的处理负担。
要解决上述超时的问题, 一种方法是在SNMP管理站手动调整超时时间。但在一般情况下,管理员不可能完全了解所有设备及其处理不同请求所需耗费的时间,因此由管理员来确定超时时间具有很大的局限性。若设置的超时时间过短,容易出现上述超时现象;若设置的超时时间过长,在SNMP代理处理请求过程中出现异常而导致无法返回响应时,会严重影响管理员操作的效率,浪费时间。

发明内容
本发明要解决的技术问题是提供一种基于SNMP协议的消息交互方法,以克服现有SNMP超时管理不足的问题。
为解决上述问题,本发明提供了一种基于简单网络管理协议SNMP协议的消息交互方法,包括
在接收到SNMP管理站发来的SNMP报文时,SNMP代理估算出该报文的建议超时时间值并反馈给所述SNMP管理站;所述SNMP管理站4艮据该估算出的超时时间等待所述SNMP报文的响应。
进一步地,上述方法还可具有以下特征
所述SNMP代理中保存有超时时间门限值;
所述SNMP代理估算出该报文的建议超时时间值并反馈给所述SNMP管理站是指
所述SNMP代理估算出所述SNMP报文的建议超时时间后,判断该建议超时时间值是否大于所述超时时间门限值;如果是,则将所述估算出的超时时间值反馈给所述SNMP管理站
进一步地,上述方法还可具有以下特征所述SNMP代理如判断出所述建议超时时间值小于所述超时时间门限值,则按照常规流程对接收到的所述SNMP报文进行处理。
进一步地,上述方法还可具有以下特征
所述超时时间门限值由所述SNMP管理站对所述SNMP代理进行i殳置。进一步地,上述方法还可具有以下特征
所述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协议进行网络管理的效率。


图1为现有技术中SNMP管理站和SNMP代理之间的消息交互过程示意图2为本发明实施例中SNMP管理站和SNMP代理间的消息交互过程示意图3为本发明实施例中SNMP管理站执行本发明的步骤流程图4是本发明实施例中SNMP代理执行本发明的步骤流程图5是本发明实施例中SNMP管理站和SNMP ^理执行本发明的协作流程图。
具体实施例方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
如图2所示,本发明的基本构思是在接收到SNMP管理站发来的SNMP报文时,SNMP代理估算出该报文的建议超时时间值并反馈给SNMP管理站,SNMP管理站根据该建议超时时间等待上述SNMP报文的响应。
鉴于SNMP代理估算报文的建议超时时间及通信双方构造才良文、解析净艮文均需要津毛费一定的时间和资源,因此优选地,SNMP代理可以在估算出的建议超时时间值超过一门限值时才将该建议超时时间值反馈给SNMP管理站。其中,该门限值可由SNMP管理站对SNMP代理进行设置,而该门限值可以为该SNMP管理站上预设的该SNMP净艮文的超时时间值。此外,
7还可以在该SNMP代理上设置一使能标志位,当该使能标志位的值被置为使能状态时,SNMP才会在接收到SNMP报文时估算该报文的建议超时时间;否则,仍按照现有技术中相关流程进行操作。当然,该使能标志位的值仍然可由SNMP管理站对该SNMP代理进行设置。
在实际^使用时,可在SNMP ^f气理的MIB中增加超时时间管理对象组(snmpTimeOut),如表1所示,其中包含3个对象建议超时时间对象使能标志位(enableSuggestedTimeOut)、超时时间门卩艮(timeOutThreshold )及建议超时时间(suggestedTimeOut )。同时相应地增加 一 种trap(suggestedTimeOutTrap) , SNMP代理将估算出的suggestedTimeOut的值
的建议超时时间。
表1 snmpTimeOut组对象
对象"i吾^i"访问说明
enab leSuggestedTimeOu tINTEGER證建议超时时间对象使能标志 位,当其值表示使能状态时, SNMP代理才需估算接收到 的SNMP报文的建议超时时 间
timeOutThresholdTimeTick sRO超时时间门限
suggestedTimeOutTimeTick sRO建i义超时时间
在此种情况下,基于SNMP协议的消息交互方法主要包括以下步骤
(a) SNMP代理端在收到SNMP报文后,检查建议超时时间对象使能标志位的值,如果其值表示使能状态,则根据本次请求的具体操作类型估算出一个建议超时时间值,估算方法可以为从代理数据库的处理时间表中读出该操作类型对应的处理时间,再乘以设备当前运行状态因子(即当前
8SNMP代理所管理的单板数量N)。如果此次估算出的建议超时时间值大于超时时间门限值,则将估算出的建议超时时间值与suggestedTimeOut对象进行绑定,通过发送suggestedTimeOutTrap 4艮文将该估算值上净艮给SNMP管理站,此trap报文的request-id值为该SNMP代理收到的上述SNMP报文的request-id值;如果使能标志位的值表示禁用(disable)状态,或者使能标志位的值表示使能状态但估算出的建议超时时间值小于等于超时时间门限,则SNMP代理会按照现有流程对SNMP报文进行处理(即不向SNMP管理站反馈其估算的建议超时时间),而SNMP管理站也会仍然按照现有协议流程在其预设的超时时间内等待该SNMP代理向其反馈响应,即不再进行后续流程;
(b) SNMP管理站在收到suggestedTimeOutTrap后,判断该消息中携带的request-id是否与已发送SNMP报文的request-id相同,如果相同,则将本地等待该SNMP报文响应的超时时间值设置为该trap净艮文中携带的建议超时时间值,并根据该建议超时时间值等待SNMP代理返回响应;
(c) SNMP管理站如在超时时间范围内收到响应,则对该响应进4亍常规处理,并将本地等待该SNMP报文响应的超时时间值修改为本地默认超时时间值。
进一步地,在执行上述步骤(a)之前,SNMP管理站可随时通过enableSuggestedTimeOut 、 suggestedTimeOutTrap这两个对象对建议超时时间对象使能标志位和超时时间门限值进行设置,且一般将超时时间门限值设置为该SNMP管理站本地所使用的默认超时时间值。当估算出的建议超时时间大于管理站的默i人超时时间,即可能出现超时现象时,SNMP代理将向SNMP管理站上报其估算出的建议超时时间;当估算出的建i义超时时间不大于SNMP管理站的默认超时时间时,SNMP代理和SNMP管理站则不做附加处理。而在SNMP代理端本地的默认建议超时时间对象使能标志位为禁用状态,默认超时时间门限值为O。
此外,在SNMP管理站不具备自动解析处理suggestedTimeOutTrap和自动设置超时时间的能力的情况下,在该SNMP管理站收到suggestedTimeOutTrap后,可由管理员根据具体情况手动将本地默认的超时时间值设置为该suggestedTimeOutTrap中携带的估算超时时间值。在同类型的操作完成后,建议手动将本地超时时间重置为该SNMP管理站默认的超时时间值,即timeOutThreshold的值。
综上所述,建议超时时间对象使能标志位和超时时间门限这两个参数的引进可以避免不必要的超时管理处理过程及suggestedTimeOutTrap的创建、发送和接收等处理过程,从而保证了 SNMP管理站和SNMP代理间信息交互的高效性。
下面结合附图,对SNMP管理站和SNMP代理实施本发明技术方案的具体步骤以及双方之间的协作流程作进一 步的详细描述
如图3所示,SNMP管理站执行本发明的操作步骤如下
步骤300: SNMP管理站系统正常运行,等待管理员操作或网络SNMP消息到达。如果管理员进行查询或设置操作,执行步骤310;如果网络SNMP消息到达,执行步骤320;
步骤310: SNMP管理站向SNMP代理发送SNMP报文,然后返回步骤
300;
步骤320:判断接收到的消息是trap消息还是响应消息;如果是trap消息,执行步骤330;如果是响应消息,执行步骤340;
步骤330:判断收到的trap消息是否是suggestedTimeOutTrap消息,如果是,执行步骤331;如果收到的是常规trap消息,执行步骤350;
步骤331:判断接收到的suggestedTimeOutTrap报文中的参数request-id是否与当前已发送报文的request-id相同。如果相同,执行步骤332;否贝'J,表示收到的是无效的suggestedTimeOutTrap消息,不做任何处理,返回步骤300;
步骤332 :提取suggestedTimeOutTrap中携带的建议超时时间(suggestedTimeOut)数据,将本SNMP管理站的超时时间值设置为该建议超时时间值。返回步骤300;
步骤340:对收到的SNMP代理返回的响应进行常规处理,并在本地超时时间发生更改的情况下,将本地超时时间重置为本地默认超时时间,返回
步骤300。
步骤350:对收到的trap消息进行常规处理。返回步骤300。
如图4所示,SNMP代理执行本发明的操作步骤如下
步骤400: SNMP代理系统正常运行,等待网络SNMP报文到达。如果收到SNMP报文,执行步骤410;
步骤410:判断接收到的SNMP报文是否是对enableSuggestedTimeOut或suggestedTimeOutTrap进行设置。如果是,执行步骤420;否则,则认为收到的是常规SNMP报文,执行步骤430;
步骤420:根据报文中携带的变量值更新本地的建议超时时间对象使能标志位或超时时间门限值,然后返回步骤400。
步骤430:判断建议超时时间对象使能标志位的值是否表示处于使能状态,如果是,则执行步骤440;否则,执行步骤460;
步骤440:估算建议超时时间的值,并判断该估算出的建议超时时间值是否大于超时时间门限值,如果大于,执行步骤450;否则,表示本次操作所需时间较短,不会超时,不用进行特殊处理,执行步骤460;
步骤450: 将估算出的超时时间值绑定于对象suggestedTimeOut,通过suggestedTimeOutTrap消息上才艮给SNMP管理站;
步骤460:对接收到的SNMP报文进行常规处理,构造响应消息发送给SNMP管理站,返回步骤400。
如图5所示,SNMP管理站和SNMP代理执行本发明的协作流程如下
步骤510: SNMP管理站发送设置建议超时对象使能标志位和超时时间门限的请求(注此步骤可以在通信的任何时刻执行,也可以不执行)或向SNMP代理发送常^见请求消息;
步骤520: SNMP代理在收到设置请求后,更新本地系统参数值;步骤530: SNMP代理在收到SNMP请求报文后,判断本地建议超时时间使能标志位的值,分为以下两种情况
a) 如果建议超时时间使能标志位的值表示禁止状态,执行步骤570;
b) 如果建议超时时间使能标志位的值表示使能状态,执行步骤540;
步骤540: SNMP代理估算建议超时时间的值,如果估算出的建议超时时间值小于等于超时时间门限值,执行步骤570;否则,执行步骤550;
步骤550: SNMP代理构造suggestedTimeOutTrap并上报给SNMP管理站,其中携带上述估算出的建议超时时间;
步骤560: SNMP管理站收到suggestedTimeOutTrap后,根据其中的request-id进行有效性判断,如果是有效的suggestedTimeOutTrap,则更新本地超时时间的值;否则,不做任何处理;
步骤570: SNMP代理处理常规请求消息,构造响应返回给SNMP管理
站;
步骤580: SNMP管理站在超时时间范围内收到响应后,进行常MJt理,并在本地超时时间发生更改的情况下,将本地超时时间的值重置为管理站默认超时时间值。
需要说明的是,步骤560和570的执行顺序不分先后,只要保证这两步骤在步骤550和580之间即可。
通过以上步骤,在SNMP管理站和SNMP代理的协作下,使用估算超时时间值的方法,可以实现对SNMP管理站超时时间的动态配置,有效避免了因超时时间设置不合理而导致的超时现象,提高了网络管理的效率。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
1权利要求
1、一种基于简单网络管理协议SNMP协议的消息交互方法,其特征在于,在接收到SNMP管理站发来的SNMP报文时,SNMP代理估算出该报文的建议超时时间值并反馈给所述SNMP管理站;所述SNMP管理站根据该估算出的超时时间等待所述SNMP报文的响应。
2、 如权利要求l所述的方法,其特征在于, 所述SNMP代理中保存有超时时间门限值;所述SNMP代理估算出该报文的建议超时时间值并反馈给所述SNMP 管理站是指所述SNMP代理估算出所述SNMP报文的建议超时时间后,判断该建 议超时时间值是否大于所述超时时间门限值;如果是,则将所述估算出的超 时时间值反馈给所述SNMP管理站。
3、 如权利要求2所述的方法,其特征在于,所述SNMP代理如判断出所述建议超时时间值小于所述超时时间门限 值,则按照常规流程对接收到的所述SNMP报文进行处理。
4、 如权利要求2或3所述的方法,其特征在于,
5、 如权利要求4所述的方法,其特征在于,所述SNMP管理站对所述SNMP代理设置的超时门限值为所述SNMP 管理站上预设的该SNMP l艮文的超时时间值。
6、 如权利要求1~3中任意一项所述的方法,其特征在于, 所述SNMP代理上设有一使能标志位;所述SNMP代理估算出该报文的建议超时时间值并反馈给所述SNMP 管理站是指所述SNMP代理在接收到所述SNMP报文时,先判断当前所述使能标 志位的值是否表示使能状态,如果是,所述SNMP代理才会对所述接收到 的SNMP报文的建议超时时间进行估算并进行后续反馈。
7、 如权利要求6所述的方法,其特征在于,所述使能标志位的值由所述SNMP管理站对所述SNMP代理进行设置。
8、 如权利要求1或2所述的方法,其特征在于,所述SNMP管理站根据该估算出的超时时间等待所述SNMP报文的响 应是指所述SNMP管理站将本地等待该SNMP报文响应的超时时间值设置为 所述SNMP代理向其反馈的估算出的建议超时时间值,并在该估算出的超 时时间范围内等待所述SNMP报文的响应。
9、 如权利要求8所述的方法,其特征在于,所述SNMP管理站在收到所述SNMP报文的响应后,将本地超时时间 值重置为本地默认超时时间值。
10、 如权利要求1或2所述的方法,其特征在于,所述SNMP代理估算出该报文的建议超时时间值是指所述SNMP代 理从数据库的处理时间表中读出该操作类型对应的处理时间,再乘以当前 SNMP代理所管理的单板数量,得到所迷建议超时时间值。
全文摘要
本发明公开了一种基于SNMP协议的消息交互方法,包括在接收到SNMP管理站发来的SNMP报文时,SNMP代理估算出该报文的建议超时时间值并反馈给上述SNMP管理站;SNMP管理站根据该估算出的超时时间等待上述SNMP报文的响应。采用本发明所述方法,与现有技术相比,由于采取了SNMP管理站和SNMP代理交互的方式动态确定管理站超时时间的技术措施,克服了手动设置超时时间的不足,有效地减少超时现象的出现,提高了使用SNMP协议进行网络管理的效率。
文档编号H04L1/16GK101594320SQ20091014223
公开日2009年12月2日 申请日期2009年6月23日 优先权日2009年6月23日
发明者何晓红 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1