CN113852511A - 网络性能测试方法、装置及计算机可读存储介质 - Google Patents
网络性能测试方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113852511A CN113852511A CN202010599857.5A CN202010599857A CN113852511A CN 113852511 A CN113852511 A CN 113852511A CN 202010599857 A CN202010599857 A CN 202010599857A CN 113852511 A CN113852511 A CN 113852511A
- Authority
- CN
- China
- Prior art keywords
- message
- network performance
- processing module
- hardware processing
- performance testing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开一种网络性能测试方法、装置及计算机可读存储介质,属于通信技术领域。该方法具体包括:采用预置的硬件处理模块将下发报文进行流放大处理后发送至被测对象,以及对被测对象返回的报文进行过滤处理获得回程报文;根据下发报文和回程报文,确定被测对象对应的网络性能。本发明实施例的技术方案,避免了靠堆CPU等硬件资源来满足网络性能测试需求,因此降低了网络性能测试时硬件资源的消耗。
Description
技术领域
本发明实施例涉及通信技术领域,具体公开了一种网络性能测试方法、装置及计算机可读存储介质。
背景技术
网络性能测试是通过自动化的测试工具模拟各种正常、峰值以及异常负载条件来对包转发率、比特率、时延等多项性能指标进行测试。虽然已有多种用于网络性能测试的标准测试仪表,其功能完善、性能强大,但价格昂贵,很难应用于日常的网络性能测试中。因此,日常一般是采用软件测试工具或虚拟测试仪表对网络性能进行测试、预研。然而,对软件测试工具或虚拟测试仪而言,需要靠堆CPU等硬件资源来满足网络性能测试需求,会导致硬件资源,尤其是重要的CPU资源被严重浪费。
发明内容
本发明实施例提供了一种网络性能测试方法、装置及计算机可读存储介质,以实现降低网络性能测试时硬件资源的消耗。
第一方面,本发明实施例提供了一种网络性能测试方法,该方法包括:
采用预置的硬件处理模块将下发报文进行流放大处理后发送至被测对象,以及对被测对象返回的报文进行过滤处理获得回程报文;
根据下发报文和回程报文,确定被测对象对应的网络性能。
第二方面,本发明实施例还提供了一种网络性能测试装置,网络性能测试装置包括存储器和处理器;
存储器用于存储计算机程序;
处理器,用于执行计算机程序并在执行计算机程序时实现如上述的网络性能测试方法。
第三方面,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时使处理器实现如上述的网络性能测试方法。
本发明实施例公开了一种网络性能测试方法、装置及计算机可读存储介质,通过预置硬件处理模块,采用该硬件处理模块将下发报文进行流放大处理后发送至被测对象,以及采用该硬件处理模块对被测对象返回的报文进行过滤处理获得回程报文,之后再根据下发报文和回程报文,确定被测对象对应的网络性能,避免了靠堆CPU等硬件资源来满足网络性能测试需求,因此,降低了网络性能测试时硬件资源的消耗。
附图说明
图1是本发明实施例提供的一种网络性能测试装置的结构示意图;
图2是本发明实施例提供的一种网络性能测试装置的示意性框图;
图3是本发明实施例提供的一种网络性能测试方法的步骤示意流程图;
图4是本发明实施例提供的一种FPGA网卡的模块示意图;
图5是本发明实施例提供的另一种网络性能测试方法的步骤示意流程图;
图6是本发明实施例提供的一种对被测网元进行网络性能测试的示意流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明实施例的说明,其本身没有特有的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
本发明的实施例提供了一种网络性能测试方法、装置及计算机可读存储介质。其中,该网络性能测试方法可以应用于网络性能测试装置中,实现采用预置的硬件处理模块将下发报文进行流放大处理后发送至被测对象,以及对被测对象返回的报文进行过滤处理获得回程报文;根据下发报文和回程报文,确定被测对象对应的网络性能,实现了降低网络性能测试时硬件资源的消耗。
请参阅图1,图1是本发明实施例提供的一种网络性能测试装置的结构示意图。该网络性能测试装置100包括虚拟测试模块10、以及硬件处理模块20。其中,虚拟测试模块10包括但不限于测试虚拟机;硬件处理模块20包括但不限于FPGA(FieldProgrammable GateArray,现场可编程逻辑门阵列)网卡、GPU(Graphics Processing Unit,图形处理器)等。
示例性的,硬件处理模块20包括放大单元和过滤单元。放大单元用于对报文进行流放大处理。具体地,获取报文的端口号,复制N份报文,并将复制报文的端口号映射为特定的不常用的端口号,比如60000以上的端口号,实现放大。过滤单元用于对报文进行过滤,具体地,获取报文的端口号,通过端口号判断报文是否是复制报文,将复制报文进行过滤。
示例性的,采用HLS(High Level Synthesis,高级别综合)语言以及VERILOG硬件描述语言来实现硬件处理模块20的放大单元和过滤单元。其中,VERILOG是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。
示例性的,HLS技术编程周期短,门槛低,但是时序控制不如VERILOG硬件描述语言,因此,利用PIPLINE、UNROOL等流水化技术,实现连续流水化的读或写入报文段,并对报文段处理和时延周期进行优化,以实现充分利用带宽。
示例性,打通硬件处理模块20的PCIE(Peripheral Component InterconnectExpress,高速串行计算机扩展总线标准)和MAC(Medium Access Control,介质访问控制)通道。在一实施方式中,硬件处理模块20从第一个MAC接口接收虚拟测试模块10下发的原始流量,也即下发报文,经过硬件处理模块20的放大单元进行流放大处理后,从第二个MAC接口发往被测对象。由被测对象返回的报文从第二个MAC接口进入硬件处理模块20进行过滤,然后经第一个MAC接口发送至虚拟测试模块10处理,此时,硬件处理模块20与虚拟测试模块10完全独立。
在另一实施方式中,硬件处理模块20从PCIE接口接收虚拟测试模块10下发的原始流量,也即下发报文,经过硬件处理模块20进行流放大处理后,从MAC接口发往被测对象。由被测对象返回的报文从MAC接口进入硬件处理模块20进行过滤,然后经PCIE接口上送至虚拟测试模块10处理,此时虚拟测试模块10接收的只有原始报文,报文的放大和过滤对虚拟测试模块10来说是透明的。
示例性的,硬件处理模块20配置有位宽转换单元。若业务逻辑复杂(如扩展功能),可通过位宽转换单元调整每个时钟周期的数据位宽,如512位变为1024位。同时调整时钟周期,保证在每个时钟周期即可完成对报文段的处理,优化时序。
示例性的,硬件处理模块20还配置有分发单元。过滤后的报文发往虚拟测试模块10时,如果硬件处理模块20开启了多队列模式,则可以通过分发单元将过滤后的报文分发到相应的目的队列。例如,将过滤后的报文均匀地发往目的队列。
硬件处理模块20支持SRIOV及多队列模式,网络性能测试装置100需要安装对应的PF网卡内核驱动,虚拟测试模块10需要安装对应的VF网卡内核驱动。
示例性的,虚拟测试模块10收发报文数据包,采用的是基于DPDK(Data PlaneDevelopment Kit,数据平面开发套件)的虚拟机方式,将硬件处理模块20集成至虚拟测试模块10中。
示例性的,打通虚拟测试模块10的用户界面配置通道,具体地,配置通道需要打通虚拟测试模块10到DPDK、DPDK到硬件处理模块20的数据配置接口。DPDK配置及接口通过读写寄存器来与硬件逻辑交互。其中,流放大设置界面为用户界面的其中之一界面,用户可以在流放大设置界面上配置放大倍数、放大策略等流放大信息。其中,放大策略包括但不限于采用五元组的端口进行流放大。另外,用户还可以通过用户界面查看放大流量统计数据等。五元组,包括源IP、目的IP、源端口、目的端口、传输层协议,代表某个用户访问网络进程的一条数据流。由于流是被测对象数据包处理模型及其重要的因素,简单的复制放大仅能测试网卡带宽,而流放大则能满足各种业务测试需求。
通过将网络性能测试装置100的流放大功能下沉至硬件处理模块20,采用HLS等技术实现硬件处理模块20的流放大功能,并采用DPDK技术将硬件处理模块20与虚拟测试模块10集成,实现将一条报文放大至多条报文的测试仪。网络性能测试装置100只需使用极少的资源,即可满足大流量被测对象的网络性能测试需求。
请参阅图2,图2是本发明实施例提供的一种网络性能测试装置的示意性框图。该网络性能测试装置200包括处理器201和存储器202,其中,处理器201和存储器202通过总线连接。
其中,存储器202可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种网络性能测试方法。
处理器201用于提供计算和控制能力,支撑整个终端设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种网络性能测试方法。
可以理解,图2中示出的结构,仅仅是与本发明实施例方案相关的部分结构的框图,并不构成对本发明实施例方案所应用于其上的网络性能测试装置的限定,具体的网络性能测试装置可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器201可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一些实施例中,处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
采用预置的硬件处理模块将下发报文进行流放大处理后发送至被测对象,以及对被测对象返回的报文进行过滤处理获得回程报文;
根据下发报文和回程报文,确定被测对象对应的网络性能。
在一些实施例中,硬件处理模块包括FPGA网卡。
在一些实施例中,处理器在实现采用预置的硬件处理模块将下发报文进行流放大处理后发送至被测对象之前,还用于实现:
将下发报文通过第一接口发送至硬件处理模块;
处理器在实现采用预置的硬件处理模块将下发报文进行流放大处理后发送至被测对象时,用于实现:
采用硬件处理模块将下发报文进行多份复制,并配置每份复制报文对应的端口信息,以及将多份配置了端口信息的复制报文通过第二接口发送至被测对象。
在一些实施例中,第一接口包括PCIE接口或MAC接口,第二接口包括MAC接口。
在一些实施例中,处理器在实现对被测对象返回的报文进行过滤处理获得回程报文时,用于实现:
采用硬件处理模块确定被测对象返回的报文中的复制类型报文,并将复制类型报文过滤排除获得回程报文。
在一些实施例中,处理器在实现采用硬件处理模块确定被测对象返回的报文中的复制类型报文时,用于实现:
采用硬件处理模块获取被测对象返回的报文对应的端口信息,并根据获取的端口信息确定被测对象返回的报文中的复制类型报文。
在一些实施例中,处理器在实现对被测对象返回的报文进行过滤处理之后,还用于实现:
采用硬件处理模块将回程报文分发至相应队列;
从队列获取回程报文。
在一些实施例中,处理器还用于实现:
采用硬件处理模块进行位宽调整,以基于转换后的位宽实现在每个时钟周期内进行报文段处理。
在一些实施例中,处理器还用于实现:
输出流放大设置界面数据至显示装置,以供在显示装置上显示流放大设置界面;
接收用户在流放大设置界面上执行配置操作对应操作数据,并根据操作数据配置流放大信息。
在一些实施例中,处理器在实现采用预置的硬件处理模块将下发报文进行流放大处理时,用于实现:
采用硬件处理模块基于配置的流放大信息将下发报文进行流放大处理。
在一些实施例中,处理器在实现根据下发报文和回程报文,确定被测对象对应的网络性能之后,还用于实现:
根据被测对象对应的网络性能,输出测试结果。
为了便于理解,以下将结合图1和图2中的网络性能测试装置,对本发明的实施例提供的网络性能测试方法进行详细介绍。需知,上述的网络性能测试装置并不构成对本发明实施例提供的网络性能测试方法应用场景的限定。
如图3所示,图3是本发明实施例提供的一种网络性能测试方法的步骤示意流程图。该方法可以用于上述网络性能测试装置中,以实现降低网络性能测试时硬件资源的消耗。
具体地,如图3所示,该方法包括步骤S101和步骤S102。
S101、采用预置的硬件处理模块将下发报文进行流放大处理后发送至被测对象,以及对被测对象返回的报文进行过滤处理获得回程报文。
对于预置的硬件处理模块,下文以硬件处理模块为FPGA网卡为例进行说明。需要说明的是,硬件处理模块也可以为除FPGA网卡以外的其他硬件模块,在此不做限制。
当需要对网元或设备等被测对象进行网络性能测试时,将下发报文发往FPGA网卡,通过FPGA网卡对下发报文进行流放大处理,获得放大处理后的报文,也即,获得大流量的报文。之后,通过FPGA网卡将大流量的报文发往网元等被测对象。
被测对象接收到大流量的报文后,进行测试响应处理,返回相应报文。由于被测对象接收到的是大流量的报文,对应地,返回的报文也是大流量的报文。当接收获取到被测对象返回的报文后,采用FPGA网卡对被测对象返回的报文进行过滤处理,获得对应于下发报文的回程报文。
在一些实施例中,预先在FPGA网卡中配置放大单元amplifier和过滤单元filter。示例性的,采用HLS语言以及VERILOG硬件描述语言来实现FPGA网卡的放大单元amplifier和过滤单元filter。由放大单元amplifier对下发报文进行流放大处理,获得放大处理后的大流量的报文。以及由过滤单元filter对被测对象返回的报文进行过滤处理,获得对应于下发报文的回程报文。示例性,采用HLS来实现FPGA网卡的放大单元amplifier和过滤单元filter。
在一些实施例中,采用预置的硬件处理模块将下发报文进行流放大处理后发送至被测对象之前可以包括:将下发报文通过第一接口发送至硬件处理模块;采用预置的硬件处理模块将下发报文进行流放大处理后发送至被测对象可以包括:采用硬件处理模块将下发报文进行多份复制,并配置每份复制报文对应的端口信息,以及将多份配置了端口信息的复制报文通过第二接口发送至被测对象。
其中,第一接口包括PCIE接口或MAC接口,也即,通过PCIE接口将下发报文发往FPGA网卡;或者,通过MAC接口将下发报文发往FPGA网卡。
通过FPGA网卡接收到下发报文后,将下发报文进行N份复制,并配置每份复制报文对应的端口信息,其中,端口信息包括端口号,如60000、60001等。可选地,通过FPGA网卡对下发报文进行解析,获取下发报文的端口号,并将下发报文复制N份,实现放大,复制报文的端口号映射为特定的不常用的端口号,比如60000以上的端口号,通过端口号区分这些复制报文不是原始报文,而是复制获得的报文。
之后,通过FPGA网卡经第二接口将N份复制报文发往被测对象。其中,第二接口包括MAC接口,也即,通过MAC接口将N份复制报文发往被测对象。
在一些实施例中,对被测对象返回的报文进行过滤处理获得回程报文可以包括:采用硬件处理模块确定被测对象返回的报文中的复制类型报文,并将复制类型报文过滤排除获得回程报文。
接收到被测对象返回的报文后,通过FPGA网卡从返回的报文中,确定筛选出复制类型报文。示例性的,通过FPGA网卡对返回的报文进行解析,获取返回的报文对应的端口信息,如端口号,根据返回的报文对应的端口信息,确定筛选出返回的报文中的复制类型报文。比如,若返回的某个报文的端口号为60001,是特定的不常用的端口号,则确定该报文是复制类型报文。
对于筛选出的复制类型报文,通过FPGA网卡的过滤单元filter将复制类型报文过滤排除获得回程报文。
在一实施方式中,FPGA网卡与两个MAC接口打通数据通道,FPGA网卡从第一个MAC接口接收到下发报文,经过FPGA网卡的放大单元amplifier进行流放大处理后,从第二个MAC接口发往被测对象。由被测对象返回的报文从第二个MAC接口进入FPGA网卡,通过FPGA网卡的过滤单元filter进行过滤,此时,FPGA网卡可称为外置处理器,是独立的器件。
在另一实施方式中,FPGA网卡与一个PCIE接口和一个MAC接口打通数据通道,如图4所示,FPGA网卡从PCIE接口接收到下发报文,经过FPGA网卡的放大单元amplifier进行流放大处理后,发往MAC接口,之后发往被测对象。由被测对象返回的报文从MAC接口进入通过FPGA网卡的过滤单元filter进行过滤,获得回程报文,发往PCIE接口。
在一些实施例中,对被测对象返回的报文进行过滤处理之后,包括:采用硬件处理模块将回程报文分发至相应队列;从队列获取回程报文。
譬如,如果FPGA网卡开启了多队列模式,则将经过滤单元filter进行过滤后的回程报文发往相应的目的队列。可选地,将过滤后的回程报文均匀地发往目的队列。之后,即可从目的队列获取到回程报文。
在一些实施例中,预先在FPGA网卡中配置位宽转换单元,例如配置1024-512转换单元。通过位宽转换单元进行位宽调整,以基于调整后的位宽实现在每个时钟周期内进行报文段处理。例如,通过1024-512转换单元,将512位变为1024位,用1024位来对每个时钟周期的报文段进行处理,解决了512位难以满足时序要求的问题。
在一些实施例中,预先配置了网络性能测试装置的用户界面配置通道。其中,流放大设置界面为用户界面的其中之一界面。示例性的,可以在用户界面上显示放大流量统计数据等,用户可以通过查看用户界面知晓放大流量统计数据等。网络性能测试方法还包括:输出流放大设置界面数据至显示装置,以供在显示装置上显示流放大设置界面;接收用户在流放大设置界面上执行配置操作对应操作数据,并根据操作数据配置流放大信息。
其中,显示装置包括但不限于触控显示屏,显示装置可以为网络性能测试装置自带配置的,也可以为网络性能测试装置外接的。显示装置在接收获得流放大设置界面数据后,根据流放大设置界面数据显示对应的流放大设置界面。用户可以基于流放大设置界面执行相应的配置操作,比如设置放大倍数、放大策略等操作。当接收到用户在流放大设置界面上执行配置操作对应操作数据时,根据该操作数据配置流放大信息,其中,流放大信息包括放大倍数、放大策略等。放大策略包括但不限于采用五元组的端口进行流放大。五元组,包括源IP、目的IP、源端口、目的端口、传输层协议,代表某个用户访问网络进程的一条数据流。由于流是被测对象数据包处理模型及其重要的因素,简单的复制放大仅能测试网卡带宽,而流放大则能满足各种业务测试需求。
在通过FPGA网卡进行流放大处理时,采用基于配置的流放大信息将下发报文进行流放大处理。例如,配置的放大倍数为10倍,则通过FPGA网卡将下发报文复制10份,并将复制报文的端口号映射为特定的不常用的端口号,实现放大。
S102、根据下发报文和回程报文,确定被测对象对应的网络性能。
在通过FPGA网卡进行过滤处理获得回程报文后,根据该回程报文、以及对应的下发报文,进行回程报文与下发报文的比对分析,根据分析结果确定被测对象对应的网络性能。例如,通过将回程报文与下发报文进行比对分析,获得被测对象当前对应的丢包率,进而确定丢包率是否达标。
在一些实施例中,如图5所示,步骤S102之后还可以包括步骤S103。
S103、根据被测对象对应的网络性能,输出测试结果。
为了进一步提高用户体验,在对被测对象进行网络性能测试后,根据测试获得的被测对象对应的网络性能,输出相应的测试结果。比如,输出丢包率达标或者丢包率不达标的测试结果。
示例性的,以文本方式输出测试结果。例如,将测试结果输出至显示装置,在显示装置上显示测试结果。又如,将测试结果发送至用户相应的移动终端,如智能手机,通过智能手机等移动终端显示测试结果。
需要说明的是,除了上面列举的以文本方式输出测试结果以外,也可以通过其他的如语音方式输出测试结果,在此不作具体限制。
下面以测试虚拟机结合FPGA网卡为例,对本发明实施例的网络性能测试方法进行说明。如图6所示,测试虚拟机将下发报文通过PCIE接口发往FPGA网卡,FPGA网卡从PCIE接口接收到下发报文后,经过FPGA网卡的解析单元parse对下发报文进行解析,获得下发报文的端口号等信息,如解析获得端口号为60001。然后通过放大单元amplifier进行流放大处理,例如,将下发报文复制N份,如10份,实现放大,复制报文的端口号映射为特定的不常用的端口号,比如600001、600002、......600010。将多份复制报文从MAC接口发往被测对象,如被测网元。由被测网元返回的报文从MAC接口进入FPGA网卡。例如,若在不丢包的情况下,返回的报文对应的端口号也为600001、600002、......600010。通过FPGA网卡的解析单元parse对下发报文进行解析后,通过过滤单元filter对这些返回的报文进行过滤,获得回程报文,回程报文对应的端口号为600001,其他端口号对应的返回的报文被过滤掉。之后通过PCIE接口将回程报文发往测试虚拟机。测试虚拟机根据该回程报文,以及之前的下发报文,对回程报文和下发报文进行比对分析,确定被测网元的网络性能。
通过利用FPGA的硬件加速来降低测试虚拟机的负担,将原本由测试虚拟机软件CPU实现的流放大功能移交给FPGA网卡硬件逻辑实现,大量节约高性能测试所需硬件资源,提升了报文段数据包的处理速度。
经过试验,对于FPGA网卡为100G,测试虚拟机为10核,放大倍数为10倍的配置,可以实现向被测网元发送约20M包转发率、80G比特率大小流量的报文(字节数为512),测试结果为丢包率达标。而如果采用常规方式进行该网络性能测试,需使用10套测试虚拟机共80个核,以及4张25G网卡。因此,相比于常规方式大大节省了硬件资源。
上述实施例中通过预置硬件处理模块,采用该硬件处理模块将下发报文进行流放大处理后发送至被测对象,以及采用该硬件处理模块对被测对象返回的报文进行过滤处理获得回程报文,之后再根据下发报文和回程报文,确定被测对象对应的网络性能,避免了靠堆CPU等硬件资源来满足网络性能测试需求,因此,降低了网络性能测试时硬件资源的消耗。
本发明的实施例中还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序中包括程序指令,处理器执行程序指令,实现本发明实施例提供的任一项网络性能测试方法。
例如,该计算机程序被处理器加载,可以执行如下步骤:
采用预置的硬件处理模块将下发报文进行流放大处理后发送至被测对象,以及对被测对象返回的报文进行过滤处理获得回程报文;
根据下发报文和回程报文,确定被测对象对应的网络性能。
其中,计算机可读存储介质可以是前述实施例的网络性能测试装置的内部存储单元,例如网络性能测试装置的硬盘或内存。计算机可读存储介质也可以是网络性能测试装置的外部存储设备,例如网络性能测试装置上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (13)
1.一种网络性能测试方法,包括:
采用预置的硬件处理模块将下发报文进行流放大处理后发送至被测对象,以及对所述被测对象返回的报文进行过滤处理获得回程报文;
根据所述下发报文和所述回程报文,确定所述被测对象对应的网络性能。
2.根据权利要求1所述的网络性能测试方法,其特征在于,所述硬件处理模块包括FPGA网卡。
3.根据权利要求1所述的网络性能测试方法,其特征在于,所述采用预置的硬件处理模块将下发报文进行流放大处理后发送至被测对象之前,包括:
将所述下发报文通过第一接口发送至所述硬件处理模块;
所述采用预置的硬件处理模块将下发报文进行流放大处理后发送至被测对象,包括:
采用所述硬件处理模块将所述下发报文进行多份复制,并配置每份复制报文对应的端口信息,以及将多份配置了所述端口信息的所述复制报文通过第二接口发送至所述被测对象。
4.根据权利要求3所述的网络性能测试方法,其特征在于,所述第一接口包括PCIE接口或MAC接口,所述第二接口包括MAC接口。
5.根据权利要求1所述的网络性能测试方法,其特征在于,所述对所述被测对象返回的报文进行过滤处理获得回程报文,包括:
采用所述硬件处理模块确定所述被测对象返回的报文中的复制类型报文,并将所述复制类型报文过滤排除获得所述回程报文。
6.根据权利要求5所述的网络性能测试方法,其特征在于,所述采用所述硬件处理模块确定所述被测对象返回的报文中的复制类型报文,包括:
采用所述硬件处理模块获取所述被测对象返回的报文对应的端口信息,并根据获取的所述端口信息确定所述被测对象返回的报文中的所述复制类型报文。
7.根据权利要求1所述的网络性能测试方法,其特征在于,所述对所述被测对象返回的报文进行过滤处理之后,包括:
采用所述硬件处理模块将所述回程报文分发至相应队列;
从所述队列获取所述回程报文。
8.根据权利要求1所述的网络性能测试方法,其特征在于,所述方法还包括:
采用所述硬件处理模块进行位宽调整,以基于调整后的位宽实现在每个时钟周期内进行报文段处理。
9.根据权利要求1所述的网络性能测试方法,其特征在于,所述方法还包括:
输出流放大设置界面数据至显示装置,以供在所述显示装置上显示流放大设置界面;
接收用户在所述流放大设置界面上执行配置操作对应操作数据,并根据所述操作数据配置流放大信息。
10.根据权利要求9所述的网络性能测试方法,其特征在于,所述采用预置的硬件处理模块将下发报文进行流放大处理,包括:
采用所述硬件处理模块基于配置的所述流放大信息将所述下发报文进行流放大处理。
11.根据权利要求1至10任一项所述的网络性能测试方法,其特征在于,所述根据所述下发报文和所述回程报文,确定所述被测对象对应的网络性能之后,包括:
根据所述被测对象对应的所述网络性能,输出测试结果。
12.一种网络性能测试装置,所述网络性能测试装置包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至11中任一项所述的网络性能测试方法。
13.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至11中任一项所述的网络性能测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010599857.5A CN113852511A (zh) | 2020-06-28 | 2020-06-28 | 网络性能测试方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010599857.5A CN113852511A (zh) | 2020-06-28 | 2020-06-28 | 网络性能测试方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113852511A true CN113852511A (zh) | 2021-12-28 |
Family
ID=78972598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010599857.5A Pending CN113852511A (zh) | 2020-06-28 | 2020-06-28 | 网络性能测试方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113852511A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114301808A (zh) * | 2021-12-23 | 2022-04-08 | 北京集智达智能科技有限责任公司 | 基于dpdk技术的x86平台网口性能测试方法及装置 |
-
2020
- 2020-06-28 CN CN202010599857.5A patent/CN113852511A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114301808A (zh) * | 2021-12-23 | 2022-04-08 | 北京集智达智能科技有限责任公司 | 基于dpdk技术的x86平台网口性能测试方法及装置 |
CN114301808B (zh) * | 2021-12-23 | 2023-11-10 | 北京集智达智能科技有限责任公司 | 基于dpdk技术的x86平台网口性能测试方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8069286B1 (en) | Flexible on-chip datapath interface having first and second component interfaces wherein communication is determined based on a type of credit condition | |
US8638792B2 (en) | Packet switch based logic replication | |
CN106951388A (zh) | 一种基于PCIe的DMA数据传输方法及系统 | |
US8432908B2 (en) | Efficient packet replication | |
CN107294869A (zh) | 一种虚拟网卡报文抓取的方法及系统 | |
US7779194B2 (en) | Data modification module | |
CN109408468A (zh) | 文件处理方法和装置、计算设备及存储介质 | |
CN111064680B (zh) | 一种通信装置及数据处理方法 | |
CN110380992A (zh) | 报文处理方法、装置及网络流量采集设备 | |
CN103986585A (zh) | 报文预处理方法及其装置 | |
US20140013011A1 (en) | Debug architecture | |
US20120290823A1 (en) | Core abstraction layer interface | |
CN106294228B (zh) | 输入输出扩展芯片以及其验证方法 | |
CN101562544B (zh) | 一种数据包生成器和数据包生成方法 | |
CN113852511A (zh) | 网络性能测试方法、装置及计算机可读存储介质 | |
WO2015138244A1 (en) | Systems and methods for detecting errors and recording actions on a bus | |
CN110569162B (zh) | 一种通信领域中fpga的自动测试方法及装置 | |
CN115622896A (zh) | 一种axi4高速总线及多队列仿真验证方法及仿真验证装置 | |
Kogel et al. | Virtual architecture mapping: A SystemC based methodology for architectural exploration of system-on-chip designs | |
WO2021122066A1 (en) | A trace handler module system and a method using said system | |
WO2008096000A1 (en) | Microcontroller with memory trace module | |
US20130170368A1 (en) | Method and system for counting data packets | |
CN102170401B (zh) | 一种数据的处理方法和设备 | |
WO2023030128A1 (zh) | 通信方法、装置、电子设备、存储介质及片上系统 | |
CN110297785A (zh) | 一种基于fpga的金融数据流控装置和流控方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |