抑制snmp报文冲击的方法与装置的制作方法

文档序号:7778039阅读:102来源:国知局
专利名称:抑制snmp报文冲击的方法与装置的制作方法
技术领域
本发明属于网络技术领域,更具体的,涉及一种抑制SNMP报文冲击的方法与装置。
背景技术
简单网络管理协议(SNMP)是目前TCP/IP网络中应用最为广泛的网络管理协议,经过多年的发展应用已经成为网络管理的事实上的标准。基于简单网络管理协议的网络管理包含两个部分:网络管理站(也叫管理进程,Manag er)和被管的网络单元(也叫代理设备,Agent) ο在实际网络应用中,有时会出现大量的SNMP报文,每秒达到几千个之多,这些SNMP报文指向同一个IP地址。这种情况的出现有些是因为网络设备故障引起的,有些是人为进行的恶意攻击。因此,现有技术中网络设备存在受到SNMP报文冲击的问题。

发明内容
本发明提供一种抑制SNMP报文冲击的方法与装置,用于解决现有技术中网络设备存在受到SNMP报文冲击的问题。为实现本发明的目的,根据本发明的一个方面,提供一种抑制SNMP报文冲击的方法,采用了以下技术方案:抑制SNMP报文冲击的方法包括:网络单元判断预定时间内接收到的SNMP报文数量是否达到预设限额,并得一判断结果;以及在判断结果为SNMP报文数量超过预设限额时,网络单元将预定时间内接收的超出预设限额的SNMP报文丢弃。进一步地,网络单元判断预定时间内接收到的SNMP报文数量是否达到预设限额,并得一判断结果包括:网络单元在接收新的SNMP报文时更新当前第一预定时间内接收到的SNMP报文的数量;以及网络单元判断当前时间是否到达第二预定时间,若否,判断SNMP报文的数量是否到达预设限额。进一步地,在网络单元判断预定时间内接收到的SNMP报文数量是否达到预设限额,并得一判断结果之前,抑制SNMP报文冲击的方法还包括:网络单元基于预定的屏蔽列表过滤掉非法SNMP报文。进一步地,预定的屏蔽列表为:由预先设定的非法IP地址或非法MAC地址组成的列表。进一步地,网络单元基于预定的屏蔽列表过滤掉非法SNMP报文包括:网络单元获取接收到的SNMP报文的源IP地址或源MAC地址;网络单元将源IP地址或源MAC地址与非法IP地址或非法MAC地址进行比较,得到一比较结果;网络单元在比较结果为源IP地址或源MAC地址为非法IP地址或非法MAC地址时,将与源IP地址或源MAC地址对应的SNMP报文丢弃。
根据本发明的另外一个方面,提供一种抑制SNMP报文冲击的装置,并采用以下技术方案:抑制SNMP报文冲击的装置包括:判断模块,用于判断预定时间内接收到的SNMP报文数量是否达到预设限额,并得一判断结果;以及第一丢弃模块,用于在判断结果为SNMP报文数量超过预设限额时,将预定时间内接收的超过预设限额的SNMP报文丢弃。进一步地,判断模块包括更新模块,用于在接收新的SNMP报文时更新当前第一预定时间内接收到的SNMP报文的数量;以及判断子模块,用于判断当前时间是否到达第二预定时间,若否,判断SNMP报文的数量是否到达预设限额。进一步地,抑制SNMP报文冲击的装置还包括:过滤模块,用于基于预定的屏蔽列表过滤掉非法SNMP报文。进一步地,过滤模块包括获取模块,用于获取接收到的SNMP报文的源IP地址或源MAC地址;比较模块,用于将源IP地址或源MAC地址与非法IP地址或非法MAC地址进行比较,得到一比较结果;以及第二丢弃模块,用于在比较结果为源IP地址或源MAC为非法IP地址或非法MAC地址时,将源IP地址或源MAC地址对应的SNMP报文丢弃。可以发现,本发明的上述技术方案,具有以下优势:1.通过在单位时间内设置报文数量的限额,在大量SNMP报文冲击设备的情况下,丢弃超出限额部分的SNMP报文,则可以使设备不会出现宕机,除丢弃了部分SNMP报文外,其他功能正常运作。2.通过设置包含非法IP地址或非法MAC地址的列表,可以对异常SNMP报文的IP地址或MAC地址进行过滤,消除异常SNMP报文造成的影响。除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。


附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1为本发明实施例所述抑制SNMP报文冲击的方法的主要流程图;图2为本发明实施例所述带有抑制SNMP报文冲击方法的SNMP报文处理流程图;图3为本发明所述实施例所述抑制SNMP报文冲击的方法的具体流程图;以及图4为本发明实施例所述抑制SNMP报文冲击的装置的结构示意图。
具体实施例方式以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。图1为本发明实施例所述抑制SNMP报文冲击的方法的主要流程图。参见图1所示,抑制SNMP报文冲击的方法包括:SlOl:网络单元判断预定时间内接收到的SNMP报文数量是否达到预设限额,并得一判断结果;以及S103:在判断结果为SNMP报文数量超过预设限额时,网络单元将预定时间内接收的超出预设限额的SNMP报文丢弃。通过本实施例的上述技术方案,在单位时间内设置报文数量的限额,在大量SNMP报文冲击设备的情况下,丢弃超出限额部分的SNMP报文,则可以使设备不会出现宕机,除丢弃了部分SNMP报文外,其他功能正常运作。优先地,网络单元判断预定时间内接收到的SNMP报文数量是否达到预设限额,并得一判断结果包括:网络单元在接收新的SNMP报文时更新当前第一预定时间内接收到的SNMP报文的数量;以及网络单元判断当前时间是否到达第二预定时间,若否,判断SNMP报文的数量是否到达预设限额。上述实施例的具体做法可以为:每当有SNMP报文来时,先更新当前这秒接收到的SNMP报文数,然后检查当前时间是否到下一秒:如果到了下一秒,就将表示当前这秒接收到的SNMP报文数请零;如果没到下一秒,就检查当前这秒处理的SNMP报文数是否达到限额,如果没有达到,继续处理,如果达到了,丢弃当前的SNMP报文,不作处理。通过本实施例的上述技术方案,在大量的SNMP报文冲击网络单元时,会消耗设备大量的CPU和内存资源,轻则影响设备正常工作,重则让设备处于瘫痪状态。通过设置每秒处理的SNMP报文限额,将超过此限额的报文丢弃,这样大量的报文在SNMP协议处理的起始阶段就被丢弃了,减少了对系统资源的占用。优选地,在网络单元判断预定时间内接收到的SNMP报文数量是否达到预设限额,并得一判断结果之前,抑制SNMP报文冲击的方法还包括:网络单元基于预定的屏蔽列表过滤掉非法SNMP报文。对于设定单位时间处理SNMP报文限额的方法能有效减少系统处理的SNMP报文数,但存在的缺点是可能将来自攻击方的SNMP请求和网络上其他合法的SNMP请求一起过滤了,导致系统正常工作受到影响,通过本实施例的上述技术方案,可以先对SNMP报文进行一次过虑,从而将非法SNMP报文提前丢弃掉,保证合法的SNMP报文参与SNMP报文限额的方法进一步对SNMP报文进行处理。优选地,预定的屏蔽列表为:由预先设定的非法IP地址或非法MAC地址组成的列表。对于事先知道的属于恶意或非法或异常的IP地址和MAC地址,通过建立一个列表,将这些属于恶意或非法或异常的IP地址和MAC地址纳入其中,在接收SNMP报文时,获取其源IP地址或源MAC地址,如果该源IP地址或源MAC地址在该列表中,则丢弃与之对应的SNMP报文。优选地,网络单元基于预定的屏蔽列表过滤掉非法SNMP报文包括:网络单元获取接收到的SNMP报文的源IP地址或源MAC地址;网络单元将源IP地址或源MAC地址与非法IP地址或非法MAC地址进行比较,得到一比较结果;网络单元在比较结果为源IP地址或源MAC地址为非法IP地址或非法MAC地址时,将与源IP地址或源MAC地址对应的SNMP报文丢弃。通过本实施的上述技术方案,可以将来自屏蔽列表中的IP地址或MAC地址的SNMP报文丢弃,使系统只处理合法的SNMP请求。图2为本发明实施例所述带有抑制SNMP报文冲击方法的SNMP报文处理流程图。参见图2所示,对于正常的SNMP报文处理流程来说,加入抑制SNMP报文冲击方法的具体步骤可以为:步骤201:从SNMP端口读取到达的数据,并将读取的数据放入缓冲区。步骤202:由抑制SNMP报文冲击方法对SNMP报文进行抑制SNMP报文冲击处理。步骤203:对SNMP报文进行解码,对接收的报文进行语法分析并转化为内部格式。步骤204:安全性检查,检查该报文是否有权限操作它要求的MIB变量。步骤205:映射MIB变量,确认被请求的MIB变量必须在主MIB树上,并能映射到相应的MIB叶节点。步骤206:设置相应数据,在MIB树上找到MIB对象的叶节点后,就应根据请求的GET/SET操作来执行相应的函数来读取或修改数据。步骤207:对结果编码,执行完成相应的操作后,代理需要将内部的数据结构转化为ASN.1格式,并放入缓冲区准备发送。步骤208:发送SNMP报文,调用发送函数将数据发送给管理站。通过本实施例的上述技术方案,使得支持SNMP协议的设备具备抵御SNMP报文冲击的能力,并且本方案具有简单易行通用性强的特点,也适合其他的协议处理模块。图3为本发明所述实施例所述抑制SNMP报文冲击的方法的具体流程图。参见图3所示,抑制SNMP报文冲击的方法的具体步骤可以为:步骤301:接收SNMP报文,从SNMP端口读取到达的数据,并将读取的数据放入缓冲区。步骤302:检查SNMP报文中的源IP地址或者源MAC地址是否在屏蔽的列表中,如果在,程序进入步骤305丢弃此SNMP报文,如果不在屏蔽列表中,进入303步骤中。需要屏蔽的IP地址或MAC地址,可以事先通过命令行等方式进行配置。步骤303:在此环节中检查当前这秒的时间段内收到的SNMP报文是否已经达到设定的限额,如果达到限额,程序进入步骤305丢弃此SNMP报文,如果没有达到,进入步骤304继续处理。判断当前这秒的时间段内收到的SNMP报文是否达到限额的具体做法如下:每当有SNMP报文来时,先更新当前这秒接收到的SNMP报文数,然后检查当前时间是否到下一秒:如果到了下一秒,就将表示当前这秒接收到的SNMP报文数请零;如果没到下一秒,就检查当前这秒处理的SNMP报文数是否达到限额,如果没有达到,继续处理,如果达到了,程序丢弃当前的SNMP报文,不作处理。步骤304:在此步骤里继续SNMP报文的处理,进入报文正常处理程序。通过本实施例的上述技术方案,结合设定单位时间内处理SNMP报文限额的方式与非法地址过滤的方式,使SNMP报文冲击对系统的影响降低到最小。图4为本发明实施例所述抑制SNMP报文冲击的装置的结构示意图。参见图4所示,抑制SNMP报文冲击的装置包括判断模块41,用于判断预定时间内接收到的SNMP报文数量是否达到预设限额,并得一判断结果;以及第一丢弃模块43,用于在判断结果为SNMP报文数量超过预设限额时,将预定时间内接收的超过预设限额的SNMP报文丢弃。优选地,判断模块41包括更新模块(图中未示),用于在接收新的SNMP报文之前更新当前预定时间内接收到的SNMP报文的数量;以及判断子模块(图中未示),用于判断当前时间是否在一个预定时间的周期内,若是,判断SNMP报文的数量是否到达预设限额。优选地,抑制SNMP报文冲击的装置还包括过滤模块(图中未示),用于基于预定的屏蔽列表过滤掉非法SNMP报文。优选地,过滤模块(图中未示)包括获取模块(图中未示),用于获取接收到的SNMP报文的源IP地址或源MAC地址;比较模块(图中未示),用于将源IP地址或源MAC地址与非法IP地址或非法MAC地址进行比较,得到一比较结果;以及第二丢弃模块(图中未示),用于在比较结果为源IP地址或源MAC地址为非法IP地址或非法MAC地址时,将源IP地址或源MAC地址对应的SNMP报文丢弃。通过本发明的上述实施例,在出现大量的SNMP报文时,通过在单位时间内设置报文数量的限额,在大量SNMP报文冲击设备的情况下,丢弃超出限额部分的SNMP报文,则可以使设备不会出现宕机,除丢弃了部分SNMP报文外,其他功能正常运作。还可以通过设置包含非法IP地址或非法MAC地址的列表,可以对异常SNMP报文的IP地址或MAC地址进行过滤,消除异常SNMP报文造成的影响。以上所述仅是本发明的实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种抑制SNMP报文冲击的方法,其特征在于,包括: 网络单元判断预定时间内接收到的SNMP报文数量是否达到预设限额,并得一判断结果;以及 在所述判断结果为所述SNMP报文数量超过所述预设限额时,所述网络单元将所述预定时间内接收的超出所述预设限额的SNMP报文丢弃。
2.如权利要求1所述的抑制SNMP报文冲击的方法,其特征在于,所述网络单元判断预定时间内接收到的SNMP报文数量是否达到预设限额,并得一判断结果包括: 所述网络单元在接收新的SNMP报文时更新当前第一预定时间内接收到的所述SNMP报文的数量;以及 所述网络单元判断当前时间是否到达第二所述预定时间,若否,判断所述SNMP报文的数量是否到达所述预设限额。
3.如权利要求1所述的抑制SNMP报文冲击的方法,其特征在于,在所述网络单元判断预定时间内接收到的SNMP报文数量是否达到预设限额,并得一判断结果之前,所述抑制SNMP报文冲击的方法还包括: 所述网络单元基于预定的屏蔽列表过滤掉非法SNMP报文。
4.如权利要求3所述的抑制SNMP报文冲击的方法,其特征在于,所述预定的屏蔽列表为: 由预先设定的非法IP地址或非法MAC地址组成的列表。
5.如权利要求4所述的抑制SNMP报文冲击的方法,其特征在于,所述网络单元基于预定的屏蔽列表过滤掉非法SNMP报文包括: 所述网络单元获取接收到的所述SNMP报文的源IP地址或源MAC地址; 所述网络单元将所述源IP地址或所述源MAC地址与所述非法IP地址或所述非法MAC地址进行比较,得到一比较结果; 所述网络单元在所述比较结果为所述源IP地址或所述源MAC地址为所述非法IP地址或所述非法MAC地址时,将与所述源IP地址或所述源MAC地址对应的SNMP报文丢弃。
6.一种抑制SNMP报文冲击的装置,其特征在于,包括: 判断模块,用于判断预定时间内接收到的SNMP报文数量是否达到预设限额,并得一判断结果;以及 第一丢弃模块,用于在所述判断结果为所述SNMP报文数量超过所述预设限额时,所述将所述预定时间内接收的超过所述预设限额的SNMP报文丢弃。
7.如权利要求6所述的抑制SNMP报文冲击的装置,其特征在于,所述判断模块包括: 更新模块,用于在接收新的SNMP报文时更新当前第一预定时间内接收到的所述SNMP报文的数量;以及 判断子模块,用于判断当前时间是否到达第二预定时间,若否,判断所述SNMP报文的数量是否到达所述预设限额。
8.如权利要求7所述的抑制SNMP报文冲击的装置,其特征在于,还包括: 过滤模块,用于基于预定的屏蔽列表过滤掉非法SNMP报文。
9.如权利要求8所述的抑制SNMP报文冲击的装置,其特征在于,所述过滤模块包括: 获取模块,用于获取接收到的所述SNMP报文的源IP地址或源MAC地址;比较模块,用于将所述源IP地址或所述源MAC地址与所述非法IP地址或所述非法MAC地址进行比较,得到一比较结果;以及 第二丢弃模块,用于在所述比较结果为所述源IP地址或所述源MAC地址为所述非法IP地址或所述非法MAC地址时, 将所述源IP地址或所述源MAC地址对应的SNMP报文丢弃。
全文摘要
本发明提供一种抑制SNMP报文冲击的方法与装置,用于抵御SNMP报文的冲击,抑制SNMP报文冲击的方法包括网络单元判断预定时间内接收到的SNMP报文数量是否达到预设限额,并得一判断结果;以及在判断结果为SNMP报文数量超过预设限额时,网络单元将预定时间内接收的超出预设限额的SNMP报文丢弃。采用本发明提供的技术方案,可以有效的抵御SNMP报文的冲击。
文档编号H04L29/12GK103166784SQ20111041816
公开日2013年6月19日 申请日期2011年12月14日 优先权日2011年12月14日
发明者强伟峰 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1