一种报文传输方法和发送设备与流程

文档序号:13075424阅读:213来源:国知局
一种报文传输方法和发送设备与流程

本发明涉及通信领域的网络互联设备测试测量技术,尤其涉及一种报文传输方法和发送设备。



背景技术:

rfc2544协议是rfc组织提出的用于评测网络互联设备的国际标准。rfc2544提供了一个对网络设备测试的基准,它规定了一系列的测试过程和发送设备,使得服务提供商和用户间可以在同一个基准下对测试的实施和结果达成共识。

随着设备容量的越来越大,这rfc2544协议的要求对设备的网络处理器(networkprocessor,np)和现场可编程门阵列(field-programmablegatearray,fpga)是一个很大的挑战,往往为了能够支持发送大速率的rfc2544测试报文,需要额外增加fpga或np资源,或者在不增加np资源的情况下,则需要牺牲其他功能来达到这一要求,甚至,当用户要求的rfc2544的测试速率超过链路本身的带宽时,现有技术无法通过基础测试报文测试设备,从而无法统计基础测试报文的发送和接收,从而无法确定传输是否达到用户要求。



技术实现要素:

为解决上述技术问题,本发明实施例期望提供一种报文传输方法和发送设备,无需增加fpga和np资源,能够通过基础测试报文测试设备。

为达到上述目的,本发明实施例的技术方案是这样实现的:

第一方面,提供一种报文传输方法,所述方法包括:

在预设的测试时间内,向反射设备发送n0个基础测试报文,所述n0是大于0的整数;

接收所述反射设备发送的n2个新的基础测试报文,所述n2小于或等于所述n0;

当存在n4个满足预设条件的新的基础测试报文时,向所述反射设备发送所述n4个新的基础测试报文,所述n4小于或等于所述n2。

可选的,所述基础报文携带有回收次数,所述当存在n4个满足预设条件的新的基础测试报文时,向所述反射设备发送所述n4个新的基础测试报文包括:

将所述n2个新的基础测试报文的回收次数减去1,得到新的回收次数;

判断所述新的回收次数是否大于0;

若存在所述n4个新的基础测试报文的新的回收次数大于0,则向所述反射设备发送所述n4个新的基础测试报文。

可选的,测试初始情况下,所述回收个数是预设的最大回收个数,当所述测试周期结束之后,所述方法还包括:

统计所述新的基础测试报文的接收个数;

根据所述接收个数、所述n0和所述最大回收个数,确定吞吐率和/或丢包率。

可选的,在预设的测试时间之前,所述方法还包括:

接收用户输入的配置信息;

根据所述配置信息确定基础测试报文。

可选的,所述配置信息至少包括基础测试报文长度、测试速率和所述测试时间,所述根据所述配置信息确定基础测试报文包括:

根据所述测试速率,计算基础测试报文速率,所述基础测试报文速率是所述基础测试报文或所述新的基础测试报文的发送速率;

根据所述测试速率和所述基础测试报文速率,确定所述最大回收次数。

第二方面,提供一种发送设备,所述发送设备包括:

发送单元,用于在预设的测试时间内,向反射设备发送n0个基础测试报文,所述n0是大于0的整数;当存在n4个满足预设条件的新的基础测试报文时,向所述反射设备发送所述n4个新的基础测试报文,所述n4小于或等于所述n2;

接收单元,用于接收所述反射设备发送的n2个新的基础测试报文,所述n2小于或等于所述n0。

可选的,所述发送单元具体用于:

将所述n2个新的基础测试报文的回收次数减去1,得到新的回收次数;

判断所述新的回收次数是否大于0;

若存在所述n4个新的基础测试报文的新的回收次数大于0,则向所述反射设备发送所述n4个新的基础测试报文。

可选的,测试初始情况下,所述回收个数是预设的最大回收个数,所述发送设备还包括:

统计单元,用于统计所述新的基础测试报文的接收个数;

确定单元,用于根据所述接收个数、所述n0和所述最大回收个数,确定吞吐率和/或丢包率。

可选的,所述接收单元还用于:接收用户输入的配置信息;

所述确定单元还用于:根据所述配置信息确定基础测试报文。

可选的,所述配置信息至少包括基础测试报文长度、测试速率和所述测试时间,所述确定单元具体用于:

根据所述测试速率,计算基础测试报文速率,所述基础测试报文速率是所述基础测试报文或所述新的基础测试报文的发送速率;

根据所述测试速率和所述基础测试报文速率,确定所述最大回收次数。

本发明实施例提了一种报文传输方法和发送设备,包括:在预设的测试时间内,向反射设备发送n0个基础测试报文,所述n0是大于0的整数;接收所述反射设备发送的n2个新的基础测试报文,所述n2小于或等于所述n0;当存在n4个满足预设条件的新的基础测试报文时,向所述反射设备发送n4个新的基础测试报文,所述n4小于或等于所述n2。这样一来,在预设的测试时间内,发送设备可以往复发送基础测试报文,这样,利用了循环过程,就无需增加fpga和np资源,能够通过基础测试报文测试设备,因此,即使fpga和np资源不充足,同样可以完成测试,从而达到用户要求。

附图说明

图1为本发明实施例提供的一中报文传输方法的流程图1;

图2为回收次数(circularnumber)在基础测试报文中的位置的示意图1;

图3为回收次数在基础测试报文中的位置的示意图2;

图4为本发明实施例的报文传输系统的循环传输报文的示意图;

图5为本发明实施例提供的一中报文传输方法的流程图2;

图6为本发明实施例提供的一种发送设备的结构示意图1;

图7为本发明实施例提供的一种发送设备的结构示意图2。

具体实施方式

实施例一

本发明实施例提供一种报文传输方法,应用于发送设备,如图1所示,该方法可以包括:

步骤101、在预设的测试时间内,向反射设备发送n0个基础测试报文。

这里,n0是大于0的整数;

步骤102、接收反射设备发送的n2个新的基础测试报文。

这里,n2小于或等于n0

步骤103、当存在n4个满足预设条件的新的基础测试报文时,向反射设备发送n4个新的基础测试报文。

这里,所述基础报文携带有回收次数,反射报文中携带的回收次数(circularnumber)定义在frc2544所规定的吞吐率和丢包率报文格式中sequencenumber之后的填充字段中扩展4个字节,扩展后,如果配置信息中的基础测试报文长度是64字节,则没有填充字段,如图2所示,如果配置信息中的基础测试报文长度大于64个字节,则在circularnumber之后是填充字段,如图3所示。

具体的,将n2个新的基础测试报文的回收次数减去1,得到新的回收次数;判断新的回收次数是否大于0;若存在n4个新的基础测试报文的新的回收次数大于0,则向反射设备发送这n4个新的基础测试报文。也就是说这n4个新的基础测试报文是满足预设条件的新的基础测试报文。

进一步的,由于发射设备接收到的新的基础测试报文是有问题的报文,特别是其回收次数变为负数,因此,需要提出这列报文,所述将所述n2个新的基础测试报文的回收次数减去1,得到新的回收次数包括:判断n2个新的基础测试报文的回收次数是否大于0;若n3个新的基础测试报文的回收次数大于0,则将n3个新的基础测试报文的回收次数减去1,得到新的回收次数。

这样一来,在预设的测试时间内,发送设备可以往复发送基础测试报文,这样,利用了循环过程,就无需增加fpga和np资源,能够通过基础测试报文测试设备,因此,即使fpga和np资源不充足,同样可以完成测试,从而达到用户要求。

本实施例中,测试初始情况下,所述回收个数是预设的最大回收个数,当所述测试周期结束之后,所述方法还包括:统计新的基础测试报文的接收个数;根据接收个数、n0和最大回收个数,确定吞吐率和/或丢包率。

具体的,吞吐率的公式和现有技术的公式相同,本实施例就不再详述了,丢包率的丢包公式为:其中,n总是接收个数,c*n0是理论上的发送个数,n0是首次的发送个数,c是最大回收次数。

由于在传输的循环过程中,发送设备每次发送基础测试报文,都能收到新的基础测试报文,该基础测试报文和新的基础测试报文可能是相同的内容,也可能发生了一定的变化,只要不影响反射设备和发送设备识别出它是基础测试报文即可。

进一步的,所述配置信息至少包括基础测试报文长度、测试速率和所述测试时间,所述根据所述配置信息确定基础测试报文包括:

根据测试速率,计算基础测试报文速率,该基础测试报文速率是所述基础测试报文或新的基础测试报文的发送速率;根据测试速率和基础测试报文速率,确定所述最大回收次数。

具体的,确定所述最大回收次数包括:

那么,最大回收次数为:c=v/v0;其中,c是最大回收次数;v是测试速率;v0是基础测试报文速率。

其中,v0的范围是(0,vmax],vmax为基础测试报文构造模块所能产生的最大速率。通常,为了减少报文在发射端和反射端之间循环的次数,v0从vmax开始向下查找,找到一个最小的整数c即可。

所述方案中,如果v小于vmax,则v0=v,c=1。

实施例二

本发明实施例提供一种报文传输方法,应用于报文传输系统,该系统包括发送设备和反射设备,发送设备至少包括np和fpga。在测试过程中,发送设 备和反射设备的报文传输过程如图4的箭头所示,报文会重复利用,且图2仅是示例性说明,具体的,如图5的流程所示,该方法可以包括:

步骤201、发送设备接收用户输入的rfc2544测试的丢包率的配置信息。

该配置信息包括配置rfc2544测试的基础测试报文的报文长度、测试速率和测试时间。

步骤202、fpga根据配置信息确定基础测试报文。

fpga根据配置信息的测试速率,计算出rfc2544的基础测试报文速率,并且根据基础测试报文速率v0和测试速率v,计算反射报文最大回收次数c,所述c为:c=v/v0;

其中,v0的范围是(0,vmax],vmax为发送设备所能产生的最大速率。

一般情况下,为了减少基础测试报文在发送设备和反射设备之间回收次数(即循环次数),v0从vmax开始向下查找,找到一个最小的整数作为c即可。

优选的,若v小于vmax,则v=v0,c=1。

fpga根据v0和测试报文长度,构造基础测试报文速率为v0的rfc2544基础测试报文,并且在基础测试报文中增加回收次数,初始状态回收次数是最大回收次数。

值得说明的是,本方案中,基础测试报文模块构造基础测试报文后,需要统计基础测试报文数n0。

步骤203、np以v0的速度均匀发送n0个基础测试报文。

步骤204、反射设备处理n1个基础测试报文,得到新的基础测试报文。

这里,由于发送n0个报文,不一定就能够接收到n0个报文,因此,n1是小于或等于n0。

步骤205、反射设备向发射设备发送n1个新的基础测试报文。

这里,np接收到的新的基础测试报文个数为n2,由于发送n1个报文,不一定就能够接收到n1个报文,因此,n2是小于或等于n1。

步骤206、np判断n2个新的基础测试报文中的回收次数是否大于0。若是,则执行步骤207;若否,则执行步骤214。

这里,np可以逐一判断n2个新的基础测试报文,可以并行同时判断几个 新的基础测试报文。

步骤207、np将n3个新的基础测试报文的回收次数减1,得到新的回收次数。

n3是回收次数大于0的新的基础测试报文的个数。

步骤208、np判新的回收次数是否大于0。若是,则执行步骤209;若否,则执行步骤214。

步骤209、np发送n4个新的基础测试报文。

该n4个新的基础测试报文是回收次数大于0的新的基础测试报文。

步骤210、当发送设备确定测试时间超时时,停止基础测试报文发送。

步骤211、np在预设时长之后,停止基础测试报文接收。

这样,保证从发送设备发送出去的测试报文都反射回来,然后停止接收反射报文和统计反射报文。

步骤212、发送设备统计基础测试报文的接收个数。

步骤213、发送设备根据收个数和最大回收次数,计算丢包率。

这里,丢包率的丢包公式为:其中,n总是接收个数,c*n0是理论上的发送个数,n0是首次的发送个数,c是最大回收次数。

步骤214、丢弃新的基础测试报文。

实施例三

本发明实施例提供一种发送设备30,如图6所示,所述发送设备30可以包括:

发送单元301,用于在预设的测试时间内,向反射设备发送n0个基础测试报文,所述n0是大于0的整数;当存在n4个满足预设条件的新的基础测试报文时,向所述反射设备发送n4个新的基础测试报文,所述n4小于或等于所述n2。

接收单元302,用于接收所述反射设备发送的n2个新的基础测试报文,所述n2小于或等于所述n0。

这样一来,在预设的测试时间内,发送设备可以往复发送基础测试报文,这样,利用了循环过程,就无需增加fpga和np资源,能够通过基础测试报 文测试设备,因此,即使fpga和np资源不充足,同样可以完成测试,从而达到用户要求。

进一步的,所述发送单元301具体用于:

将所述n2个新的基础测试报文的回收次数减去1,得到新的回收次数;

判断所述新的回收次数是否大于0;

若存在所述n4个新的基础测试报文的新的回收次数大于0,则向所述反射设备发送所述n4个新的基础测试报文。

进一步的,测试初始情况下,所述回收个数是预设的最大回收个数,如图7所示,所述发送设备30还包括:

统计单元303,用于统计所述新的基础测试报文的接收个数。

确定单元304,用于根据所述接收个数、所述n0和所述最大回收个数,确定吞吐率和/或丢包率。

进一步的,所述接收单元302还用于:接收用户输入的配置信息;

所述确定单元304还用于:根据所述配置信息确定基础测试报文。

进一步的,所述配置信息至少包括基础测试报文长度、测试速率和所述测试时间,所述确定单元304具体用于:

根据所述测试速率,计算基础测试报文速率,所述基础测试报文速率是所述基础测试报文或新的基础测试报文的发送速率;

根据所述测试速率和所述基础测试报文速率,确定所述最大回收次数。

在实际应用中,所述发送单元431、接收单元302、统计单元303和确定单元304均可由位于发送设备30中的中央处理器(centralprocessingunit,cpu)、微处理器(microprocessorunit,mpu)、数字信号处理器(digitalsignalprocessor,dsp)、或现场可编程门阵列(fieldprogrammablegatearray,fpga)等实现。

本领域内的技术人员应明白,本发明的实施例可提供为发送设备、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的发送设备、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

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