CN104253723A - 基于软硬件协同实现的交换机验证测试的方法及装置 - Google Patents
基于软硬件协同实现的交换机验证测试的方法及装置 Download PDFInfo
- Publication number
- CN104253723A CN104253723A CN201410513629.6A CN201410513629A CN104253723A CN 104253723 A CN104253723 A CN 104253723A CN 201410513629 A CN201410513629 A CN 201410513629A CN 104253723 A CN104253723 A CN 104253723A
- Authority
- CN
- China
- Prior art keywords
- packet
- module
- switch
- software
- configuration information
- 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.)
- Granted
Links
Abstract
该发明公开了一种基于软硬件协同实现的交换机验证测试的方法及装置,属于通信网络领域。该发明将软件配置的灵活性和硬件设计的高速特性结合,首先由软件产生不同流量模型下的数据包大小、目的端口地址和数据包发送时间间隔配置信息;由硬件根据软件产生的配置信息生成交换机测试所需的数据流;通过硬件对发送到交换机和从交换机接收到的数据包进行包数和数据量统计,以及对接收到的数据包进行正确性检测、时间延迟统计;由软件通过硬件上传的各检测统计结果,完成被测交换机的功能验证、吞吐量和时延性能的测试。该交换机验证测试方法及装置,与现有的验证测试方案相比,具有成本低廉、实现简单、配置灵活、功能验证充分、测试结果准确的优点。
Description
技术领域
本发明属于通信网络领域,尤其涉及一种软硬件协同实现的交换机验证测试的方法及装置。
背景技术
当下互联网已成为生活中重要的交互媒介,高宽带、高可靠性、经济易用的智能化交换网络成为了必然的趋势。交换机作为现代大型网络系统的基础,在信息交换、高速数据传输领域起到非常重要的作用,交换机的性能决定着网络的性能和稳定性,有必要不断提高交换机的性能。吞吐量和时间延迟是交换机的最重要的两个性能指标。所谓吞吐量(Throughput)是指单位时间内,被测交换机在不丢失包的情况下,所能转发的最大数据量。通常使用每秒钟通过交换机的最大数据包数或者总字节数(MB/s)来衡量。所谓时间延迟(Delay)是指从数据包的第一个字节进入交换机到该数据包的第一个字节转发到输出端所需的时间,反映交换机处理数据包的速度。
在交换机研发过程中,大量的人力物力以及时间会消耗在交换机功能验证和性能测试上。所以如何充分、高效的完成高速交换机的功能验证和性能测试也成为了交换机研究一个重要方向。
当前交换机网络流量速率已达Gbps数量级,对交换机进行验证测试时也应确保测试数据流的线速率达到相同数量级,且在高速数据传输下完成功能验证、吞吐量和时间延迟等关键性能指标测试。而且交换机实际网络环境中的流量情况复杂,在验证过程中为了更接近交换机的真实网络环境情况,需要采用相应的流量模型模拟真实网络数据流,从而实现交换机的充分验证测试。这些问题使得验证测试方案必须同时具备高速高实时和高灵活的特性。
交换机的验证测试方案主要包括交换机功能验证与性能测试。现行的交换机芯片功能验证的方案主要是基于高级语言软件仿真平台、基于RTL仿真平台、基于FPGA硬件仿真平台。其中,软件仿真平台为行为级仿真,精度依赖于仿真组件,和真实情况很难吻合,与RTL级仿真平台、硬件仿真平台相比,验证结果不准确;该平台仅能做粗略功能仿真,无法用于交换机的真实性能测试。专利“基于逻辑芯片的交换机芯片验证方法和装置”,该方案包括测试用例、逻辑芯片、配置转换模块、模型驱动层和仿真平台,但层次繁多,结构复杂,不利于实现;该平台的前几层主要做配置,进行验证的关键模块是验证平台,没有具体描述,缺乏可实现性;只针对功能验证,未提及性能测试。
现行的交换机性能测试的方案主要是基于专业测试设备或利用其他交换机进行测试。其中,专业测试设备十分昂贵,价格在几万到几十万美元,测试成本高。专利“内嵌于以太网交换芯片中的吞吐量性能测试处理引擎及其实现方法”,该方案占用以太网交换芯片硬件资源,增加了芯片成本;其测试处理引擎内嵌于芯片中,灵活性差,仅适用于以太网;使用交换机生成数据包,无法实现各种流量模型,生成的测试数据流较单一,无法模拟各种可能的真实网络环境;仅提到吞吐量性能测试,无法测试时间延迟等其他关键性能指标。
综上所述,基于软件的功能验证平台,无法准确模拟网络环境,验证结果准确性不高,而且不能进行性能测试。对交换机进行性能测试的专业测试设备价格十分昂贵,而且缺乏足够的灵活性。
发明内容
本发明针对背景技术的不足,所要解决的技术问题是提供一种不需要专业测试设备,通过基于软硬件协同实现的验证测试方法及装置,对交换机进行功能验证和性能测试,达到成本低廉、实现简单、配置灵活、功能验证充分、测试结果准确的目的。
本发明的技术方案是一种基于软硬件协同实现的交换机验证测试的方法及装置,是将软件配置的灵活性和硬件设计的高速特性加以结合,对于速度要求不高但灵活性强的部分通过软件设计来完成,对于速度要求高的部分通过硬件设计来完成,采用硬件部分和软件部分协同工作的方式对交换机进行验证测试。
一种基于软硬件协同实现的交换机验证测试的方法,该方法包括:
步骤1、通过软件部分产生数据包大小配置信息和数据包目的端口地址配置信息;
步骤2、通过软件部分完成不同流量模型下的随机序列的生成,产生数据包发送时间间隔配置信息;
步骤3、软硬件协同完成数据包发送时间间隔的配置;
步骤4、硬件部分根据软件产生的数据包大小、数据包目的端口地址和数据包发送时间间隔配置信息,生成测试数据包并发送到被测交换机;
步骤5、通过硬件部分对发送到交换机的数据包和从交换机接收到的数据包进行总字节数和包数统计;
步骤6、通过硬件部分对从交换机接收的数据包进行数据包错误检测、数据包时间延迟统计;
步骤7、软硬件协同完成数据包检测统计结果的上传;
步骤8、通过软件部分对硬件部分上传的检测统计结果进行计算,完成交换机吞吐量和时间延迟性能测试、数据包错误率的统计。
所述步骤1中数据包大小配置信息服从的分布模型主要包括:常数分布、均匀分布,根据实际情况选择数据包大小配置信息所要服从的分布模型;数据包目的端口地址配置信息服从的分布模型主要包括:均匀分布、非均匀分布,根据实际情况选择数据包目的端口地址配置信息所要服从的分布模型。
所述步骤2中数据包发送时间间隔配置信息服从的分布模型主要包括:恒定流量、泊松(Poisson)流量和马尔科夫调制的泊松过程(MMPP,Markov Modulated Poisson Process)流量,根据实际情况选择数据包发送时间间隔配置信息所要服从的分布模型。
作为本发明的进一步改进,所述步骤4具体包括以下步骤:
步骤4-1,根据软件部分写入的数据包大小配置信息和数据包目的端口地址配置信息,产生相应的数据包大小和数据包目的端口地址;
步骤4-2,根据数据包大小和数据包目的端口地址生成数据包;
步骤4-3,根据软件部分写入的数据包发送时间间隔配置信息,在数据包中添加时间戳以表示发送时间,并完成数据包的发送。
相应地,一种软硬件协同实现的交换机验证测试装置包括:软件部分的微处理模块;硬件部分的数据包生成模块、网络接口模块、数据量和数据包统计模块、数据包检错模块、数据包时间延迟统计模块;
其中微处理器模块,用以产生配置信息,对数据包生成模块进行配置;对数据量和数据包统计模块上传的信息进行统计;对数据包检错模块上传的错误数据包数量进行统计;对数据包时间延迟统计模块上传的数据包时间延迟结果进行统计;完成交换机吞吐量和时间延迟性能测试、交换机数据包错误率的统计;
数据包生成模块,用以根据微处理器模块产生的配置信息完成数据包的生成,并发送到网络接口模块;
网络接口模块,用以将测试数据包发送到被测交换机,以及接收来自被测交换机的数据包;
数据量和数据包统计模块,用以根据发送到交换机的数据包和从交换机接收的数据包,对发送和接收的总字节数和数据包数进行统计;
数据包检错模块,用以对从网络接口模块接收到的数据包进行正确性检测;
数据包时间延迟统计模块,用以根据接收到的时间戳信息,对数据包时间延迟进行统计。
作为本发明的进一步改进,所述数据包生成模块具体包括:用户配置控制器、数据包封装器、数据包发送时序产生器、数据包发送控制器;
其中用户配置控制器,用于接收微处理器模块发送的数据包目的端口配置信息、数据包大小配置信息和数据包发送时间间隔配置信息,并将各配置信息暂存;
数据包封装器,读取用户配置控制器的数据包目的端口配置信息、数据包大小长度配置信息,生成符合要求的测试数据包;
数据包发送时序产生器,用于读取用户配置控制器的数据包发送时间间隔配置信息和数据包大小控制信息,对数据包发送时间间隔进行修正;
数据包发送控制器,用于读取数据包封装器的数据包和数据包发送时序产生器的数据包发送时间间隔配置信息,控制测试数据包发送到网络接口模块;
作为本发明的进一步改进,所述数据量和数据包统计模块具体包括:输入端数据包数统计模块、输出端数据包数统计模块、控制模块、寄存器;
其中输入端数据包数统计模块,根据发送到交换机的数据包,进行交换机输入数据量统计,即输入的总字节数和数据包数;
输出端数据包数统计模块,用于根据从交换机接收的数据包,进行交换机输出数据量统计,即输出的总字节数和数据包数;
控制模块,用于控制将输入端数据包数统计模块的输入数据量结果和输出端数据包数统计模块的输出数据量结果写入寄存器中;
寄存器,用于存储输入和输出数据量结果,由微处理器模块读取。
作为本发明的进一步改进,所述数据包检错模块具体包括:数据包信息处理模块、数据包数据处理模块、寄存器;
数据包信息处理模块,用于根据接收的数据包,提取数据包中的数据包大小信息、源地址端口和目的地址端口信息;
其中数据包数据处理模块,用于按照预先设定的规则进行数据包错误检测,包括CRC校验数据净荷部分是否正确、是否正确转发到输出端口等,将错误检测结果写入寄存器中,并将数据包的时间戳信息发送到数据包时间延迟统计模块;
寄存器,用于存储数据包错误检测结果,由微处理器模块读取。
作为本发明的进一步改进,所述数据包时间延迟统计模块具体包括:数据包延时统计模块、寄存器;
其中数据包延时统计模块,用于接收数据包检错模块的时间戳信息,将时间戳信息与当前测试时刻做比较,得到数据包时间延迟,将时间延迟结果写入数据包时间延迟统计模块相关寄存器中
寄存器,用于存储数据包时间延迟结果,由微处理器模块读取。
本发明的有益效果是:本发明在设计时充分利用软件的灵活性,由软件来配置测试数据流的流量模型;利用硬件的高速特性,由硬件完成测试数据包生成、数据量统计、时间延迟统计和数据包错误检测。通过软硬件协同的方式完成对被测交换机交换功能的验证,以及吞吐量、数据包时间延迟等关键性能指标的测试。从而本发明具有成本低廉、实现简单、配置灵活、功能验证充分、测试结果准确的优点。
附图说明
图1示出了本发明的交换机验证测试环境;
图2为两态马尔科夫调制的泊松过程(MMPP-2)模型状态转移图;
图3为本发明软硬件协同实现的交换机验证测试方法的流程图;
图4为本发明软硬件协同实现的交换机验证测试装置的模块组成图;
图5为图4中数据包生成模块结构示意图;
图6为图4中数据量和数据包数统计模块结构示意图;
图7为图4中数据包检错模块结构示意图;
图8为图4中数据包时间延迟统计模块结构示意图;
图9为图3中所述步骤3软硬件协同完成数据包发送时间间隔配置的具体处理流程图;
图10为图3中所述步骤7软硬件协同完成数据量和数据包数统计结果上传的具体处理流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明一实施方式中的交换机验证性能测试环境如图1所示,不需要专业测试设备,通过软硬件协同实现的交换机验证测试装置对交换机进行功能验证、吞吐量和时间延迟性能的测试。
具体地,在本发明一实施方式中,将软件配置的灵活性和硬件设计的高速特性加以结合,对于速度要求不高但灵活性强的部分通过软件设计来完成,对于速度要求高的部分通过硬件设计来完成,采用硬件部分和软件部分协同工作的方式对交换机进行验证测试。
所述软件部分的主要工作包括:
完成对数据包大小信息的配置、数据包目的端口地址信息的配置;
根据不同的流量模型,完成数据包发送时间间隔信息的配置;
完成与硬件部分之间的协同操作,实现对硬件部分上传的数据量信息统计,完成交换机吞吐量性能测试;实现对硬件部分上传的错误数据包数量统计,完成交换机数据包错误率的统计;实现对硬件部分上传的数据包时间延迟结果的统计,完成交换机时间延迟性能测试。
所述硬件部分的主要工作包括:
根据软件部分的配置信息生成数据包,并发送到被测交换机;
根据发送到交换机的数据包数和字节数,进行交换机输入数据量的统计;
根据从交换机接收的数据包数和字节数,进行交换机输出数据量的统计;
根据接收的数据包,完成数据包的错误检测;
根据接收的数据包,完成数据包时间延迟统计;
吞吐量和时间延迟是交换机需要测试的最重要的两个性能指标。所谓吞吐量(Throughput)是指单位时间内,被测交换机在不丢失包的情况下,所能转发的最大数据量。通常使用每秒钟通过交换机的最大数据包数或者总字节数(MB/s)来衡量。所谓时间延迟(Delay)是指从数据包的第一个字节进入交换机到该数据包的第一个字节转发到输出端所需的时间,反映交换机处理数据包的速度。在交换机验证测试的过程中,需注意以下几点:
(1)定义测试数据包协议类型:TCP/IP或其他类型。
(2)设置测试数据包发送速率:为模拟真实网络环境下的交换机吞吐量和时间延迟性能测试,需支持不同的流量模型。采用服从不同分布模型的数据包发送时间间隔来模拟真实的网络流量速率,主要包括:恒定流量、泊松(Poisson)流量和马尔科夫调制的泊松过程(MMPP,Markov Modulated Poisson Process)流量等。
所述的数据包发送时间间隔服从恒定流量模型,其目的在于模拟最简单的真实网络流量,以对交换机进行初步验证测试。
所述的数据包发送时间间隔服从泊松(Poisson)流量模型,其目的在于模拟真实的平滑网络流量,以验证测试交换机在网络状况较好情况下的性能。泊松(Poisson)流量模型中,假设泊松过程到达的产生速率为λ,则数据包发送时间间隔服从均值1/λ的指数分布。
所述的数据包发送时间间隔服从马尔科夫调制的泊松过程(MMPP)模型,其目的在于模拟真实网络流量的突发性,以验证测试交换机在网络状况较坏情况下的性能。MMPP模型中,两态马尔科夫调制的泊松过程(MMPP-2)模型已经广泛用于分组交换网的建模,其模型状态转移图如图2所示,包括ON和OFF两个状态。其中,p表示ON状态转移到OFF状态的概率,q表示OFF状态转移到ON状态的概率;λ1表示ON状态时泊松过程到达的产生速率,λ2表示OFF状态时泊松过程到达的产生速率。
(4)设置测试数据包的地址字段:数据包目的地址服从不同的分布模型。数据包目的端口地址服从的分布主要包括:均匀分布、非均匀分布。
(5)设置测试数据包大小:数据包大小服从不同的分布,主要包括:常数分布、均匀分布。
(6)交换机吞吐量为流量源按最高数据速率发送时的输出带宽利用率。在保证足够长的测试时间的情况下,针对特定测试流(不同数据包大小及数据包发送时间间隔),计算最大流量负载(100%)情况下的输出带宽利用率即为吞吐量,需要多次测试取平均值得到精确结果。
(7)测试数据包时间延迟时,在保证足够长的测试时间的情况下,通过调节输入流量负载(从0%到100%),即数据包的大小及发送时间间隔,分别计算每一数据包所经历的时间延迟大小,测试每种负载情况下的性能指标—平均时间延迟、最大时间延迟、最小时间延迟。对于时间延迟测试应该重复多次然后取其平均值。
本发明一实施方式软硬件协同实现的交换机验证测试方法的流程图如图3所示,包括以下步骤:
步骤1,通过软件部分产生数据包大小配置信息和数据包目的端口地址配置信息;
步骤2,通过软件部分完成不同流量模型下的随机序列的生成,产生数据包发送时间间隔配置信息。
步骤3,软硬件协同完成数据包发送时间间隔配置;
步骤4,硬件部分根据软件产生的数据包大小、数据包目的端口地址和数据包发送时间间隔配置信息,生成测试数据包并发送到被测交换机;
步骤5,通过硬件部分对发送到交换机的数据包和从交换机接收到的数据包进行总字节数和包数统计;
步骤6,通过硬件部分对从交换机接收到的数据包进行数据包错误检测、数据包时间延迟统计;
步骤7,软硬件协同完成数据包检测统计结果的上传;
步骤8,通过软件部分对硬件部分上传的检测统计结果进行计算,完成交换机吞吐量和时间延迟性能测试、数据包错误率的统计。
所述步骤4具体包括以下步骤:
步骤4-1,根据软件部分写入的数据包大小配置信息和数据包目的端口地址配置信息,产生相应的数据包大小和数据包目的端口地址;
步骤4-2,根据数据包大小和数据包目的端口地址生成数据包;
步骤4-3,根据软件部分写入的数据包发送时间间隔配置信息,在数据包中添加时间戳信息以表示发送时间,并完成数据包的发送。
本发明一实施方式中软硬件协同实现的交换机验证测试装置的模块组成图如图4所示,包括:微处理器模块1,对应软件部分;数据包生成模块2、网络接口模块3、数据量和数据包数统计模块4、数据包检错模块5和数据包时间延迟统计模块6,对应硬件部分。
微处理器模块1,用以产生配置信息,对数据包生成模块2进行配置;对数据量和数据包数统计模块4上传的数据量信息进行统计;对数据包检错模块5上传的错误数据包数量进行统计;对数据包时间延迟统计模块6上传的数据包时间延迟结果进行统计;完成交换机吞吐量和时间延迟性能测试、交换机数据包错误率的统计;
数据包生成模块2,用以根据微处理器模块1产生的配置信息完成数据包的生成,并发送到网络接口模块3;
网络接口模块3,用以接收数据包生成模块2的测试数据包,并将并行数据转换为串行数据流发送到被测交换机;以及接收来自被测交换机的数据包;
数据量和数据包数统计模块4,用以根据发送到交换机的数据包和从交换机接收的数据包,对发送和接收的总字节数和数据包数进行统计;
数据包检错模块5,用以对从网络接口模块3接收到的数据包进行正确性检测;
数据包时间延迟统计模块6,用以根据接收到的时间戳信息,对数据包时间延迟进行统计。
所述数据包生成模块2结构示意图如图5所示,具体包括:
用户配置控制器21,接收微处理器模块1发送的数据包目的端口配置信息、数据包大小配置信息和数据包发送时间间隔配置信息,并将各配置信息暂存;
数据包封装器22,读取用户配置控制器21的数据包目的端口配置信息、数据包大小配置信息,生成符合要求的测试数据包;
数据包发送时序产生器23,读取用户配置控制器21的数据包发送时间间隔配置信息和数据包大小控制信息,对数据包发送时间间隔进行修正;
数据包发送控制器24,读取数据包封装器22的数据包和数据包发送时序产生器23的数据包发送时间间隔配置信息,控制测试数据包发送到网络接口模块3。
所述数据量和数据包数统计模块结构示意图如图6所示,具体包括:
输入端数据包数统计模块41,根据发送到交换机的数据包,进行交换机输入数据量,即输入的总字节数和数据包数;
输出端数据包数统计模块42,根据从交换机接收的数据包,进行交换机输出数据量统计,即输出的总字节数和数据包数;
控制模块43,控制将输入端数据包数统计模块41的输入数据量结果和输出端数据包数统计模块42的输出数据量结果写入数据量和数据包数统计模块寄存器44中;
寄存器44,用于存储输入和输出数据量结果,由微处理器模块1读取。
所述数据包检错模块结构示意图如图7所示,具体包括:
数据包信息处理模块51,根据接收的数据包,提取数据包中的数据包大小信息、源地址端口和目的地址端口信息;
数据包数据处理模块52,按照预先设定的规则进行数据包错误检测,包括CRC校验数据净荷部分是否正确、数据包是否正确转发到输出端口等,将错误检测结果写入寄存器53中,并将数据包的时间戳信息发送到数据包时间延迟统计模块6;
寄存器53,用于存储数据包错误检测结果,由微处理器模块1读取。
所述数据包时间延迟统计模块结构示意图如图8所示,具体包括:
数据包延时统计模块61,接收数据包检错模块5的时间戳信息,将时间戳信息与当前测试时刻做比较,得到数据包时间延迟,将时间延迟结果写入数据包时间延迟统计模块寄存器62中;
寄存器62,用于存储数据包时间延迟结果,由微处理器模块1读取。
图9所示为图3中所述步骤3软硬件协同完成数据包发送时间间隔配置的具体处理流程图。其中通过微处理器模块中软件执行的步骤为:
步骤3-1,初始化,微处理器模块状态寄存器的初始值设定为0;
步骤3-2,根据微处理器模块状态寄存器和数据包生成模块状态寄存器的信息,判断是否进行数据包发送时间间隔配置信息的写操作:若满足微处理器模块状态寄存器和数据包生成模块状态寄存器的值都为0时,则进入步骤3-3,否则继续等待进入步骤3-2;
步骤3-3,将微处理器模块生成的数据包发送时间间隔配置信息,写入数据包生成模块时间间隔寄存器中,并配置微处理器模块状态寄存器的值为1;
步骤3-4,根据微处理器模块状态寄存器和数据包生成模块状态寄存器的信息,判断是否重置微处理器模块状态寄存器:若满足微处理器模块状态寄存器和数据包生成模块状态寄存器的值都为1时,则进入步骤3-5,否则继续等待进入步骤3-4;
步骤3-5,将微处理器模块状态寄存器的值重置为0。
通过数据包生成模块中硬件电路执行的流程为:
步骤3-6,初始化,数据包生成模块状态寄存器的初始值设定为0;
步骤3-7,根据数据包生成模块状态寄存器和微处理器模块状态寄存器的信息,判断是否进行数据包发送时间间隔配置信息的读操作:若满足微处理器模块状态寄存器的值为1且数据包生成模块状态寄存器的值为0时,则进入步骤3-8,否则继续等待进入步骤3-7;
步骤3-8,读取数据包生成模块时间间隔寄存器的值,并配置数据包生成模块状态寄存器的值为1;
步骤3-9,根据微处理器模块状态寄存器和数据包生成模块状态寄存器的信息,判断是否重置数据包生成模块状态寄存器:若满足微处理器模块状态寄存器的值为0且数据包生成模块状态寄存器的值为1时,则进入步骤3-10,否则继续等待进入步骤3-9;
步骤3-10,将数据包生成模块状态寄存器的值重置为0。
图10为图3中所述步骤7中软硬件协同完成数据量和数据包统计结果上传的具体处理流程图。其中通过微处理器模块中软件执行的步骤为:
步骤7-1,初始化,微处理器模块状态寄存器的值的初始设定为0;
步骤7-2,根据微处理器模块状态寄存器、数据量和数据包数统计模块状态寄存器的信息,判断是否进行数据量和数据包数统计信息的读操作:当满足微处理器模块状态寄存器的值为0且数据量统计模块状态寄存器的值为1时,则进入步骤7-3,否则继续等待进入步骤7-2;
步骤7-3,读取数据量和数据包数统计模块寄存器44中的测试时间内发送和接收的总数据包数、总字节数,并配置微处理器模块状态寄存器的值为1;
步骤7-4,根据微处理器模块状态寄存器、数据量和数据包数统计模块状态寄存器的信息,判断是否重置微处理器模块状态寄存器:当满足微处理器模块状态寄存器的值为1且数据量统计模块状态寄存器的值为0的时,则进入步骤7-5,否则继续等待进入步骤7-4;
步骤7-5,将微处理器模块状态寄存器的值重置为0。
通过数据量和数据包数统计模块中硬件电路执行的流程为:
步骤7-6,初始化,数据量和数据包数统计模块状态寄存器值的初始设定为0;
步骤7-7,根据微处理器模块状态寄存器、数据量和数据包数统计模块状态寄存器的信息,判断是否进行数据量和数据包数统计信息的写操作:当满足微处理器模块状态寄存器和数据量统计模块状态寄存器的值都为0时,则进入步骤7-8,否则继续等待进入步骤7-7;
步骤7-8,将测试时间内发送和接收的总数据包数、总字节数分别写入相关寄存器中,并配置数据量统计模块状态寄存器的值为1;
步骤7-9,根据微处理器模块状态寄存器、数据量和数据包数统计模块状态寄存器的信息,判断是否重置数据量和数据包数统计模块状态寄存器:当满足微处理器模块状态寄存器和数据量和数据包数统计模块状态寄存器的值都为1时,则进入步骤7-10,否则继续等待进入步骤7-9;
步骤7-10,将数据量和数据包数统计模块状态寄存器的值重置为0。
相比与现有技术的缺点和不足,本发明有以下有益效果:
(1)现行的交换机芯片功能验证的方案主要是基于高级语言软件仿真平台、基于RTL仿真平台、基于FPGA硬件仿真平台。其中,软件仿真平台为行为级仿真,精度依赖于仿真组件,和真实情况很难吻合,与RTL级仿真平台、硬件仿真平台相比,验证结果不准确;该平台仅能做粗略功能仿真,无法用于交换机的真实性能测试。专利“基于逻辑芯片的交换机芯片验证方法和装置”,该方案包括测试用例、逻辑芯片、配置转换模块、模型驱动层和仿真平台,但层次繁多,结构复杂,不利于实现;该平台的前几层主要做配置,进行验证的关键模块是验证平台,没有具体描述,缺乏可实现性;只针对功能验证,未提及性能测试。相比现有的功能验证方案,本发明在设计时充分利用软件的灵活性,由软件来灵活配置测试数据流的流量模型(数据包发送时间间隔分布、数据包大小分布),能够产生不同的测试数据流来模拟真实网络环境,验证结果准确性高,而且能对被测交换机进行性能测试;
(2)现行的交换机性能测试的方案主要是基于专业测试设备或利用其他交换机进行测试。其中,专业测试设备十分昂贵,价格在几万到几十万美元,测试成本高。专利“内嵌于以太网交换芯片中的吞吐量性能测试处理引擎及其实现方法”,该方案占用以太网交换芯片硬件资源,增加了芯片成本;其测试处理引擎内嵌于芯片中,灵活性差,仅适用于以太网;使用交换机生成数据包,无法实现各种流量模型,生成的测试数据流较单一,无法模拟各种可能的真实网络环境;仅提到吞吐量性能测试,无法测试时间延迟等其他关键性能指标。相比现有的性能测试方案,本发明通过软硬件协同的方式,利用软件的灵活性和硬件的高速特性,能够对被测交换机进行交换功能验证,以及吞吐量、数据包时间延迟等关键性能指标的测试,测试成本低廉,而且能够对多种协议类型(如TCP/IP、FC等)的交换机进行验证测试。
综上所述,与现有技术相比,本发明的基于软硬件协同实现的交换机验证测试装置具有成本低廉、实现简单、配置灵活、功能验证充分、测试结果准确的优点。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于软硬件协同实现的交换机验证测试的方法,该方法包括:
步骤1、通过软件部分产生数据包大小配置信息和数据包目的端口地址配置信息;
步骤2、通过软件部分完成不同流量模型下的随机序列的生成,产生数据包发送时间间隔配置信息;
步骤3、软硬件协同完成数据包发送时间间隔的配置;
步骤4、硬件部分根据软件产生的数据包大小、数据包目的端口地址和数据包发送时间间隔配置信息,生成测试数据包并发送到被测交换机;
步骤5、通过硬件部分对发送到交换机的数据包和从交换机接收到的数据包进行总字节数和包数统计;
步骤6、通过硬件部分对从交换机接收的数据包进行数据包错误检测、数据包时间延迟统计;
步骤7、软硬件协同完成数据包检测统计结果的上传;
步骤8、通过软件部分对硬件部分上传的检测统计结果进行计算,完成交换机吞吐量和时间延迟性能测试、数据包错误率的统计。
2.如权利要求1所述的一种基于软硬件协同实现的交换机验证测试的方法,其特征在于所述步骤1中数据包大小配置信息服从的分布模型主要包括:常数分布、均匀分布,根据实际情况选择数据包大小配置信息所要服从的分布模型;数据包目的端口地址配置信息服从的分布模型主要包括:均匀分布、非均匀分布,根据实际情况选择数据包目的端口地址配置信息所要服从的分布模型。
3.如权利要求1所述的一种基于软硬件协同实现的交换机验证测试的方法,其特征在于所述步骤2中数据包发送时间间隔配置信息服从的分布模型主要包括:恒定流量、泊松流量和马尔科夫调制的泊松过程流量,根据实际情况选择数据包发送时间间隔配置信息所要服从的分布模型。
4.如权利要求1所述的一种基于软硬件协同实现的交换机验证测试的方法,其特征在于所述步骤4具体包括以下步骤:
步骤4-1,根据软件部分写入的数据包大小配置信息和数据包目的端口地址配置信息,产生相应的数据包大小和数据包目的端口地址;
步骤4-2,根据数据包大小和数据包目的端口地址生成数据包;
步骤4-3,根据软件部分写入的数据包发送时间间隔配置信息,在数据包中添加时间戳以表示发送时间,并完成数据包的发送。
5.一种软硬件协同实现的交换机验证测试装置,该装置包括:软件部分的微处理模块;硬件部分的数据包生成模块、网络接口模块、数据量和数据包统计模块、数据包检错模块、数据包时间延迟统计模块;
其中微处理器模块,用以产生配置信息,对数据包生成模块进行配置;对数据量和数据包统计模块上传的信息进行统计;对数据包检错模块上传的错误数据包数量进行统计;对数据包时间延迟统计模块上传的数据包时间延迟结果进行统计;完成交换机吞吐量和时间延迟性能测试、交换机数据包错误率的统计;
数据包生成模块,用以根据微处理器模块产生的配置信息完成数据包的生成,并发送到网络接口模块;
网络接口模块,用以将测试数据包发送到被测交换机,以及接收来自被测交换机的数据包;
数据量和数据包统计模块,用以根据发送到交换机的数据包和从交换机接收的数据包,对发送和接收的总字节数和数据包数进行统计;
数据包检错模块,用以对从网络接口模块接收到的数据包进行正确性检测;数据包时间延迟统计模块,用以根据接收到的时间戳信息,对数据包时间延迟进行统计。
6.如权利要求5所述的一种软硬件协同实现的交换机验证测试装置,其特征在于所述数据包生成模块具体包括:用户配置控制器、数据包封装器、数据包发送时序产生器、数据包发送控制器;
其中用户配置控制器,用于接收微处理器模块发送的数据包目的端口配置信息、数据包大小配置信息和数据包发送时间间隔配置信息,并将各配置信息暂存;
数据包封装器,读取用户配置控制器的数据包目的端口配置信息、数据包大小配置信息,生成符合要求的测试数据包;
数据包发送时序产生器,用于读取用户配置控制器的数据包发送时间间隔配置信息和数据包大小控制信息,对数据包发送时间间隔进行修正;
数据包发送控制器,用于读取数据包封装器的数据包和数据包发送时序产生器的数据包发送时间间隔配置信息,控制测试数据包发送到网络接口模块。
7.如权利要求5所述的一种软硬件协同实现的交换机验证测试装置,其特征在于所述数据量和数据包统计模块具体包括:输入端数据包数统计模块、输出端数据包数统计模块、控制模块、寄存器;
其中输入端数据包数统计模块,根据发送到交换机的数据包,进行交换机输入数据量统计,即输入的总字节数和数据包数;
输出端数据包数统计模块,用于根据从交换机接收的数据包,进行交换机输出数据量统计,即输出的总字节数和数据包数;
控制模块,用于控制将输入端数据包数统计模块的输入数据量结果和输出端数据包数统计模块的输出数据量结果写入寄存器中;
寄存器,用于存储输入和输出数据量结果,由微处理器模块读取。
8.如权利要求5所述的一种软硬件协同实现的交换机验证测试装置,其特征在于所述数据包检错模块具体包括:数据包信息处理模块、数据包数据处理模块、寄存器;
数据包信息处理模块,用于根据接收的数据包,提取数据包中的数据包大小长度信息、源地址端口和目的地址端口信息;
其中数据包数据处理模块,用于按照预先设定的规则进行数据包错误检测,包括CRC校验数据净荷部分是否正确、是否正确转发到输出端口等,将错误检测结果写入寄存器中,并将数据包的时间戳信息发送到数据包时间延迟统计模块;
寄存器,用于存储数据包错误检测结果,由微处理器模块读取。
9.如权利要求5所述的一种软硬件协同实现的交换机验证测试装置,其特征在于所述数据包时间延迟统计模块具体包括:数据包延时统计模块、寄存器;
其中数据包延时统计模块,用于接收数据包检错模块的时间戳信息,将时间戳信息与当前测试时刻做比较,得到数据包时间延迟,将时间延迟结果写入数据包时间延迟统计模块相关寄存器中;
寄存器,用于存储数据包时间延迟结果,由微处理器模块读取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410513629.6A CN104253723B (zh) | 2014-09-29 | 2014-09-29 | 基于软硬件协同实现的交换机验证测试的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410513629.6A CN104253723B (zh) | 2014-09-29 | 2014-09-29 | 基于软硬件协同实现的交换机验证测试的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104253723A true CN104253723A (zh) | 2014-12-31 |
CN104253723B CN104253723B (zh) | 2017-11-14 |
Family
ID=52188288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410513629.6A Active CN104253723B (zh) | 2014-09-29 | 2014-09-29 | 基于软硬件协同实现的交换机验证测试的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104253723B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104734920A (zh) * | 2015-03-27 | 2015-06-24 | 盛科网络(苏州)有限公司 | 对openflow交换机进行稳定性测试的方法及装置 |
CN105279073A (zh) * | 2015-10-30 | 2016-01-27 | 北京奇艺世纪科技有限公司 | 线上系统性能测试方法及装置 |
CN105450475A (zh) * | 2015-12-07 | 2016-03-30 | 中国航空工业集团公司西安航空计算技术研究所 | 一种fc交换机测试设备 |
CN105553779A (zh) * | 2016-01-08 | 2016-05-04 | 滁州嘉泰科技有限公司 | 一种交换机的高效测试方法 |
CN106330555A (zh) * | 2016-08-29 | 2017-01-11 | 南京市产品质量监督检验院 | 一种基于KPLS算法的OpenFlow交换机性能参数测量方法 |
CN107038280A (zh) * | 2017-03-10 | 2017-08-11 | 烽火通信科技股份有限公司 | 一种软硬件协同仿真的验证系统及其方法 |
CN108089987A (zh) * | 2017-12-28 | 2018-05-29 | 天津芯海创科技有限公司 | 功能验证方法和装置 |
CN109194551A (zh) * | 2018-11-09 | 2019-01-11 | 上海仁童电子科技有限公司 | 一种实时以太网设备性能测试方法、装置及系统 |
CN109560997A (zh) * | 2019-01-29 | 2019-04-02 | 珠海迈科智能科技股份有限公司 | 一种stb网络检测方法 |
CN111083019A (zh) * | 2019-12-31 | 2020-04-28 | 卡斯柯信号有限公司 | 基于网络通信的二取二硬件平台功能测试系统及方法 |
CN111737097A (zh) * | 2020-06-05 | 2020-10-02 | 浪潮电子信息产业股份有限公司 | 一种流处理系统的性能测试方法及相关装置 |
CN116860657A (zh) * | 2023-09-05 | 2023-10-10 | 腾讯科技(深圳)有限公司 | 压测控制处理方法、装置、计算机设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1501635A (zh) * | 2002-11-18 | 2004-06-02 | 鸿富锦精密工业(深圳)有限公司 | 具有流量产生功能的交换机 |
US20100142398A1 (en) * | 2006-03-22 | 2010-06-10 | Marvell Israel (M.I.S.L.) Ltd. | Hardware implementation of network testing and performance monitoring in a network device |
CN201522707U (zh) * | 2009-03-16 | 2010-07-07 | 盛科网络(苏州)有限公司 | 基于fpga的软硬件协同仿真验证系统 |
CN102394795A (zh) * | 2011-11-04 | 2012-03-28 | 盛科网络(苏州)有限公司 | 内嵌于以太网交换芯片中的吞吐量性能测试处理引擎及其实现方法 |
CN103440195A (zh) * | 2013-07-11 | 2013-12-11 | 盛科网络(苏州)有限公司 | 基于逻辑芯片的交换机芯片验证方法和装置 |
CN103580954A (zh) * | 2013-10-29 | 2014-02-12 | 盛科网络(苏州)有限公司 | 交换机芯片软件仿真验证的装置及方法 |
-
2014
- 2014-09-29 CN CN201410513629.6A patent/CN104253723B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1501635A (zh) * | 2002-11-18 | 2004-06-02 | 鸿富锦精密工业(深圳)有限公司 | 具有流量产生功能的交换机 |
US20100142398A1 (en) * | 2006-03-22 | 2010-06-10 | Marvell Israel (M.I.S.L.) Ltd. | Hardware implementation of network testing and performance monitoring in a network device |
CN201522707U (zh) * | 2009-03-16 | 2010-07-07 | 盛科网络(苏州)有限公司 | 基于fpga的软硬件协同仿真验证系统 |
CN102394795A (zh) * | 2011-11-04 | 2012-03-28 | 盛科网络(苏州)有限公司 | 内嵌于以太网交换芯片中的吞吐量性能测试处理引擎及其实现方法 |
CN103440195A (zh) * | 2013-07-11 | 2013-12-11 | 盛科网络(苏州)有限公司 | 基于逻辑芯片的交换机芯片验证方法和装置 |
CN103580954A (zh) * | 2013-10-29 | 2014-02-12 | 盛科网络(苏州)有限公司 | 交换机芯片软件仿真验证的装置及方法 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104734920A (zh) * | 2015-03-27 | 2015-06-24 | 盛科网络(苏州)有限公司 | 对openflow交换机进行稳定性测试的方法及装置 |
CN105279073B (zh) * | 2015-10-30 | 2018-04-13 | 北京奇艺世纪科技有限公司 | 线上系统性能测试方法及装置 |
CN105279073A (zh) * | 2015-10-30 | 2016-01-27 | 北京奇艺世纪科技有限公司 | 线上系统性能测试方法及装置 |
CN105450475A (zh) * | 2015-12-07 | 2016-03-30 | 中国航空工业集团公司西安航空计算技术研究所 | 一种fc交换机测试设备 |
CN105450475B (zh) * | 2015-12-07 | 2018-10-26 | 中国航空工业集团公司西安航空计算技术研究所 | 一种fc交换机测试设备 |
CN105553779A (zh) * | 2016-01-08 | 2016-05-04 | 滁州嘉泰科技有限公司 | 一种交换机的高效测试方法 |
CN106330555A (zh) * | 2016-08-29 | 2017-01-11 | 南京市产品质量监督检验院 | 一种基于KPLS算法的OpenFlow交换机性能参数测量方法 |
CN107038280A (zh) * | 2017-03-10 | 2017-08-11 | 烽火通信科技股份有限公司 | 一种软硬件协同仿真的验证系统及其方法 |
CN108089987A (zh) * | 2017-12-28 | 2018-05-29 | 天津芯海创科技有限公司 | 功能验证方法和装置 |
CN108089987B (zh) * | 2017-12-28 | 2021-04-27 | 天津芯海创科技有限公司 | 功能验证方法和装置 |
CN109194551A (zh) * | 2018-11-09 | 2019-01-11 | 上海仁童电子科技有限公司 | 一种实时以太网设备性能测试方法、装置及系统 |
CN109560997A (zh) * | 2019-01-29 | 2019-04-02 | 珠海迈科智能科技股份有限公司 | 一种stb网络检测方法 |
CN111083019A (zh) * | 2019-12-31 | 2020-04-28 | 卡斯柯信号有限公司 | 基于网络通信的二取二硬件平台功能测试系统及方法 |
CN111083019B (zh) * | 2019-12-31 | 2023-05-12 | 卡斯柯信号有限公司 | 基于网络通信的二取二硬件平台功能测试系统及方法 |
CN111737097A (zh) * | 2020-06-05 | 2020-10-02 | 浪潮电子信息产业股份有限公司 | 一种流处理系统的性能测试方法及相关装置 |
CN111737097B (zh) * | 2020-06-05 | 2022-06-07 | 浪潮电子信息产业股份有限公司 | 一种流处理系统的性能测试方法及相关装置 |
CN116860657A (zh) * | 2023-09-05 | 2023-10-10 | 腾讯科技(深圳)有限公司 | 压测控制处理方法、装置、计算机设备和存储介质 |
CN116860657B (zh) * | 2023-09-05 | 2023-11-24 | 腾讯科技(深圳)有限公司 | 压测控制处理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104253723B (zh) | 2017-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104253723A (zh) | 基于软硬件协同实现的交换机验证测试的方法及装置 | |
CN103530211B (zh) | 一种基于uvm平台的pcie回环自检测的方法 | |
CN113569509B (zh) | 面向amba总线架构芯片的性能验证系统及应用 | |
CN106161117B (zh) | 一种afdx网络的仿真系统及仿真方法 | |
CN109768970A (zh) | 一种基于可配置的通用协议生成方法 | |
CN104168162A (zh) | 一种软硬件协同实现用于交换机验证测试的流量生成器 | |
CN104407279A (zh) | 一种用于自动测试芯片mdio总线协议的码型数据、装置及测试方法 | |
CN109743301A (zh) | 一种基于Modbus协议的数据收发系统及方法 | |
CN104657555A (zh) | 一种基于uvm验证方法学的toe的验证方法及平台 | |
CN102497295B (zh) | 一种以太网交换芯片队列管理器的rtl级验证方法及系统 | |
CN103516462A (zh) | 一种非标准Canopen从节点的数据帧发送方法及装置 | |
CN107294814A (zh) | 一种片上网络的测试方法及装置 | |
CN109617763B (zh) | 一种用于fc-ae总线的压力测试方法及装置 | |
CN115190030A (zh) | 一种实现can fd的硬件装置和uvm验证平台 | |
CN110138635A (zh) | 一种支持fc与以太网的协议转换功能验证装置及方法 | |
CN109815073A (zh) | 一种基于pxi平台的高速串口srio的测试方法 | |
CN111935767B (zh) | 一种网络仿真系统 | |
CN104734900B (zh) | 一种通信协议测试的发送控制方法 | |
CN108183840A (zh) | 交换机性能的验证方法、装置和实现装置 | |
CN106375155B (zh) | Mac仿真验证模型的控制方法及控制系统 | |
CN108319534B (zh) | 一种测试向量生成方法及装置 | |
CN116167309A (zh) | 一种芯片性能验证方法和系统 | |
CN110149242A (zh) | 一种支持srio与以太网的协议转换功能验证装置及方法 | |
Ding et al. | The research of AFDX system simulation model | |
CN115879409A (zh) | 验证方法、验证装置、介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |