CN117255061A - 基于dpu的加密报文限速方法及装置 - Google Patents
基于dpu的加密报文限速方法及装置 Download PDFInfo
- Publication number
- CN117255061A CN117255061A CN202311191536.1A CN202311191536A CN117255061A CN 117255061 A CN117255061 A CN 117255061A CN 202311191536 A CN202311191536 A CN 202311191536A CN 117255061 A CN117255061 A CN 117255061A
- Authority
- CN
- China
- Prior art keywords
- message
- dpu
- target
- speed limiting
- target 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 92
- 238000012545 processing Methods 0.000 claims abstract description 64
- 238000004458 analytical method Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 4
- 239000004065 semiconductor Substances 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 40
- 239000002699 waste material Substances 0.000 abstract description 14
- 238000013478 data encryption standard Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 239000000306 component Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
- H04L63/0485—Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
Abstract
本申请提供一种基于DPU的加密报文限速方法及装置,方法包括:基于令牌桶算法在DPU中对目标报文进行网络限速标记以得到该目标报文的识别标记,识别标记的类型包括:丢弃和通过;若目标报文的识别标记的类型为通过,则在DPU中对目标报文进行加密处理以得到报文长度改变的加密报文;根据加密报文的当前报文长度,基于令牌桶算法对目标令牌桶进行对应的减令牌操作,以使该加密报文在网络中进行传输。本申请能够有效降低CPU的资源占用率并能够有效提高针对报文的网络限速和加密操作的效率,尤其适用于大规模数据处理场景;还能够有效减少报文加密资源和时间的浪费,并能够提高报文限速过程的有效性及准确性。
Description
技术领域
本申请涉及网络限速技术领域,尤其涉及基于DPU的加密报文限速方法及装置。
背景技术
网络限速指对特定的网络流量进行限制,使其在网络中的传输速率不超过设定的值。网络限速通常被用于控制网络流量,以提高网路性能和保障网络安全。数据加密技术是一种防止数据泄露的重要的防护方式之一,可以通过对传输数据进行加密,尽可能降低数据泄露造成的影响,使得数据在通过公共网络传输时,不用担心被监视、篡改和伪造。
目前,针对报文进行加密和限速的方式通常采用软件实现,在面对大量报文数据的情况下,这种方式会占用CPU大量的资源,进而影响对报文进行加密和限速的效率以及CPU的运行稳定性。同时,当前的针对报文进行加密和限速的方式需要采用“先加密再限速”或者“先限速再加密”的方式实现,前者易导致加密过程耗费的时间和资源的大量浪费,后者易导致传输出去的报文会被第三方强制限速丢包,依然会造成加密处理资源的大量浪费。目前,虽然已有现有方式将限速硬件模块的限速带宽设置为比实际要求的带宽略低,这样在加密模块增加报文长度后,依然能保证报文正常发送到骨干网。但是,这样基于预估的处理并不能完全避免超出带宽的情况出现,而且还可能会有部分预留出的带宽资源被浪费,依然会降低限速的精确程度。
也就是说,当前亟需设计一种能够降低CPU资源占用率、减少加密资源浪费以及提高限速精度的加密报文限速方式。
发明内容
鉴于此,本申请实施例提供了基于DPU的加密报文限速方法及装置,以消除或改善现有技术中存在的一个或更多个缺陷。
本申请的一个方面提供了一种基于DPU的加密报文限速方法,括:
基于令牌桶算法在DPU中对目标报文进行网络限速标记以得到该目标报文的识别标记,所述识别标记的类型包括:丢弃和通过;
若所述目标报文的识别标记的类型为通过,则在所述DPU中对所述目标报文进行加密处理以得到报文长度改变的加密报文;
根据所述加密报文的当前报文长度,基于所述令牌桶算法对目标令牌桶进行对应的减令牌操作,以使该加密报文在网络中进行传输。
在本申请的一些实施例中,在所述基于令牌桶算法在DPU中对目标报文进行网络限速标记以得到该目标报文的识别标记之前,还包括:
在DPU中接收目标报文,并对该目标报文进行解析以得到所述目标报文的属性信息;
在DPU中存储所述目标报文的属性信息;
相对应的,所述基于令牌桶算法在DPU中对目标报文进行网络限速标记以得到该目标报文的识别标记,包括:
根据读取的所述属性信息在预设的各个令牌桶中择一作为当前的目标令牌桶,并针对所述目标报文,判断所述目标令牌桶中当前的剩余令牌数是否为负数;
若否,则为所述目标报文设置类型为通过的识别标记;
若是,则为所述目标报文设置类型为丢弃的识别标记。
在本申请的一些实施例中,所述若所述目标报文的识别标记的类型为通过,则在所述DPU中对所述目标报文进行加密处理以得到报文长度改变的加密报文,包括:
若所述识别标记的类型为通过,则基于预设的加密算法在DPU中对所述目标报文进行加密处理以得到报文长度改变的加密报文;
其中,所述加密算法包括:IPSec协议簇或TLS协议对应的加密算法,所述IPSec协议簇对应的加密算法包括:MD5加密算法、SHA-1加密算法、DES加密算法、3DES加密算法和AES加密算法中的任一种。
在本申请的一些实施例中,在所述基于令牌桶算法在DPU中对目标报文进行网络限速标记以得到该目标报文的识别标记之后,还包括:
若所述识别标记的类型为丢弃,则对所述目标报文进行丢弃或者延迟处理。
本申请第二个方面还提供一种基于DPU的加密报文限速装置,包括:设置在DPU中且相互通信连接的限速硬件模块和加密硬件模块;
所述限速硬件模块用于基于令牌桶算法在DPU中对目标报文进行网络限速标记以得到该目标报文的识别标记,所述识别标记的类型包括:丢弃和通过;
所述加密硬件模块用于若所述目标报文的识别标记的类型为通过,则在所述DPU中对所述目标报文进行加密处理以得到报文长度改变的加密报文;
所述限速硬件模块还用于根据所述加密报文的当前报文长度,基于所述令牌桶算法对目标令牌桶进行对应的减令牌操作,以使该加密报文在网络中进行传输。
在本申请的一些实施例中,还包括:
报文解析模块,用于在DPU中接收目标报文,并对该目标报文进行解析以得到所述目标报文的属性信息;
报文存储模块,用于在DPU中存储所述目标报文的属性信息;
其中,所述限速硬件模块、报文解析模块和所述报文存储模块集成设置。
在本申请的一些实施例中,所述限速硬件模块为FPGA或ASIC。
在本申请的一些实施例中,所述加密硬件模块为一基于SoC集成的半导体芯片。
本申请提供的基于DPU的加密报文限速方法,基于令牌桶算法在DPU中对目标报文进行网络限速标记以得到该目标报文的识别标记,所述识别标记的类型包括:丢弃和通过;若所述目标报文的识别标记的类型为通过,则在所述DPU中对所述目标报文进行加密处理以得到报文长度改变的加密报文;根据所述加密报文的当前报文长度,基于所述令牌桶算法对所述目标令牌桶进行对应的减令牌操作,以使该加密报文在网络中进行传输,首先通过将针对报文的加密和限速过程卸载到DPU中,能够有效降低CPU的资源占用率并能够提高CPU的运行稳定性,并能够有效提高针对报文的网络限速和加密操作的效率,尤其适用于大规模数据处理场景。再将限速过程拆分为针对原始长度的报文进行限速标记和针对加密后实际长度的报文进行如对令牌桶进行减牌等实际的网络限速处理,能够有效减少加密资源和时间的浪费,并能够提高限速过程的有效性及准确性。
本申请的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本申请的实践而获知。本申请的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本申请实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本申请能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。附图中的部件不是成比例绘制的,而只是为了示出本申请的原理。为了便于示出和描述本申请的一些部分,附图中对应部分可能被放大,即,相对于依据本申请实际制造的示例性装置中的其它部件可能变得更大。在附图中:
图1为本申请一实施例中的基于DPU的加密报文限速方法的第一种流程示意图。
图2为本申请一实施例中的基于DPU的加密报文限速方法的第二种流程示意图。
图3为本申请一实施例中的基于DPU的加密报文限速装置的第一种结构示意图。
图4为本申请一实施例中的基于DPU的加密报文限速装置的第二种结构示意图。
图5为本申请应用实例中的一个报文从进入DPU到最终从DPU成功转发或者丢弃的加密及限速过程示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本申请做进一步详细说明。在此,本申请的示意性实施方式及其说明用于解释本申请,但并不作为对本申请的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本申请,在附图中仅仅示出了与根据本申请的方案密切相关的结构和/或处理步骤,而省略了与本申请关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
在下文中,将参考附图描述本申请的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
考虑到现有的报文加密和限速过程存在CPU资源占用率高的问题,本申请的设计人首先将针对报文的加密和限速过程卸载到DPU中,以降低CPU的资源占用率并能够提高CPU的运行稳定性,并能够有效提高针对报文的网络限速和加密操作的效率。
在此基础上,即使将针对报文的加密和限速过程卸载到DPU中,限速和加密的执行过程依然会存在耗时增加、资源浪费等缺点。具体来说:
当硬件布局是“先加密再限速”模式时,一个报文经过加密处理后,增加了报文长度,此时再经过限速硬件模块时,报文会因为超出带宽限制而被丢弃,导致加密过程耗费的时间和资源全部浪费。
当硬件布局是“先限速再加密”模式时,通过限速硬件模块后允许通过的报文,经过加密处理后会增加报文长度,因此当报文实际从DPU发出时报文所占的带宽就会比限速标准增高,此时如果报文直接外发到骨干网等,会被运营商等第三方再次强制限速丢包,此时也会造成加密处理的资源浪费。
为了解决这一情况,一些方案会采取较为保守的策略,即限速硬件模块的限速带宽比实际要求的带宽略低,这样在加密模块增加报文长度后,能保证报文正常发送到骨干网,但这样基于预估的处理并不能完全避免超出带宽的情况出现,而且还可能会有部分预留出的带宽资源被浪费,这样也大大降低了限速的精确程度。
因此,为了同时解决现有的报文加密和限速过程存在的CPU资源占用率高、易导致加密资源和时间的量浪费、以及限速精度低等问题,本申请实施例分别提供一种基于DPU的加密报文限速方法、用于执行该基于DPU的加密报文限速方法的基于DPU的加密报文限速装置、电子设备和计算机可读存储介质,充分利用DPU的高性能计算和并行处理能力,在利用DPU作为专用硬件加速器以将报文加密和限速等操作卸载至硬件执行来提高处理速度和效率的基础上,进一步优化了DPU内部组件的执行过程。将限速过程的执行拆分成两个阶段进行以将报文实际长度和算法标记解耦。第一部分的限速过程先以原始报文长度为依据进行初步解析,对于报文允许通过与否进行标记;在加密过程中可以只处理标记通过的报文,而不用在注定要丢弃的报文上大量浪费加密算力和时间;并且在加密操作完成后,第二部分的限速过程可以以加密报文的实际报文长度为依据,进行准确的限速,以提高处理效率和吞吐,适用于大规模数据处理场景。
具体通过下述实施例进行详细说明。
基于此,本申请实施例提供一种可由基于DPU的加密报文限速装置实现的基于DPU的加密报文限速方法,参见图1,所述基于DPU的加密报文限速方法具体包含有如下内容:
步骤100:基于令牌桶算法在DPU中对目标报文进行网络限速标记以得到该目标报文的识别标记,所述识别标记的类型包括:丢弃和通过。
可以理解的是,DPU是数据处理单元(Data Processing Unit)的缩写。DPU是一种专用的硬件加速器,旨在加速数据处理任务。与通用的CPU和GPU相比,DPU在特定的数据处理任务上具有更高的效率和性能。DPU通常针对特定的应用场景进行优化,可以用于加速各种数据密集型任务,如机器学习推理、数据压缩、图像处理等。
在本申请的一个或多个实施例中,所述目标报文是指当前处理的待传输报文,该待传输报文是尚未被加密的报文。
步骤200:若所述目标报文的识别标记的类型为通过,则在所述DPU中对所述目标报文进行加密处理以得到报文长度改变的加密报文。
在步骤200中,首先根据述识别标记的类型判断该目标报文是否被标记丢弃,如果标记为通过,则才会对该目标报文进行加密处理。加密处理过程中会增加目标报文的长度,由于所选的加密算法的限制,增加的长度可能无法事先预判,只有在经过完整的加密过程之后,才能得到加密报文的实际报文长度。
步骤300:根据所述加密报文的当前报文长度,基于所述令牌桶算法对所述目标令牌桶进行对应的减令牌操作,以使该加密报文在网络中进行传输。
在本申请的实施例中,包含有标记和实际操作过程的令牌桶算法依然仅执行一次,区别为算法中的标记和实际操作过程分阶段执行,该种方式不但能够有效提高针对报文的网络限速的可靠性和有效性,还能够避免增加网络限速过程的耗时及资源占用率。
具体来说,令牌桶算法是一种限速算法。它基于一个存储令牌的桶,每秒钟往桶内放入一定数量的令牌。数据包进入交换机时,需要从存储令牌的桶中获取令牌,如果桶中没有足够的令牌,则这个数据包会被丢弃或者延迟处理。令牌桶算法的优点是可以平滑地限制速率,避免了数据突发流量对网络的冲击。
令牌桶算法的实现,一般是有一个“令牌桶”的概念,里面用于存放适配各种类别报文的令牌(token,token数量对应着报文长度),例如以协议分类、以端口分类、以五元组分类等。当对一个报文进行处理时,会根据这个报文的信息,查到其归属报文种类,然后去对应报文种类的“桶”中查看是否还有剩余令牌,如果剩余令牌数量小于报文的长度,则表明该报文剩余带宽不足,应该丢弃。这种实现有一个明显不足,就是当令牌桶中还有令牌,但是小于报文长度,就会导致报文被丢弃,此时,所谓的剩余令牌,起始就是带宽的浪费,如果允许令牌桶存在负数(负桶),即令牌数量小于报文长度时,也允许此报文通过,只有当令牌数量已经是负数时,才进行丢包,这样实现则可以避免带宽浪费,提高限速的精度。
具体到本申请的情形,因为加密模块会改变报文的最终长度,当一个报文以较小的长度通过了限速算法,而没有被标记丢弃,但是当它经过了加密算法,增加了报文长度后,较长的长度可能无法通过传统的令牌桶算法,即报文长度变长会导致限速结果不一致。但是使用了支持负桶的令牌桶算法后,这种不一致就不存在了,即报文长度变长后,虽然会超过令牌的数量,但是这种情况下,令牌出现负数的情况是被允许的,不会造成结果的歧义。此外,传统的令牌桶算法中,标记是与报文实际长度强耦合的,即必须根据报文的实际长度进行处理计算,当报文长度变化后,之前的标记结果即不可用,否则会影响后续根据标记进行的实际操作,而在本申请中,通过将令牌桶算法分阶段的执行,将实际报文长度和标记解耦,即使用原始报文长度进行标记,而使用最终实际报文长度进行令牌消耗,可以避免重复计算,保证限速的效率和准确性。
在本申请的一个或多个实施例中,将所述加密报文在网络中进行传输具体是指:根据预先获取的加密报文对应的目的端IP地址等信息,将该加密报文基于目标网络发送至目的端。
从上述描述可知,本申请实施例提供的基于DPU的加密报文限速方法,通过将针对报文的加密和限速过程卸载到DPU中,能够有效降低CPU的资源占用率并能够提高CPU的运行稳定性,并能够有效提高针对报文的网络限速和加密操作的效率,尤其适用于大规模数据处理场景。再将限速过程拆分为针对原始长度的报文进行限速标记和针对加密后实际长度的报文进行如对令牌桶进行减牌等实际的网络限速处理,能够有效降低加密资源和时间的大量浪费,并能够提高限速过程的有效性及准确性。
为了进一步提高基于DPU的加密报文限速的有效性及可靠性,在本申请实施例提供的一种基于DPU的加密报文限速方法中,参见图2,所述基于DPU的加密报文限速方法的步骤110或步骤100之前还具体包含有如下内容:
步骤010:在DPU中接收目标报文,并对该目标报文进行解析以得到所述目标报文的属性信息;
步骤020:在DPU中存储所述目标报文的属性信息。
也就是说,当一个报文进入DPU之后,首先经过报文解析模块,将报头、协议、长度等信息进行解析提取和存储,然后进入限速硬件模块。
报文解析的结果,一般会以特定的组织(比如metadata)形式,存储在原始报文的同一类内存空间中,随着报文的处理,传递到相应的处理模块中。
限速硬件模块前部会根据报文解析的结果,比如报五元组、报文长度等信息,对本报文进行限速算法的处理。也就是说,在本申请的一个或多个实施例中,所述属性信息可以包含有目标报文的报头、协议、五元组以及报文长度等信息中的至少一项。
相对应的,所述基于DPU的加密报文限速方法的步骤100具体包含有如下内容:
步骤110:根据读取的所述属性信息在预设的各个令牌桶中择一作为当前的目标令牌桶。
步骤120:针对所述目标报文,判断所述目标令牌桶中当前的剩余令牌数是否为负数;若否,则执行步骤130;若是,则执行步骤140。
步骤130:为所述目标报文设置类型为通过的识别标记。
步骤140:为所述目标报文设置类型为允许的识别标记。
为了进一步提高对报文进行加密的有效性及可靠性,在本申请实施例提供的一种基于DPU的加密报文限速方法中,参见图3,所述基于DPU的加密报文限速方法的步骤200还具体包含有如下内容:
步骤210:若所述识别标记的类型为通过,则基于预设的加密算法在DPU中对所述目标报文进行加密处理以得到报文长度改变的加密报文,所述加密算法包括:IPSec协议簇或TLS协议对应的加密算法,所述IPSec协议簇对应的加密算法包括:MD5加密算法、SHA-1加密算法、DES加密算法、3DES加密算法和AES加密算法中的任一种。
其中,MD5加密算法是一种信息摘要算法(message-digest algorithm 5);SHA-1加密算法是一种安全散列算法1(Secure Hash Algorithm 1),该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文;DES加密算法是一种使用密钥加密的块算法(Data Encryption Standard)、3DES加密算法是对称加密的一种,是DES向AES过渡的加密算法。它使用三个秘钥的三重DES加密方法,该算法执行三次DES算法,其加密的过程是加密-解密-加密;AES加密算法是高级加密标准(Advanced EncryptionStandard),是一种对称加密算法。
具体来说,IPSec协议簇可以简写为IPSec,是IETF(Internet Engineering TaskForce,即国际互联网工程技术小组)提出的使用密码学保护IP层通信的安全保密架构,是一个协议簇,通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议簇(一些相互关联的协议的集合)。IPSEC主要包含两种安全协议:AH(Authentication header,验证头部协议),AH协议提供无连接的完整性、数据源认证和抗重放保护服务(不提供保密性服务);ESP(Encapsulating Security Payload,IPSec封装负载),ESP提供数据保密、无连接完整性、抗重播服务以及数据包/数据流加密服务。
IPSec是一种用于保护网络数据传输的技术,为网络数据传输提供了数据机密性、数据完整性、数据来源认证、抗重播等安全服务。
令牌桶算法的核心,在于在单位时间内只允许累计长度固定的若干报文通过。而IPSec核心的两种加密协议AH和ESP,都是通过在将原始报文进行加密转码,并在转码后的报文前后加上用于解密/认证功能的报头及报尾字段,即都会改变报文长度,具体来说都会增加报文长度。
IPSec的AH和ESP协议可以根据需要选择MD5(Message Digest)、SHA-1、DES、3DES、AES等多种认证和加密算法。此外,除了使用IPSec,加密模块还可以替换使用TLS等其他算法,以支持不同的使用场景。
为了进一步提高基于DPU的加密报文限速的处理效率,在本申请实施例提供的一种基于DPU的加密报文限速方法中,参见图2,所述基于DPU的加密报文限速方法的步骤140之后还具体包含有如下内容:
步骤400:若所述识别标记的类型为丢弃,则对所述目标报文进行丢弃或者延迟处理。
在实际的DPU产品中,限速和加密因为模块分工的不同,可分别由不同的硬件模块来实现。报文会依次经过两个独立的模块。基于此,本申请还提供一种用于执行所述基于DPU的加密报文限速方法中全部或部分内的基于DPU的加密报文限速装置,参见图3,所述基于DPU的加密报文限速装置具体包含有如下内容:
设置在DPU中且相互通信连接的限速硬件模块10和加密硬件模块20;
所述限速硬件模块10用于基于令牌桶算法在DPU中对目标报文进行网络限速标记以得到该目标报文的识别标记,所述识别标记的类型包括:丢弃和通过;
所述加密硬件模块20用于若所述目标报文的识别标记的类型为通过,则在所述DPU中对所述目标报文进行加密处理以得到报文长度改变的加密报文;
所述限速硬件模块10还用于根据所述加密报文的当前报文长度,基于所述令牌桶算法对所述目标令牌桶进行对应的减令牌操作,以使该加密报文在网络中进行传输。
本申请提供的基于DPU的加密报文限速装置的实施例具体可以用于执行上述实施例中的基于DPU的加密报文限速方法的实施例的处理流程,其功能在此不再赘述,可以参照上述基于DPU的加密报文限速方法实施例的详细描述。
从上述描述可知,本申请实施例提供的基于DPU的加密报文限速装置,通过将针对报文的加密和限速过程卸载到DPU中,能够有效降低CPU的资源占用率并能够提高CPU的运行稳定性,并能够有效提高针对报文的网络限速和加密操作的效率,尤其适用于大规模数据处理场景。再将限速过程拆分为针对原始长度的报文进行限速标记和针对加密后实际长度的报文进行如对令牌桶进行减牌等实际的网络限速处理,能够有效降低加密资源和时间的浪费,并能够提高限速过程的有效性及准确性。
为了进一步提高基于DPU的加密报文限速过程的效率和可靠性,在本申请实施例提供的基于DPU的加密报文限速装置中,参见图4,所述基于DPU的加密报文限速装置还具体包含有如下内容:
报文解析模块01,用于在DPU中接收目标报文,并对该目标报文进行解析以得到所述目标报文的属性信息;
报文存储模块02,用于在DPU中存储所述目标报文的属性信息;
其中,所述限速硬件模块10、报文解析模块01和所述报文存储模块02集成设置,报文解析模块01、报文存储模块02和所述限速硬件模块10依次连接。
也就是说,在DPU的实践中,可以将基础报文转发相关的解析提取、流表处理、限速等功能模块(如:报文解析模块01、报文存储模块02和所述限速硬件模块10)放在一起,形成一个整体的大处理单元,因此限速硬件模块10自然会从报文存储模块02获得报文解析模块01的处理结果。
为了进一步降低CPU的资源占用率并提高基于DPU的加密报文限速过程中限速硬件模块的应用有效性和可靠性,在本申请实施例提供的基于DPU的加密报文限速装置中,所述限速硬件模块为FPGA或ASIC。
为了进一步降低CPU的资源占用率并提高基于DPU的加密报文限速过程中加密硬件模块的应用有效性和可靠性,在本申请实施例提供的基于DPU的加密报文限速装置中,所述加密硬件模块为一基于SoC集成的半导体芯片。
具体来说,限速的目的是防止有人恶意占用带宽,在保证用户正常业务前提下,保证整个网络不发生拥塞,提升整个网络的服务质量。硬件限速,即采用利用FPGA(FieldProgrammable Gate Array)或ASIC(Application-Specific Integrated Circuit)等可编程硬件,实现令牌桶等经典的限速算法,以提升网络流量限速处理速度和效率。
安全加密算法同样也有相应的硬件实现,IPSec硬件实现中,SoC技术将是一种常用的手段。SoC将系统的CPU、I/O接口、存储器、算法、协议处理等模块全部集成到单一半导体芯片上,实现IPSec协议的全部功能,成为构筑IPSec安全设备的核心部件,极大地提高了高速VPN网络的安全性、可靠性、时效性以及较高的性能价格比。
为了进一步说明本申请提供的基于DPU的加密报文限速过程,本申请还提供一种采用基于DPU的加密报文限速装置实现的基于DPU的加密报文限速方法的具体应用实例,本申请应用实例最关键的一点就是将限速令牌桶算法分阶段执行,即分成标记和令牌实际消耗两部分进行,通过提前标记的方式,将不需要加密的报文直接丢弃,避免了后续的硬件资源和时间消耗。
参见图5,一个报文从进入DPU到最终从DPU成功转发或者丢弃的过程具体包含有如下内容:
S1:当一个报文进入DPU之后,首先经过报文解析模块01,将报头、协议、长度等信息进行解析提取和存储,然后进入限速硬件模块10。在DPU的实践中,一般将基础报文转发相关的解析提取、流表处理、限速等功能模块放在一起,形成一个整体的大处理单元,因此限速硬件模块10自然的会获得报文解析模块01的处理结果。
基于DPU场景下的分阶段限速配合加密处理的流程,此方案既保证了限速算法的准确性,又能有效的减少后续的加密硬件模块20执行时的时间和资源消耗,提升了系统的效率。同时充分利用DPU的高性能计算和并行处理能力,提高处理速度和效率。
S2:报文解析的结果,一般会以特定的组织(比如metadata)形式,存储在原始报文的同一类内存空间中,即报文存储模块02,随着报文的处理,传递到相应的限速硬件模块10中。
S3:限速硬件模块10会根据报文解析的结果,比如报五元组、报文长度等信息,对本报文进行限速算法的处理,处理结果即通过和丢弃,丢弃意味着单位时间内,分配给该报文所属类别的所有报文的允许通过字节数已耗尽,不允许再通过DPU设备,限速硬件模块10对此类报文直接做丢包处理。而通过报文在此阶段只是进行标记,标记结果存储的位置,与报文解析信息存储的位置相同。
S4:当报文进入加密硬件模块20进行处理时,加密硬件模块20会首先判断该报文是否被标记丢弃,如果未标记丢弃,则会进行对报文进行加密算法的处理。处理过程中会增加报文的长度,由于所选的加密算法的限制,增加的长度可能无法预判,只有在经过完整的加密过程之后,才能得到实际的报文长度。
S5:限速硬件模块10再按照此长度进行令牌桶的真实减令牌操作。而对于被标记丢弃的报文,则不会进行进一步的加密处理,直接转后面负责发送及丢包的模块进行丢弃处理。限速硬件模块10的分阶段令牌桶算法实现了实际报文长度和算法动作的解耦,并保证了限速的准确性。
这样操作,及时释放原始报文和报文信息存储空间供后续报文使用,避免了对被丢弃报文使用加密算法进行处理的过程,同时因为令牌桶算法的实际执行时,减少令牌的依据是完成加密处理后将进行发送的真实报文的长度,由此也保证了限速算法的精确度。
综上所述,本申请应用实例提供的采用基于DPU的加密报文限速装置实现的基于DPU的加密报文限速方法,具有如下有益效果:
1.高性能计算和并行处理能力:本申请应用实例利用DPU作为专用硬件加速器,具备高性能计算和并行处理能力。这使得网络限速和加密操作可以以更快的速度和更高的效率进行,相比于传统的软件实现方式,可以显著提升处理速度。
2.适用于大规模数据处理:由于DPU的高性能计算和并行处理能力,本申请应用实例适用于大规模数据处理场景。通过将较大的任务分解成多个执行模块,可以充分利用硬件资源,并提高处理效率。
3.多模块高效配合:本申请应用实例考虑了DPU各模块之间的分工和协作,通过任务分阶段执行和功能互补,实现高速的数据输入输出和协同处理,提供更好的整体系统性能。
综上所述,本申请应用实例提供的基于DPU加速的高效网络限速和加密方案具有高性能计算能力、适用于大规模数据处理以及多模块高效集成等优点。这些优点使得该方案在数据处理领域具有广泛的应用前景。
本申请实施例还提供了一种电子设备,该电子设备可以包括处理器、存储器、接收器及发送器,处理器用于执行上述实施例提及的基于DPU的加密报文限速方法,其中处理器和存储器可以通过总线或者其他方式连接,以通过总线连接为例。该接收器可通过有线或无线方式与处理器、存储器连接。
处理器可以为专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的基于DPU的加密报文限速方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的基于DPU的加密报文限速方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器中,当被所述处理器执行时,执行实施例中的基于DPU的加密报文限速方法。
在本申请的一些实施例中,用户设备可以包括处理器、存储器和收发单元,该收发单元可包括接收器和发送器,处理器、存储器、接收器和发送器可通过总线系统连接,存储器用于存储计算机指令,处理器用于执行存储器中存储的计算机指令,以控制收发单元收发信号。
作为一种实现方式,本申请中接收器和发送器的功能可以考虑通过收发电路或者收发的专用芯片来实现,处理器可以考虑通过专用处理芯片、处理电路或通用芯片实现。
作为另一种实现方式,可以考虑使用通用计算机的方式来实现本申请实施例提供的服务器。即将实现处理器,接收器和发送器功能的程序代码存储在存储器中,通用处理器通过执行存储器中的代码来实现处理器,接收器和发送器的功能。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述基于DPU的加密报文限速方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本申请中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征
以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种基于DPU的加密报文限速方法,其特征在于,包括:
基于令牌桶算法在DPU中对目标报文进行网络限速标记以得到该目标报文的识别标记,所述识别标记的类型包括:丢弃和通过;
若所述目标报文的识别标记的类型为通过,则在所述DPU中对所述目标报文进行加密处理以得到报文长度改变的加密报文;
根据所述加密报文的当前报文长度,基于所述令牌桶算法对目标令牌桶进行对应的减令牌操作,以使该加密报文在网络中进行传输。
2.根据权利要求1所述的基于DPU的加密报文限速方法,其特征在于,在所述基于令牌桶算法在DPU中对目标报文进行网络限速标记以得到该目标报文的识别标记之前,还包括:
在DPU中接收目标报文,并对该目标报文进行解析以得到所述目标报文的属性信息;
在DPU中存储所述目标报文的属性信息;
相对应的,所述基于令牌桶算法在DPU中对目标报文进行网络限速标记以得到该目标报文的识别标记,包括:
根据读取的所述属性信息在预设的各个令牌桶中择一作为当前的目标令牌桶,并针对所述目标报文,判断所述目标令牌桶中当前的剩余令牌数是否为负数;
若否,则为所述目标报文设置类型为通过的识别标记;
若是,则为所述目标报文设置类型为丢弃的识别标记。
3.根据权利要求1所述的基于DPU的加密报文限速方法,其特征在于,所述若所述目标报文的识别标记的类型为通过,则在所述DPU中对所述目标报文进行加密处理以得到报文长度改变的加密报文,包括:
若所述识别标记的类型为通过,则基于预设的加密算法在DPU中对所述目标报文进行加密处理以得到报文长度改变的加密报文;
其中,所述加密算法包括:IPSec协议簇或TLS协议对应的加密算法,所述IPSec协议簇对应的加密算法包括:MD5加密算法、SHA-1加密算法、DES加密算法、3DES加密算法和AES加密算法中的任一种。
4.根据权利要求1至3任一项所述的基于DPU的加密报文限速方法,其特征在于,在所述基于令牌桶算法在DPU中对目标报文进行网络限速标记以得到该目标报文的识别标记之后,还包括:
若所述识别标记的类型为丢弃,则对所述目标报文进行丢弃或者延迟处理。
5.一种基于DPU的加密报文限速装置,其特征在于,包括:设置在DPU中且相互通信连接的限速硬件模块和加密硬件模块;
所述限速硬件模块用于基于令牌桶算法在DPU中对目标报文进行网络限速标记以得到该目标报文的识别标记,所述识别标记的类型包括:丢弃和通过;
所述加密硬件模块用于若所述目标报文的识别标记的类型为通过,则在所述DPU中对所述目标报文进行加密处理以得到报文长度改变的加密报文;
所述限速硬件模块还用于根据所述加密报文的当前报文长度,基于所述令牌桶算法对目标令牌桶进行对应的减令牌操作,以使该加密报文在网络中进行传输。
6.根据权利要求5所述的基于DPU的加密报文限速装置,其特征在于,还包括:
报文解析模块,用于在DPU中接收目标报文,并对该目标报文进行解析以得到所述目标报文的属性信息;
报文存储模块,用于在DPU中存储所述目标报文的属性信息;
其中,所述限速硬件模块、报文解析模块和所述报文存储模块集成设置。
7.根据权利要求5所述的基于DPU的加密报文限速装置,其特征在于,所述限速硬件模块为FPGA或ASIC。
8.根据权利要求5所述的基于DPU的加密报文限速装置,其特征在于,所述加密硬件模块为一基于SoC集成的半导体芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311191536.1A CN117255061A (zh) | 2023-09-14 | 2023-09-14 | 基于dpu的加密报文限速方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311191536.1A CN117255061A (zh) | 2023-09-14 | 2023-09-14 | 基于dpu的加密报文限速方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117255061A true CN117255061A (zh) | 2023-12-19 |
Family
ID=89125781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311191536.1A Pending CN117255061A (zh) | 2023-09-14 | 2023-09-14 | 基于dpu的加密报文限速方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117255061A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101997766A (zh) * | 2009-08-31 | 2011-03-30 | 中兴通讯股份有限公司 | 一种基于优先级的令牌桶限速的方法及系统 |
US20150188900A1 (en) * | 2013-12-31 | 2015-07-02 | Digital River, Inc. | Session managment in a multi-tenant, multi-data center environment system and method |
CN115766591A (zh) * | 2022-10-28 | 2023-03-07 | 中科驭数(北京)科技有限公司 | 分片报文流量限速方法、dpu分片报文转发方法和装置 |
CN115766592A (zh) * | 2022-10-31 | 2023-03-07 | 中科驭数(北京)科技有限公司 | 基于优先级的流量限速方法、dpu报文转发方法和装置 |
-
2023
- 2023-09-14 CN CN202311191536.1A patent/CN117255061A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101997766A (zh) * | 2009-08-31 | 2011-03-30 | 中兴通讯股份有限公司 | 一种基于优先级的令牌桶限速的方法及系统 |
US20150188900A1 (en) * | 2013-12-31 | 2015-07-02 | Digital River, Inc. | Session managment in a multi-tenant, multi-data center environment system and method |
CN115766591A (zh) * | 2022-10-28 | 2023-03-07 | 中科驭数(北京)科技有限公司 | 分片报文流量限速方法、dpu分片报文转发方法和装置 |
CN115766592A (zh) * | 2022-10-31 | 2023-03-07 | 中科驭数(北京)科技有限公司 | 基于优先级的流量限速方法、dpu报文转发方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3603001B1 (en) | Hardware-accelerated payload filtering in secure communication | |
US7082477B1 (en) | Virtual application of features to electronic messages | |
CN108173812B (zh) | 防止网络攻击的方法、装置、存储介质和设备 | |
US7548532B2 (en) | Method and apparatus to provide inline encryption and decryption for a wireless station via data streaming over a fast network | |
US11757973B2 (en) | Technologies for accelerated HTTP processing with hardware acceleration | |
JP2009246801A (ja) | 分割されたパケットの暗号化方法、分割暗号化パケットの復号方法、暗号化装置及びプログラム | |
CN110830393B (zh) | 芯片堆叠模式下MACsec的实现方法及装置 | |
CN115766591B (zh) | 分片报文流量限速方法、dpu分片报文转发方法和装置 | |
US20230145440A1 (en) | Method and device for selective user plane security in wireless communication system | |
CN106161386B (zh) | 一种实现IPsec分流的方法和装置 | |
CN112422567A (zh) | 一种面向大流量的网络入侵检测方法 | |
CN115174482B (zh) | 网络设备的报文分流方法和装置 | |
US11652910B2 (en) | Data transmission method, device, and system | |
KR101554760B1 (ko) | 네트워크 메시지 변환 디바이스 및 그 방법들 | |
US20070214358A1 (en) | Concurrent ipsec processing system and method | |
CN117255061A (zh) | 基于dpu的加密报文限速方法及装置 | |
CN111669374A (zh) | 一种IPsec VPN单条隧道软件加解密性能扩展方法 | |
CN114553577B (zh) | 一种基于多主机双隔离保密架构的网络交互系统及方法 | |
CN115766902A (zh) | 一种通过quic发送非敏感数据的方法、装置、设备、介质 | |
CN115021919A (zh) | Ssl协商方法、装置、设备及计算机可读存储介质 | |
US20230239279A1 (en) | Method and apparatus for security communication | |
CN114629891A (zh) | 文件传输方法、装置、电子设备及计算机可读存储介质 | |
CN113810397A (zh) | 协议数据的处理方法及装置 | |
CN113824743B (zh) | 一种适用私有加密通信的敏感数据阻断方法和系统 | |
JP2003069555A (ja) | 暗号装置および暗復号処理方法 |
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 |