一种基于RFC6349的数据块乱序测试方法及装置与流程

文档序号:15567198发布日期:2018-09-29 03:37阅读:248来源:国知局

本发明涉及rfc6349测试领域,尤其涉及一种基于rfc6349的数据块乱序测试方法及装置。



背景技术:

在tcp传输协议中,数据是分块传输的,由于网络本身的固有延时、传输路径选择的不同、设备处理时间的不同等原因,原本按顺序发送的tcp数据块或数据包到了接收端就可能变成乱序的,先发的可能比后发的要晚到,还有可能在网络中被丢弃,这种情况下就需要对数据进行乱序重组和重传处理。现有的乱序处理方法一般是把乱序的数据块都缓存下来,直到接收到期望序列号的数据块,再将这些连续的数据块提交给上层应用处理,因此,现有乱序处理方法需要耗费大量的缓存空间,在设计测试仪表时需要加入内存芯片,增加硬件成本和设计成本。

重传处理方法一般是超时重传和快速重传。例如,现有快速重传处理方法为接收到连续3个相同的tcp确认序列号(ack-sequence),这3个相同的确认序列号是在接收端收到乱序数据块(tcp数据包)时发送的,收到一个发一个,如果接收数量达不到3个时,发送端将不触发快速重传,而是超时重传,这直接导致了数据传输效率的降低。

因此,需要一种克服上述问题或者至少部分地解决上述问题的基于rfc6349的数据块乱序测试方法及装置。



技术实现要素:

本发明的目的在于提供一种基于rfc6349的数据块乱序测试方法及装置,该方法及装置通过缓存并对数据序列号和初始期望数据序列号进行处理的方式来处理乱序数据块,以解决所需缓存空间大的问题,并在接收到乱序序列号时直接连续发送3个确认序列号,触发发送端的快速重传,以解决数据传输效率低的问题。

本发明的一个方面,提供了一种基于rfc6349的数据块乱序测试方法,包括以下步骤:

接收数据块发送状态机发送的初始期望数据序列号以及数据序列号;对数据序列号和初始期望数据序列号进行匹配;当数据序列号和初始期望数据序列号匹配时,更新初始期望数据序列号作为下一次的初始期望数据序列号;当数据序列号和初始期望数据序列号不匹配时,对该数据序列号和初始期望数据序列号进行缓存。

进一步地,所述基于rfc6349的数据块乱序测试方法,还包括:在对数据序列号和初始期望数据序列号进行匹配之后,当存在上一次剩余的序列号时,对初始期望数据序列号和上一次剩余的序列号进行匹配;当初始期望数据序列号和上一次剩余的序列号匹配时,更新初始期望数据序列号作为下一次的初始期望数据序列号;当初始期望数据序列号和上一次剩余的序列号不匹配时,对初始期望数据序列号进行缓存。

进一步地,所述基于rfc6349的数据块乱序测试方法,还包括:在对初始期望数据序列号和每一个上一次剩余的序列号进行匹配之后,当存在剩余的序列号时,向数据块发送状态机连续发送3个确认序列号。

进一步地,所述基于rfc6349的数据块乱序测试方法,还包括:当数据序列号和初始期望数据序列号不匹配且上一次未剩余序列号时,向数据块发送状态机连续发送3个确认序列号。

进一步地,乱序缓存状态机为fifo数据缓存器。

本发明的另一个方面,提供了一种基于rfc6349的数据块乱序测试装置,包括:

接收控制状态机,用于接收数据块发送状态机发送的初始期望数据序列号以及数据序列号;乱序处理状态机,用于对数据序列号和初始期望数据序列号进行匹配,当数据序列号和初始期望数据序列号匹配时,更新初始期望数据序列号作为下一次的初始期望数据序列号,当数据序列号和初始期望数据序列号不匹配时,对该数据序列号和初始期望数据序列号进行缓存;乱序缓存状态机,用于缓存不匹配的数据序列号和初始期望数据序列号。

进一步地,在乱序处理状态机中,在对数据序列号和初始期望数据序列号进行匹配之后,当存在上一次剩余的序列号时,对初始期望数据序列号和上一次剩余的序列号进行匹配;当初始期望数据序列号和上一次剩余的序列号匹配时,更新初始期望数据序列号作为下一次的初始期望数据序列号;当初始期望数据序列号和上一次剩余的序列号不匹配时,对初始期望数据序列号进行缓存。

进一步地,在乱序处理状态机中,在对初始期望数据序列号和每一个上一次剩余的序列号进行匹配之后,当存在剩余的序列号时,向数据块发送状态机连续发送3个确认序列号。

进一步地,在乱序处理状态机中,当数据序列号和初始期望数据序列号不匹配且上一次未剩余序列号时,向数据块发送状态机连续发送3个确认序列号。

与现有技术相比,具有以下优点:

1.本发明的方法及装置通过缓存并对数据序列号和初始期望数据序列号进行处理的方式来处理乱序数据块,无需缓存数据,节省缓存空间。

2.本发明的方法及装置在确定接收到乱序序列号时直接连续发送3个确认序列号,触发发送端的快速重传,以提高数据传输效率。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明实施例的基于rfc6349的数据块乱序测试方法步骤图。

图2为本发明实施例的基于rfc6349的数据块乱序测试方法流程图。

图3为本发明实施例的基于rfc6349的数据块乱序测试装置与发送端的连接框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。

为了测试tcp链路的数据完整性,具体的数据内容可以约定某一测试图案,接收端可以在单个数据块内检测数据的误码率即可,不需要把所有的乱序数据块缓存下来,重组后再检测数据误码率,因此只需要处理数据块的序列号即可,可以省去数据的缓存空间。

实施一

图1为本发明实施例的基于rfc6349的数据块乱序测试方法步骤图,参见图1,本发明提供的基于rfc6349的数据块乱序测试方法,包括以下步骤:

接收数据块发送状态机发送的初始期望数据序列号以及数据序列号;对数据序列号和初始期望数据序列号进行匹配;当数据序列号和初始期望数据序列号匹配时,更新初始期望数据序列号作为下一次的初始期望数据序列号;当数据序列号和初始期望数据序列号不匹配时,对该数据序列号和初始期望数据序列号进行缓存。

本发明的装置通过缓存并对数据序列号和初始期望数据序列号进行处理的方式来处理乱序数据块,无需缓存数据,节省缓存空间。

实施二

本实施例是在实施例一基础上的改进,实施例一中公开的技术内容不重复描述,实施例一公开的内容也属于本实施例公开的内容。

所述基于rfc6349的数据块乱序测试方法,还包括:在对数据序列号和初始期望数据序列号进行匹配之后,当存在上一次剩余的序列号时,对初始期望数据序列号和上一次剩余的序列号进行匹配;当初始期望数据序列号和上一次剩余的序列号匹配时,更新初始期望数据序列号作为下一次的初始期望数据序列号;当初始期望数据序列号和上一次剩余的序列号不匹配时,对初始期望数据序列号进行缓存。

实施三

本实施例是在实施例二基础上的改进,实施例二中公开的技术内容不重复描述,实施例二公开的内容也属于本实施例公开的内容。

所述基于rfc6349的数据块乱序测试方法,还包括:在对初始期望数据序列号和每一个上一次剩余的序列号进行匹配之后,当存在剩余的序列号时,向数据块发送状态机连续发送3个确认序列号。

本发明的装置在确定接收到乱序序列号时直接连续发送3个确认序列号,触发发送端的快速重传,以提高数据传输效率。

实施四

本实施例是在实施例三基础上的改进,实施例三中公开的技术内容不重复描述,实施例三公开的内容也属于本实施例公开的内容。

所述基于rfc6349的数据块乱序测试方法,还包括:当数据序列号和初始期望数据序列号不匹配且上一次未剩余序列号时,向数据块发送状态机连续发送3个确认序列号。

本发明的装置在确定接收到乱序序列号时直接连续发送3个确认序列号,触发发送端的快速重传,以提高数据传输效率。

实施五

本实施例是在实施例四基础上的改进,实施例四中公开的技术内容不重复描述,实施例四公开的内容也属于本实施例公开的内容。

乱序缓存状态机可以为fifo(firstinputfirstoutput,先进先出)数据缓存器。

实施六

本实施例是在实施例五基础上的改进,实施例五中公开的技术内容不重复描述,实施例五公开的内容也属于本实施例公开的内容。

图2为本发明实施例的基于rfc6349的数据块乱序测试方法流程图,参见图2,当乱序处理状态机中数据序列号和初始期望数据序列号匹配时更新初始期望数据序列号,分为两种情况:第一种为fifo指针为0,也就是说,fifo数据缓存器中没有缓存序列号,此时,向接收控制状态机发送更新的初始期望数据序列号和1个确认序列号;第二种为fifo指针不为0,也就是说,fifo数据缓存器中缓存有序列号,此时,读取fifo数据缓存器中的序列号与更新的初始期望数据序列号进行匹配,并寄存当前fifo指针,且遍历读取计算器置零。

当数据序列号和初始期望数据序列号不匹配时将该数据序列号和初始期望数据序列号写入乱序缓存状态机即fifo数据缓存器,分为两种情况:第一种为遍历计数值等于寄存的fifo指针,也就是说,对fifo数据缓存器中的序列号已完成遍历,此时,向接收控制状态机发送初始期望数据序列号并连续发送3个确认序列号;第二种为遍历计数值小于寄存的fifo指针,也就是说,对fifo数据缓存器中的序列号未完成遍历,此时,将数据序列号和初始期望数据序列号写入fifo数据缓存器,并读取fifo数据缓存器中的序列号与初始期望数据序列号进行匹配。

当乱序缓存状态机中的序列号和初始期望数据序列号匹配时更新初始期望数据序列号,一直循环到对fifo数据缓存器中的序列号完成遍历。

当乱序缓存状态机即fifo数据缓存器中的序列号和初始期望数据序列号不匹配时,将初始期望数据序列号写回乱序缓存状态机,一直循环到对fifo数据缓存器中的序列号完成遍历。

对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

实施七

图3为本发明实施例的基于rfc6349的数据块乱序测试装置与发送端的连接框图,参见图3,本发明的基于rfc6349的数据块乱序测试装置包括:

接收控制状态机,用于接收数据块发送状态机发送的初始期望数据序列号以及数据序列号;乱序处理状态机,用于对数据序列号和初始期望数据序列号进行匹配,当数据序列号和初始期望数据序列号匹配时,更新初始期望数据序列号作为下一次的初始期望数据序列号,当数据序列号和初始期望数据序列号不匹配时,对该数据序列号和初始期望数据序列号进行缓存;乱序缓存状态机,用于缓存不匹配的数据序列号和初始期望数据序列号。

本发明的装置通过缓存并对数据序列号和初始期望数据序列号进行处理的方式来处理乱序数据块,无需缓存数据,节省缓存空间。

实施八

本实施例是在实施例七基础上的改进,实施例七中公开的技术内容不重复描述,实施例七公开的内容也属于本实施例公开的内容。

在乱序处理状态机中,在对数据序列号和初始期望数据序列号进行匹配之后,当存在上一次剩余的序列号时,对初始期望数据序列号和上一次剩余的序列号进行匹配;当初始期望数据序列号和上一次剩余的序列号匹配时,更新初始期望数据序列号作为下一次的初始期望数据序列号;当初始期望数据序列号和上一次剩余的序列号不匹配时,对初始期望数据序列号进行缓存。

实施九

本实施例是在实施例八基础上的改进,实施例八中公开的技术内容不重复描述,实施例八公开的内容也属于本实施例公开的内容。

在乱序处理状态机中,在对初始期望数据序列号和每一个上一次剩余的序列号进行匹配之后,当存在剩余的序列号时,向数据块发送状态机连续发送3个确认序列号。

本发明的装置在确定接收到乱序序列号时直接连续发送3个确认序列号,触发发送端的快速重传,以提高数据传输效率。

实施十

本实施例是在实施例九基础上的改进,实施例九中公开的技术内容不重复描述,实施例九公开的内容也属于本实施例公开的内容。

在乱序处理状态机中,当数据序列号和初始期望数据序列号不匹配且上一次未剩余序列号时,向数据块发送状态机连续发送3个确认序列号。

本发明的装置在确定接收到乱序序列号时直接连续发送3个确认序列号,触发发送端的快速重传,以提高数据传输效率。

实施十一

本实施例是在实施例十基础上的改进,实施例十中公开的技术内容不重复描述,实施例十公开的内容也属于本实施例公开的内容。

乱序缓存状态机可以为fifo数据缓存器。

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

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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