CN110535742B - 报文转发方法、装置、电子设备及机器可读存储介质 - Google Patents

报文转发方法、装置、电子设备及机器可读存储介质 Download PDF

Info

Publication number
CN110535742B
CN110535742B CN201910722001.XA CN201910722001A CN110535742B CN 110535742 B CN110535742 B CN 110535742B CN 201910722001 A CN201910722001 A CN 201910722001A CN 110535742 B CN110535742 B CN 110535742B
Authority
CN
China
Prior art keywords
data
encrypted
encryption
core
message
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
CN201910722001.XA
Other languages
English (en)
Other versions
CN110535742A (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.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies 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 Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201910722001.XA priority Critical patent/CN110535742B/zh
Publication of CN110535742A publication Critical patent/CN110535742A/zh
Application granted granted Critical
Publication of CN110535742B publication Critical patent/CN110535742B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

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

本申请提供一种报文转发方法、装置、电子设备及机器可读存储介质。在本申请中,由所述数据处理核心接收待执行IPSec封装的报文,确定与所述报文对应的待加密数据;由所述交互核心将待加密数据发送至所述加解密硬件,以由所述加解密硬件对待加密数据执行加密,获得所述加解密硬件返回的加密后数据;由所述数据处理核心将加密后数据执行IPSec封装后获得IPSec报文,将所述IPSec报文转发至对应的目标设备,使得在IPSec报文处理过程中,克服了多核对加解密硬件的资源竞争;以及,避免对加解密硬件使用加解锁机制而导致的系统异常及性能下降,提高了系统及报文转发效率。

Description

报文转发方法、装置、电子设备及机器可读存储介质
技术领域
本申请涉及通信技术领域,尤其涉及报文转发方法、装置、电子设备及机器可读存储介质。
背景技术
由于经济和社会的快速发展,企业信息化程度的提高,一个常见的需求就是各地分公司或办事处同企业总部的需要跨越互联网进行信息交互以及传递,而VPN(VirtualPrivate Network,虚拟专用网络)就是应对上述需求的一种远程访问技术。VPN按应用模式划分,可以包括多种类型,其中,隧道协议IPSec(Internet Protocol Security,互联网安全协议)作为上述隧道协议中的一种,基于IPSec VPN对数据的加密是以数据包为单位的,而不是以整个数据流为单位,这不仅灵活而且有助于进一步提高IP数据包的安全性,可以有效防范网络攻击。
以IPSec作为VPN隧道协议的VPN为互联网上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证。基于IPSec VPN的多个通信方之间在IP层通过加密与数据源认证等方式,提供了数据机密性、数据完整性、数据来源认证等安全服务。
发明内容
本申请提供一种报文转发方法,所述方法应用于支持IPSec的网络设备,所述网络设备集成有多核CPU、加解密硬件;其中,所述加解密硬件与所述多核CPU经USB相连通信,所述多核CPU包括用于执行IPSec封装的数据处理核心、用于与所述加解密硬件基于USB通信的交互核心;所述方法包括:
由所述数据处理核心接收待执行IPSec封装的报文,确定与所述报文对应的待加密数据;
由所述交互核心将待加密数据发送至所述加解密硬件,以由所述加解密硬件对待加密数据执行加密,获得所述加解密硬件返回的加密后数据;
由所述数据处理核心将加密后数据执行IPSec封装后获得IPSec报文,将所述IPSec报文转发至对应的目标设备。
可选的,所述确定与所述报文对应的待加密数据,包括:
确定所述报文中的净荷,以所述净荷为作为所述报文对应的待加密数据;
生成用于指示待加密数据的数据结构,将其保存在所述数据处理核心各自对应的缓存队列中,以由所述交互核心获取;其中,所述数据结构至少包括待加密数据的数据长度及存储起始地址。
可选的,还包括:
由所述交互核心按预设轮询策略,从所述数据处理核心各自对应的缓存队列中读取对应的待加密数据的数据结构;
基于待加密数据的数据结构,获取对应的待加密数据,直至遍历完所述数据处理核心各自对应的缓存队列。
可选的,所述由所述交互核心将待加密数据发送至所述加解密硬件,包括:
基于USB块传输协议,由所述交互核心将来自所述数据处理核心确定的若干待加密数据,串行发送至所述加解密硬件。
本申请还提供一种报文转发装置,所述装置应用于支持IPSec的网络设备,所述网络设备集成有多核CPU、加解密硬件;其中,所述加解密硬件与所述多核CPU经USB相连通信,所述多核CPU包括用于执行IPSec封装的数据处理核心、用于与所述加解密硬件基于USB通信的交互核心;所述装置包括:
预处理模块,由所述数据处理核心接收待执行IPSec封装的报文,确定与所述报文对应的待加密数据;
加密模块,由所述交互核心将待加密数据发送至所述加解密硬件,以由所述加解密硬件对待加密数据执行加密,获得所述加解密硬件返回的加密后数据;
转发模块,由所述数据处理核心将加密后数据执行IPSec封装后获得IPSec报文,将所述IPSec报文转发至对应的目标设备。
可选的,所述预处理模块进一步:
确定所述报文中的净荷,以所述净荷为作为所述报文对应的待加密数据;
生成用于指示待加密数据的数据结构,将其保存在所述数据处理核心各自对应的缓存队列中,以由所述交互核心获取;其中,所述数据结构至少包括待加密数据的数据长度及存储起始地址。
可选的,所述预处理模块进一步:
由所述交互核心按预设轮询策略,从所述数据处理核心各自对应的缓存队列中读取对应的待加密数据的数据结构;
基于待加密数据的数据结构,获取对应的待加密数据,直至遍历完所述数据处理核心各自对应的缓存队列。
可选的,加密模块进一步:
基于USB块传输协议,由所述交互核心将来自所述数据处理核心确定的若干待加密数据,串行发送至所述加解密硬件。
本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述的方法。
本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。
通过以上实施例,基于数据处理核心并行处理待执行IPSec封装的报文,确定报文的待加密数据;以及,由交互核心将待加密数据串行发送给加解密硬件加密及获得加密后数据,进一步地,针对加密后数据,由数据处理核心并行进行IPSec封装及封装后的IPSec报文转发,使得在IPSec报文处理过程中,克服了多核对加解密硬件的资源竞争;以及,避免对加解密硬件使用加解锁机制而导致的系统异常及性能下降,提高了系统及报文转发效率。
附图说明
图1是一示例性实施例提供的一种网络设备的结构图;
图2是一示例性实施例提供的一种报文转发方法的流程图;
图3是一示例性实施例提供的一种IPSec报文生成及转发流程的示意图;
图4是一示例性实施例提供的一种报文转发装置的框图;
图5是一示例性实施例提供的一种电子设备的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本技术领域的人员更好地理解本申请实施例中的技术方案,下面先对本申请实施例涉及的报文转发的相关技术,进行简要说明。
请参见图1,图1是本说明书一实施例提供的一种网络设备的结构图。
如图1所示的网络设备集成有多核CPU、加解密硬件;其中,所述加解密硬件与所述多核CPU经USB相连通信,所述多核CPU包括若干处理核心(D1、D2、K1)。
如图1所示,当报文进入网络设备后,经网络设备的多核CPU及加解密硬件处理后,转换为IPSec报文从网络设备转发出。
在一些场景下,网络设备的多核CPU的多个核心在同时接收到若干需要执行IPSec处理的报文后,通常会同时基于USB访问加解密硬件执行数据加密,为了避免资源竞争,现有的技术实现中通常需要通过加锁来保证多核CPU中的每个核心访问加解密硬件操作的原子性,也即,当多核CPU中的一个指定核心在创建访问加解密硬件的锁后,当多核CPU中的其它核心需要使用该加解密硬件时,都需要等待该指定核心完成执行加密业务后释放该锁(也即,解锁),才能由下一个核心再创建访问加解密硬件的锁、执行加密业务及再解锁,以此类推,对加解密硬件访问的频繁加解锁机制,严重影响了多核CPU处理性能,降低了数据加密处理及报文转发效率。
在以上示出的网络设备架构的基础上,本申请旨在提出一种,由多核CPU中的指定核心负责与加解密硬件进行待加密数据的通信交互、而其它核心负责报文预处理及IPSec封装的报文转发的技术方案。
在实现时,网络设备支持IPSec,且网络设备集成有多核CPU、加解密硬件;其中,所述加解密硬件与所述多核CPU经USB相连通信,所述多核CPU包括用于执行IPSec封装的数据处理核心、用于与所述加解密硬件基于USB通信的交互核心。
进一步地,由所述数据处理核心接收待执行IPSec封装的报文,确定与所述报文对应的待加密数据;由所述交互核心将待加密数据发送至所述加解密硬件,以由所述加解密硬件对待加密数据执行加密,获得所述加解密硬件返回的加密后数据;由所述数据处理核心将加密后数据执行IPSec封装后获得IPSec报文,将所述IPSec报文转发至对应的目标设备。
在以上方案中,基于数据处理核心并行处理待执行IPSec封装的报文,确定报文的待加密数据;以及,由交互核心将待加密数据串行发送给加解密硬件加密及获得加密后数据,进一步地,针对加密后数据,由数据处理核心并行进行IPSec封装及封装后的IPSec报文转发,使得在IPSec报文处理过程中,克服了多核对加解密硬件的资源竞争;以及,避免对加解密硬件使用加解锁机制而导致的系统异常及性能下降,提高了系统及报文转发效率。
下面通过具体实施例并结合具体的应用场景对本申请进行描述。
请参考图2,图2是本申请一实施例提供的一种报文转发方法的流程图,所述方法应用于支持IPSec的网络设备,所述网络设备集成有多核CPU、加解密硬件;其中,所述加解密硬件与所述多核CPU经USB相连通信,所述多核CPU包括用于执行IPSec封装的数据处理核心、用于与所述加解密硬件基于USB通信的交互核心,上述方法执行以下步骤:
步骤202、由所述数据处理核心接收待执行IPSec封装的报文,确定与所述报文对应的待加密数据。
步骤204、由所述交互核心将待加密数据发送至所述加解密硬件,以由所述加解密硬件对待加密数据执行加密,获得所述加解密硬件返回的加密后数据。
步骤206、由所述数据处理核心将加密后数据执行IPSec封装后获得IPSec报文,将所述IPSec报文转发至对应的目标设备。
在本说明书中,上述加解密硬件,可以包括执行数据加密及解密的任何形式的硬件。
例如,在实际应用中,上述加解密硬件,可以包括执行数据加密及解密的ASIC(Application Specific Integrated Circuit,专用集成电路)芯片、CPLD(ComplexProgrammable Logic Device,复杂可编程逻辑器件)、FPGA(Field-Programmable GateArray,现场可编程门阵列)中的一种或其中任意几种组合。
在本说明书中,上述多核CPU是指,可以包括至少具有两个核心的遵循任何CPU指令集的CPU;其中,上述多核CPU包括有用于执行IPSec封装的上述数据处理核心、用于与上述加解密硬件基于USB通信的上述交互核心。
例如,在实际应用中,上述多核CPU可以是遵循CISC(Complex Instruction SetComputer,复杂指令集计算集)的、8个核心的CPU;其中,在该8个核心中可以选择1个核心作为用于与上述加解密硬件基于USB通信的交互核心,另外7个核心作为用于执行IPSec封装的数据处理核心。
又例如,在实际应用中,上述多核CPU可以是遵循RISC(Reduced Instruction SetComputing,精简指令集计算集)的、16个核心的CPU;其中,在该16个核心中可以选择1个核心作为用于与上述加解密硬件基于USB通信的交互核心,另外15个核心作为用于执行IPSec封装的数据处理核心。
在本说明书中,上述网络设备,可以包括支持IPSec(Internet ProtocolSecurity,互联网安全协议)的任何形式的网络设备;
其中,上述网络设备集成有上述多核CPU、上述加解密硬件;上述加解密硬件与上述多核CPU经USB相连通信。
例如,上述网络设备可以是支持IPSec的、集成有多核CPU及加解密硬件的交换机、路由器、防火墙等。
在本说明中,上述报文,包括待执行IPSec封装的任何格式的一个或多个网络报文。
例如,上述报文可以是待执行IPSec封装的一个或多个TCP报文;上述报文也可以是待执行IPSec封装的一个或多个UDP报文。
为了方便理解,这里整体介绍下上述网络设备针对IPSec报文生成及转发的整理流程。请参见图3,图3是本说明书一实施例提供的一种IPSec报文生成及转发流程的示意图。
如图3所示,上述网络设备通过软件层接收上述报文,向驱动层下发上述报文对应的待加密数据;驱动层将待加密的数据通过USB通道,以USB块传输协议发送给加解密硬件加密,以及获得加密后的数据;进一步地,驱动层将获得的加密后的数据返回给软件层;由软件层将加密后的数据封装为IPSec报文及转发出网络设备。
在本说明书中,在上述报文进入到上述网络设备后,由上述数据处理核心接收上述报文,确定与上述报文对应的待加密数据。
例如,请参见图1所示,上述数据处理核心包括D1、D2;在待执行IPSec封装的100个报文进入到网络设备后,由D1、D2接收该100个报文,分别确定与该100个报文分别对应的待加密数据。
在示出的一种实施方式中,上述数据处理核心确定上述报文中的净荷,以上述净荷为作为上述报文对应的待加密数据。
接着以上示例继续举例,数据处理核心D1、D2在软件层获取100个报文分别对应的100个净荷,以该100个净荷为作为该100个报文分别对应的100个待加密数据。
在本说明书中,上述数据结构,是指由上述数据处理核心生成的用于指示上述报文对应待加密数据的结构体;
其中,上述数据结构至少包括待加密数据的数据长度及存储起始地址;
例如,上述数据结构至少包括上述报文对应待加密数据的数据长度,以上述报文对应待加密数据保存空间的存储起始地址,以使上述数据处理核心可以基于该存储起始地址及数据长度,获取上述报文对应的待加密数据。
在本说明书中,上述数据处理核心生成上述数据结构,将其保存在上述数据处理核心各自对应的缓存队列中,以由上述交互核心获取。
例如,请参见图1所示,上述数据处理核心包括D1、D2,上述交互处理核心为K1;数据处理核心D1、D2生成上述报文对应的上述数据结构,将其保存在数据处理核心D1、D2各自对应的缓存队列中,以由交互核心K1获取。
在本说明书中,进一步地,由上述交互核心按预设轮询策略,从上述数据处理核心各自对应的缓存队列中读取对应的待加密数据的数据结构。
例如,请参见图1所示,交互核心K1按预设轮询策略(比如:间隔100ms),先从数据处理核心D1对应的缓存队列中读取对应的待加密数据的数据结构,再从数据处理核心D2对应的缓存队列中读取对应的待加密数据的数据结构。
在本说明中,进一步地,上述交互核心基于待加密数据对应的上述数据结构,获取对应的待加密数据,直至遍历完上述数据处理核心各自对应的缓存队列。
例如,交互核心K1根据上述数据结构中的存储起始地址及数据长度,从存储空间中获取上述报文对应的待加密数据,交互核心K1需要循环遍历数据处理核心D1、D2各自对应的缓存队列,直到数据处理核心D1、D2各自对应的缓存队列被处理完。
在本说明中,由上述交互核心将待加密数据发送至上述加解密硬件,以由上述加解密硬件对待加密数据执行加密,获得上述加解密硬件返回的加密后数据。
例如,请参见图1所示,交互核心K1将上述报文对应的待加密数据发送至加解密硬件,以由加解密硬件对待加密数据执行加密,获得上述加解密硬件返回的加密后数据。
在示出的一种实施方式中,基于USB块传输协议,由上述交互核心将来自上述数据处理核心确定的若干待加密数据,串行发送至上述加解密硬件。
例如,请参见图1所示,基于USB块传输协议,由交互核心K1将来自数据处理核心D1、D2确定的若干待加密数据,串行发送至上述加解密硬件,以由加解密硬件对待加密数据执行加密,获得上述加解密硬件返回的加密后数据。
需要说明的是,上述数据核心不与上述加解密硬件执行数据交互,而仅由上述交互核心与上述加解密硬件执行串行数据交互,避免了现有技术方案中的多核对加解密硬件并发访问的频繁加解锁机制,从而提高了系统效率。
在本说明书中,在获得上述加解密硬件返回的加密后数据后,上述交互核心可以将该加密后数据保存在特定的存储空间。
例如,在实际应用中,在获得上述加解密硬件返回的加密后数据后,上述交互核心可以保存上述报文对应的加密后数据,并进一步通过设置上述报文对应的上述数据结构的待加密数据的状态,指示上述报文对应的待加密数据的状态为已加密。
在本说明书中,由上述数据处理核心将加密后数据执行IPSec封装后获得IPSec报文,将上述IPSec报文转发至对应的目标设备。
接着以上示例继续举例,由上述数据处理核心分别从各自的缓存队列中读取上述报文对应的上述报文结构,根据上述报文结构进一步获取对应密后数据的存储起始地址及数据长度,从而从存储空间中获取对应的加密后数据,将加密后数据执行IPSec封装后获得IPSec报文;并基于IPSec协议,将该IPSec报文转发至对应的目标设备。IPSec报文协商及转发过程,请参见IPSec协议说明,这里不再赘述。
需要说明的是,由于IPSec的加密和解密是按IPSec报文方向成对配合的,在IPSec报文从作为IPSec本端角色的上述网络设备转发至与上述网络设备作为IPSec对端角色的对端网络设备后,由对端网络设备所集成上述加解密硬件执行解密。
在以上技术方案中,基于数据处理核心并行处理待执行IPSec封装的报文,确定报文的待加密数据;以及,由交互核心将待加密数据串行发送给加解密硬件加密及获得加密后数据,进一步地,针对加密后数据,由数据处理核心并行进行IPSec封装及封装后的IPSec报文转发,使得在IPSec报文处理过程中,克服了多核对加解密硬件的资源竞争;以及,避免对加解密硬件使用加解锁机制而导致的系统异常及性能下降,提高了系统及报文转发效率。
图4是本申请一示例性实施例提供的一种报文转发装置的框图。与上述方法实施例相对应,本申请还提供了一种报文转发装置的实施例,所述装置应用于支持IPSec的网络设备,所述网络设备集成有多核CPU、加解密硬件;其中,所述加解密硬件与所述多核CPU经USB相连通信,所述多核CPU包括用于执行IPSec封装的数据处理核心、用于与所述加解密硬件基于USB通信的交互核心;请参考图4所示例的一种报文转发装置40,所述装置包括:
预处理模块,由所述数据处理核心接收待执行IPSec封装的报文,确定与所述报文对应的待加密数据;
加密模块,由所述交互核心将待加密数据发送至所述加解密硬件,以由所述加解密硬件对待加密数据执行加密,获得所述加解密硬件返回的加密后数据;
转发模块,由所述数据处理核心将加密后数据执行IPSec封装后获得IPSec报文,将所述IPSec报文转发至对应的目标设备。
在本实施例中,所述预处理模块进一步:
确定所述报文中的净荷,以所述净荷为作为所述报文对应的待加密数据;
生成用于指示待加密数据的数据结构,将其保存在所述数据处理核心各自对应的缓存队列中,以由所述交互核心获取;其中,所述数据结构至少包括待加密数据的数据长度及存储起始地址。
在本实施例中,所述预处理模块进一步:
由所述交互核心按预设轮询策略,从所述数据处理核心各自对应的缓存队列中读取对应的待加密数据的数据结构;
基于待加密数据的数据结构,获取对应的待加密数据,直至遍历完所述数据处理核心各自对应的缓存队列。
在本实施例中,加密模块进一步:
基于USB块传输协议,由所述交互核心将来自所述数据处理核心确定的若干待加密数据,串行发送至所述加解密硬件。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本申请的报文转发装置的实施例可以应用在图5所示的电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将机器可读存储介质中对应的计算机程序指令读取后运行形成的机器可执行指令。从硬件层面而言,如图5所示,为本申请的报文转发装置所在电子设备的一种硬件结构图,除了图5所示的处理器、通信接口、总线以及机器可读存储介质之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
对应地,本申请实施例还提供了图4所示装置的一种电子设备的硬件结构,请参见图5,图5为本申请实施例提供的一种电子设备的硬件结构示意图。该设备包含:通信接口501、处理器502、机器可读存储介质503和总线504;其中,通信接口501、处理器502、机器可读存储介质503通过总线504完成相互间的通信。其中,通信接口501,用于进行网络通信。处理器502可以是一个中央处理器(CPU),处理器502可以执行机器可读存储介质503中存储的机器可读指令,以实现以上描述的方法。
本文中提到的机器可读存储介质503可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质503可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
至此,完成图5所示的硬件结构描述。
此外,本申请实施例还提供了一种包括机器可执行指令的机器可读存储介质,例如图5中的机器可读机器可读存储介质503,所述机器可执行指令可由数据处理装置中的处理器502执行以实现以上描述的数据处理方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (8)

1.一种报文转发方法,其特征在于,所述方法应用于支持IPSec的网络设备,所述网络设备集成有多核CPU、加解密硬件;其中,所述加解密硬件与所述多核CPU经USB相连通信,所述多核CPU包括用于执行IPSec封装的数据处理核心、用于与所述加解密硬件基于USB通信的交互核心;所述方法包括:
由所述数据处理核心接收待执行IPSec封装的报文,确定与所述报文对应的待加密数据;
由所述交互核心按预设轮询策略,从所述数据处理核心各自对应的缓存队列中读取对应的待加密数据的数据结构;
基于待加密数据的数据结构,获取对应的待加密数据,直至遍历完所述数据处理核心各自对应的缓存队列;
由所述交互核心将待加密数据发送至所述加解密硬件,以由所述加解密硬件对待加密数据执行加密,获得所述加解密硬件返回的加密后数据;
由所述数据处理核心将加密后数据执行IPSec封装后获得IPSec报文,将所述IPSec报文转发至对应的目标设备。
2.根据权利要求1所述的方法,其特征在于,所述确定与所述报文对应的待加密数据,包括:
确定所述报文中的净荷,以所述净荷为作为所述报文对应的待加密数据;
生成用于指示待加密数据的数据结构,将其保存在所述数据处理核心各自对应的缓存队列中,以由所述交互核心获取;其中,所述数据结构至少包括待加密数据的数据长度及存储起始地址。
3.根据权利要求1所述的方法,其特征在于,所述由所述交互核心将待加密数据发送至所述加解密硬件,包括:
基于USB块传输协议,由所述交互核心将来自所述数据处理核心确定的若干待加密数据,串行发送至所述加解密硬件。
4.一种报文转发装置,其特征在于,所述装置应用于支持IPSec的网络设备,所述网络设备集成有多核CPU、加解密硬件;其中,所述加解密硬件与所述多核CPU经USB相连通信,所述多核CPU包括用于执行IPSec封装的数据处理核心、用于与所述加解密硬件基于USB通信的交互核心;所述装置包括:
预处理模块,由所述数据处理核心接收待执行IPSec封装的报文,确定与所述报文对应的待加密数据;由所述交互核心按预设轮询策略,从所述数据处理核心各自对应的缓存队列中读取对应的待加密数据的数据结构;基于待加密数据的数据结构,获取对应的待加密数据,直至遍历完所述数据处理核心各自对应的缓存队列;
加密模块,由所述交互核心将待加密数据发送至所述加解密硬件,以由所述加解密硬件对待加密数据执行加密,获得所述加解密硬件返回的加密后数据;
转发模块,由所述数据处理核心将加密后数据执行IPSec封装后获得IPSec报文,将所述IPSec报文转发至对应的目标设备。
5.根据权利要求4所述的装置,其特征在于,所述预处理模块进一步:
确定所述报文中的净荷,以所述净荷为作为所述报文对应的待加密数据;
生成用于指示待加密数据的数据结构,将其保存在所述数据处理核心各自对应的缓存队列中,以由所述交互核心获取;其中,所述数据结构至少包括待加密数据的数据长度及存储起始地址。
6.根据权利要求4所述的装置,其特征在于,加密模块进一步:
基于USB块传输协议,由所述交互核心将来自所述数据处理核心确定的若干待加密数据,串行发送至所述加解密硬件。
7.一种电子设备,其特征在于,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行如权利要求1至3任一项所述的方法。
8.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现权利要求1至3任一项所述的方法。
CN201910722001.XA 2019-08-06 2019-08-06 报文转发方法、装置、电子设备及机器可读存储介质 Active CN110535742B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910722001.XA CN110535742B (zh) 2019-08-06 2019-08-06 报文转发方法、装置、电子设备及机器可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910722001.XA CN110535742B (zh) 2019-08-06 2019-08-06 报文转发方法、装置、电子设备及机器可读存储介质

Publications (2)

Publication Number Publication Date
CN110535742A CN110535742A (zh) 2019-12-03
CN110535742B true CN110535742B (zh) 2022-03-01

Family

ID=68661504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910722001.XA Active CN110535742B (zh) 2019-08-06 2019-08-06 报文转发方法、装置、电子设备及机器可读存储介质

Country Status (1)

Country Link
CN (1) CN110535742B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111131046B (zh) * 2019-12-16 2022-02-08 东软集团股份有限公司 报文转发方法和多核系统
CN113132264B (zh) * 2019-12-31 2024-02-02 中兴通讯股份有限公司 一种安全计算控制方法、数据包处理方法、装置及其系统
CN112543197B (zh) * 2020-12-04 2022-09-06 中船重工(武汉)凌久电子有限责任公司 一种xfrm框架下对ipsec实现硬件加解密的方法
CN113032798A (zh) * 2021-01-29 2021-06-25 新华三信息安全技术有限公司 一种文件加解密的方法、设备和存储介质
CN114785536A (zh) * 2022-02-28 2022-07-22 新华三信息安全技术有限公司 一种报文处理方法及装置
CN115250257B (zh) * 2022-04-16 2024-01-05 深圳星云智联科技有限公司 应用于dpu的以太报文处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101471839A (zh) * 2007-12-29 2009-07-01 北京天融信网络安全技术有限公司 多核异步实现IPSec vpn的方法
CN102882789A (zh) * 2012-09-17 2013-01-16 华为技术有限公司 一种数据报文处理方法、系统及设备
CN106341404A (zh) * 2016-09-09 2017-01-18 西安工程大学 基于众核处理器的IPSec VPN系统及加解密处理方法
CN110012027A (zh) * 2019-04-19 2019-07-12 鼎信信息科技有限责任公司 配电安全通信终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101471839A (zh) * 2007-12-29 2009-07-01 北京天融信网络安全技术有限公司 多核异步实现IPSec vpn的方法
CN102882789A (zh) * 2012-09-17 2013-01-16 华为技术有限公司 一种数据报文处理方法、系统及设备
CN106341404A (zh) * 2016-09-09 2017-01-18 西安工程大学 基于众核处理器的IPSec VPN系统及加解密处理方法
CN110012027A (zh) * 2019-04-19 2019-07-12 鼎信信息科技有限责任公司 配电安全通信终端

Also Published As

Publication number Publication date
CN110535742A (zh) 2019-12-03

Similar Documents

Publication Publication Date Title
CN110535742B (zh) 报文转发方法、装置、电子设备及机器可读存储介质
US11626984B2 (en) Blockchain integrated station and cryptographic acceleration card, key management methods and apparatuses
CN109992405B (zh) 一种处理数据报文的方法和网卡
CN110391900A (zh) 基于sm2算法的私钥处理方法、终端及密钥中心
WO2018130079A1 (zh) 一种英特网协议安全IPSec协议加密方法和网络设备
US10262146B2 (en) Application-to-application messaging over an insecure application programming interface
WO2021022794A1 (zh) 基于rdma的数据传输方法、网卡、服务器及介质
US20210243169A1 (en) Proxy service through hardware acceleration using an io device
US11722467B2 (en) Secured communication from within non-volatile memory device
CN109831775B (zh) 一种处理器、基带芯片以及sim卡信息传输方法
CN112671705A (zh) 报文的处理方法、装置、电子设备及计算机可读存储介质
CN110598416B (zh) 交易调度方法及装置
CN109905310B (zh) 数据传输方法、装置、电子设备
CN109547318B (zh) Vpn数据报文的处理方法、装置、电子设备
CN116527405B (zh) 一种srv6报文加密传输方法、装置及电子设备
CN113810397B (zh) 协议数据的处理方法及装置
CN114978676B (zh) 基于FPGA、eBPF协同的数据包加解密方法及系统
CN111835613A (zh) 一种vpn服务器的数据传输方法及vpn服务器
US20060013397A1 (en) Channel adapter managed trusted queue pairs
CN114980083A (zh) 一种基于自适应应用的安全通信方法以及服务端
JP4912797B2 (ja) 暗号装置及び復号装置及び暗号方法及び復号方法及びプログラム
CN115987513B (zh) 分布式数据库分片加密、解密方法、装置、设备及介质
CN114866409B (zh) 基于密码加速硬件的密码加速方法及装置
US11936635B2 (en) Method, electronic device, and program product implemented at an edge switch for data encryption
CN113177213B (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
GR01 Patent grant
GR01 Patent grant