一种snmp请求报文处理方法及装置的制作方法

文档序号:7748083阅读:332来源:国知局
专利名称:一种snmp请求报文处理方法及装置的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种SNMP (Simple Network ManagementProtocol,简单网络管理协议)请求报文处理方法及装置。
背景技术
现在网络的发展趋势是IP (Internet Protocol,网络之间互连的协议)化,基于 IP的设备越来越多。IP不仅用来承载传统的宽带业务,也用来承载新的语音业务。应用IP 的网络设备越多,管理网络设备的重要性也不言而喻。SNMP(Simple Network Management Protocol,简单网络管理协议)是目前应用最为广泛的一种网络设备管理协议。
SNMP规定了 5种协议数据单元PDU (Protocol Date Unit)(也就是SNMP报文), 用于网管设备和网元设备(即代理侧设备)之间的交互。如图1所示,具体为1) get-request 由网管设备发送给网元设备,用于网管设备从网元设备处提取一 个或多个参数值;2) get-next-request 由网管设备发送给网元设备,用于网管设备从网元设备处 提取紧跟当前参数值的下一个参数值;3) set-request 由网管设备发送给网元设备,用于设置网元设备的一个或多个参 数值,因此网管设备可以使用Set-Request远程设置网元设备的参数;4) get-response 用于网元设备接收网管设备发送get-request、 get-next-request或set-request后,向网管设备返回一个或多个参数值;5) trap 网元设备主动发出的报文,用于通知网管设备有某些事件发生。上述五种类型的SNMP报文中,前面三种报文是由网管设备向网元设备发出的,后 面两种报文是由网元设备发给网管设备的,且只有Trap类型的SNMP报文是网元设备主动 发起的非请求信息报文,向网管设备报告特定的事件,如设备的启动、关闭和其他变化等。 通过上面五种类型的SNMP报文,SNMP提供三种基本操作获取网络设备信息(Get 读操 作)、设置网络设备参数值(Set 写操作)和事件报告(Trap 陷阱操作)。网管设备和网元设备交互过程中发送的Get-request、Get-Next-Request, Get-Response、Set-Request协议报文中都包含ID字段,该ID字段用于匹配请求和响应, SNMP给每个请求分配全局唯一的ID。对于同一个网管设备发出的数据包,该ID在短时间 内不会出现重复的情况。本文中将网管设备发送的Get-request、Get-Next-Request或 Set-Request类型的报文均称为SNMP请求报文,将网元设备发送的Get-Response类型的报 文称为SNMP响应报文。SNMP协议中,在网元设备所处的广播域中存在洪范和路由环路的情况下,数据包 会被洪范到所有的网元设备上,有默认路由到网关的网元设备会把这种数据包重新路由到 网关上,网关会再次把该数据包洪范到该广播域中的所有网元设备上。如图2所示为存在 上述问题的网络环境,网管设备C要给网元设备D发送SNMP请求报文,该SNMP请求报文通 过中间网络B会下发到网元设备D上。由于VLAN QINQ机制不完善或者其他原因在中间网络B存在洪范的情况下,该SNMP请求报文也会被发送到网元设备A上,如果网元设备A上 存在缺省路由到中间网络B,则这个SNMP请求报文会被发回给中间网络B。因为中间网络B 的洪范的原因,该SNMP请求报文再次被发到网元设备D上。这样循环,网元设备D就会收 到很多重复的SNMP请求报文(SNMP请求报文中的源IP地址和ID字段都相同),要实际处 理很多重复的请求,造成设备繁忙,严重的时候甚至会影响到设备的正常运行。这种情况可 以通过解决中间网络B的洪范问题和网元设备A路由环路的问题来解决,但不能完全保证 网络环境中不存在该问题。

发明内容
本发明提供一种SNMP请求报文处理方法及装置,从网元设备的角度解决实际处 理很多重复的请求的问题,彻底避免重复SNMP请求报文对网元设备的冲击。本发明提供一种SNMP请求报文处理方法,包括获取当前接收的SNMP请求报文中的源IP和Request-ID,其中 从同一源IP接收的 不同SNMP请求报文用不同Request-ID唯一标识;以当前获取的源IP和Request-ID为索引在SNMP管理控制块中进行查找,该 SNMP管理控制块用于存储信息项,所述信息项包括之前接收的SNMP请求报文中源IP和 Request-ID ;在查到包括当前获取的源IP和Request-ID的信息项时,丢弃当前接收的SNMP请 求报文。其中,该方法还包括在未查到包括当前获取的源IP和Request-ID的信息项时,将当前获取的源IP和 Request-ID作为新的信息项存储到所述SNMP管理控制块中,并处理当前接收的SNMP请求 报文。其中,该方法还包括对所述SNMP管理控制块中存储的信息项设置对应的老化定 时器,在所述老化定时器到达定时时间时,删除与该老化定时器对应的信息项。其中,所述SNMP管理控制块中的信息项包括的不同源IP的数目不大于第一设定 数目,包括同一源IP的不同信息项的数目不大于第二设定数目。其中,该方法中将新的信息项存储前还包括确定所存储的包括当前获取的源IP的不同信息项数目等于第二设定数目时,删 除存储时间最长的包括当前获取的源IP的信息项。其中,该方法还包括确定所存储的信息项包括的不同源IP的数目等于第一设定数目时,跳过对所述 新的信息项的存储。本发明还提供一种SNMP请求报文处理装置,包括SNMP管理控制块,用于存储信息项,所述信息项包括之前接收的SNMP请求报文中 源 IP 和 Request-ID ;标识信息提取单元,用于获取当前接收的SNMP请求报文中的源IP和Request-ID, 其中从同一源IP接收的不同SNMP请求报文用不同Request-ID唯一标识;标识信息查找单元,用于以当前获取的源IP和Request-ID为索引在SNMP管理控制块中进行查找;报文丢弃单元,用于在查到包括当前获取的源IP和Request-ID的信息项时,丢弃 当前接收的SNMP请求报文。其中,该SNMP请求报文处理装置还包括标识信息学习单元,用于在未查到包括当前获取的源IP和Request-ID的信息项时,将当前获取的源IP和Request-ID作为新的信息项存储到所述SNMP管理控制块中,即 学习当前数据包的源IP和Request-ID ;报文处理单元,用于在未查到包括当前获取的源IP和Request-ID的信息项时,处 理当前接收的SNMP请求报文。其中,该SNMP请求报文处理装置还包括定时器设置单元,用于对所述SNMP管理控制块中的信息项设置对应的老化定时 器;标识信息老化单元,用于在所述老化定时器到达定时时间时,删除与该老化定时 器对应的信息项,即老化SNMP管理控制块中学习到的信息项。该装置中所述SNMP管理控制块中的信息项包括的不同源IP的数目不大于第一 设定数目,包括同一源IP的不同信息项的数目不大于第二设定数目;所述标识信息学习单 元,还用于确定所存储的包括当前获取的源IP的不同信息项数目等于第二设定数目时,删 除存储时间最长的包括当前获取的源IP的信息项;确定所存储的信息项包括的不同源IP 的数目等于第一设定数目时,跳过对所述新的信息项的存储。该装置中所述SNMP管理控制块由一个IP地址队列和对应于IP地址队列中条目 的事务编号队列组成,所述IP地址队列中不同条目存储的是信息项中的不同源IP,同一个 源IP的信息项中的Request-ID存储在同一个事物编号队列中。利用本发明提供的SNMP请求报文处理方法及装置具有以下有益效果从网元设 备角度来解决出现的重复SNMP请求报文的问题,可以在网络中存在洪范和路由环回的情 况下,有效避免网管设备向网元设备发送SNMP请求报文时对网元设备的冲击。


图1为现有技术中网管设备利用SNMP与网元设备(即代理侧设备)的交互示意 图;图2为现有技术中存在重复SNMP请求报文对网元设备冲击的网络环境示意图;图3为本发明实施例中SNMP请求报文处理方法流程图;图4为本发明实施例中包括地址队列和事物编号队列的数据结构图;图5为本发明实施例中网元设备处理SNMP请求报文流程图;图6为本发明实施例中SNMP请求报文处理系装置结构图。
具体实施例方式下面结合附图和实施例对本发明提供的SNMP请求报文处理方法及装置进行更详 细的说明。网管设备发送的SNMP请求报文如Get-request、Get-Next-Request或Set-Request类型的报文,是从上游网管设备过来的请求数据包,对于代理侧网元设备来说 接收到上述SNMP请求报文会进行处理并发送SNMP响应报文。因此重复的SNMP请求报文 对网元设备的冲击较大。本发明提供的SNMP请求报文处理方法及装置,用于解决网络中存 在洪范和路由环回的情况下,重复的SNMP请求报文对网元设备的冲击。如图3所示,本发明提供一种SNMP请求报文的处理方法,包括步骤S301,获取当前接收的SNMP请求报文中的源IP和Request-ID,其中从同一 源IP接收的不同SNMP请求报文用不同Request-ID唯一标识;对于同一个网元设备来说,可能存在多个网管设备都可能通过SNMP来管理该网 元设备。网元设备是通过SNMP请求报文中的源IP地址来区分不同的网管设备。从同一源 IP接收的不同SNMP请求报文用不同Request-ID唯一标识,因此对于同一个网管设备发送 的不同的SNMP请求报文,是根据SNMP请求报文中Request-ID来区分的。根据SNMP请求 报文中的这两个信息来区分不同网管设备的不同Request请求操作。步骤S302,以当前获取的源IP和Request-ID为索引在SNMP管理控制块中进行 查找,该SNMP管理控制块用于存储信息项,所述信息项包括之前接收的SNMP请求报文中源 IP 禾口 Request-IDo在网元设备中建立对SNMP请求报文中的源IP和Request-ID学习机制,对之前接 收的SNMP请求报文中的源IP和Request-ID作为信息项进行存储,每一信息项包括源IP 和Request-ID,每个SNMP请求报文到来的时候,提取报文中源IP和Request-ID,以当前获 取的源IP和Request-ID为索引在SNMP管理控制块中进行查找。步骤S303,判断是否查到包括当前获取的源IP和Request-ID的信息项,若是,执 行步骤S304,否则,执行步骤S305 ;步骤S304,在查到包括当前获取的源IP和Request-ID的信息项时,丢弃当前接收 的SNMP请求报文。以当前获取的源IP和Request-ID为索引在SNMP管理控制块中进行查找,通过确 定SNMP管理控制块是否已经存储包括当前获取的源IP和Request-ID的信息项,可以判断 出该SNMP请求报文是否是重复的数据包,如果是重复的数据包就把该数据包丢掉,即使网 络中存在洪范和路由环回,也不会对网元设备造成太大的冲击,从而彻底达到防止冲击网 元设备的目的。优选地,本实施例中还包括步骤S305,在未查到包括当前获取的源IP和 Request-ID的信息项时,将当前获取的源IP和Request-ID作为新的信息项存储到所述 SNMP管理控制块中,并处理当前接收的SNMP请求报文。SNMP管理控制块未存储包括当前接收的SNMP请求报文中的源IP和Request-ID 的信息项有两种情况1)有存储当前接收的SNMP请求报文中的源IP的信息项,但该信息项存储的 Request-ID不是当前接收的SNMP请求报文中的Request-ID。说明从该源IP对应的网管 设备接收过SNMP请求报文,但未接收到过对应Request-ID的SNMP请求报文,因此不是重 复数据包,按正常的流程对该SNMP请求报文进行处理。2)没有存储当前接收的SNMP请求报文中的源IP的信息项,说明还未从该源IP对 应的网管设备接收过SNMP请求报文,因此不是重复数据包,按正常的流程对该SNMP请求报文进行处理。
依照本发明的实施例中,为了达到丢弃重复的SNMP请求报文减少网络异常包对 网元设备的冲击的目的,所提供的SNMP请求报文处理方法中,如图4所示,SNMP管理控制 块由一个IP地址队列和对应于IP地址队列中条目的事务编号队列组成,图4中的REQ为 本文中Request-ID的简写,下角标不同的REQ表示不同Request-ID。SNMP管理控制块的 IP地址队列中不同条目存储的是信息项中的不同源IP。IP地址队列中的每个条目对应一 个事物编号队列,同一个源IP的信息中的Request-ID放在同一个事物编号队列中。优选地,本实施例中还包括,对所述SNMP管理控制块中存储的信息项设置对应的 老化定时器,在所述老化定时器到达定时时间时,删除与该老化定时器对应的信息项,即老 化SNMP管理控制块中学习到的信息项。本实施例的SNMP管理控制块中存放网管设备IP地址的IP地址队列和存放 Request-ID的事物编号队列初始状态为空,为了节省网元设备的存储空间,优选地,SNMP 管理控制块所存储的所有信息项中所包括的不同源IP数目(地址队列的长度)不大于第 一设定数目,包括同一源IP的不同信息项数目(事物编号队列的长度)不大于设定第二数 目。以上述数据结构为例,优选地最多存放5个网管设备对应的IP地址。对应每个IP地 址用于存放Request-ID的事物编号队列初始状态为空,最大长度为16个元素。如图5所示,本实施例中在SNMP请求报文到来时,网元设备对SNMP请求报文处理 流程具体包括步骤S501,对于当前从网络口新到来的SNMP请求报文,提取出SNMP请求报文中源 IP 和 Request-ID 字段;步骤S502,以提取出的源IP和Request-ID为索引在上述SNMP管理控制块中检 索;步骤S503,判断上述源IP和Request-ID的信息项已存在于SNMP管理控制块中, 若是,执行步骤S504,否则执行步骤S505 ;步骤S504,丢弃当前接收的SNMP请求报文,并返回步骤S501。步骤S505,将上述提取的源IP和Request-ID分别学习到SNMP管理控制块中,设 置该信息项的老化定时器,并将SNMP请求报文交给正常的处理流程继续处理,结束。本实施例中步骤S502,以提取出的源IP和Request-ID为索引在SNMP管理控制 块中进行检索时,优选地首先以提取出的源IP检索存储网管设备IP的IP地址队列;如果 存储网管设备IP的IP地址队列为空或者存储网管设备IP的IP地址队列非空但是不存在 提取的源IP时,可以不进行Request-ID的检索,直接执行步骤S505 首先学习提取的源IP 地址到IP地址队列,学习提取的Request-ID到该源IP对应的事务编号队列,设置该信息 项的老化定时器。步骤S502中,若以提取出的源IP检索存储网管设备IP的地址队列时,存储网管 设备IP的地址队列非空且检索到该源IP时,则在该源IP对应的事务编号队列中查找提取 出的Request-ID ;如果事务编号队列中找不到相应的Request-ID,则执行步骤S505 学习 提取的Request-ID到该源IP对应的事务编号队列,并设置该信息项的老化定时器。本实施例中在地址队列和事物编号队列长度有限制的情况下,在步骤S505中进 行学习时,确定所存储的信息项包括的不同源IP的数目等于第一设定数目时如5时,将跳过信息项的学习过程,直接进行后续的处理。即学习的IP地址的个数超出地址队列长度 后,只有等时间较长的IP地址对应的事物编号队列老化掉以后,IP地址的个数小于地址队 列长度时,才能学习新的IP地址。在步骤S505中进行学习时,确定包括所获取的源IP的 不同信息项数目等于第二设定数目时,删除存储时间最长的包括所获取的源IP的信息项。 即对应源IP的Request-ID队列学习达到最大个数后,删除源IP对应的事物编号队列中最 老学习到的Request-ID,添加新学习到的Request-ID。进一步的,每次删除事务编号队列中的最老学习到的Request-ID的时候,要先销 毁相应的定时器,然后再进行删除Request-ID的操作。本实施例中老化定时器被触发和销毁的执行流程是1)在设置事务编号队列中 信息项具体的Request-ID条目的时候,设定该信息项的老化定时器;2)所述老化定时器超 时,删除老化定时器对应的信息项条目;3)销毁该信息项的老化定时器。进一步的,所述2)中某信息项的老化定时器到达定时时间超时后,删除事务编号 对列中的相应Request-ID条目,这个过程也称之为事务编号队列条目的老化,或者称之为 Request-ID的老化;检查删除Request-ID条目后的同IP地址的事务编号队列是否为空; 若对列为空,则删除地址队列中相应的IP地址条目,这个过程称之为网管IP的老化。
进一步的,为了使该老化既起到区分不同SNMP请求报文,又防止过于频繁老化, 本实施例中把与IP地址对应的Request-ID的老化缺省时间定为30秒,该时间通过人机界 面可以根据系统的需要灵活配置。依照本发明的另一实施例中,提供一种SNMP请求报文处理装置,如图6所示,该装 置包括SNMP管理控制块601,用于存储信息项,所述信息项包括之前接收的SNMP请求报文 中源IP和Request-ID ;标识信息提取单元602,用于获取当前接收的SNMP请求报文中的源 IP和Request-ID,其中从同一源IP接收的不同SNMP请求报文用不同Request-ID唯一标 识;标识信息查找单元603,用于以当前获取的源IP和Request-ID为索引在SNMP管理控 制块中进行查找;报文丢弃单元604,用于在查到包括当前获取的源IP和Request-ID的信 息项时,丢弃当前接收的SNMP请求报文。优选地,该装置还包括标识信息学习单元605,用于在未查到包括当前获取的 源IP和Request-ID的信息项时,将当前获取的源IP和Request-ID作为新的信息项存 储到所述SNMP管理控制块中;报文处理单元606,用于在未查到包括当前获取的源IP和 Request-ID的信息项时,处理当前接收的SNMP请求报文。定时器设置单元607,用于对所 述SNMP管理控制块中的信息项设置对应的老化定时器;标识信息老化单元608,用于在所 述老化定时器到达定时时间时,删除与该老化定时器对应的信息项,实现对SNMP管理控制 块601所存储的信息项的老化。为了节省该装置存储信息项的空间,SNMP管理控制块中的信息项包括的不同源 IP的数目不大于第一设定数目,包括同一源IP的不同信息项的数目不大于第二设定数目, 所述标识信息学习单元605,还用于确定所存储的包括当前获取的源IP的不同信息项数目 等于第二设定数目时,删除存储时间最长的包括当前获取的源IP的信息项;确定所存储的 信息项包括的不同源IP的数目等于第一设定数目时,跳过对所述新的信息项的存储。具体实施时,所述SNMP管理控制块由一个IP地址队列和对应于IP地址队列中条 目的事务编号队列组成,所述IP地址队列中不同条目存储的是信息项中的不同源IP,同一个源IP的信息项中的Request-ID存储在同一个事物编号队列中。以数据结构的形式管理学习到源IP和与IP地址对应的Request-ID。 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
一种SNMP请求报文处理方法,其特征在于,包括获取当前接收的SNMP请求报文中的源IP和Request-ID,其中从同一源IP接收的不同SNMP请求报文用不同Request-ID唯一标识;以当前获取的源IP和Request-ID为索引在SNMP管理控制块中进行查找,该SNMP管理控制块用于存储信息项,所述信息项包括之前接收的SNMP请求报文中源IP和Request-ID;在查到包括当前获取的源IP和Request-ID的信息项时,丢弃当前接收的SNMP请求报文。
2.如权利要求1所述的方法,其特征在于,还包括在未查到包括当前获取的源IP和Request-ID的信息项时,将当前获取的源IP和 Request-ID作为新的信息项存储到所述SNMP管理控制块中,并处理当前接收的SNMP请求 报文。
3.如权利要求2所述的方法,其特征在于,还包括对所述SNMP管理控制块中存储的信息项设置对应的老化定时器,在所述老化定时器 到达定时时间时,删除与该老化定时器对应的信息项。
4.如权利要求3所述的方法,其特征在于,所述SNMP管理控制块中的信息项包括的不 同源IP的数目不大于第一设定数目,包括同一源IP的不同信息项的数目不大于第二设定 数目。
5.如权利要求4所述的方法,其特征在于,将新的信息项存储前还包括确定所存储的包括当前获取的源IP的不同信息项数目等于第二设定数目时,删除存 储时间最长的包括当前获取的源IP的信息项。
6.如权利要求4所述的方法,其特征在于,还包括确定所存储的信息项包括的不同源IP的数目等于第一设定数目时,跳过对所述新的 信息项的存储。
7.一种SNMP请求报文处理装置,其特征在于,包括SNMP管理控制块,用于存储信息项,所述信息项包括之前接收的SNMP请求报文中源IP 禾口 Request-ID ;标识信息提取单元,用于获取当前接收的SNMP请求报文中的源IP和Request-ID,其中 从同一源IP接收的不同SNMP请求报文用不同Request-ID唯一标识;标识信息查找单元,用于以当前获取的源IP和Request-ID为索引在SNMP管理控制块 中进行查找;报文丢弃单元,用于在查到包括当前获取的源IP和Request-ID的信息项时,丢弃当前 接收的SNMP请求报文。
8.如权利要求7所述的装置,其特征在于,还包括标识信息学习单元,用于在未查到包括当前获取的源IP和Request-ID的信息项时,将 当前获取的源IP和Request-ID作为新的信息项存储到所述SNMP管理控制块中;报文处理单元,用于在未查到包括当前获取的源IP和Request-ID的信息项时,处理当 前接收的SNMP请求报文。
9.如权利要求8所述的装置,其特征在于,还包括定时器设置单元,用于对所述SNMP管理控制块中的信息项设置对应的老化定时器;标识信息老化单元,用于在所述老化定时器到达定时时间时,删除与该老化定时器对 应的信息项。
10.如权利要求8所述的装置,其特征在于,所述SNMP管理控制块中的信息项包括的不 同源IP的数目不大于第一设定数目,包括同一源IP的不同信息项的数目不大于第二设定 数目,所述标识信息学习单元,还用于确定所存储的包括当前获取的源IP的不同信息项数 目等于第二设定数目时,删除存储时间最长的包括当前获取的源IP的信息项;确定所存储 的信息项包括的不同源IP的数目等于第一设定数目时,跳过对所述新的信息项的存储。
11.如权利要求7 10任一所述的装置,其特征在于,所述SNMP管理控制块由一个IP 地址队列和对应于IP地址队列中条目的事务编号队列组成,所述IP地址队列中不同条目 存储的是信息项中的不同源IP,同一个源IP的信息项中的Request-ID存储在同一个事物 编号队列中。
全文摘要
本发明公开了一种SNMP请求报文处理方法及装置,该方法包括获取当前接收的SNMP请求报文中的源IP和Request-ID,其中从同一源IP接收的不同SNMP请求报文用不同Request-ID唯一标识;以当前获取的源IP和Request-ID为索引在SNMP管理控制块中进行查找,该SNMP管理控制块存储的信息项包括之前接收的SNMP请求报文中源IP和Request-ID;在查到包括当前获取的源IP和Request-ID的信息项时,丢弃当前接收的SNMP请求报文。本发明可以在网络中存在洪范和路由环回的情况下,有效避免网管设备向网元设备发送SNMP请求报文时对网元设备的冲击。
文档编号H04L12/24GK101834743SQ20101016547
公开日2010年9月15日 申请日期2010年4月27日 优先权日2010年4月27日
发明者强伟峰, 王义安, 王彦华, 罗小妮, 郭红涛 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1