一种网络通信数据包保序方法技术

技术编号:15058774 阅读:73 留言:0更新日期:2017-04-06 04:50
本发明专利技术公开了一种网络通信数据包保序方法,将缓冲队列放在算法核之前,查询各算法核当前的数据包类型来将需要保序的数据包同一时间只分发到一个算法核中去,保证需要保序的数据包能够保序的输出,同时不降低系统整体的性能。本发明专利技术能在相当大的应用范围内用最少的硬件资源消耗解决数据包保序问题,降低缓冲队列的硬件消耗,减小冗余逻辑的设计复杂度。

【技术实现步骤摘要】

本专利技术属于网络通信
,涉及一种网络通信数据包保序方法
技术介绍
在加密网络系统中对特定应用有数据包保序的需求,比如加密语音通话或视频通话。语音或视频对网络延迟非常敏感,如果出现数据包到达先后顺序不一致而造成的网络延迟高的情况会极大影响通话质量或画面出现大面积的马赛克。目前最常用的处理办法就是对进入加密核的数据包标记上序号,在硬件算法核后面放一个大的缓冲池,加过密的数据包根据标记的序号依次输出,如图1所示。此种方案的不足主要体现在硬件开销很大,一方面FPGA中的RAM有限,缓冲池会消耗掉大量的RAM资源和布局布线资源;另一方面缓冲池也不可能无限大,需要考虑数据包过期丢弃处理,设计非常复杂,而且增加了额外的资源消耗。由于数据包的长度非常随机,而且有些是需要保序处理,有些则没有这样的需求,经过算法核处理数据包的时间跟数据包的长度相关。当某一个需要保序的应用数据包,分发到不同的算法核中运算,次序晚但长度短的数据包可能会先运算完毕。这时就需要等待它前面的数据包都运算完毕后才能依次输出。这就需要一个缓冲队列来存储这些等待的数据包。但缓冲队列又不可能无限大,这就又需要一些冗余的逻辑来维护这个缓冲队列,硬件开销大,逻辑设计复杂。
技术实现思路
针对上述问题,本专利技术提供了一种网络通信数据包保序方法,实现用最少的硬件资源消耗解决数据包保序问题。本专利技术的技术方案如下:一种网络通信数据包保序方法,包括如下步骤:步骤一,在每个算法核前设置一个队列,用来缓存需要处理的数据;步骤二,数据包处理顺序的确定,判断当前数据包是否与其他算法核正在处理的数据包标记一致,若一致则跳过,比对下一个数据包,若不一致则处理此数据包;步骤三,数据包的分发,根据队列中数据的长度来计算处理所需的时间,总是将数据包放入处理时间最短的队列中;步骤四,算法核处理数据包;步骤五,轮询输出算法结果。进一步的,与数据包一起加载进算法核中的还包括密钥、IV在内的参数。本专利技术的有益技术效果是:本专利技术能在相当大的应用范围内用最少的硬件资源消耗解决数据包保序问题,在通信数据保序时避免缓存和定时老化,不但降低了缓冲队列的硬件消耗,而且减小了冗余逻辑的设计复杂度。本专利技术的优点将在下面具体实施方式部分的描述中给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明图1是现有的数据包保序方法流程图。图2是本专利技术的数据包保序方法流程图。具体实施方式下面结合附图对本专利技术的具体实施方式做进一步说明。如图2所示,本专利技术根据应用的实际需求,将缓冲队列放在算法核之前,查询各算法核当前的数据包类型来将需要保序的数据包同一时间只分发到一个算法核中去。这样就能保证需要保序的数据包能够保序的输出,同时不降低系统整体的性能。每个算法核前都有一个队列,用来缓存需要处理的数据,但处理数据的顺序并不是像FIFO那样先入先处理,而是要判断数据包是否与其他算法核正在处理的数据包标记一致,若一致则跳过,比对下一个数据包,若不一致则处理此数据包。数据包的标记工作由前端的CPU来完成。数据包的分发是根据队列中数据的长来计算处理所需的时间,总是将数据包放入处理时间最短的那个队列。网络接口的吞吐率总是大于算法的吞吐率的总和,因此轮询输出的性能已经能满足算法结果输出的需求。调用算法除了需要网络接口发来的数据包,还需要准备相应的密钥(存储在片外SRAM中)、IV等参数。这些参数在算法队列中排队的时候就应该要准备好,与数据一起加载进算法核中。以上所述的仅是本专利技术的优选实施方式,本专利技术不限于以上实施例。可以理解,本领域技术人员在不脱离本专利技术的基本构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本专利技术的保护范围之内。本文档来自技高网...

【技术保护点】
一种网络通信数据包保序方法,其特征在于,包括如下步骤:步骤一,在每个算法核前设置一个队列,用来缓存需要处理的数据;步骤二,数据包处理顺序的确定,判断当前数据包是否与其他算法核正在处理的数据包标记一致,若一致则跳过,比对下一个数据包,若不一致则处理此数据包;步骤三,数据包的分发,根据队列中数据的长度来计算处理所需的时间,总是将数据包放入处理时间最短的队列中;步骤四,算法核处理数据包;步骤五,轮询输出算法结果。

【技术特征摘要】
1.一种网络通信数据包保序方法,其特征在于,包括如下步骤:
步骤一,在每个算法核前设置一个队列,用来缓存需要处理的数据;
步骤二,数据包处理顺序的确定,判断当前数据包是否与其他算法核正在
处理的数据包标记一致,若一致则跳过,比对下一个数据包,若不一致则处理
此数据包;
步骤三,...

【专利技术属性】
技术研发人员:李高健张沛
申请(专利权)人:上海信昊信息科技有限公司
类型:发明
国别省市:上海;31

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

1