一种网络测试的系统和方法

文档序号:7957102阅读:167来源:国知局
专利名称:一种网络测试的系统和方法
技术领域
本发明涉及测试领域,尤其涉及一种网络测试的系统和方法。
背景技术
在进行网络产品测试中,常常需要大量网络元素存在的网络测试环境。比如在安全网关产品的测试中,为了验证网关检测大量非法网络终端的准确性以及性能,需要搭建大量非法网络终端进行发送网络测试报文的场景;再比如,在测试网络产品经受DDOS(Distributed Denial of Service,分布式拒绝服务)攻击方面,需要在测试网络内建立大量发起DDOS攻击的主机。DDOS攻击指借助于C/S(客户/服务器)技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DOS(Denial of Service,拒绝服务)攻击,从而成倍地提高拒绝服务攻击的威力。DOS攻击的目的是使计算机或网络无法提供正常的服务。最常见的DOS攻击有计算机网络带宽攻击和连通性攻击。带宽攻击指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致合法的用户请求就无法通过。连通性攻击指用大量的连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。
而使用成千上万的真实网络元素搭建网络测试环境,其测试成本高昂,测试操作难以执行,测试结果可重复性也难以做到,而且,使用真实的DDOS工具软件容易造成实验室工作网络的瘫痪,不易控制。
目前专业的商用网络测试仪可以实现模拟大规模网络测试环境的问题,如图1中的商用网络测试仪,其基本结构为在机架中插入独立的测试卡,每块测试卡上的端口都有独立的CPU、内存和Linux操作系统,它可以模拟大流量的网络报文的发送。但是专业网络测试仪其价格昂贵,操作复杂,且不能测试用户应用层特殊设计的协议。

发明内容
本发明的目的在于提供一种廉价易操作的网络测试的系统和方法,以满足网络产品的功能与性能测试需要。
本发明的目的是通过以下技术方案实现的本发明提供一种网络测试的系统,包括测试控制台、测试服务器和测试节点,所述的测试控制台提供用户操作界面,所述的测试服务器提供所述的测试控制台与测试节点之间的通信连接以及数据的存储,所述的测试节点模拟多终端节点发送数据报文进行网络测试。
所述的测试控制台包括界面显示模块,提供用户和所述系统的接口,接收用户操作并将测试结果显示给用户;测试任务配置模块,配置进行测试所需的参数为配置信息;测试任务分配模块,用于将所述的配置信息分配给各个测试节点;测试任务控制模块控制整个测试任务的进行。
所述的测试节点包括测试工具运行平台层,提供所述的测试节点进行测试任务所需的平台支持;
测试工具层,采用多线程技术模拟多终端节点发送数据报文,进行网络测试。
所述的测试工具层包括有数据报文发送工具,所述的数据报文发送工具创建报文发送子线程,发送数据报文进行网络测试。
所述的测试节点和测试控制台还包括报文捕捉模块,所述的报文捕捉模块捕获网络中的数据报文;所述的测试控制台还包括报文解析编辑模块,所述的报文解析编辑模块解析所述的数据报文,并对解析出的数据报文重新编辑。
本发明还提供一种网络测试的方法,包括A、测试控制台创建测试任务的配置信息;B、测试控制台将所述的配置信息上传到测试节点;C、测试节点根据所述的配置信息,模拟多终端节点发送数据报文进行网络测试。
所述的步骤A包括A11、获取网络中的真实数据报文或者手工配置数据报文;A12、将所述的数据报文配置为多测试节点模拟测试任务的配置信息。
还包括根据测试节点的数量和性能,将所述的配置信息分配为各个测试节点的配置子信息,测试节点的任务分配方法与测试节点CPU速度、测试节点当前CPU占用率以及测试节点可用内存相关,按照如下公式进行测试节点分配的测试任务比重(V)=总测试任务量(T)*测试节点性能值(P)测试节点性能值(P)=测试节点CPU比值*当前CPU空闲率*可用内存比值CPU比值=当前节点的CPU速度/所有节点CPU速度之和可用内存比值=当前节点的可用内存/所有节点可用内存之和。
通过改变所述数据报文的IP地址和端口将所述的数据报文配置为多测试节点模拟测试任务的配置信息。
通过测试节点或测试控制台的报文捕捉模块获取网络中的真实数据报文。
所述的步骤C包括C1、测试节点创建报文发送主线程;C2、主线程根据所述的配置信息创建多个数据报文发送子线程;C3、数据报文发送子线程发送数据报文进行网络测试。
所述的数据报文为VoIP网络报文。
所述的数据报文为DDOS攻击报文。
由本发明提供的技术方案可以看出,本发明通过在少量测试节点上模拟大量网络终端发送网络报文,模拟网络产品测试所需要的大量终端测试环境,可以有效降低网络产品的测试成本,提高网络产品的测试效率以及发现缺陷的数量。本发明根据DDOS攻击的原理发送大量的TCP连接报文,不仅起到模拟DDOS攻击的效果,同时能够控制其影响范围,将测试引起的问题减小到最小。


图1是商用网络测试仪的基本结构示意图;图2是本发明系统的示意图;图3是本发明系统内部结构的示意图;图4是真实网络电话节点搭建的测试环境示意图;图5是本发明模拟网络电话节点的测试环境示意图;
图6是本发明利用测试节点模拟DDOS攻击示意图;图7是本发明方法实现流程图;图8是本发明中网络报文捕捉及测试过程示意图;图9是本发明中多线程模拟网络电话终端报文发送流程图。
具体实施例方式
本发明提供一种基于C/S模式的网络测试系统,如图2所示,该系统包含三部分测试控制台、测试服务器及测试节点。测试节点可以为多个,具体数量本发明并不作限制,使用时,测试节点在启动后自动登陆到测试服务器上,通过控制台可以查看并控制已登陆到服务器的测试节点。
测试控制台主要提供用户操作界面,用户操作包括创建测试任务、配置测试参数、显示当前登陆的测试节点、下发测试任务到测试节点、控制测试节点上测试任务的执行、显示测试执行的结果及自动生成测试报告,测试报告的内容选项用户可以进行设定。
如图3所示,测试控制台主要由界面显示模块、报文解析编辑模块、测试任务配置模块、测试任务分配模块、测试任务控制模块、查询模块、通信模块等组成,其中,界面显示模块提供用户和系统的接口,接收用户操作并将测试结果显示给用户;报文解析编辑模块用于解析捕获到的数据报文;测试任务配置模块,将进行测试所需的参数配置为配置信息;测试任务分配模块,用于将所述的配置信息分配给各个测试节点;测试任务控制模块控制整个测试任务的进行;查询模块向测试节点查询测试结果;控制台和测试服务器的通信由通信模块来完成。
测试服务器提供测试控制台与测试节点之间的通信连接以及数据的存储功能,测试服务器上安装有数据库,保存测试任务配置信息以及测试结果数据。当用户启动测试任务后,测试服务器可以根据测试任务的设定,向选定的测试节点发送完成测试任务所需要的测试工具启动命令,并将测试工具所需要的参数传递给测试节点。
测试节点分为两层,测试工具运行平台层和测试工具层。
测试工具运行平台层提供所述的测试节点进行测试任务所需的平台支持处理测试工具与测试服务器之间的通信;解析测试服务器发送的工具运行命令,调度测试工具的执行;管理测试服务器分配的测试任务配置参数,供测试工具进行调用;收集测试工具执行结果,并响应测试服务器发来的测试结果查询请求。
测试工具层包括有多种类型的数据报文发送工具,如VoIP报文发送工具、Agent报文发送工具、Windows Update报文发送工具等,且工具种类可以进行扩充,支持用户新的测试需求,测试工具的执行结果保存到测试工具运行平台中,用户可以设定关注的测试结果的类型。测试工具采用了多线程技术与网络编程技术实现虚拟多网络元素,每一线程模拟了真实网络元素发送的网络报文数据流,不同线程其发送的网络报文的IP地址与端口号不同,应用层数据报文按照用户设定的参数进行构造,能够完全根据用户的要求定制所需要的应用层数据报文,具有很高的灵活性。通过大量测试节点的共同配合,可以为被测对象提供一个大量网络元素存在的虚拟网络测试环境,满足被测对象的功能和性能测试需要。
测试节点还包括有报文捕捉模块,以捕获网络中的真实数据报文。
图4中的结构为某种网络产品的测试场景,测试过程中,需要进行N组网络电话之间的通话测试,包括呼叫、摘机、通话、挂机的过程。图5为本发明的模拟多网络电话终端的测试环境,图中每个测试节点就可以模拟上千个真实的网络电话终端发送的报文,用户只需要在测试控制台配置好需要模拟的终端节点数量及参数,然后启动测试任务就可模拟真实产品测试环境下产生的VoIP数据报文。
图6为本发明的在测试节点上根据DDOS攻击的原理发送大量的TCP连接报文,模拟DDOS攻击以测试网络产品经受DDOS攻击的能力。
下面详细介绍本发明提供的网络测试方法,如图7所示,具体实现流程如下S1、创建测试任务的配置信息;此步骤具体包括S11、获取数据报文;本发明中获取数据报文具体有两种方式,一种为捕获网络中的真实数据报文;另一种为手动配置数据报文,如通过网络编程技术构造2-7层的原始网络报文。
而捕获网络中的真实数据报文也有两种方式,一种为由测试节点上的报文捕捉模块捕捉网络中的通信数据报文,并将捕捉到的数据报文上传到测试控制台,如图8所示,此方式具体为S111、用户在测试控制台上启动选定测试节点的抓包命令;S112、所述的抓包命令通过测试服务器转发给测试节点;S113、测试节点启动抓包线程进行报文捕捉,并将捕捉到的报文保存到测试节点缓冲区内;
缓冲区大小可以通过测试控制台设定,当抓包数量超过缓冲区大小后,测试节点自动停止抓包。用户也可以通过测试控制台主动发送停止抓包命令,测试节点接收到停止命令后停止抓包线程。
S114、用户在测试控制台发送获取报文数据请求;S115、测试节点接收到所述的请求后,上传捕捉到的报文数据。
S116、测试控制台报文解析编辑模块对捕捉到的报文进行解析,分析出报文的内容;另一种捕获网络中的真实报文的方式为由测试控制台直接捕获网络中的数据报文。
S12、创建配置信息;此步骤具体包括S121、测试控制台报文解析编辑模块对报文的内容进行重新编辑,包括重新配置选定报文的内容,删除选定的报文,修改报文的发送顺序;S122、测试控制台测试任务配置模块将编辑后的数据报文流扩展为多组数据流,通过改变每组数据流的IP地址和端口实现多测试节点的模拟,改变后的配置为多测试节点模拟测试任务的配置信息,其可以以配置文件的形式;S123、测试控制台测试任务分配模块将测试任务的配置信息分拆为每个测试节点配置子信息;用户可以在测试控制台创建、修改和启动一个测试任务,创建测试任务时,系统自动根据当前已登陆的测试节点的数量及测试节点的性能将测试任务分配到选定的一个或多个测试节点上。如果用户对系统自动生成的配置不满意,还可以手工调整每个测试节点上的测试任务配置参数。测试节点的任务分配方法与测试节点CPU速度、测试节点当前CPU占用率以及测试节点可用内存相关,按照如下公式进行测试节点分配的测试任务比重(V)=总测试任务量(T)*测试节点性能值(P)测试节点性能值(P)=测试节点CPU比值*当前CPU空闲率*可用内存比值CPU比值=当前节点的CPU速度/所有节点CPU速度之和可用内存比值=当前节点的可用内存/所有节点可用内存之和S2、测试控制台通过测试服务器将所述的配置子信息上传到各个测试节点;S3、测试节点的测试工具层进行网络测试;该步骤具体包括S31、启动测试节点报文发送工具;S32、测试节点创建报文发送主线程;S33、主线程根据配置参数创建多个报文发送子线程;S34、报文发送子线程发送报文进行测试;如图9所示,每一个线程模拟一对网络电话终端通话时发送的数据报文,且不同的线程中数据报文的源目的IP地址不相同,从而在一台主机上虚拟出了多个网络电话终端的通话进程。
S4、返回测试结果。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种网络测试的系统,其特征在于,包括测试控制台、测试服务器和测试节点,所述的测试控制台提供用户操作界面,所述的测试服务器提供所述的测试控制台与测试节点之间的通信连接以及数据的存储,所述的测试节点模拟多终端节点发送数据报文进行网络测试。
2.如权利要求1所述的一种网络测试的系统,其特征在于,所述的测试控制台包括界面显示模块,提供用户和所述系统的接口,接收用户操作并将测试结果显示给用户;测试任务配置模块,配置进行测试所需的参数为配置信息;测试任务分配模块,用于将所述的配置信息分配给各个测试节点;测试任务控制模块控制整个测试任务的进行。
3.如权利要求1所述的一种网络测试的系统,其特征在于,所述的测试节点包括测试工具运行平台层,提供所述的测试节点进行测试任务所需的平台支持;测试工具层,采用多线程技术模拟多终端节点发送数据报文,进行网络测试。
4.如权利要求3所述的一种网络测试的系统,其特征在于,所述的测试工具层包括有数据报文发送工具,所述的数据报文发送工具创建报文发送子线程,发送数据报文进行网络测试。
5.如权利要求4所述的一种网络测试的系统,其特征在于,所述的测试节点和测试控制台还包括报文捕捉模块,所述的报文捕捉模块捕获网络中的数据报文;所述的测试控制台还包括报文解析编辑模块,所述的报文解析编辑模块解析所述的数据报文,并对解析出的数据报文重新编辑。
6.一种网络测试的方法,其特征在于,包括A、测试控制台创建测试任务的配置信息;B、测试控制台将所述的配置信息上传到测试节点;C、测试节点根据所述的配置信息,模拟多终端节点发送数据报文进行网络测试。
7.如权利要求6所述的一种网络测试的方法,其特征在于,所述的步骤A包括A11、获取网络中的真实数据报文或者手工配置数据报文;A12、将所述的数据报文配置为多测试节点模拟测试任务的配置信息。
8.如权利要求7所述的一种网络测试的方法,其特征在于,还包括根据测试节点的数量和性能,将所述的配置信息分配为各个测试节点的配置子信息,测试节点的任务分配方法与测试节点CPU速度、测试节点当前CPU占用率以及测试节点可用内存相关,按照如下公式进行测试节点分配的测试任务比重(V)=总测试任务量(T)*测试节点性能值(P)测试节点性能值(P)=测试节点CPU比值*当前CPU空闲率*可用内存比值CPU比值=当前节点的CPU速度/所有节点CPU速度之和可用内存比值=当前节点的可用内存/所有节点可用内存之和。
9.如权利要求7所述的一种网络测试的方法,其特征在于,通过改变所述数据报文的IP地址和端口将所述的数据报文配置为多测试节点模拟测试任务的配置信息。
10.如权利要求7所述的一种网络测试的方法,其特征在于,通过测试节点或测试控制台的报文捕捉模块获取网络中的真实数据报文。
11.如权利要求6所述的一种网络测试的方法,其特征在于,所述的步骤C包括C1、测试节点创建报文发送主线程;C2、主线程根据所述的配置信息创建多个数据报文发送子线程;C3、数据报文发送子线程发送数据报文进行网络测试。
12.如权利要求6所述的一种网络测试的方法,其特征在于,所述的数据报文为VoIP网络报文。
13.如权利要求6所述的一种网络测试的方法,其特征在于,所述的数据报文为DDOS攻击报文。
全文摘要
本发明公开了一种网络测试的系统和方法,所述的系统包括测试控制台、测试服务器和测试节点,所述的测试控制台提供用户操作界面,所述的测试服务器提供所述的测试控制台与测试节点之间的通信连接以及数据的存储,所述的测试节点模拟多终端节点发送数据报文进行网络测试。所述的方法包括测试控制台创建测试任务的配置信息;测试控制台将所述的配置信息上传到测试节点;测试节点模拟多终端节点进行网络测试。利用本发明所述的系统和方法可以廉价易操作的满足网络产品的功能与性能测试需要。
文档编号H04L12/26GK101043384SQ20061006084
公开日2007年9月26日 申请日期2006年5月25日 优先权日2006年5月25日
发明者杨松, 陈俊, 霍正聃, 汪建业, 吴伟国 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1