模拟snmp网元及用该网元进行网管系统测试的方法

文档序号:7627467阅读:325来源:国知局
专利名称:模拟snmp网元及用该网元进行网管系统测试的方法
技术领域
本发明涉及电信领域电信网络管理系统,更具体地涉及模拟SNMP网元进行网管系统测试的方法。
背景技术
TMN规定网络管理领域包括五大功能1、配置管理;2、告警管理;3、性能管理;4、安全管理;5、帐务管理。目前网管系统中常用的标准通讯协议主要分为SNMP和CMIP两种,尤其是SNMP协议,以其开发周期短,协议实现简单的优势,已经逐渐成为网络管理的事实标准协议。
SNMP协议网管系统采用Manager(管理)/Agent(代理)架构,其中后台网管作为Manager,前台网元作为Agent,后台网管和前台网元通过SNMP协议通信。每个前台网元都有一个独立的IP地址,以UDP传输协议来发送和接收SNMP消息,前台网元通过SNMP协议中定义的Trap消息发送告警或者告警恢复到后台网管。
前台网元启动后在161端口启动SNMP监听线程,接收后台网管发来的SNMP请求。前台网元将Trap消息发往后台网管的162端口。
前台网元通过MIB向后台网管提供接口,就是Agent包含的、并且能够被Manager进程查询和设置信息的集合。前后台以文件的方式来确定MIB接口,根据MIB文件互相独立开发,编码结束后进行前后台联调。
目前前后台联调必须等前台网元完成某个MIB接口功能后,后台网管才能开始调试工作,另外告警功能需要等待前台网元主动上报才能进行调试,同时前台网元环境是比较紧缺的并且非常昂贵的,一般来说无法组织数量众多的前台网元对后台网管系统进行压力和性能测试。
为了避免前后台联调工作必须等待前台网元完成MIB接口后才能开始的情况,一般采用模拟网元来解决这个问题,在计算机上模拟一个前台网元,即根据前台的MIB接口模拟一个代理。模拟网元可以给后台网管提供一个可以用于MIB接口调试的环境。
但是目前开发的模拟网元一般都有如下的缺点,只能用于MIB接口调试,即只能被动接收后台网管发来的SNMP操作消息,然后返回命令执行情况,但是不能模拟前台网元主动上报Trap消息,即使能够模拟Trap消息上报过程,也只能按照用户配置的规则,周期性地发送Trap消息,而真实网元随地机发送告警及告警恢复消息,所以不能模拟真实网元的告警处理过程。
目前开发的模拟网元还有一个比较大的缺陷,由于前台网元使用IP地址唯一标识,所以在一台计算机上只能模拟一个前台网元设备,然而后台网管需要管理数量众多的前台网元设备来进行压力测试,那么需要模拟多少个前台网元就需要多少台计算机,这在实际的测试环境中一般也是无法满足的。

发明内容
本发明所要解决的技术问题在于提供一种模拟SNMP网元及用该网元进行网管系统测试的方法,通过用一台计算机模拟多个前台网元设备,解决在SNMP网管前后台联调和系统测试阶段的一些问题,使得测试成本大大降低,同时也可以减少后台网管等待联调的时间。
本发明中的模拟SNMP网元,包括配置参数模块、代理模块、顺序Trap(陷阱)产生模块和随机Trap产生模块,其中,代理模块中包括一个主代理和多个其他代理;所述配置参数模块在模拟网元启动过程中完成从配置文件中读取模拟网元各种配置参数的操作,并将这些配置数据加载到内存中供其它模块使用;所述代理模块在不同的端口启动SNMP监听线程,接收发来的SNMP请求,主代理还负责转发对其它代理的访问请求,并把其它代理的返回消息转发到后台网管;所述顺序Trap产生模块根据用户在客户端中配置的信息,按照代理、告警类型、绑定值的三层循环方式产生并顺序地向后台网管发送Trap消息;所述随机Trap产生模块随机确定发送告警的代理、告警类型、以及绑定值等参数。
本发明中的利用模拟SNMP网元进行网管系统测试的方法,包括以下步骤(a)模拟网元启动时根据模拟网元配置文件进行初始化;(b)根据需要配置模拟的代理数、每个代理启动时监听的端口号以及模拟发送告警的参数和规则;(c)根据配置信息在不同的端口启动多个SNMP监听线程;(d)SNMP监听线程处理接收到的SNMP请求消息,向后台网管返回命令执行结果;(e)以顺序发送的方式上报Trap消息到后台网管,调试后台网管告警处理功能;
(f)以随机发送的方式上报Trap消息到后台网管,模拟前台网元的真实告警处理过程。
使用本发明,可以在实验室中通过模拟大规模网元,实现了对后台网管的压力和性能测试,测试成本大大降低,同时也减少后台网管等待联调的时间。同时由于可以模拟网元主动上报Trap消息,可以更真实地模拟网元。


图1为模拟网元总体框图;图2为模拟网元处理SNMP消息的流程图;图3为模拟网元按照顺序发送的方式上报Trap消息的流程图;图4为模拟网元按照随机发送的方式上报Trap消息的流程图。
具体实施例方式
下面以基于IEEE P802.16-REVd标准中WirelessMAN OFDM框架的点对多点固定无线接入产品——M35网元的模拟网元为例,结合附图对本发明进行详细介绍。
参见图1所示模拟网元总体框图,模拟网元包括四个模块,其中,配置参数模块在模拟网元启动过程中完成模拟网元各种配置参数的读取,并将这些配置数据保存到内存中供其它模块使用。代理模块在不同的端口启动SNMP监听线程,接收发来的SNMP请求,主代理还负责转发对其它代理的访问请求,并把其它代理的返回消息转发到后台网管。顺序Trap模拟发送模块根据用户在客户端中配置的信息,按照代理、告警类型、绑定值的三层循环方式顺序地向后台网管发送Trap消息。不同代理的Trap消息通过第二个绑定值来区分,如果是主代理发送的Trap消息,则第二个绑定值是模拟网元的IP地址,如果不是主代理发送的Trap消息,则第二个绑定值是ipaddress@代理端口号。随机Trap产生模块随机确定发送告警的代理、告警类型、以及绑定值等参数,与顺序方式一样,不同代理的Trap消息通过第二个绑定值来区分。
利用图1所示的模拟SNMP网元进行网管系统测试的方法,包括以下步骤(a)模拟网元启动时根据模拟网元配置文件进行初始化;(b)用户根据需要配置模拟的代理数、每个代理启动时监听的端口号以及模拟发送告警的参数和规则;(用户设置的模拟告警发送参数和规则应用于所有的代理)(c)根据配置信息在不同的端口启动多个SNMP监听线程,模拟多个网元代理;
(d)SNMP监听线程处理接收到的SNMP请求消息,向后台网管返回命令执行结果;(e)以顺序发送的方式上报Trap消息到后台网管,调试后台网管告警处理功能;(f)以随机发送的方式上报Trap消息到后台网管,模拟前台网元的真实告警处理过程。
在上述方法中,步骤(a)包括以下内容(a1)在模拟网元启动时读取模拟网元配置文件;(a2)获取该类型网元所定义的告警类型、告警绑定值、绑定值取值范围等相关的参数;(a3)获取用户设置的和代理相关的参数,包括需要模拟的代理数、每个代理启动时监听的端口号;(a4)获取用户设置的和告警相关的参数,包括模拟发送的告警类型、每种告警设置的告警产生概率、绑定值的取值范围以及绑定值的变化步长;(a5)获取用户设置的告警发送规则参数,包括是顺序发送还是随机发送、是有限次发送还是循环发送、发送次数、告警发送时间间隔。对于顺序发送还包括是固定时间间隔还是随机时间间隔以及是按照选中的告警类型顺序模拟各种告警类型还是随机模拟各种告警类型。
步骤(b)包括以下内容(b1)根据从步骤(a)中获取到的需要模拟的代理数、代理启动时监听的端口号、待发送的告警类型、每种告警类型设置的告警产生概率,以及设置的绑定值取值范围、绑定值变化步长,对客户端的代理列表、告警类型列表以及绑定值列表初始化,实现用户所设置参数的自动加载;(b2)用户通过客户端,根据需要可以修改步骤(b1)中加载的参数;但用户设置的参数需要满足步骤(a2)中获取的有关该类型网元的规定;(b3)根据从用户设置的和告警相关的参数中获取到的是顺序发送还是随机发送、是有限次发送还是循环发送以及发送次数对发送规则的客户端进行初始化,实现用户所设置发送规则的自动加载;(b4)用户通过客户端,根据需修改步骤(b3)加载的发送规则,选择顺序发送还是随机发送、有限次发送还是循环发送;其中有限次发送需要配置发送次数;用户可以设置告警发送的时间间隔;对于顺序发送,还包括是固定的时间间隔还是随机的时间间隔,以及是顺序的告警类型还是随机的告警类型;如果是顺序的告警类型,则和绑定值中的循环顺序以及告警选择器中的告警类型顺序有关,如果是随机的告警类型,则和这些配置中的顺序信息无关,但是随机发送的Trap消息也需要满足选中的告警类型以及配置的绑定值信息;(b5)告警发送参数和规则配置好后,保存到网元配置文件中。
步骤(c)主要是根据用户在步骤(b)设置的参数启动SNMP监听线程来模拟多个网元代理;系统默认会在161端口启动一个SNMP监听线程。这不需要在配置文件中配置。根据(b1)中设置的模拟网元数及每个网元启动的端口号在对应的端口上启动一个SNMP消息监听线程。
步骤(d)的内容如图2所示,包括(d1)模拟网元在多个端口分别启动代理进程,每个代理进程互相独立接收SNMP消息;(d2)收到SNMP请求消息后,首先需要判断监听的端口号,如果不是161,进一步判断团体字(即Community字段)是否正确,如果正确,则根据请求的类型从数据库中读取相应代理的对应信息,然后将信息打包成SNMP包返回后台网管;(d3)如果监听端口是161,则进一步判断团体字,即Community字段,是否包含@字符;如果包含@字符,认为这是一个需要转发的SNMP消息。此时Community字段的格式为Community@port,其中Community为网元的团体字,port为端口号,此时主代理将SNMP消息转发到端口号为port的代理,然后接收端口号为port的代理的返回消息并转发给后台网管系统;如果不包含@字符,就是针对本代理的访问,主代理从数据库中获取和161端口相关的数据返回后台网管系统。
模拟网元中的每个代理都有一份独立的配置数据,保存在数据库中,因为所有的代理的数据库表结构是一样的,所以保存在同一张表中,通过端口号来区分数据属于哪个代理。
步骤(e)的内容如图3所示,包括(e1)用户从代理列表中选择需要模拟发送Trap的代理;(e2)用户从告警类型列表中选择需要模拟发送的Trap;(e3)用户设置绑定值的取值范围及变化步长;(e4)设置模拟Trap发送时间间隔、间隔方式、告警类型发送次序;(e5)将用户的配置信息保存成文件,以便可以通过加载配置文件来初始化Trap上报配置的客户端;(e6)单击发送按钮,启动一个顺序告警产生线程;(e7)按照优先代理、然后告警类型、再绑定值的三层循环方式顺序发送承载告警信息的Trap消息。
Trap消息的第二个绑定值携带代理的IP地址,由于本模拟网元程序中所有代理的IP地址都相同,所以如果端口号是161的代理,Trap消息的第二个绑定值的格式为ipaddress,否则为ipaddress@port,其中ipaddress为代理的IP地址,port是代理的端口号。
后台网管收到模拟网元发来的Trap消息,解析第二个绑定值,如果其中不包含@字符,表明是161端口代理发来的,将收到的Trap消息的告警源设置为端口号为161的代理。如果包含@字符,需要将第二个绑定值中的ipaddress和port都解析出来。将收到的Trap消息的告警源设置为端口号为port的代理。
步骤(f)的内容如图4所示,包括(f1)如果用户选择的发送方式是随机发送,则启动一个随机告警产生线程;(f2)获取用户设置的随机告警配置信息,包括告警类型、告警发生概率、绑定值和绑定值变化范围信息并记录到一个全局变量中,并为每个代理生成一个已发送告警信息列表;(f3)如果用户设置为循环发送或已发送告警数不大于设置的发送次数,则产生一个最大值为代理个数的随机数i,即本次要处理第i个代理;然后让线程处于sleep状态,其时间长短为一个随机数,最大值为用户设置的告警发送时间间隔;如果当前所有已发送告警数大于用户设置的有限次发送次数,则退出循环;(f4)当发送时间到的时候,产生一个最大值为告警类型个数的随机数j,即本次要处理第j种告警,再产生一个最大值为1的随机数r,如果r小于第j种告警的告警发生概率,则转(f3);(f5)检查第i个代理的已发送告警信息列表,如果不包含第j种告警,表明没有发送过此类型告警,那么产生一条告警上报后台网管,承载告警信息的Trap消息的第二个参数格式见步骤(e)的内容介绍;同时在已发送告警信息列表中记录下此条告警。如果第i个代理的已发送告警信息列表包含第j种告警,表明发送过此类型告警,那么发送告警恢复到后台网管,承载告警恢复信息的Trap消息的第二个参数格式见步骤(e)的内容介绍,同时从第i个代理的已发送告警信息列表中删除第j种告警。
(f6)已发送告警数加1,转(f3)。
权利要求
1.一种模拟SNMP网元,包括配置参数模块、代理模块、顺序陷阱产生模块和随机陷阱产生模块,其中,代理模块中包括一个主代理和多个其他代理;所述配置参数模块在模拟网元启动过程中完成从配置文件中读取模拟网元各种配置参数的操作,并将这些配置数据加载到内存中供其它模块使用;所述代理模块在不同的端口启动SNMP监听线程,接收发来的SNMP请求,主代理还负责转发对其它代理的访问请求,并把其它代理的返回消息转发到后台网管;所述顺序陷阱产生模块根据用户在客户端中配置的信息,按照代理、告警类型、绑定值的三层循环方式产生并顺序地向后台网管发送陷阱消息;所述随机陷阱产生模块随机确定发送告警的代理、告警类型、以及绑定值。
2.一种利用模拟SNMP网元进行网管系统测试的方法,可在单机上模拟多个前台网元,同时可以模拟真实网元的告警处理过程,包括以下步骤(a)模拟网元启动时根据模拟网元配置文件进行初始化;(b)根据需要配置模拟的代理数、每个代理启动时监听的端口号以及模拟发送告警的参数和规则;(c)根据配置信息在不同的端口启动多个SNMP监听线程;(d)SNMP监听线程处理接收到的SNMP请求消息,向后台网管返回命令执行结果;(e)以顺序发送的方式上报陷阱消息到后台网管,调试后台网管告警处理功能;(f)以随机发送的方式上报陷阱消息到后台网管,模拟前台网元的真实告警处理过程。
3.权利要求2所述的利用模拟SNMP网元进行网管系统测试的方法,其特征在于,所述步骤(a)包括(a1)读取模拟网元配置文件;(a2)获取该类型网元所定义的告警类型、告警绑定值、绑定值取值范围;(a3)获取用户设置的和代理相关的参数,包括需要模拟的代理数、每个代理启动时监听的端口号;(a4)获取用户设置的和告警相关的参数,包括模拟发送的告警类型、每种告警设置的告警产生概率、绑定值的取值范围以及绑定值的变化步长;(a5)获取用户设置的告警发送规则参数,包括是顺序发送还是随机发送、是有限次发送还是循环发送、发送次数、告警发送时间间隔。
4.权利要求2所述的利用模拟SNMP网元进行网管系统测试的方法,其特征在于,所述步骤(b)包括(b1)根据从步骤(a)中获取到的需要模拟的代理数、代理启动时监听的端口号、待发送的告警类型、每种告警类型设置的告警产生概率,以及设置的绑定值取值范围、绑定值变化步长,对客户端的代理列表、告警类型列表以及绑定值列表初始化,实现用户所设置参数的自动加载;(b2)用户通过客户端,根据需要修改步骤(b1)中加载的参数;(b3)根据从用户设置的和告警相关的参数中获取到的是顺序发送还是随机发送、是有限次发送还是循环发送以及发送次数对发送规则的客户端进行初始化,实现用户所设置发送规则的自动加载;(b4)用户通过客户端,根据需修改步骤(b3)加载的发送规则,选择顺序发送还是随机发送、有限次发送还是循环发送;(b5)告警发送参数和规则配置好后,保存到网元配置文件中。
5.权利要求2所述的利用模拟SNMP网元进行网管系统测试的方法,其特征在于,所述步骤(c)是指根据步骤(b)中设置的模拟网元数及每个网元启动的端口号在对应的端口上启动一个SNMP消息监听线程。
6.权利要求2所述的利用模拟SNMP网元进行网管系统测试的方法,其特征在于,所述步骤(d)包括(d1)模拟网元在多个端口分别启动代理进程,每个代理进程互相独立接收SNMP消息;(d2)收到SNMP请求消息后,首先需要判断监听的端口号,如果不是161,进一步判断团体字是否正确,如果正确,则根据请求的类型从数据库中读取相应代理的对应信息,然后将信息打包成SNMP包返回后台网管;(d3)如果监听端口是161,则进一步判断团体字是否包含@字符;如果包含@字符,则解释团体字,主代理负责将SNMP请求消息转发到团体字中包含的端口号的代理,然后将该代理返回的消息返回后台网管系统;如果不包含@字符,主代理从数据库中获取和161端口相关的数据返回后台网管系统。
7.权利要求2所述的利用模拟SNMP网元进行网管系统测试的方法,其特征在于,所述步骤(e)包括(e1)用户从代理列表中选择需要模拟发送陷阱的代理;(e2)用户从告警类型列表中选择需要模拟发送的陷阱;(e3)用户设置绑定值的取值范围及变化步长;(e4)设置模拟陷阱发送时间间隔、间隔方式、告警类型发送次序;(e5)将用户的配置信息保存成文件;(e6)单击发送按钮,启动一个顺序告警产生线程;(e7)按照优先代理、然后告警类型、再绑定值的三层循环方式顺序发送承载告警信息的陷阱消息。
8.权利要求2所述的利用模拟SNMP网元进行网管系统测试的方法,其特征在于,所述步骤(f)包括(f1)如果用户选择的发送方式是随机发送,则启动一个随机告警产生线程;(f2)获取用户设置的随机告警配置信息,包括告警类型、告警发生概率、绑定值和绑定值变化范围信息并记录到一个全局变量中,并为每个代理生成一个已发送告警信息列表;(f3)如果用户设置为循环发送或已发送告警数不大于设置的发送次数,则产生一个最大值为代理个数的随机数i,然后让线程处于sleep状态,其时间长短为一个随机数,最大值为用户设置的告警发送时间间隔;如果当前所有已发送告警数大于用户设置的有限次发送次数,则退出循环;(f4)当发送时间到的时候,产生一个最大值为告警类型个数的随机数j,再产生一个最大值为1的随机数r,如果r小于第j种告警的告警发生概率,则转(f3);(f5)检查第i个代理的已发送告警信息列表,如果不包含第j种告警,产生一条告警上报后台网管,同时在已发送告警信息列表中记录下此条告警;如果第i个代理的已发送告警信息列表包含第j种告警,发送告警恢复到后台网管,同时从第i个代理的已发送告警信息列表中删除第j种告警;(f6)已发送告警数加1,转(f3)。
全文摘要
一种模拟SNMP网元,包括配置参数模块、代理模块、顺序陷阱产生模块和随机陷阱产生模块;利用该网元进行网管系统测试的方法模拟网元启动时根据配置文件初始化;配置模拟的代理数、每个代理启动时监听的端口号以及模拟发送告警的参数和规则;在不同的端口启动多个SNMP监听线程;SNMP监听线程处理接收到的SNMP请求消息,向后台网管返回命令执行结果;以顺序发送的方式上报Trap消息到后台网管,调试后台网管告警处理功能;以随机发送的方式上报Trap消息到后台网管,模拟前台网元的真实告警处理过程。使用本发明,可以在实验室中通过模拟大规模网元,实现了对后台网管的压力和性能测试,也减少后台网管等待联调的时间。
文档编号H04L12/26GK1992635SQ200510121369
公开日2007年7月4日 申请日期2005年12月27日 优先权日2005年12月27日
发明者翁在新, 马丽, 蒋昕 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1