一种测试网络设备性能的方法和装置与流程

文档序号:18226542发布日期:2019-07-19 23:30阅读:244来源:国知局
一种测试网络设备性能的方法和装置与流程

本申请涉及网络通信技术领域,特别涉及一种测试网络设备性能的方法和装置。



背景技术:

测试是设备在研发、生产等过程中非常重要的一个环节。在现有技术中,测试时一般需要测试仪的性能大于或者等于dut(deviceundertest,测试中设备)的性能,这样才能对dut进行有效的压力测试。

然而发明人在实现本发明的过程中发现,测试过程中测试仪资源可能并不能随时满足所有测试环境的性能需求,这样在测试仪资源有限的情况下,就很难对高端的大容量设备进行性能测试。具体来讲,遇到的一个主要问题就是测试仪资源的最大性能与dut本身的性能存在很大差距,无法对dut的性能以及稳定性进行有效的压力测试,看不到dut在大负载情况下的表现,而测试仪资源成本高昂,并不是所有测试环境都能有充足的测试资源提供,所以经常会出现因为测试仪资源不足而无法完成测试工作的情况。对此现有技术中尚未存在有效的解决办法。



技术实现要素:

有鉴于此,本申请提供一种测试网络设备性能的方法和装置,以在测试仪资源受限的情况下有效测试网络设备的性能。

具体地,本申请是通过如下技术方案实现的:

一种测试网络设备性能的方法,应用于测试仪,所述网络设备具有多个用于以太网数据包转发的接口,所述测试仪的输入输出端分别连接所述网络设备的一个接口用以向所述网络设备发送测试用数据包;

所述方法包括:

从接口对数量为零开始,判断所述测试仪的指定参数是否达到预设条件;

如果所述指定参数达到所述预设条件,则每次增加一个接口对以使所述测试用数据包在所述网络设备中多转发一次,继续判断所述指定参数每次是否达到所述预设条件,其中所述增加一个接口对是指将所述网络设备的两个空闲接口配置成一个独立转发环境;

当所述指定参数未达到所述预设条件或者所述接口对数量无法再增加时停止测试;

根据当前接口对的数量获取所述网络设备与所述指定参数对应的性能指标值。

一种测试网络设备性能的装置,应用于测试仪,所述网络设备具有多个用于以太网数据包转发的接口,所述测试仪的输入输出端分别连接所述网络设备的一个接口用以向所述网络设备发送测试用数据包;

所述装置包括:

操作模块,用于增加一个接口对,其中所述一个接口对是指将所述网络设备的两个空闲接口配置成一个独立转发环境;

控制模块,用于从接口对数量为零开始,判断所述测试仪的指定参数是否达到预设条件;如果所述指定参数达到所述预设条件,则每次触发操作模块增加一个接口对以使所述测试用数据包在所述网络设备中多转发一次,继续判断所述指定参数每次是否达到所述预设条件;当所述指定参数未达到所述预设条件或者所述接口对数量无法再增加时停止测试;

性能获取模块,用于根据当前接口对的数量获取所述网络设备与所述指定参数对应的性能指标值。

由以上本申请提供的技术方案可见,在本申请方案中从接口对数量为零开始判断测试仪的指定参数是否达到预设条件,如果所述指定参数达到所述预设条件,则每次增加一个接口对以使测试用数据包在所述网络设备中多转发一次,然后继续判断所述指定参数每次是否达到所述预设条件,当所述指定参数未达到所述预设条件或者所述接口对数量无法再增加时停止测试,最后根据当前接口对的数量获取所述网络设备与所述指定参数对应的性能指标值,从而完成对网络设备的性能测试。在本申请中无需连接多个单元的链路,只需使用一台独立的测试仪即可,通过测试仪发出一份小流量在被测设备内多次转发,从而测试了大性能(高端大容量)的设备。本申请方案可有效节省测试仪资源,在测试仪资源有限的情况下扩大了测试仪资源的利用率,实现了对高端大容量网络设备性能的测试。

附图说明

图1为本申请示出的一种测试网络设备性能的方法的流程图;

图2为本申请示出的网络连接示意图;

图3为本申请示出的网络连接示意图;

图4为本申请示出的一种测试网络设备性能的方法的流程图;

图5为本申请示出的网络连接示意图;

图6为本申请示出的一种测试网络设备性能的方法的流程图;

图7为本申请示出的一种测试网络设备性能的装置的示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

图1为本申请示出的一种测试网络设备性能的方法的流程图。作为示例,该方法可应用于测试仪等测试设备。

如图1所示,该方法可以包括如下步骤:

步骤s101,从接口对数量为零开始,判断所述测试仪的指定参数是否达到预设条件。

在本申请方案中,被测试的网络设备具有多个用于以太网数据包转发的接口,测试仪的输入输出端分别连接所述网络设备的一个接口用以向所述网络设备发送测试用数据包。作为示例可参见图2所示,图2为本申请示出的网络连接示意图,在图2中201为被测试的网络设备(也即dut),具有0~15共16个接口(或称端口),202为负责测试的测试仪,测试仪202的输入输出端分别连接网络设备201的一个接口,例如图2中测试仪两端分别连接的是网络设备201的接口0和接口15。

对于网络设备的接口数量,以及测试仪与网络设备接口的具体连接方式,本实施例并不进行限制,本领域技术人员可以根据不同需求\不同场景而自行选择、设计,可以在此处使用的这些选择和设计都没有背离本发明的精神和保护范围。

刚开始测试时,网络设备上的接口对数量n=0,此时需要判断所述测试仪的指定参数是否达到预设条件。

作为示例在本实施例或本发明其他某些实施例中,所述指定参数可以包括以下一种或多种:

网络层吞吐,新建速率,并发数,应用层吞吐率。

作为示例在本实施例或本发明其他某些实施例中,所述预设条件可以包括:

所述指定参数在所述网络设备上达到预期值且无失败计数。

对于以上指定参数的具体内容及预设条件的具体内容,本实施例并不进行限制,本领域技术人员可以根据不同需求\不同场景而自行选择、设计,可以在此处使用的这些选择和设计都没有背离本发明的精神和保护范围。

步骤s102,如果所述指定参数达到所述预设条件,则每次增加一个接口对以使所述测试用数据包在所述网络设备中多转发一次,继续判断所述指定参数每次是否达到所述预设条件。其中所述增加一个接口对是指将所述网络设备的两个空闲接口配置成一个独立转发环境。

步骤s103,当所述指定参数未达到所述预设条件或者所述接口对数量无法再增加时停止测试。

换句话说,如果所述指定参数达到所述预设条件,则增加一个接口对,即令接口对数量n=n+1,然后继续判断所述指定参数是否达到所述预设条件,如此循环下去,直至所述指定参数未达到所述预设条件或者所述接口对数量无法再增加时停止测试。

作为示例在本实施例或本发明其他某些实施例中,将所述网络设备的两个空闲接口配置成一个独立转发环境,具体可以包括:

通过线缆将所述两个空闲接口相连。

作为示例可参见图3所示,在图3中通过线缆将接口1和接口2相连从而得到一个接口对。

步骤s104,根据当前接口对的数量获取所述网络设备与所述指定参数对应的性能指标值。

作为示例在本实施例或本发明其他某些实施例中,当所述指定参数包括新建速率、并发数或应用层吞吐时,根据当前接口对的数量获取所述网络设备与所述指定参数对应的性能指标值,具体可以包括:

根据

c=x*(n+1)

计算指定参数对应的性能指标值c,其中x为所述测试仪自环时所述指定参数的值,n为当前接口对的数量。

作为示例在本实施例或本发明其他某些实施例中,当所述指定参数包括网络层吞吐时,根据当前接口对的数量获取所述网络设备与所述指定参数对应的性能指标值,具体可以包括:

根据

tp=x*y(n+1)

计算网络层吞吐tp,其中x为所述测试仪双向物理带宽,y为不丢包情况下可通过的比例,n为当前接口对的数量。

另外从接口对数量为零开始,判断所述测试仪的指定参数是否达到预设条件之前,所述方法还可以包括:

当所述网络设备具有多核cpu且使用多个内部口转发时,为所述测试仪的流量模型配置多个源ip和目的ip,且所述多个源ip和目的ip的哈希位起始值不同,以使所述网络设备内部口流量分担均匀。

测试仪端流量的模型需要按照最优分流方式配置。因为多数网络转发设备都是多核的cpu处理,同时设备内部有多个内部口转发。内部口转发分流会把源目ip的某一位或者源端口作为分流参数进行hash(哈希)分到不同的内部口,尽可能达到每个内部口流量都能均匀分担。那么测试仪配置的时候就需要尽可能源目ip多个,同时源目ip的hash位起始值不能一样,防止hash的值为同一个值,达不到均匀分流的效果。当编辑的流量可以使网络设备流量分担均匀时,就可调用此流量来测试网络设备的性能。

此外参见图4所示,从接口对数量为零开始,判断所述测试仪的指定参数是否达到预设条件之前,所述方法还可以包括:

步骤s401,将所述测试仪的输入输出端通过线缆直接连接,通过测试仪自环检测所述测试仪是否达到可用状态。

测试环境中的测试仪必须能够达到可用状态才可进行测试。故在正式测试之前还需要测试仪自环,证明测试仪自身没有问题。将测试仪端口通过线缆直接连接,中间不通过任何dut,从而形成测试仪自环。网络层测试时需要测试是否能够达到线速(wirespeed)转发,任何字节能够达到线速转发的测试仪才是可用的。同样,在应用层测试中,应用层测试仪自环后可达到预期的新建值、并发值、吞吐值才是可用状态。

在本实施例方案中从接口对数量为零开始判断测试仪的指定参数是否达到预设条件,如果所述指定参数达到所述预设条件,则每次增加一个接口对以使测试用数据包在所述网络设备中多转发一次,然后继续判断所述指定参数每次是否达到所述预设条件,当所述指定参数未达到所述预设条件或者所述接口对数量无法再增加时停止测试,最后根据当前接口对的数量获取所述网络设备与所述指定参数对应的性能指标值,从而完成对网络设备的性能测试。在本申请中无需连接多个单元的链路,只需使用一台独立的测试仪即可,通过测试仪发出一份小流量在被测设备内多次转发,从而测试了大性能(高端大容量)的设备。本申请方案可有效节省测试仪资源,在测试仪资源有限的情况下扩大了测试仪资源的利用率,实现了对高端大容量网络设备性能的测试。

下面再结合具体应用场景对本发明方案作进一步描述。当然以下应用场景仅为示例性的,在实际应用中,也可以适用于其它应用场景。

图5是一个用一对万兆接口测试一款160g网络设备的网络连接示意图。测试仪一对万兆(10g)接口对连接网络设备0口和15口,测试仪双向满带宽可提供20g吞吐量。网络设备本身带有16个万兆接口,整机性能设计规格160g吞吐。网络设备可使用7根外接线按照上图所示连接设备接口,形成7个接口对,即0口接测试仪;1接2;3接4;5接6;7接8;9接10;11接12;13接14;15口接测试仪。

测试仪端吞吐的测试可参照rfc2544标准。rfc2544的最终目的是自动尝试,在不丢包的情况下尝试出设备的最优网络层处理性能。rfc2544协议是rfc组织提出的用于评测网络互联设备(防火墙、ids、switch等)的国际标准。主要是对rfc1242中定义的性能评测参数的具体测试方法、结果的提交形式作了较详细的规定。

作为示例,性能测试可涉及以下参数:

(1)吞吐(throughput)

定义:被测设备在不丢包的情况下,所能转发的最大数据流量。通常使用每秒钟通过的最大的数据包数或者字节数来衡量(mb/s)。

作用:反映被测试设备所能够处理(不丢失数据包)的最大的数据流量。

(2)丢包率(lostrate)

定义:在一定的负载下,由于缺乏资源而未能被转发的包占应该转发的包数的百分比。

作用:反映被测设备承受特定负载的能力。

(3)时延(latency)

定义:发送一定数量的数据包,记录中间数据包发出的时间t1,以及经由测试设备转发后到达接收端口的时间t2,然后按照下面的公式计算:

对于存储/位转发设备:latency=t2-t1

t2:输出帧的第一位到达输出端口的时间;

t1:输入帧的最后一位到达输入端口的时间。

作用:反映被测设备处理数据包的速度。

(4)背对背(back-to-back)

定义:以所能够产生的最大的速率,发送一定长度的数据包,并不断改变一次发送的数据包数目,直到被测设备能够完全转发所有发送的数据包,这个包数就是此设备的back-to-back值。

作用:反映被测设备处理突发数据的能力(数据缓存能力)。

除了按照rfc2544标准测试,作为业界常关注的三个应用层性能参数,即新建、并发、吞吐,也是性能测试中测试的项目:

(1)新建(cps)

定义:一次新建需要完成三次握手建立连接,然后获得一个页面文件再断开连接。

作用:新建性能表示设备每一秒在设备不丢包的情况下能够成功完成多少次新建的能力。

(2)并发(cc)

定义:流量在设备上创建会话并未断开,此时在设备上保持的会话就是当前设备的并发。

作用:反应设备能够维护的并发会话的能力。

(3)应用层吞吐

定义:在服务器和客户端建立连接并依赖控制连接进行数据传输。此时数据传输产生的吞吐量就是应用层吞吐。

作用:反应设备处理应用层协议数据传输的能力。

当测试仪准备完毕后便可连接dut进行性能测试。在进行网络层吞吐测试时,可以用网络层吞吐最消耗设备性能的64字节作为测试用数据包举例,按照如图6所示的流程进行:

步骤s601,在无接口对的情况下,测试仪发出的流量只在设备中转发一次,测试64字节转发率,此时接口对数量n=0。

步骤s602,判断64字节是否能够达到接口线速。如果能够达到该预设条件,则进入步骤s603,否则进入步骤s604。

步骤s603,n=n+1,即增加一个接口对,此时流量在设备内多转发一次。返回步骤s602。

步骤s604,测试出64字节的精确通过率y(也即不丢包的情况下可通过的比例),然后按照预设公式计算被测设备整机吞吐。

预设公式为

tp=x*y(n+1)

其中测试仪物理带宽双向为x(单位bps),不丢包的情况下可通过的比例为y,接口对数量为n,整机吞吐量为tp。

在进行应用层参数(新建、并发、吞吐)测试时,步骤也是类似的:

进行新建测试时,增加接口对的条件就是测试仪预期的新建速率可在dut上正常达到并无失败计数。最终整机新建速率cps可用以下公式计算:

cps=x*(n+1)

其中x是测试仪自环值,n是接口对数量。

进行并发测试时,增加接口对的条件就是测试仪预期的并发数可在dut上正常达到并无失败计数。最终整机并发cc可用以下公式计算:

cc=x*(n+1)

其中x是测试仪自环并发,n是接口对数量。

进行应用层吞吐测试时,增加接口对的条件就是测试仪预期的应用层吞吐可在dut上正常达到并无失败。最终应用层吞吐tp可用以下公式计算:

tp=x*(n+1)

其中x是测试仪自环可达到的预期吞吐,n是接口对数量。

dut配置需要按照预期测试流量来做。如果是用二层流量测试,那么0口1口;2口3口;4口5口;6口7口;8口9口;10口11口;12口13口;14口15口需要分别划分到同一vlan中。流量从测试仪接口发出进入0口,设备内部通过同一vlan做二层转发从1口发出,1口发出再通过外接线发送到3口,依次循环,最后从设备15口发出。一份流量在设备上要转发8次。被测设备相当于是8台交换机串联。可以认为通过这样的方法,使得一台测试仪发出的20g吞吐就可以在被测设备上产生160g的转发吞吐,从而达到高性能测试的目的。

如果是用三层流量测试,那么需要把0口1口;2口3口;4口5口;6口7口;8口9口;10口11口;12口13口;14口15口分别划入到一个vrf中进行路由隔离,并根据vrf配置虚拟系统,每个虚拟系统需要配置到其他虚拟系统的静态路由达到路由可达。流量从测试仪接口发出进入0口,设备内部通过路由转发从1口发出,1口发出再通过外接线发送到3口,依次循环,最后从设备15口发出。一份流量在设备上要转发8次。被测设备相当于是8台路由器串联。通过这样的方法,使得一台测试仪发出的20g吞吐就可以在被测设备上产生160g的转发吞吐,从而达到性能测试的目的。

在本实施例方案中从接口对数量为零开始判断测试仪的指定参数是否达到预设条件,如果所述指定参数达到所述预设条件,则每次增加一个接口对以使测试用数据包在所述网络设备中多转发一次,然后继续判断所述指定参数每次是否达到所述预设条件,当所述指定参数未达到所述预设条件或者所述接口对数量无法再增加时停止测试,最后根据当前接口对的数量获取所述网络设备与所述指定参数对应的性能指标值,从而完成对网络设备的性能测试。在本申请中无需连接多个单元的链路,只需使用一台独立的测试仪即可,通过测试仪发出一份小流量在被测设备内多次转发,从而测试了大性能(高端大容量)的设备。本申请方案可有效节省测试仪资源,在测试仪资源有限的情况下扩大了测试仪资源的利用率,实现了对高端大容量网络设备性能的测试。

下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。

图7为本申请示出的一种测试网络设备性能的装置的示意图。作为示例,该装置可应用于测试仪等测试设备,所述网络设备具有多个用于以太网数据包转发的接口,所述测试仪的输入输出端分别连接所述网络设备的一个接口用以向所述网络设备发送测试用数据包。

如图7所示,该装置可以包括:

操作模块701,用于增加一个接口对,其中所述一个接口对是指将所述网络设备的两个空闲接口配置成一个独立转发环境。

作为示例在本实施例或本发明其他某些实施例中,将所述网络设备的两个空闲接口配置成一个独立转发环境,包括:

通过线缆将所述两个空闲接口相连。

控制模块702,用于从接口对数量为零开始,判断所述测试仪的指定参数是否达到预设条件;如果所述指定参数达到所述预设条件,则每次触发操作模块增加一个接口对以使所述测试用数据包在所述网络设备中多转发一次,继续判断所述指定参数每次是否达到所述预设条件;当所述指定参数未达到所述预设条件或者所述接口对数量无法再增加时停止测试。

作为示例在本实施例或本发明其他某些实施例中,所述指定参数可以包括以下一种或多种:

网络层吞吐,新建速率,并发数,应用层吞吐。

性能获取模块703,用于根据当前接口对的数量获取所述网络设备与所述指定参数对应的性能指标值。

作为示例,在本实施例或本发明其他某些实施例中,当所述指定参数包括新建速率、并发数或应用层吞吐时,所述性能获取模块具体可以用于:

根据

c=x*(n+1)

计算指定参数对应的性能指标值c,其中x为所述测试仪自环时所述指定参数的值,n为当前接口对的数量。

作为示例,在本实施例或本发明其他某些实施例中,当所述指定参数包括网络层吞吐时,所述性能获取模块具体可以用于:

根据

tp=x*y(n+1)

计算网络层吞吐tp,其中x为所述测试仪双向物理带宽,y为不丢包情况下可通过的比例,n为当前接口对的数量。

另外,在本实施例或本发明其他某些实施例中,所述装置还可以包括:

流量配置模块,用于当所述网络设备具有多核cpu且使用多个内部口转发时,为所述测试仪的流量模型配置多个源ip和目的ip,且所述多个源ip和目的ip的哈希位起始值不同,以使所述网络设备内部口流量分担均匀。

此外,在本实施例或本发明其他某些实施例中,所述装置还可以包括:

自环测试模块,用于将所述测试仪的输入输出端通过线缆直接连接,通过测试仪自环检测所述测试仪是否达到可用状态。

在本实施例方案中从接口对数量为零开始判断测试仪的指定参数是否达到预设条件,如果所述指定参数达到所述预设条件,则每次增加一个接口对以使测试用数据包在所述网络设备中多转发一次,然后继续判断所述指定参数每次是否达到所述预设条件,当所述指定参数未达到所述预设条件或者所述接口对数量无法再增加时停止测试,最后根据当前接口对的数量获取所述网络设备与所述指定参数对应的性能指标值,从而完成对网络设备的性能测试。在本申请中无需连接多个单元的链路,只需使用一台独立的测试仪即可,通过测试仪发出一份小流量在被测设备内多次转发,从而测试了大性能(高端大容量)的设备。本申请方案可有效节省测试仪资源,在测试仪资源有限的情况下扩大了测试仪资源的利用率,实现了对高端大容量网络设备性能的测试。

上述装置中各个模块\单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1