一种分片帧重组方法及装置制造方法及图纸

技术编号:33711267 阅读:47 留言:0更新日期:2022-06-06 08:44
本申请公开一种分片帧重组方法及装置,该方法包括:接收第一数据帧,并确定所述第一数据帧是否为分片,该分片为第一原始数据包的部分;若第一数据帧为分片,且第一数据帧不是首个分片,根据第一数据帧的分片序号以及分片序号与地址空间的对应关系将第一数据帧存储在第一地址空间,确定属于第一原始数据包的多个分片完成重组,输出第一原始数据包。本申请中,用于存储原始数据包的空间地址与原始数据包包括的分片一一对应,从而可根据该分片的序号将分片存储在对应的空间地址。这样存储分片的过程中就已经实现了对各个分片的排序,相较于传统方法,即先存储分片再排序、重组来说,无需重新排序,提高了重组效率,能够支持并发重组量更多的传输。量更多的传输。量更多的传输。

【技术实现步骤摘要】
一种分片帧重组方法及装置


[0001]本申请涉及网络传输
,尤其涉及一种分片帧重组方法及装置。

技术介绍

[0002]在网络中,发送端和接收端之间通常需要进行信息交互。例如,在卫星通信网络中,发送端和接收端之间可能需要传输测绘信息。但是由于网络最大传输单元(maximum transmission unit,MTU)的限制,发送端一次不能传输较大的数据包。因此,发送端可以将原始数据包划分为多个分片发送给接收端。接收端接收到多个分片,可以判断哪些分片来自同一个数据包,并对来自同一个数据包的多个分片重组,从而恢复出发送端发送的原始数据包。
[0003]在可能的场景中,需要并行发送多个原始数据包,对于接收端来说,需要重组更多个子数据包。然而传统的分片重组方法支持的并发重组帧较少,要么重组效率较低,对于并发量较高的数据传输并不适用。

技术实现思路

[0004]本申请提供一种分片帧重组方法及通信装置,可提高重组效率,支持更多数量的并发重组帧,从而适用于并发量较高的数据传输。
[0005]第一方面,提供一种分片帧重组方法,该方法的执行主体为可编程逻辑器件(field programmable gate array,FPGA),该方法包括:接收第一数据帧,并确定所述第一数据帧是否为分片,该分片为第一原始数据包的部分;若第一数据帧为分片,且第一数据帧不是首个分片,根据第一数据帧的分片序号以及分片序号与地址空间的对应关系将第一数据帧存储在第一地址空间,确定属于所述第一原始数据包的多个分片完成重组,输出第一原始数据包。
[0006]本申请实施例中,可根据原始数据包划分的分片数量将用于存储原始数据包的空间地址进行划分,例如,原始数据包包括N个分片,可将用于存储原始数据包的空间地址划分为N份。一个分片对应一个空间地址。从而在确定所接收的第一数据帧属于第一原始数据包的一个分片时,可根据该分片的序号,将第一数据帧存储在对应的空间地址。由于分片序号与空间地址对应,可认为,存储第一原始数据包的分片过程就已经实现了对各个分片的排序,从而确定第一原始数据包的多个分片重组完成,即存储完成时,可以输出第一原始数据包。由于存储第一原始数据包的分片过程就已经实现了对各个分片的排序,相较于传统的重组方法,即接收多个分片之后,解析多个分片,再对多个分片排序,排序之后再重组来说,无需重新排序,提高了重组效率,能够支持并发重组量更多的数据传输。
[0007]在可能的实现方式中,所述方法还包括:根据第一原始数据包划分分片的最大个数以及分片的最大长度,将用于存储第一原始数据包的地址空间划分为多个地址空间。其中,多个地址空间与第一原始数据包划分的分片一一对应,且多个地址空间和第一原始数据包包括的分片的序号具有对应关系。
[0008]在可能的实现方式中,所述方法还包括:将第一数据帧的特征信息与m个数据块进行匹配,确定第一数据帧属于匹配成功的分片属于的原始数据包。该m个数据块是由n个分片划分的,每个数据块包括的分片个数相同,n为并发重组分片的数量。该方案中,可将一段时间内支持的并发重组分片的特征信息划分为多个数据块,例如划分为m个数据块。这样在确定第一数据帧是否属于第一原始数据包时,可同时与m个数据块中的特征信息进行匹配,相较于依次与n个特征信息进行匹配来说,可降低匹配时间,从而提高匹配效率,进而提高重组效率。
[0009]在可能的实现方式中,m是根据匹配效率和存储资源确定。可以理解的是,m越大,每个数据块包括的特征信息越少,匹配时间越少。但是m越大,需要占用的存储资源越多,因此,本申请实施例可根据匹配效率和存储资源确定m,从而在提高匹配效率的同时,提高存储资源的利用率。
[0010]在可能的实现方式中,在将第一数据帧的特征信息与m个数据块进行匹配之前,所述方法还包括:为每个数据块预设寄存器组,对预设的寄存器组内最近存储的特征信息进行移位寄存,所述寄存器组用于存储分片的特征信息。可以理解的是,通常属于同一原始数据包的多个分片到达接收端的时间间隔较小,那么按序存储的这多个分片的特征信息距离也较近。为了进一步降低匹配时间,该方案中,为每个数据块预设寄存器组,将该寄存器内的最近存储的特征信息进行移位寄存。接收端接收第一数据帧之后,可优先与该寄存器内的特征信息进行匹配,相较于与m个数据块包括的特征信息分别匹配来说,可减少匹配时间,从而提高重组效率。
[0011]在可能的实现方式中,输出第一原始数据包,包括:确定第一原始数据包包括的多个分片在对应地址空间的实际存储地址;按照分片的序号从小到大依次读取各个分片对应的实际存储地址上的数据,并输出。可以理解的是,为每个分片事先划分的地址空间可能大于分片实际占用的存储地址,因此,在输出第一原始数据包时,需要确定各个分片的实际存储地址,以避免重组第一数据包失败。
[0012]在可能的实现方式中,所述方法还包括:在输出第一原始数据包的过程中,接收第二数据帧,在第一原始数据包输出之后,存储第二数据帧。本申请实施例中,输出第一原始数据包之后可以释放存储第一原始数据包的存储资源。在读取原始数据包时,不存储分片,在存储分片时,不读取原始数据包。即可以基于时分方式(也可以称为乒乓机制)在存储分片和读取数据包之间切换。这样既可以提高存储资源利用率,又可以提高存储效率,进而提高重组效率。
[0013]在可能的实现方式中,所述方法还包括:从第一原始数据包的首个分片开始,在预设时长内,没有完成第一原始数据包的重组,删除存储的第一原始数据包包括的分片的特征信息,以及释放第一原始数据包包括的分片所占用的存储资源。可以理解的是,如果一段时间内没有完成第一原始数据包的重组,可以认为重组失败。此时释放第一原始数据包包括的分片所占用的存储资源,可以提高存储资源的利用率。
[0014]第二方面,提供了一种分片帧的重组装置,例如该分片帧的重组装置为如前所述的FPGA。该分片帧的重组装置具有实现上述第一方面方法实施例中的行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。该通信装置包括通信接口以及处理器,可选的,还包括存储
器。其中,该存储器用于存储计算机程序或指令,处理器与存储器、通信接口耦合,当处理器执行所述计算机程序或指令时,使装置执行上述第一方面中的方法。
[0015]第三方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当该计算机程序被运行时,实现上述第一方面方法的功能。
附图说明
[0016]图1为数据帧的帧结构示意图;
[0017]图2为分片头的结构示意图;
[0018]图3为数据帧分片以及分片重组过程的示意图;
[0019]图4为本申请实施例提供的分片帧重组方法的流程示意图;
[0020]图5为本申请实施例提供的基于并非重组帧的数量划分为多个数据块的示意图;
[0021]图6为匹配时间复杂度变化随深度h变化的曲线示意图;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分片帧重组方法,其特征在于,包括:接收第一数据帧,并确定所述第一数据帧是否为分片,所述分片为第一原始数据包的部分;若所述第一数据帧为分片,且所述第一数据帧不是首个分片,根据所述第一数据帧的分片序号以及分片序号与地址空间的对应关系将所述第一数据帧存储在与所述分片序号对应的第一地址空间,所述第一地址空间属于用于存储所述第一原始数据包的地址空间;确定属于所述第一原始数据包的多个分片完成重组,输出所述第一原始数据包。2.如权利要求1所述的方法,其特征在于,所述方法还包括:根据所述第一原始数据包划分分片的最大个数以及分片的最大长度,将用于存储所述第一原始数据包的地址空间划分为多个地址空间,所述多个地址空间与所述第一原始数据包划分的分片一一对应,且所述多个地址空间和所述第一原始数据包包括的分片的序号具有对应关系。3.如权利要求2所述的方法,其特征在于,所述方法还包括:将所述第一数据帧的特征信息与m个数据块进行匹配,所述m个数据块是由n个分片划分的,每个数据块包括的分片个数相同,所述n为并发重组分片的数量;确定所述第一数据帧属于匹配成功的分片属于的原始数据包。4.如权利要求3所述的方法,其特征在于,所述m根据匹配效率以及存储资源确定。5.如权利要求3所述的方法,其特征在于,在将所述第一数据帧的特征信息与m个数据块进行...

【专利技术属性】
技术研发人员:秦明伟马兴成韩雪梅侯宝临陈治兆吴洪洋张琦孙海峰姚远程王焕魏冬梅
申请(专利权)人:西南科技大学
类型:发明
国别省市:

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

1