一种模拟多个网元的陷阱报文的方法及系统的制作方法

文档序号:9455695阅读:376来源:国知局
一种模拟多个网元的陷阱报文的方法及系统的制作方法
【技术领域】
[0001]本发明属于通信技术领域,尤其涉及一种模拟多个网元的陷阱报文的方法及系统。
【背景技术】
[0002]SNMP (Simple Network Management Protocol,简单网络管理协议)是最早提出的网络管理协议之一,由于其简单性,它一推出便得到了广泛的应用和支持。目前,SNMP已成为网络管理领域中的工作标准,大多数网络管理系统和平台都是基于SNMP协议来实现的。
[0003]随着SNMP协议的广泛应用,那么一个NSM(Network Management System,网络管理系统)管理的网元成千上万,甚至数十万,那么在现网应用环境中,这些网元随时随刻地在产生告警信息,并通过Trap消息发送给匪S,匪S这时必须具备同时处理数十万网元上报的Trap消息的能力,因此,为了保证网络管理的顺利进行,匪S再投入使用时,必须对其性能进行测试。在匪S与被管网元上的agent (代理)进行联调阶段,往往难以部署一个大规模的测试环境,除了资金、场地等问题还存在实际网络的连接关系错综复杂等问题。因此,目前市场上在联调阶段开发出一套模拟仿真测试工具来代替现实环境中各种各样的网元实现对网络管理系统的性能测试。
[0004]但是由于SNMP协议属于应用层协议,而根据TCP/IP (Transmiss1n ControlProtocol/Internet Protocol,传输控制协议/因特网互联协议)网络协议桟机制,传输层及其以下的机制由内核提供,应用层由用户进程提供,而该模拟仿真工具运行在一台PC (Personal Computer,个人计算机)机上,故网络层的IP头是由内核的TCP/IP网络协议栈组装的,所发送的Snmp trap (被管理设备上报的陷阱报文,即被管理设备发生故障或变更时的主动通知)消息中的IP地址都相同,那么该模拟仿真工具虽然可以模拟网元发送Snmp trap消息,但也只能模拟一个网元发送Snmp trap消息,而不能同时模拟多个网元向网络管理系统发送Snmp trap消息。因此,目前的模拟仿真工具有很大的局限性,无法模拟真实的测试环境。针对此问题,传统的解决方法是利用Snmp trap报文格式中的变量绑定对,定义私有定义报文格式,如规定Snmp trap报文中的第二个变量绑定对表示网元的IP地址,匪S收取此消息后,解析第二个变量绑定对,得到网元的IP地址,再按照处理流程处理。此方法也有一定的局限性,本质还是一个网元的Snmp trap消息,无法真正完整地模拟多个网元收发SNMP消息的流程。
[0005]综上,现有技术中仍然存在无法真正模拟多个网元对网络管理系统进行测试的缺陷。

【发明内容】

[0006]本发明实施例的目的在于提供一种模拟多个网元的陷阱报文的方法及系统,旨在解决现有技术中存在的无法真正模拟多个网元对网络管理系统进行测试的问题。
[0007]本发明实施例是这样实现的,一种模拟多个网元的陷阱报文的方法,包括:
[0008]读取待测网络管理系统的配置文件,以获取所述待测网络管理系统的配置参数;
[0009]接收并保存用户通过模拟终端输入的命令参数,同时读取所述模拟终端的MAC地址及IP地址,并根据所述命令参数和所述模拟终端的MAC地址及IP地址按照预定规则生成模拟网元的MAC地址及IP地址;
[0010]采用raw socket编程技术根据所述待测网络管理系统的配置参数和所述模拟网元的MAC地址及IP地址组装所述模拟网元的Snmp trap报文;
[0011]通过raw socket发送函数将所述Snmp trap报文发送至所述待测网络管理系统,以使所述待测网络管理系统根据所述Snmp trap报文进行性能测试。
[0012]在本发明实施例所述的模拟多个网元的陷阱报文的方法中,所述读取待测网络管理系统的配置文件,以获取并保存所述待测网络管理系统的配置参数具体包括:
[0013]读取所述待测网络管理系统的配置文件,以获取并保存所述待测网络管理系统的MAC地址、IP地址以及所述待测网络管理系统所采用的SNMP协议的版本号、共同体和Snmptrap变量绑定对。
[0014]在本发明实施例所述的模拟多个网元的陷阱报文的方法中,所述读取所述模拟终端的MAC地址及IP地址,并根据所述命令参数和所述模拟终端的MAC地址及IP地址按照预定规则生成模拟网元的MAC地址及IP地址具体包括:
[0015]根据所述模拟终端的输入提示信息输入用户所需模拟网元的个数以及模拟网元发送Snmp trap报文的周期,同时读取所述模拟终端的MAC地址及IP地址;
[0016]以所述命令参数中用户所需模拟网元的个数为上限,以所述模拟终端的MAC地址为基址,累加获取模拟网元的MAC地址,并将所述模拟网元的MAC地址保存到模拟网元信息列表中;
[0017]以所述命令参数中用户所需模拟网元的个数为上限,以所述模拟终端的IP地址为基址,累加获取模拟网元的IP地址,并将所述模拟网元的IP地址保存到所述模拟网元信息列表中。
[0018]在本发明实施例所述的模拟多个网元的陷讲报文的方法中,所述采用raw socket编程技术根据所述待测网络管理系统的配置参数和所述模拟网元的MAC地址及IP地址组装所述模拟网元的Snmp trap报文具体包括:
[0019]创建raw socket,并设置raw socket中socket的选项,以使raw socket手动处理要发送的数据的IP包头;
[0020]根据所述待测网络管理系统的MAC地址及IP地址和所述模拟网元信息列表中模拟网元的MAC地址及IP地址组装所述模拟网元的Snmp trap报文的ETH头、IP头、UDP头以及SNMP报文体。
[0021]在本发明实施例所述的模拟多个网元的陷讲报文的方法中,所述通过raw socket发送函数将所述Snmp trap报文发送至所述待测网络管理系统,以使所述待测网络管理系统根据所述Snmp trap报文进行性能测试具体包括:
[0022]根据用户输入的所述模拟网元发送Snmp trap报文的周期,使用所述socket id将所述Snmp trap报文发送至所述待测网络管理系统,以使所述待测网络管理系统根据所述Snmp trap报文进行性能测试。
[0023]本发明实施例的另一目的在于提供一种模拟多个网元的陷阱报文的系统,包括:
[0024]初始化模块,用于读取待测网络管理系统的配置文件,以获取所述待测网络管理系统的配置参数;
[0025]代理生成模块,用于接收并保存用户通过模拟终端输入的命令参数,同时读取所述模拟终端的MAC地址及IP地址,并根据所述命令参数和所述模拟终端的MAC地址及IP地址按照预定规则生成模拟网元的MAC地址及IP地址;
[0026]报文组装模块,用于采用raw socket编程技术根据所述待测网络管理系统的配置参数和所述模拟网元的MAC地址及IP地址组装所述模拟网元的Snmp trap报文;
[0027]报文发送模块,用于通过raw socket发送函数将所述Snmp trap报文发送至所述待测网络管理系统,以使所述待测网络管理系统根据所述Snmp trap报文进行性能测试。
[0028]在本发明实施例所述的模拟多个网元的陷阱报文的系统中,所述初始化模块具体用于:
[0029]读取所述待测网络管理系统的配置文件,以获取并保存所述待测网络管理系统的MAC地址、IP地址以及所述待测网络管理系统所采用的SNMP协议的版本号、共同体和Snmptrap变量绑定对。
[0030]在本发明实施例所述的模拟多个网元的陷阱报文的系统中,所述代理生成模块具体包括:
[0031]用户输入单元,用于根据所述模拟终端的输入提示信息输入用户所需模拟网元的个数以及模拟网元发送Snmp trap报文的周期,同时读取所述模拟终端的MAC地址及IP地址;
[0032]模拟网元MAC地址生成单元,用于以所述命令参数中用户所需模拟网元的个数为上限,以所述模拟终端的MAC地址为基址,累加获取模拟网元的MAC地址,并将所述模拟网元的MAC地址保存到模拟网元信息列表中;
[0033]模拟网元IP地址生成单元,用于以所述命令参数中用户所需模拟网元的个数为上限,以所述模拟终端的IP地址为基址,累加获取模拟网元的IP地址,并将所述模拟网元的IP地址保存到所述模拟网元信息列表中。
[0034]在本发明实施例所述的模拟多个网元的陷阱报文的系统中,所述报文组装模块具体包括:
[0035]raw socket单元,用于创建raw socket,并设置raw socket中socket的选项,以使raw socket手动处理要发送的数据的IP包头;
[0036]组装单元,用于根据所述待测网络管理系统的MAC地址及IP地址和所述模拟网元信息列表中模拟网元的MAC地址及IP地址组装所述模拟网元发送的Snmp trap报文的ETH头、IP头、UDP头以及SNMP报文体。
[0037]在本发明实施例所述的模拟多个网元的陷阱报文的系统中,所述报文发送模块具体包括:
[0038]socket id获取单元,用于获取发送raw socket的socket id;
[0039]发送单元,用于根据用户输入的所述模拟网元发送Snmp trap报文的周期,使用所述socket id将所述Snmp trap报文发送至所述待测网络管理系统,以使所述待测网络管理系统根据所述Snm
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1