当前位置: 首页 > 专利查询>清华大学专利>正文

一种数据包顺序识别方法及设备技术

技术编号:14641744 阅读:137 留言:0更新日期:2017-02-15 16:08
本发明专利技术提供一种数据包顺序识别方法,包括:将发送的数据包的第一结合扩展哈希值以及发送个数发射至接收端;根据接收的数据包计算第二结合扩展哈希值和接收个数;以及当所述第一结合扩展哈希值等于第二结合扩展哈希值,且发送个数等于接收个数时,数据包的顺序无误。本申请极大的提高了测量的效率,同时无须对数据包做任何改变,极大的提高了本方法的使用范围,减少了对网络数据流的影响,使得本方法能够应用在高速率大规模数据包的网络中。

【技术实现步骤摘要】

本专利技术涉及通信
,更具体地,涉及数据包顺序识别方法及设备
技术介绍
数据包顺序是数据包的一个重要属性,也是网络设计、分析、研究和实际应用中的一个重要参数。数据包的顺序关系到实际系统的性能,反应了网络中可能存在的异常情况,因此在实际网络中,比如在互联网和数据中心网络中,数据包顺序直接关系到了网络的性能和服务质量。在传统的方法中,数据包顺序恢复最简单的方法是从发送者发送数据序列号到接收者。更具体的说,在每个数据包发送时附加一个序列号通过序列号来恢复数据的顺序和识别乱序。这样的测量方法要求对每一个数据包进行更改加入序列号,从而带来了很大的额外开销,无法适用于大规模数据包的网络,同时在很多情况下,测量方法无法对数据包进行改变,因此无法在数据包中加入序列号,也导致了数据包时延测量方法的失效。
技术实现思路
本专利技术提供一种克服上述问题或者至少部分地解决上述问题的数据包顺序识别方法及设备。根据本专利技术的一个方面,提供一种数据包顺序识别方法,包括:S1、发送的数据包的第一结合扩展哈希值以及发送个数至接收端;S2、根据接收的数据包计算第二结合扩展哈希值和接收个数;以及S3、根据所述第一结合扩展哈希值和第二结合扩展哈希值的关系以及发送个数和接收个数的关系,判断数据包的顺序是否有误。根据本专利技术的另一个方面,提供一种发送端,所述发送端将发送的数据包的第一结合扩展哈希值以及发送个数发射至接收端。根据本专利技术的另一个方法,提供一种接收端,所述接收端用于根据接收的数据包计算第二结合扩展哈希值和接收个数;以及当第一结合扩展哈希值等于第二结合扩展哈希值,且发送个数等于接收个数时,则认定数据包的顺序无误。本申请提出了一种基于数据包的哈希值的乱序识别和顺序恢复方法和设备,极大的提高了测量的效率,同时本专利技术的方法无须对数据包做任何改变,极大的提高了本方法的使用方位,减少了对网络数据流的影响,使得数据包的乱序识别和顺序恢复能够应用在高速率大规模数据包的网络中。附图说明图1为根据本专利技术实施例的流程示意图;图2为根据本专利技术实施例的数据包顺序确定流程示意图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。图1给出了根据本专利技术实施例的一种数据包顺序识别方法的总体示意图。总的来说,该方法包括以下步骤:发送端基于哈希函数将发送的数据包分组,将每一组中的数据包的第一结合扩展哈希值Oi以及发送个数w发射至接收端;接收端根据接收的数据包计算第二结合扩展哈希值O′i和接收个数w’;以及当所述第一结合扩展哈希值Oi等于第二结合扩展哈希值O′i,且发送个数w等于接收个数w’时,则数据包的顺序无误;或当所述第一结合扩展哈希值不等于第二扩展哈希值,且发送个数大于接收个数时,根据第一结合哈希值获得接收的数据包的顺序。本申请提出了一种基于数据包的哈希值的乱序识别和顺序恢复方法和设备,极大的提高了测量的效率,同时本专利技术的方法无须对数据包做任何改变,极大的提高了本方法的使用方位,减少了对网络数据流的影响,使得数据包的乱序识别和顺序恢复能够应用在高速率大规模数据包的网络中。在一个具体实施例中,发送端根据特定的哈希函数将发送的一段数据包分成组,该哈希函数将所有数据包映射到[1,g]范围的整数。因此这段中的数据包被分为g组,也就是G1,G2,…,Gg。每组含有ω个数据包。根据发送顺序,给一组中的数据包标记升序的序号。因此,用Gi=(Si1,Si2,...,Siω)表示组Gi中的数据包,其中sij是组Gi中的第j个包。在一个具体实施例中,由于哈希值不包含任何顺序信息,因此采用将顺序信息编码到哈希值中,即本方法采用扩展哈希值来识别每个每个数据包:对组Gi,发送端计算第j个数据包sij的扩展哈希值,也就是hij=Hash(sij)*j,其中,hij为组Gi中第j个数据包的扩展哈希值,用Hi表示扩展哈希向量,Hi=(hi1,hi2,...,hiω)T。对于一组数据包Gi,发送端计算该组所有数据包的扩展哈希值。在接收端,如果数据包的顺序于发送端完全相同,那么扩展哈希值也应该完全相同,因此接收端可以通过从发送端传输哈希值到接收端来检查顺序信息。因为每个包都拥有一个扩展哈希值会导致高开销。同时,这种方法不能应用在丢包情况下。相比于每个组里的数据包数量,丢失和乱序的数据包非常少。接收到的数据包顺序应该同发送的顺序很相似。在一个具体实施例中,本方法并没有发送所有数据包的扩展哈希值。我们只把乱序信息发送给接收端。为了实现这一目的,发送端发送组内所有包的扩展哈希值的线性组合。具体的说,发送端计算组Gi中的ω个数据包的k个线性组合Oi=(oi1,oi2,...,oik)T。其中k个线性组合的系数互相独立,可以选择一个各行独立的系数矩阵M=(axy)1≤x≤k,1≤y≤ω,αxy即表示互相独立的系数,则Oi=MHi。组Gi的向量Oi=(oi1,oi2,...,oik)T为第一结合扩展哈希值。应该注意的是,Oi有k个值,Hi有ω个值。对组Gi,发送端计算该组数据包的第一结合扩展哈希Oi,然后发送一组数据(Oi,ω)到接收端。我们把这个数据组叫做顺序代表值EXH,顺序代表值具有k个值。对每段数据包,发送端可以按顺序计算所有组的顺序代表值。在一个具体实施例中,接收端用与发送端相同的哈希函数把接收的一段数据包分割成组。假定接收到的组为G′1,G′2,...,G′g,对接收的组G′i,我们把组表示为G′i=(ri1,ri2,...,riω′)。在一个具体实施例中,接收端把一个接收到的第i组中的第j个数据包rij的扩展哈希值表示为h′ij=Hash(rij)*j,j表示一个特定的哈希函数,此哈希函数与接收端所用的哈希函数一致。用Hi表示扩展哈希向量,H′i=(h′i1,h′i2,...,h′iω′)T。对组Gi。在一个具体实施例中,接收端对应计算收到的每一组数据的顺序代表值。接收端计算,如果ω′=ω且Oi=O′i,那么G′i中的数据包应该与发送端的Gi中的数据包相同。Q′i=MH′i,由此接收端判断接收到的数据包的顺序与发送端发出的数据包的顺序一致。在一个具体实施例中,如果Qi≠Q′i或者ω′≠ω,那么两组数据包就不相同。这意味着从组Gi到G′i可能有数据包的丢失或乱序。在一个具体实施例中,如果ω′<ω,表明这一组数据包中有数据包丢失。图2给出了数据包顺序确定流程示意图。此时计算c=ω-ω′,说明接收到的该组中有c个数据包丢失,由于数据包丢失,这c个数据包的扩展哈希值未知,假设扩展哈希值为x1,x2,...,xc。此时接收到的w’个数据可能处于w个数据中任意w’个可能的位置,根据实际网络情况,遍历w’个数据所有可能的情况。对于w’个数据的每一种可能情况,计算剩余ω′个数据包的扩展哈希值,得到一个关于x1,x2,...,xc的方程,即对于M矩阵中的每一行系数,都可以得到一个对应的方程,而由c个方程可以组成一个方程组,这c个方程组解出x1,x2,...,xc的值。任意选取两组M中不同的系数构成方程组,得到两组x1,x2,...,xc的解,如果两组解相同,则代表这组解x1,x2,...,xc对应的c个位置为数据包真实丢失的位置,对应的本文档来自技高网...
一种数据包顺序识别方法及设备

【技术保护点】
一种数据包顺序识别方法,其特征在于,包括:S1、发送的数据包的第一结合扩展哈希值以及发送个数至接收端;S2、根据接收的数据包计算第二结合扩展哈希值和接收个数;以及S3、根据所述第一结合扩展哈希值和第二结合扩展哈希值的关系以及发送个数和接收个数的关系,判断数据包的顺序是否有误。

【技术特征摘要】
1.一种数据包顺序识别方法,其特征在于,包括:S1、发送的数据包的第一结合扩展哈希值以及发送个数至接收端;S2、根据接收的数据包计算第二结合扩展哈希值和接收个数;以及S3、根据所述第一结合扩展哈希值和第二结合扩展哈希值的关系以及发送个数和接收个数的关系,判断数据包的顺序是否有误。2.如权利要求1所述的数据包顺序识别方法,其特征在于,所述步骤S3还包括:当所述第一结合扩展哈希值等于第二结合扩展哈希值,且发送个数等于接收个数时,数据包的顺序无误;或者当所述第一结合扩展哈希值不等于第二扩展哈希值,且发送个数大于接收个数时,根据第一结合哈希值获得接收的数据包的顺序。3.如权利要求2所述的数据包顺序识别方法,其特征在于,所述步骤S1包括:S11、记录数据包的发送个数并将发送的数据包按升序排列,基于哈希函数获得每个数据包的扩展哈希值;S12、基于所有数据包的扩展哈希值得到扩展哈希向量;S13、基于所述扩展哈希向量与一矩阵的乘积得到结合扩展哈希值,所述矩阵的各行独立;以及S14、基于所述结合扩展哈希值与发送个数获得顺序代表值,并发送至接收端。4.如权利要求3所述的数据包顺序识别方法,其特征在于,所述步骤S2包括:S21、记录数据包的接收个数并基于所述哈希函数获得接收的每个数据包的扩展哈希值;S22、基于步骤S21获得的所有扩展哈希值得到第二扩展哈希向量;以及S23、基于所述第二扩展哈希向量与所述矩阵的乘积得到第二结合扩展哈希值。5.如权利要求4所述的数据包顺序识别方法,其特征在于,所述根据第一结合哈希值获得接收的数据包的顺序包括:遍历发送的数据包的顺序,基于所述矩阵的每一行的系数,得到丢失数据包与第一结合扩展哈希值的方程组;以及任意选取所述方程组中不同系数构成的方程,得到两组丢失数据包的解,若两组解相同,则该组解对应的位置为数据包真实丢失的位置,接收的数据包的位置为数据包的原始位置。6.一种发送端,其特征在于,所述发送端将发送的数据包的第一结合扩展哈希值以及发送个数发射至接收端。7.如权利要求6所述的发送端,其特征在于,包括:第一哈希值模块,记录数...

【专利技术属性】
技术研发人员:王继良曹志超刘云浩
申请(专利权)人:清华大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1