CN105656809B - 一种网络通信数据包保序方法 - Google Patents

一种网络通信数据包保序方法 Download PDF

Info

Publication number
CN105656809B
CN105656809B CN201610079926.3A CN201610079926A CN105656809B CN 105656809 B CN105656809 B CN 105656809B CN 201610079926 A CN201610079926 A CN 201610079926A CN 105656809 B CN105656809 B CN 105656809B
Authority
CN
China
Prior art keywords
data packet
algorithm
order
preserving
algorithm core
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610079926.3A
Other languages
English (en)
Other versions
CN105656809A (zh
Inventor
李高健
张沛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Xinhao Information Technology Co Ltd
Original Assignee
Shanghai Xinhao Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Xinhao Information Technology Co Ltd filed Critical Shanghai Xinhao Information Technology Co Ltd
Priority to CN201610079926.3A priority Critical patent/CN105656809B/zh
Publication of CN105656809A publication Critical patent/CN105656809A/zh
Application granted granted Critical
Publication of CN105656809B publication Critical patent/CN105656809B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/624Altering the ordering of packets in an individual queue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

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

Claims (2)

1.一种网络通信数据包保序方法,其特征在于,包括如下步骤:
步骤一,在每个算法核前设置一个队列,用来缓存需要处理的数据;
步骤二,数据包处理顺序的确定,查询各算法核当前处理的数据包类型来将需要保序的数据包同一时间只分发到一个算法核中去;判断当前数据包是否与其他算法核正在处理的数据包标记一致,若一致则跳过,比对下一个数据包,若不一致则处理此数据包;
步骤三,数据包的分发,根据队列中数据的长度来计算处理所需的时间,总是将数据包放入处理时间最短的队列中;
步骤四,算法核处理数据包;
步骤五,轮询输出算法结果;
其中,网络接口的吞吐率总是大于算法的吞吐率的总和。
2.根据权利要求1所述的网络通信数据包保序方法,其特征在于:与数据包一起加载进算法核中的还包括密钥、IV在内的参数。
CN201610079926.3A 2016-02-04 2016-02-04 一种网络通信数据包保序方法 Active CN105656809B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610079926.3A CN105656809B (zh) 2016-02-04 2016-02-04 一种网络通信数据包保序方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610079926.3A CN105656809B (zh) 2016-02-04 2016-02-04 一种网络通信数据包保序方法

Publications (2)

Publication Number Publication Date
CN105656809A CN105656809A (zh) 2016-06-08
CN105656809B true CN105656809B (zh) 2019-07-19

Family

ID=56489347

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610079926.3A Active CN105656809B (zh) 2016-02-04 2016-02-04 一种网络通信数据包保序方法

Country Status (1)

Country Link
CN (1) CN105656809B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1921457A (zh) * 2006-09-18 2007-02-28 杭州华为三康技术有限公司 一种网络设备和基于多核处理器的报文转发方法
CN101394362A (zh) * 2008-11-12 2009-03-25 清华大学 基于流分片的对多核网络处理器进行负载均衡的方法
CN101771595A (zh) * 2008-12-29 2010-07-07 华为技术有限公司 一种报文保序的方法和装置
CN102546424A (zh) * 2012-01-20 2012-07-04 华为技术有限公司 报文保序方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1921457A (zh) * 2006-09-18 2007-02-28 杭州华为三康技术有限公司 一种网络设备和基于多核处理器的报文转发方法
CN101394362A (zh) * 2008-11-12 2009-03-25 清华大学 基于流分片的对多核网络处理器进行负载均衡的方法
CN101771595A (zh) * 2008-12-29 2010-07-07 华为技术有限公司 一种报文保序的方法和装置
CN102546424A (zh) * 2012-01-20 2012-07-04 华为技术有限公司 报文保序方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
多核网络处理器并行任务调度软硬件关键技术研究;赵庆贺;《中国优秀硕士学位论文全文数据库信息科技辑》;20130315;全文

Also Published As

Publication number Publication date
CN105656809A (zh) 2016-06-08

Similar Documents

Publication Publication Date Title
US9898356B2 (en) Packet processing on a multi-core processor
US20120036230A1 (en) Message send queue reordering based on priority
US20130166668A1 (en) Method and apparatus to process interest messages and data messages based on priorities in content-centric network (ccn)
JP2017050001A (ja) 効果的なニューラルネットワークの配置に用いるシステム及び方法
CN102447628B (zh) 一种数据包传输处理方法及系统
US7573895B2 (en) Software assisted RDMA
US20140223436A1 (en) Method, apparatus, and system for providing and using a scheduling delta queue
CN101282303B (zh) 业务报文处理方法和装置
CN105554049B (zh) 分布式业务量控制方法和装置
JP2022518636A (ja) データ処理方法、装置、設備、システム、記憶媒体及びプログラム製品
US20180129528A1 (en) Predicting transaction outcome based on artifacts in a transaction processing environment
US9164771B2 (en) Method for thread reduction in a multi-thread packet processor
CN106411778A (zh) 数据转发的方法及装置
US20100150150A1 (en) Optimizing Throughput of Data in a Communications Network
AU2013347470B2 (en) Traffic management scheduling method and apparatus
Jeż et al. Online scheduling of packets with agreeable deadlines
Hwang et al. Modification of mosquitto broker for delivery of urgent MQTT message
US10467161B2 (en) Dynamically-tuned interrupt moderation
CN105656809B (zh) 一种网络通信数据包保序方法
CN106899308B (zh) 一种软硬件结合的自适应实时gzip数据解压缩方法及系统
JP5294761B2 (ja) セキュア通信装置、セキュア通信方法及びプログラム
CN103207775B (zh) 采用gpu加速进行实时网络流应用程序的处理方法
US11475356B2 (en) Data processing method, electronic device and computer readable storage method for deduplication of a training dataset
WO2024001411A1 (zh) 多线程调度方法及装置
CN105450543B (zh) 语音数据传输方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant