CN112019407A - 转发设备数据测试方法、装置、计算机设备和存储介质 - Google Patents
转发设备数据测试方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112019407A CN112019407A CN202011200167.4A CN202011200167A CN112019407A CN 112019407 A CN112019407 A CN 112019407A CN 202011200167 A CN202011200167 A CN 202011200167A CN 112019407 A CN112019407 A CN 112019407A
- Authority
- CN
- China
- Prior art keywords
- sending
- forwarding
- data packet
- test
- port
- 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/50—Testing arrangements
-
- 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
Abstract
本申请涉及一种转发设备数据测试方法、装置、计算机设备和存储介质。所述方法包括:将发送测试端口和接收测试端口与内核驱动解绑,并将发送测试端口和接收测试端口与DPDK驱动绑定;所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包;所述转发设备的输出端口输出转发数据包;与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果。采用本方法能够降低转发设备的测试成本。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种转发设备数据测试方法、装置、计算机设备和存储介质。
背景技术
在通信过程中,需要各种转发设备对数据进行寻址转发,转发设备性能的稳定性决定了通信效率,评价通信效率的主要标注主要包括RFC2544标准和RFC1242标准,RFC2544标准和RFC1242标准是RFC组织提出的用于评测网络互联网设备的国际标准。在RFC2544标准和RFC1242标准最为重要的几个参数为:吞吐量,转发设备在不丢包的情况下,所能转发的最大数据流量;丢帧率,在一定的负载下,由于缺乏资源而未能被转发的包占应该转发的包数的百分比;时延,在发包速率满足吞吐量的情况下,数据包到达输入端口与数据包从输出端口输出的时间之差;背靠背,以所能够产生的最大的速率,发送一定长度的数据包,并不断改变一次发送的数据包数目,直到转发设备能够完全转发所有发送的数据包,这个包数就是此设备的背对背值。
然而,现有的转发设备的测试方法,需要专用的硬件设备对其进行测试,导致测试成本高且通用性差。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低转发设备测试成本的转发设备数据测试方法、装置、计算机设备和存储介质。
一种转发设备数据测试方法,所述方法包括:
将发送测试端口和接收测试端口与内核驱动解绑,并将发送测试端口和接收测试端口与DPDK驱动绑定;
所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包;
所述转发设备的输出端口输出转发数据包;
与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果。
在其中一个实施例中,所述转发设备数据测试方法还包括:获取参数配置文件;根据所述参数配置文件,对所述发送测试端口和接收测试端口进行参数配置。
在其中一个实施例中,所述预设规则为吞吐量的测试规则;其中,所述吞吐量的测试规则中,所述发送测试端口第一次向所述转发设备的输入端口发送数据包时,按照最大速率进行发送;在与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果之后,包括:在所述发送数据包的数量大于所述转发数据包的数量时,将所述预设规则改为按照上一次发送速率的二分之一进行发送,重复执行所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包,所述转发设备的输出端口输出转发数据包,与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果的步骤;在所述发送数据包的数量等于所述转发数据包的数量时,将所述预设规则改为按照对上一次发送速率增加二分之一进行发送,重复执行所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包,所述转发设备的输出端口输出转发数据包,与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果的步骤;直到相邻两次发送速率之差小于预设精度,则将当前所述数据包的发送速率确定为吞吐量。
在其中一个实施例中,所述预设规则为时延的测试规则;其中,所述时延的测试规则中,所述发送测试端口向所述转发设备的输入端口发送数据包时,按照吞吐量对应的速率进行发送;所述与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果,包括:与所述输出端口连接的所述接收测试端口,接收所述转发数据包;计算接收所述转发数据包的时间与发送数据包的时间之差,得到时延。
在其中一个实施例中,所述预设规则为背靠背的测试规则:其中,所述背靠背的测试规则中,所述发送测试端口向转发设备的输入端口,以最快发包速率发送数据包,每个所述数据包设置编号;在与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果之后,包括:重复执行所述发送测试端口向转发设备的输入端口,以最快发包速率发送数据包,与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果的步骤,直到所述测试结果包括第一个丢失数据包的编号,获取所述编号之前的所有数据包的数目,确定为背靠背值。
在其中一个实施例中,所述预设规则为丢帧率的测试规则:其中,所述丢帧率的测试规则中,所述发送测试端口第一次向所述转发设备的输入端口输出发送数据包时,按照最大速率进行输出;在与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果之后,包括:将所述预设规则改为按照将上一次发送速率减少预设值进行发送,重复执行所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包,所述转发设备的输出端口输出转发数据包,与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果的步骤,直到所述发送速率小于或等于零跳出重复执行的步骤;其中,每一次计算所述测试结果均被存储。
在其中一个实施例中,所述转发设备数据测试方法还包括:将所述测试结果进行可视化呈现。
一种转发设备数据测试装置,所述装置包括:
驱动绑定模块,用于将发送测试端口和接收测试端口与内核驱动解绑,并将发送测试端口和接收测试端口与DPDK驱动绑定;
数据包输出模块,用于所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包;
数据包转发模块,用于所述转发设备的输出端口输出转发数据包;
统计模块,用于与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
将发送测试端口和接收测试端口与内核驱动解绑,并将发送测试端口和接收测试端口与DPDK驱动绑定;
所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包;
所述转发设备的输出端口输出转发数据包;
与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
将发送测试端口和接收测试端口与内核驱动解绑,并将发送测试端口和接收测试端口与DPDK驱动绑定;
所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包;
所述转发设备的输出端口输出转发数据包;
与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果。
上述转发设备数据测试方法、装置、计算机设备和存储介质,通过在测试终端选择发送测试端口和接收测试端口进行数据包的发送和接收,并且通过运行绑定脚本实现发送测试端口和接收测试端口与DPDK驱动绑定,以控制数据包通过不同长度、不同速率发送,满足不同场景的测试要求,同时在现有的Intel architecture(IA)处理器架构下就能进行运行绑定脚本的开发,相比于现有专业硬件来实现转发设备数据测试,本实施例所述方法能够提高对转发设备测试的通用性,减少了硬件成本。
附图说明
图1为一个实施例中转发设备数据测试方法的应用环境图;
图2为一个实施例中转发设备数据测试方法的流程示意图;
图3为一个实施例中丢帧率的二维可视化图;
图4为一个实施例中转发设备数据测试装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的转发设备数据测试方法,可以应用于如图1所示的应用环境中。其中,测试终端102通过网络与转发设备104进行通信。测试终端102将发送测试端口和接收测试端口与内核驱动解绑,并将发送测试端口和接收测试端口与DPDK驱动绑定;所述发送测试端口向转发设备104的输入端口,按照预设规则输出发送数据包;所述转发设备104的输出端口输出转发数据包;与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果。其中,测试终端102可以但不限于是各种个人计算机、笔记本电脑和平板电脑,转发设备104路由器、防火墙等各种数据包转发设备。
在一个实施例中,如图2所示,提供了一种转发设备数据测试方法,包括以下步骤:
S110,将发送测试端口和接收测试端口与内核驱动解绑,并将发送测试端口和接收测试端口与DPDK驱动绑定。
其中,DPDK(Intel Data Plane Development Kit,数据平面开发工具集),是intel提供的数据平面开发工具集,为Intel architecture(IA)处理器架构下用户空间高效的数据包处理提供库函数和驱动的支持,它不同于Linux系统以通用性设计为目的,而是专注于网络应用中数据包的高性能处理,其工作在用户层,取代传统Linux系统中的网络数据报文处理。通过将发送测试端口和接收测试端口与DPDK驱动绑定,以实现测试终端对发送测试端口和接收测试端口的控制,实现数据包的发送和接收。
其中,发送测试端口和接收测试端口与DPDK驱动绑定通过运行绑定脚本实现,绑定脚本是基于MoonGen开发;MoonGen是一款脚本化的基于DPDK和LuaJIT的高速发包工具,其可以通过用户自定义脚本实现单核CPU以最高10Gbit/s的速率发送64字节数据包的能力,并且也支持速率控制和时间戳功能。
S120,所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包。
其中,转发设备为防火墙、路由器等数据包转发设备,所述转发设备包括输入端口和输出端口,所述输入端口用于接收发送数据包,所述输出端口用于输出转发数据包。其中,预设规则可为RFC2544标准或RFC1242标准中的数据测试规则,例如,预设规则为吞吐量的测试规则、时延的测试规则、背靠背的测试规则或丢帧率的测试规则。
S130,所述转发设备的输出端口输出转发数据包。
其中,发送数据包进入转发设备后,转发设备根据所述发送数据包的IP地址进行转发,输出转发数据包。其中,发送数据包和转发数据包可为相同的数据包。
S140,与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果。
其中,根据发送数据包和转发数据包数目,发送数据包与转发数据包进行比对,统计是否丢包,得到测试结果。例如,测试结果为吞吐量、丢帧率、时延或背靠背值。
上述转发设备数据测试方法中,通过在测试终端选择发送测试端口和接收测试端口进行数据包的发送和接收,并且通过运行绑定脚本实现发送测试端口和接收测试端口与DPDK驱动绑定,以控制数据包通过不同长度、不同速率发送,满足不同场景的测试要求,同时在现有的Intel architecture(IA)处理器架构下就能进行运行绑定脚本的开发,相比于现有专业硬件来实现转发设备数据测试,本实施例所述方法能够提高对转发设备测试的通用性,减少了硬件成本。
在一个实施例中,所述转发设备数据测试方法,还包括:获取参数配置文件;根据所述参数配置文件,对所述发送测试端口和接收测试端口进行参数配置。
其中,参数配置文件中可进行配置的参数可为IP地址、MAC地址、数据包发送速率、数据包发送时间、数据包大小中一种或多种参数。所述参数配置文件对发送测试端口和接收测试端口进行参数配置后,能够根据配置的参数对转发设备进行数据测试。例如,配置的参数控制发送测试端口以最大速率发送数据包,或者通过配置的参数控制发送测试端口以预设速率发送数据包的时间。
在其中一个实施例中,所述预设规则为吞吐量的测试规则;其中,所述吞吐量的测试规则中,所述发送测试端口第一次向所述转发设备的输入端口发送数据包时,按照最大速率进行发送。在与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果之后,包括:在所述发送数据包的数量大于所述转发数据包的数量时,将所述预设规则改为按照上一次发送速率的二分之一进行发送,重复执行所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包,所述转发设备的输出端口输出转发数据包,与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果的步骤;在所述发送数据包的数量等于所述转发数据包的数量时,将所述预设规则改为按照对上一次发送速率增加二分之一进行发送,重复执行所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包,所述转发设备的输出端口输出转发数据包,与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果的步骤;直到相邻两次发送速率之差小于预设精度,则将当前所述数据包的发送速率确定为吞吐量。
其中,最大速率为测试设备输出发送数据包的最大速率,例如,测试设备的最大发送速率为10Mpps,pps是Precision Positioning System的简称,是常用的网络吞吐量的单位,即每秒发送多少个分组数据包,网络的性能通常用吞吐量(throughput)这个指标来衡量。将所述预设规则改为按照上一次发送速率的二分之一进行发送,即所述预设规则为控制所述发送测试端口向转发设备的输入端口按照上一次发送速率的一半的速率发送数据包,例如上一次发送速率为10Mpps,则将所述预设规则改为按照5Mpps的速率发送数据包。将所述预设规则改为按照对上一次发送速率增加二分之一进行发送,即所述预设规则为控制所述发送测试端口向转发设备的输入端口按照上一次发送速率增加一半的速率发送数据包,例如,上一次发送速率为5Mpps,则将预设规则改为按照7.5Mpps的速率发送数据包。
其中,所述根据所述发送数据包和转发数据进行统计,为统计所述发送数据包和转发数据的数目是否相等,测试结果可为所述发送数据包和转发数据的数目相等,或者所述发送数据包和转发数据的数目不相等。
本实施例中,采用二分法多次进行测试,对数据包发送速率不断调整,从两端不断逼近吞吐量。
具体的,在测试吞吐量时,程序要使用二分法进行多次测试,转发设备的发送测试端口按照最大速率输出发送数据包,发送数据包和接收数据包数量一样,那么测试失败,如果发送数据包数量大于接收数据包数量,那么取最大速率的一半进行测试,比如说转发设备的吞吐量为6Mpps,测试设备支持的最大发送速率为10Mpps,先使用10Mpps的发送速率进行测试,在转发数据包的数量小于发送数据包数量时,取5Mpps进行测试,发送数据包和接收数据包数量一样,说明当前发送速率小于吞吐量,那么取7.5Mpps的速率进行测试,像这样一直逼近吞吐率,直到发送速率达到一定的精度。
在测试过程中,根据读取的预设精度、包大小、IP地址、MAC地址,多次调用MoonGen,并传入不同的参数进行迭代。程序通过一定的接口传递参数调用MoonGen,每次通过一个发送测试端口输出发送数据包,同时,接收测试端口对数据包进行监听、分类以及记录,对数据包分类的目的是排除ARP的请求包以及其他影响测试结果的数据包,记录转发数据包是为了统计转发数据包的数量,以判断当前速率是否能达到转发设备的吞吐量,是否在转发过程中有数据包的丢失,为了符合在数据包传输过程中的ARP协议,需要使用网卡的默认队列处理收到的数据包,另外再使用一个网卡队列用于响应ARP请求,在测试完成后,返回测试结果。当结果符合预设精度要求之后,便停止测试,将测试结果输出到文件中,符合结果的要求是相邻两次测试的发送速率之差小于所要求的预设精度,比如预设精度要求为0.1Mpps,则如果相邻两次的测试分别为4.5Mpps和4.55Mpps,则符合预设精度要求。
本实施例,通过二分法来实现对吞吐量的测试,能够保证测试结果符合进度要求,并且能够提高吞吐量的计算速率。
在其中一个实施例中,所述预设规则为时延的测试规则;其中,所述时延的测试规则中,所述发送测试端口向所述转发设备的输入端口发送数据包时,按照吞吐量对应的速率进行发送;所述与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果,包括:与所述输出端口连接的所述接收测试端口,接收所述转发数据包;计算接收所述转发数据包的时间与发送数据包的时间之差,得到时延。
其中,在对转发设备在时延测试中,根据PTP协议,对发送数据包进行绑定时间戳(timestamp)的操作,在接收时,也通过PTP协议对转发数据包进行时间戳绑定,最后将收发的时间戳相减即可得到时延结果。时延测试要在吞吐量的前提下进行,首先,让测试机器以吞吐量测得的速率输出发送数据包,持续60秒时间,然后,继续以吞吐量速率输出发送数据包的同时,由测试终端随机地发送符合PTP协议的发送数据包,发送数据包的内容中有该数据包发送的时间,当测试终端的接收端口接收到转发数据包时,会记录接收的时间,这时将两个时间相减,即可得到时延结果;其中,在每一次测试中,都要得到30个时延结果,并计算平均值、最大值和最小值。
本实施例中,通过对发送数据包和转发数据包设置时间戳来计算时延,能够提高时延的计算效率。
在其中一个实施例中,所述预设规则为背靠背的测试规则:其中,所述背靠背的测试规则中,所述发送测试端口向转发设备的输入端口,以最快发包速率发送数据包,每个所述数据包设置编号。在与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果之后,包括:重复执行所述发送测试端口向转发设备的输入端口,以最快发包速率发送数据包,与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果的步骤,直到所述测试结果包括第一个丢失数据包的编号,获取所述编号之前的所有数据包的数目,确定为背靠背值。
其中,测试终端可以向转发设备以最快发送速率,多次输出发送数据包,在转发设备出现丢包时,所述转发设备达到最大缓存能力,最大缓存能力与背靠背值对应。其中,在输出发送数据包之前,对每个发送数据包都进行顺序编号,例如编号为1、2、3……;相应的,转发数据包是通过转发设备转发输出的数据包,如果不存在丢包,则转发数据包编号与发送数据包的编号一一对应。所述测试结果包括第一个丢失数据包的编号,每个发送数据包和接收数据包都具有编号,获取该丢失数据包的编号的过程为,通过对发送数据包的编号和转发数据包的编号进行一一比对,如果第一次存在发送数据包的编号未与转发数据包的编号对应,则确定所述编号为第一个丢失数据包的编号。
具体的,先以较低发送速率(每0.1秒输出一个发送数据包)由发送测试端口输出发送数据包,接收测试端口发送arp请求包,确认转发设备的arp表中已经存在转发所需的表项;其中,转发所需的表项是在转发设备中IP地址与MAC地址对应的表项,转发所需的表项是由ARP请求包和ARP回应包建立起来的,具体过程为,发送测试端口发送到转发设备的输入端口的发送数据包,转发设备会发送ARP请求包来查找接收测试端口的MAC地址,此时测试终端的接收测试端口发送ARP回应包,即可在转发设备中建立转发所需的表项;在建立转发所需的表项后,发送测试端口以最快发送速率(以太网规定的最小帧间隔,不同类型网卡不一样,千兆网卡为0.96微秒)输出发送数据包,并对每个发送数据包打上编号,2秒之后停止输出,在接收测试端口确认第一个丢失数据包的编号,即可得出背靠背的结果。
在其中一个实施例中,所述预设规则为丢帧率的测试规则:其中,所述丢帧率的测试规则中,所述发送测试端口第一次向所述转发设备的输入端口输出发送数据包时,按照最大速率进行输出。在与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果之后,包括:将所述预设规则改为按照将上一次发送速率减少预设值进行发送,重复执行所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包,所述转发设备的输出端口输出转发数据包,与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果的步骤,直到所述发送速率小于或等于零跳出重复执行的步骤;其中,每一次计算所述测试结果均被存储。
其中,预设值可根据需要设置,例如,预设值为0.5Mpps。测试结果为丢失的发送数据包占收到的转发数据包的百分比。
具体为,在测试丢帧率的过程中,测试方法与测试吞吐量的方法类似,每次步骤循环的过程中配置参数(IP地址,MAC地址以及分类)相同,记录的过程相同,但是与测试吞吐量不同的时测试过程不是通过二分法进行迭代,而是对发送速率进行粒度的区分,使MoonGen以相同间隔的发送速率运行,并将每一次测试结果存入到文件中。例如,设置的发送速率范围0-10Mpps,大小为64bytes的数据包的丢帧率,与吞吐量的测试相比,丢帧率的每次测试之间速率的间隔都是一样的,比如分别测试发送速率10Mpps、9.5Mpps、9.0Mpps、8.5Mpps的丢帧率,而不是采用上述的二分法进行测试。
在其中一个实施例中,还包括:将所述测试结果进行可视化呈现。
其中,将参数配置文件和分析生成的测试结果文件拷贝到电脑中,参数配置文件中包含测试数据对于丢帧率和吞吐量的测试,参数配置文件包含以太网帧的大小、速率、发送数据包数量、接收数据包数量、测试时间,测试结果文件包括丢帧率;对于时延的测试,参数配置文件包含发送数据包的大小,测试结果文件包括每一组数据的时延;对于背靠背的测试,参数配置文件包含发送数据包的大小和多次进行测试的数据,测试结果文件包括多次测量中第一个丢失数据包的编号。通过调用结果分析程序进行分析,生成报告图表。比如丢帧率的测试结果会生成为一个二维图表,其中横坐标为发包速率,纵坐标为丢帧率,图像中不同的曲线代表不同包大小在丢帧率测试中的结果,如图3所示,图中实线表示为128字节的数据包的发包速率与丢帧率的曲线,图中虚线表示为64字节的数据包的发包速率与丢帧率的曲线。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种转发设备数据测试装置,包括:驱动绑定模块210、数据包输出模块220、数据包转发模块230和统计模块240,其中:
驱动绑定模块210,用于驱动绑定模块,用于将发送测试端口和接收测试端口与内核驱动解绑,并将发送测试端口和接收测试端口与DPDK驱动绑定。
数据包输出模块220,用于所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包。
数据包转发模块230,用于所述转发设备的输出端口输出转发数据包。
统计模块240,用于与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果。
在其中一个实施例中,所述转发设备数据测试装置,还包括:文件获取模块,用于获取参数配置文件;参数配置模块,用于根据所述参数配置文件,对所述发送测试端口和接收测试端口进行参数配置。
在其中一个实施例中,所述预设规则为吞吐量的测试规则;其中,所述吞吐量的测试规则中,所述发送测试端口第一次向所述转发设备的输入端口发送数据包时,按照最大速率进行发送。所述转发设备数据测试装置,还包括:吞吐量确定模块,用于在所述发送数据包的数量大于所述转发数据包的数量时,将所述预设规则改为按照上一次发送速率的二分之一进行发送,重复执行所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包,所述转发设备的输出端口输出转发数据包,与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果的步骤;在所述发送数据包的数量等于所述转发数据包的数量时,将所述预设规则改为按照对上一次发送速率增加二分之一进行发送,重复执行所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包,所述转发设备的输出端口输出转发数据包,与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果的步骤;直到相邻两次发送速率之差小于预设精度,则将当前所述数据包的发送速率确定为吞吐量。
在其中一个实施例中,所述预设规则为时延的测试规则;其中,所述时延的测试规则中,所述发送测试端口向所述转发设备的输入端口发送数据包时,按照吞吐量对应的速率进行发送。所述统计模块包括:转发数据包接收单元,用于与所述输出端口连接的所述接收测试端口,接收所述转发数据包;计算单元,用于计算接收所述转发数据包的时间与发送数据包的时间之差,得到时延。
在其中一个实施例中,所述预设规则为背靠背的测试规则:其中,所述背靠背的测试规则中,所述发送测试端口向转发设备的输入端口,以最快发包速率发送数据包,每个所述数据包设置编号。所述转发设备数据测试装置,还包括:背靠背值计算模块,用于重复执行所述发送测试端口向转发设备的输入端口,以最快发包速率发送数据包,与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果的步骤,直到所述测试结果包括第一个丢失数据包的编号,获取所述编号之前的所有数据包的数目,确定为背靠背值。
在其中一个实施例中,所述预设规则为丢帧率的测试规则:其中,所述丢帧率的测试规则中,所述发送测试端口第一次向所述转发设备的输入端口输出发送数据包时,按照最大速率进行输出。所述转发设备数据测试装置,还包括:丢帧率计算模块,用于将所述预设规则改为按照将上一次发送速率减少预设值进行发送,重复执行所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包,所述转发设备的输出端口输出转发数据包,与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果的步骤,直到所述发送速率小于或等于零跳出重复执行的步骤;其中,每一次计算所述测试结果均被存储。
在其中一个实施例中,所述转发设备数据测试装置,还包括:可视化模块,用于将所述测试结果进行可视化呈现。
关于转发设备数据测试装置的具体限定可以参见上文中对于转发设备数据测试方法的限定,在此不再赘述。上述转发设备数据测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种转发设备数据测试方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种转发设备数据测试方法,其特征在于,所述方法包括:
将发送测试端口和接收测试端口与内核驱动解绑,并将发送测试端口和接收测试端口与DPDK驱动绑定;
所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包;
所述转发设备的输出端口输出转发数据包;
与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取参数配置文件;
根据所述参数配置文件,对所述发送测试端口和接收测试端口进行参数配置。
3.根据权利要求1所述的方法,其特征在于,所述预设规则为吞吐量的测试规则;其中,所述吞吐量的测试规则中,所述发送测试端口第一次向所述转发设备的输入端口发送数据包时,按照最大速率进行发送;
在与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果之后,包括:
在所述发送数据包的数量大于所述转发数据包的数量时,将所述预设规则改为按照上一次发送速率的二分之一进行发送,重复执行所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包,所述转发设备的输出端口输出转发数据包,与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果的步骤;
在所述发送数据包的数量等于所述转发数据包的数量时,将所述预设规则改为按照对上一次发送速率增加二分之一进行发送,重复执行所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包,所述转发设备的输出端口输出转发数据包,与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果的步骤;
直到相邻两次发送速率之差小于预设精度,则将当前所述数据包的发送速率确定为吞吐量。
4.根据权利要求1所述的方法,其特征在于,所述预设规则为时延的测试规则;其中,所述时延的测试规则中,所述发送测试端口向所述转发设备的输入端口发送数据包时,按照吞吐量对应的速率进行发送;
所述与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果,包括:
与所述输出端口连接的所述接收测试端口,接收所述转发数据包;
计算接收所述转发数据包的时间与发送数据包的时间之差,得到时延。
5.根据权利要求1所述的方法,其特征在于,所述预设规则为背靠背的测试规则:其中,所述背靠背的测试规则中,所述发送测试端口向转发设备的输入端口,以最快发包速率发送数据包,每个所述数据包设置编号;
在与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果之后,包括:
重复执行所述发送测试端口向转发设备的输入端口,以最快发包速率发送数据包,与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果的步骤,直到所述测试结果包括第一个丢失数据包的编号,获取所述编号之前的所有数据包的数目,确定为背靠背值。
6.根据权利要求1所述的方法,其特征在于,所述预设规则为丢帧率的测试规则:其中,所述丢帧率的测试规则中,所述发送测试端口第一次向所述转发设备的输入端口输出发送数据包时,按照最大速率进行输出;
在与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果之后,包括:
将所述预设规则改为按照将上一次发送速率减少预设值进行发送,重复执行所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包,所述转发设备的输出端口输出转发数据包,与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果的步骤,直到所述发送速率小于或等于零跳出重复执行的步骤;其中,每一次计算所述测试结果均被存储。
7.根据权利要求1所述的方法,其特征在于,还包括:将所述测试结果进行可视化呈现。
8.一种转发设备数据测试装置,其特征在于,包括:
驱动绑定模块,用于将发送测试端口和接收测试端口与内核驱动解绑,并将发送测试端口和接收测试端口与DPDK驱动绑定;
数据包输出模块,用于所述发送测试端口向转发设备的输入端口,按照预设规则输出发送数据包;
数据包转发模块,用于所述转发设备的输出端口输出转发数据包;
统计模块,用于与所述输出端口连接的所述接收测试端口,接收所述转发数据包,并根据所述发送数据包和转发数据进行统计,获得测试结果。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011200167.4A CN112019407A (zh) | 2020-11-02 | 2020-11-02 | 转发设备数据测试方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011200167.4A CN112019407A (zh) | 2020-11-02 | 2020-11-02 | 转发设备数据测试方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112019407A true CN112019407A (zh) | 2020-12-01 |
Family
ID=73527816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011200167.4A Pending CN112019407A (zh) | 2020-11-02 | 2020-11-02 | 转发设备数据测试方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112019407A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095398A (zh) * | 2021-10-22 | 2022-02-25 | 深信服科技股份有限公司 | 探测时延的确定方法、装置、电子设备及存储介质 |
CN114363217A (zh) * | 2021-12-23 | 2022-04-15 | 北京六方云信息技术有限公司 | Rfc2544吞吐性能测试方法、系统、设备及介质 |
CN114697233A (zh) * | 2020-12-29 | 2022-07-01 | 慧盾信息安全科技(北京)有限公司 | 一种单设备以太网端口环回模式连线进行网口测试的软件及方法 |
-
2020
- 2020-11-02 CN CN202011200167.4A patent/CN112019407A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114697233A (zh) * | 2020-12-29 | 2022-07-01 | 慧盾信息安全科技(北京)有限公司 | 一种单设备以太网端口环回模式连线进行网口测试的软件及方法 |
CN114095398A (zh) * | 2021-10-22 | 2022-02-25 | 深信服科技股份有限公司 | 探测时延的确定方法、装置、电子设备及存储介质 |
CN114363217A (zh) * | 2021-12-23 | 2022-04-15 | 北京六方云信息技术有限公司 | Rfc2544吞吐性能测试方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112019407A (zh) | 转发设备数据测试方法、装置、计算机设备和存储介质 | |
Kakhki et al. | Taking a long look at QUIC: an approach for rigorous evaluation of rapidly evolving transport protocols | |
CN113411313B (zh) | 数据传输方法、装置和系统 | |
US11190532B2 (en) | Dynamic configuration of settings in response to DDoS attack | |
US20150003249A1 (en) | Cognitive Data Delivery Optimizing System | |
US11095674B2 (en) | DDoS attack detection method and device | |
CN113489625B (zh) | 网卡测试方法、装置、电子设备及计算机可读存储介质 | |
US9935853B2 (en) | Application centric network experience monitoring | |
WO2020135429A1 (zh) | 流量的分析、检测方法及装置 | |
WO2013185489A1 (zh) | 分析信令流量的方法及装置 | |
CN114553762B (zh) | 一种对流表中的流表项处理的方法及装置 | |
CN110248379B (zh) | 无线局域网中基站的性能测试方法及装置 | |
CN111698275A (zh) | 数据处理方法、装置及设备 | |
CN110691139A (zh) | 一种数据传输方法、装置、设备及存储介质 | |
Agarwal et al. | Mind the delay: the adverse effects of delay-based TCP on HTTP | |
Kyratzis et al. | Quic vs tcp: A performance evaluation over lte with ns-3 | |
JP2020088517A (ja) | 通信装置、通信装置の制御方法およびプログラム | |
US11194839B2 (en) | System and method for aggregating subscriber perspective data | |
CN106231613B (zh) | 一种分发策略生成方法、装置及网络优化系统 | |
CN110908798B (zh) | 多进程协同式网络流量解析方法及装置 | |
US20170222904A1 (en) | Distributed Business Transaction Specific Network Data Capture | |
KR102082484B1 (ko) | 데이터 송수신 장치 | |
CN112637055A (zh) | 基于vpn隧道的多链路聚合方法、系统及存储介质 | |
US20190075028A1 (en) | Asynchronous analysis of a data stream | |
Aikat et al. | Towards traffic benchmarks for empirical networking research: The role of connection structure in traffic workload modeling |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201201 |
|
RJ01 | Rejection of invention patent application after publication |