CN109542633A - 一种提高网络数据包加密速度的方法 - Google Patents
一种提高网络数据包加密速度的方法 Download PDFInfo
- Publication number
- CN109542633A CN109542633A CN201811146759.5A CN201811146759A CN109542633A CN 109542633 A CN109542633 A CN 109542633A CN 201811146759 A CN201811146759 A CN 201811146759A CN 109542633 A CN109542633 A CN 109542633A
- Authority
- CN
- China
- Prior art keywords
- data
- fpga
- channel
- protocol
- sent
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000005538 encapsulation Methods 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 5
- 108091006146 Channels Proteins 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种提高网络数据包加密速度的方法。通过对内核网络协议栈改造,将IPSEC协议处理部分交由硬件FPGA实现;同时将CPU处理器与FPGA之间通过高速Serdes串行通道互联,支持异步通信方式。本发明通过硬件FPGA实现IPSEC数据格式封装,大大降低了CPU处理器资源负载,提高了网络协议栈运行效率。通过高速Serdes串行通道、异步通信方式和多路协议处理和算法核,实现了高速加解密运算。
Description
技术领域:
本发明属于网络数据包加密技术领域,特别涉及一种提高网络数据包加密速度的方法。
背景技术:
传统网络加密设备主要基于操作系统内核网络协议栈、Crypto加密框架和PCIE硬件算法卡设计。网络协议栈负责数据发收发,密钥和策略的管理,ipsec数据包封装处理;Crypto负责加解密算法和认证算法的实现;PCIE算法卡负责算法硬件加速。由于网络协议栈中IPSEC协议处理部分会对进出数据包进行安全策略检查,并根据SA(安全联盟)进行加密、封装等安全处理,极大损耗CPU处理器资源;而Crypto加密框架的同步加解密机制,以及PCIE通信接口基于中断的调度模式均不适用于数据小包传输和加密,造成网络加密设备整体加解密速率低,时延大,流量不均衡,极大影响了使用效果。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容:
本发明的目的在于提供一种提高网络数据包加密速度的方法,从而克服上述现有技术中的缺陷。
为实现上述目的,本发明提供了一种提高网络数据包加密速度的方法,其步骤为:(1)CPU处理器通过网络协议栈截取数据包,查询SA获取密钥参数后,通过Crypto异步加解密接口和Serdes串行通道将数据包和密钥参数发送给FPGA:
(2)FPGA通过接收队列接收、解码、校验数据包,进行时钟域调整,通过判断协议号,将业务报文和其它报文分流:
(3)FPGA的Ipsec协议封装模块接收到业务报文以后,在其管理的协议封装通道中选择一个空闲的通道,将数据协议报文送入:
(4)FPGA算法调度模块根据业务报文中的操作对象,将数据净荷送到分组算法、摘要算法和认证算法通道:
(5)协议封装通道的和算法通道输出结果,交由数据会聚处理模块进行数据格式封装后,依次将数据报文发送到发送队列:
(6)发送队列经过时钟域进行调整,增加前导码和MAC帧的校验尾后,将数据报文通过Serdes通道返回CPU处理器。
与现有技术相比,本发明具有如下有益效果:
通过硬件FPGA实现IPSEC数据格式封装,大大降低了CPU处理器资源负载,提高了网络协议栈运行效率。通过高速Serdes串行通道、异步通信方式和多路协议处理和算法核,实现了高速加解密运算。
附图说明:
图1为本发明一种提高网络数据包加密速度的方法工作流程示意图。
具体实施方式:
下面对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
实施例1
如图1所示,一种提高网络数据包加密速度的方法,其步骤为:(1)CPU处理器通过网络协议栈截取密文数据包,查询IPSEC SA获取密钥参数后,通过Crypto异步加解密接口将数据包和密钥参数经过Serdes串行通道发送给FPGA:
(2)FPGA通过接收队列接收、解码、校验数据包,进行时钟域调整,通过判数据分发汇聚模块断协议号,将业务报文和其它报文分流:
(3)FPGA的Ipsec协议封装模块接收到业务报文以后,在其管理的协议封装通道中选择一个空闲的通道,将数据协议报文送入:
(4)FPGA算法运算调度模块根据业务报文中的操作对象,将数据净荷送到分组算法、摘要算法和认证算法通道:
(5)协议封装通道的和算法通道分别输出结果,交由数据会聚处理模块进行数据格式封装后,依次将数据报文发送到发送队列:
(6)发送队列经过时钟域进行调整,增加前导码和MAC帧的校验尾后,将数据报文通过Serdes通道返回CPU处理器。
通过硬件FPGA实现IPSEC数据格式封装,大大降低了CPU处理器资源负载,提高了网络协议栈运行效率。通过高速Serdes串行通道、异步通信方式和多路协议处理和算法核,实现了高速加解密运算。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
Claims (1)
1.一种提高网络数据包加密速度的方法,其步骤为:(1)CPU处理器通过网络协议栈截取数据包,查询SA获取密钥参数后,通过Crypto异步加解密接口和Serdes串行通道将数据包和密钥参数发送给FPGA:
(2)FPGA通过接收队列接收、解码、校验数据包,进行时钟域调整,通过判断协议号,将业务报文和其它报文分流:
(3)FPGA的Ipsec协议封装模块接收到业务报文以后,在其管理的协议封装通道中选择一个空闲的通道,将数据协议报文送入:
(4)FPGA算法调度模块根据业务报文中的操作对象,将数据净荷送到分组算法、摘要算法和认证算法通道:
(5)协议封装通道的和算法通道输出结果,交由数据会聚处理模块进行数据格式封装后,依次将数据报文发送到发送队列:
(6)发送队列经过时钟域进行调整,增加前导码和MAC帧的校验尾后,将数据报文通过Serdes通道返回CPU处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811146759.5A CN109542633A (zh) | 2018-09-29 | 2018-09-29 | 一种提高网络数据包加密速度的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811146759.5A CN109542633A (zh) | 2018-09-29 | 2018-09-29 | 一种提高网络数据包加密速度的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109542633A true CN109542633A (zh) | 2019-03-29 |
Family
ID=65843383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811146759.5A Pending CN109542633A (zh) | 2018-09-29 | 2018-09-29 | 一种提高网络数据包加密速度的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109542633A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113194097A (zh) * | 2021-04-30 | 2021-07-30 | 北京数盾信息科技有限公司 | 一种安全网关的数据处理方法、装置及安全网关 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102970228A (zh) * | 2012-11-22 | 2013-03-13 | 杭州华三通信技术有限公司 | 一种基于IPsec的报文传输方法和设备 |
WO2017173806A1 (zh) * | 2016-04-07 | 2017-10-12 | 烽火通信科技股份有限公司 | 交换芯片或np与cpu协同完成报文ipsec加密的方法与系统 |
-
2018
- 2018-09-29 CN CN201811146759.5A patent/CN109542633A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102970228A (zh) * | 2012-11-22 | 2013-03-13 | 杭州华三通信技术有限公司 | 一种基于IPsec的报文传输方法和设备 |
WO2017173806A1 (zh) * | 2016-04-07 | 2017-10-12 | 烽火通信科技股份有限公司 | 交换芯片或np与cpu协同完成报文ipsec加密的方法与系统 |
Non-Patent Citations (1)
Title |
---|
张龙飞: "IPSec协议下加密IP核的设计与FPGA实现" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113194097A (zh) * | 2021-04-30 | 2021-07-30 | 北京数盾信息科技有限公司 | 一种安全网关的数据处理方法、装置及安全网关 |
CN113194097B (zh) * | 2021-04-30 | 2022-02-11 | 北京数盾信息科技有限公司 | 一种安全网关的数据处理方法、装置及安全网关 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102780625B (zh) | 一种实现ipsec vpn加解密处理的方法及装置 | |
CN113194097B (zh) | 一种安全网关的数据处理方法、装置及安全网关 | |
CN108768888B (zh) | 一种电力系统量子加密业务的队列调度方法 | |
CN102104544B (zh) | 硬件加速的多核处理器ip隧道分片报文流保序方法 | |
US9300597B2 (en) | Statistics module for network processors in virtual local area networks | |
US8949578B2 (en) | Sharing of internal pipeline resources of a network processor with external devices | |
WO2005083982A1 (en) | Unified architecture for wired and wireless networks | |
CN104468309B (zh) | 一种低速smp与高速密码卡的高效适配方法 | |
CN102664729A (zh) | 一种基于fpga的aes加解密网络通讯装置及其实现方法 | |
WO2021004210A1 (zh) | 一种报文处理方法及相关装置 | |
CN104393958B (zh) | 基于流水线的数据帧发送方法、接收方法 | |
CN102664896A (zh) | 基于硬件加密的安全网络传输系统及传输方法 | |
WO2014015498A1 (zh) | 报文发送方法、接收方法、装置及系统 | |
CN112699397A (zh) | 基于虚拟环境下的软件加解密方法和系统 | |
CN104283854A (zh) | 一种基于IPSec的VPN中大数据量传输方法 | |
CN109542633A (zh) | 一种提高网络数据包加密速度的方法 | |
CN103686616B (zh) | 一种集群组呼安全加密同步的方法 | |
CN110011939A (zh) | 一种支持量子密钥进行数据加密以太网交换机 | |
CN101515853B (zh) | 信息终端及其信息安全装置 | |
CN110912841B (zh) | 面向128bit位宽的SRIO协议控制字符与数据包分离系统 | |
Müller et al. | Protecting PROFINET cyclic real-time traffic: A performance evaluation and verification platform | |
CN105263165B (zh) | 一种基于fpga的网络数据连包拆分方法 | |
CN102170434A (zh) | 一种基于多核处理器实现ipsec的方法及其装置 | |
CN104158788A (zh) | 一种端到端传输数据的方法 | |
CN101272246B (zh) | 一种虚网卡与物理网卡的数据安全传输方法及其系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190329 |
|
WD01 | Invention patent application deemed withdrawn after publication |