一种丢失Trap报文查找方法和网络管理系统及一种SNMP代理与流程

文档序号:16198497发布日期:2018-12-08 06:22阅读:312来源:国知局
一种丢失Trap报文查找方法和网络管理系统及一种SNMP代理与流程

本公开涉及计算机领域,特别涉及一种丢失trap报文查找方法和网络管理系统,一种snmp代理。

背景技术

snmp是互联网工程工作小组(ietf,internetengineeringtaskforce)定义的基于tcp/ip协议族的网络管理标准,是一种在ip网络中管理网络节点(如服务器、工作站、路由器、交换机等)的标准协议。在基于snmp的通讯网络系统中,网络设备snmp代理会向网络管理系统(nms)发送trap报文,来报告设备状态或配置的改变及其他一些重要事件。在网络管理领域,大多数snmp实现采用udp作为传输层协议,由于udp是无连接、非可靠的,且snmp协议本身不提供传输可靠性保证,因此snmp代理和网络管理系统均无法监控trap报文的传输状态。现有技术中解决监控trap报文传输可靠性采用snmp代理主动轮询来检测trap报文是否丢失的方式。但若轮询间隔过长,网络管理系统(nms)不能及时掌握设备数据或状态的变化。若轮询间隔过短,会对网络管理系统资源及网络带宽造成浪费。轮询时间无法掌握。现有技术中目前没有网络开销低同时时效性高的监控trap报文的技术方案。



技术实现要素:

本发明提供了一种丢失trap报文查找方法和网络管理系统,一种snmp代理,以至少解决现有技术中无法低网络开销同时高时效性监控trap报文的技术问题。

本发明一方面提供一种trap报文监控方法,包括网络管理系统接收snmp代理发送的心跳报文,所述心跳报文携带预定时间间隔内所述snmp代理已发送的trap报文的身份标识集合;所述网络管理系统通过比对所述身份标识集合中的身份标识与在所述时间间隔内接收的trap报文的身份标识,查找未接收到的trap报文。

进一步地,所述网络管理系统根据比对结果向所述snmp代理发送设置请求报文,其中,所述设置请求报文用于请求所述snmp代理重新发送所述未接收到的trap报文。

进一步地,所述心跳报文还包括链路告警信息。

进一步地,所述方法还包括:所述网络管理系统根据所述链路告警信息维护链路状态:所述链路状态初始状态为up,所述网络管理系统在所述up状态下监听所述心跳报文,若等待所述心跳报文超时且超时次数超过预先设定的阈值时,将所述链路状态由所述up状态调整为down状态;所述网络管理系统在所述down状态下监听所述心跳报文,若接收到所述心跳报文,将所述链路状态由down状态调整为up状态。

本发明另一方面还提供一种trap报文监控方法,包括:网络管理系统向snmp代理发送获取请求报文,其中,所述获取请求报文用于请求所述snmp代理发送预定时间间隔内已发送的trap报文的身份标识集合;所述网络管理系统接收响应报文,其中,所述响应报文携带预定时间间隔内所述snmp代理已发送的trap报文的身份标识集合;所述网络管理系统通过比对所述身份标识集合中的身份标识与在所述时间间隔内接收的trap报文的身份标识,查找未接收到的trap报文。

本发明另一方面还提供一种trap报文监控方法,包括:snmp代理向网络管理系统发送心跳报文,其中,所述心跳报文携带预定时间间隔内所述snmp代理已发送的trap报文的身份标识集合,所述身份标识集合用于所述网络管理系统通过比对所述身份标识集合中的身份标识与在所述时间间隔内接收的trap报文的身份标识,查找未接收到的trap报文。

本发明另一方面还提供一种网络管理系统,包括:处理器,用于实现各指令;以及存储设备,适用于存储多条指令,所述指令适于由处理器加载并执行:接收snmp代理发送的心跳报文,所述心跳报文携带预定时间间隔内所述snmp代理已发送的trap报文的身份标识集合;通过比对所述身份标识集合中的身份标识与在所述时间间隔内接收的trap报文的身份标识,查找未接收到的trap报文。

本发明另一方面还提供一种网络管理系统,包括:处理器,用于实现各指令;以及存储设备,适用于存储多条指令,所述指令适于由处理器加载并执行:向snmp代理发送获取请求报文,其中,所述获取请求报文用于请求所述snmp代理发送预定时间间隔内已发送的trap报文的身份标识集合;接收响应报文,其中,所述响应报文携带预定时间间隔内所述snmp代理已发送的trap报文的身份标识集合;通过比对所述身份标识集合中的身份标识与在所述时间间隔内接收的trap报文的身份标识,查找未接收到的trap报文。

本发明另一方面还提供一种snmp代理,包括处理器,用于实现各指令;以及存储设备,适用于存储多条指令,所述指令适于由处理器加载并执行:向网络管理系统发送心跳报文,其中,所述心跳报文携带预定时间间隔内所述snmp代理已发送的trap报文的身份标识集合,所述身份标识集合用于所述网络管理系统通过比对所述身份标识集合中的身份标识与在所述时间间隔内接收的trap报文的身份标识,查找未接收到的trap报文。

本发明通过利用snmp代理上报告警心跳报文的技术方案,灵活配置各snmp代理的上报预定时间内trap报文发送情况的时间,高时效性监控trap报文传输状态,还能同时报告链路告警状态,减少对网络管理系统资源及网络带宽的浪费,规避极端网络环境下产生告警风暴的风险,至少解决现有技术中无法低网络开销同时高时效性监控trap报文的技术问题。

附图说明

图1是本发明实施例的一种trap报文监控方法流程图;

图2是本公开实施例snmpv1版本trappdupdu结构图;

图3是本公开实施例snmpv2/3版本trappdupdu结构图;

图4是本公开优选实施例snmpv1版本心跳告警报文结构图;

图5是本公开优选实施例snmpv2/3版本心跳告警报文结构图;

图6是本公开优选实施例链路告警状态迁移图;

图7是本公开实施例告警链路恢复后同步丢失trap报文操作时序图;

图8是本公开实施例告警链路正常时同步丢失trap报文时序图;

图9是本发明实施例的一种网络管理系统示意图

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

本发明一方面提供过一种trap报文监控方法,图1是本发明实施例的一种trap报文监控方法流程图,如图1所示,包括:

s101:网络管理系统接收snmp代理发送的心跳报文,所述心跳报文携带预定时间间隔内所述snmp代理已发送的trap报文的身份标识集合;

s102:所述网络管理系统通过比对所述身份标识集合中的身份标识与在所述时间间隔内接收的trap报文的身份标识,查找未接收到的trap报文。

其中,所述trap报文包含管理对象eventid,所述trap报文身份标识由所述trap报文管理对象事件身份eventid携带,所述trap报文身份标识是网路设备为每个通知事件分配的唯一序列号。

在本公开所披露的优选实施例中,网络设备为其产生的每个通知事件分配一个唯一序号“eventid”作为标识。

snmp实体通过管理对象“eventid”访问当前通知事件的“eventid”。

snmp代理在构造trappdu(protocoldataunit)时,将管理对象“eventid”实例绑定到pdu变量部分,绑定的对象实例值为通知事件的“eventid”。

图2是本公开优选实施例snmpv1版本trappdupdu结构图,如图2所示对于snmpv1,管理对象“eventid”实例作为trappdu的第一个绑定量。

图3是本公开优选实施例snmpv2/3版本trappdupdu结构图,如图3所示,对于snmpv2/3,由于rfc3416规定trappdu的前两个绑定量分别为“sysuptime.0”、“snmptrapoid.0”,因此,管理对象“eventid”实例作为trappdu的第三个绑定量。

告警心跳trap报文中携带上次告警心跳报文以来产生的所有非告警心跳事件序号。网络设备内部维护一个“trap报文列表”,用于保存设备上产生的所有trap报文信息。网络设备周期产生告警心跳trap报文,并通过snmp代理向snmp管理站发送告警心跳报文,上报该事件给网络管理系统(nms),也就是网络管理系统。

snmp代理在发送的trappdu变量部分,绑定变量“recentnonhbevtidlist.lasthbevtid”。变量值为,设备自上次告警心跳报文以来,产生的所有trap报文的“eventid”列表。

图4是本公开优选实施例snmpv1版本心跳告警报文结构图,如图4所示,对于snmpv1,“recentnonhbevtidlist.lasthbevtid”为trappdu的第二个绑定量。

图5是本公开优选实施例snmpv2/3版本心跳告警报文结构图,如图5所示,对于snmpv2/3,“recentnonhbevtidlist.lasthbevtid”为trappdu第四个绑定量。

进一步地,心跳报文还包括链路告警信息,所述网络管理系统根据所述链路告警信息维护链路状态,

图6是本公开优选实施例链路告警状态迁移图,如图6所示,网络管理系统(nms)初始告警链路状态为“up”。在“up”状态下,若等待告警心跳事件超时,且超时次数超过最大允许次数,则认为告警链路故障,链路状态会迁移到“down”。在“down”状态下,若接收到告警心跳事件,则认为告警链路恢复,链路状态迁移回“up”。

进一步地,在链路告警状态恢复后,网络管理系统向snmp代理发送获取请求报文,其中,所述获取请求报文用于请求所述snmp代理发送预定时间间隔内已发送的trap报文的身份标识集合;所述网络管理系统接收响应报文,其中,所述响应报文携带预定时间间隔内所述snmp代理已发送的trap报文的身份标识集合;所述网络管理系统通过比对所述身份标识集合中的身份标识与在所述时间间隔内接收的trap报文的身份标识,查找未接收到的trap报文。

图7是本公开实施例告警链路恢复后同步丢失trap报文操作时序图,如图7所示,网络管理系统(nms)检测到告警链路故障后,通过snmp管理站发送getrequest请求给设备snmp代理,在发送的getrequestpdu中绑定变量“recentnonhbevtidlist.lasthbevtid”,以获取设备上指定告警心跳事件发生以来产生的所有非告警心跳事件的通知事件“eventid”列表。

网络设备通过snmp代理接收到上述getrequest后,先从“通知事件列表”中查询“lasthbevtid”指定的告警心跳事件发生以来,产生的所有非告警心跳事件的通知事件“eventid”列表。

再通过snmp代理向网络管理系统(nms)的snmp管理站发送getresponse,在getresponsepdu中绑定变量“recentnonhbevtidlist.lasthbevtid”,变量值为上述“eventid”列表。

网络管理系统(nms)通过snmp管理站接收到上述getresponse后,从pdu绑定量“recentnonhbevtidlist.lasthbevtid”中获取,上次告警心跳事件以来网络设备产生的所有非告警事件的“eventid”列表,并与“当前告警周期非告警心跳通知事件id列表”比较。

对于“当前告警周期非告警心跳通知事件id列表”中不存在事件,则认为该事件trap丢失。

网络管理系统(nms)通过snmp管理站发送setrequst给网络设备snmp代理,请求设备重新上报丢失事件。在发送的setrequestpdu变量部分,绑定变量“synceventidlist.0”,变量值为丢失事件“eventid”列表。

网络设备通过snmp代理接收到管理站的setrequest请求后,从绑定量“synceventidlist.0”中,获取需重新上报的通知事件的“eventid”列表,并从维护的“通知事件列表”中获取该事件信息,通过snmp代理再次发送该事件trap给网络管理系统(nms)的snmp管理站。

进一步地,在链路告警正常时,在明确丢失trap报文后,所述网络管理系统根据比对结果向所述snmp代理发送设置请求报文,其中,所述设置请求报文用于请求所述snmp代理重新发送所述未接收到的trap报文。

本公开优选实施例中,网络管理系统(nms)内部维护一个“当前告警周期非告警心跳通知事件id列表”,用于保存上次告警心跳事件以来,从网络设备上接收到的所有非告警心跳事件的通知事件“eventid”,。

图8是本公开实施例告警链路正常时同步丢失trap报文时序图,如图8所示,网络管理系统(nms)通过网络管理系统接收到告警心跳trap后,从pdu绑定量“recentnonhbevtidlist.lasthbevtid”中获取,上次告警心跳事件以来网络设备产生的所有非告警事件的“eventid”列表,并与“当前告警周期非告警心跳通知事件id列表”比较。

对于“当前告警周期非告警心跳通知事件id列表”中不存在事件,则认为该事件trap丢失。

网络管理系统(nms)通过网络管理系统发送setrequst给网络设备snmp代理,请求设备重新上报丢失事件。在发送的setrequestpdu变量部分,绑定变量“synceventidlist.0”,变量值为丢失事件“eventid”列表。

网络设备通过snmp代理接收到网络管理系统的setrequest请求后,从绑定量“synceventidlist.0”中,获取需重新上报的通知事件的“eventid”列表,并从维护的“通知事件列表”中获取该事件信息,通过snmp代理再次发送该事件trap给网络管理系统(nms)的snmp管理站。

本公开还提供一种trap报文监控方法,包括:snmp代理向网络管理系统发送心跳报文,其中,所述心跳报文携带预定时间间隔内所述snmp代理已发送的trap报文的身份标识集合,所述身份标识集合用于所述网络管理系统通过比对所述身份标识集合中的身份标识与在所述时间间隔内接收的trap报文的身份标识,查找未接收到的trap报文。

本公开还提供了一种网络管理系统,包括:处理器,用于实现各指令;以及存储设备,适用于存储多条指令,所述指令适于由处理器加载并执行:接收snmp代理发送的心跳报文,所述心跳报文携带预定时间间隔内所述snmp代理已发送的trap报文的身份标识集合;通过比对所述身份标识集合中的身份标识与在所述时间间隔内接收的trap报文的身份标识,查找未接收到的trap报文。,图9是本发明实施例的一种网络管理系统示意图,如图9所示,包括存储设备91;处理器92,配置为执行所述指令以执行下诉操作:接收snmp代理发送的trap报文,记录所述trap报文的身份标识;接收所述snmp代理发送的心跳报文,所述心跳报文携带有身份标识列表,所述身份标识列表包含预定时间内所述snmp代理所发送全部trap报文的身份标识,根据比对所述身份标识列表和所述记录的身份标识查找丢失的trap报文身份标识。

本公开还提供了一种网络管理系统,包括:处理器,用于实现各指令;以及存储设备,适用于存储多条指令,所述指令适于由处理器加载并执行:向snmp代理发送获取请求报文,其中,所述获取请求报文用于请求所述snmp代理发送预定时间间隔内已发送的trap报文的身份标识集合;接收响应报文,其中,所述响应报文携带预定时间间隔内所述snmp代理已发送的trap报文的身份标识集合;通过比对所述身份标识集合中的身份标识与在所述时间间隔内接收的trap报文的身份标识,查找未接收到的trap报文。

本公开还提供了一种snmp代理,包括;处理器,用于实现各指令;以及存储设备,适用于存储多条指令,所述指令适于由处理器加载并执行:向网络管理系统发送心跳报文,其中,所述心跳报文携带预定时间间隔内所述snmp代理已发送的trap报文的身份标识集合,所述身份标识集合用于所述网络管理系统通过比对所述身份标识集合中的身份标识与在所述时间间隔内接收的trap报文的身份标识,查找未接收到的trap报文。

本公开优选实施例,网络设备为产生的每个通知事件分配一个唯一序号,snmp代理周期向网络管理系统发送告警链路心跳trap。snmp代理在发送的告警链路心跳trappdu中,携带上次心跳通知事件以来产生的所有非告警心跳通知事件序号。通过对比网络管理系统接收到的trap报文序号与网络管理系统接收到上述列表中包含的序号监控trap报文传输状态,与现有技术相比较,既减少了对网络管理系统资源及网络带宽的浪费,又可以规避极端网络环境下产生告警风暴的风险。

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

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1