掌桥专利:专业的专利平台
掌桥专利
首页

一种基于数据处理单元的应用识别硬件卸载方法及装置

文献发布时间:2024-04-18 20:00:50


一种基于数据处理单元的应用识别硬件卸载方法及装置

技术领域

本发明涉及应用识别技术领域,尤其涉及一种基于数据处理单元的应用识别硬件卸载方法及装置。

背景技术

随着互联网的快速发展,互联网的应用也随之发生了翻天覆地的变化。从最初的网页浏览、Email、文件传输协议(File TransferProtocol,FTP)下载,到现在的P2P应用、游戏、视频、移动互联,丰富多彩的应用成为互联网的主流。

面对层出不穷的应用,如何对应用流量进行精确管控是网络管理员面临的最大问题,而管控的前提是精确识别出网络中的各类应用。应用识别技术是一种应用特征提取和匹配技术,通过提取报文中的某些特定字段或报文的行为特征,并与业务感知特征库进行匹配来识别应用。

数据处理单元(DataProcessing Unit,DPU)是一种专用硬件加速器,用于高效地进行数据处理任务。DPU常见于数据中心、云计算和边缘计算领域,可以提供高性能和低功耗的数据处理能力。DPU主要承担的工作可以归纳为四个关键词,分别是虚拟化、网络、存储以及安全。应用识别作为安全业务中深度报文检测(Deep Packet Inspection,DPI)的基础,如果在DPU上实现硬件卸载加速可提供高性能低延时的应用识别。

在当前应用识别技术中,主要的一类技术方案是在防火墙等专用设备或是单独应用软件中实现。传统的应用层协议识别提取五元组信息,通过报文中端口号来识别应用,匹配效率较高,但随着互联网应用种类越来越多,无法进行更精细化的区分,适用范围也越来越小。另一类技术方案是基于报文内容的应用识别,通过提取应用层特征,来精确识别出各类应用,但由于涉及到报文内容匹配,性能会有较大幅度降低,容易成为网络中的性能瓶颈。

发明内容

鉴于此,本发明实施例提供了一种基于数据处理单元的应用识别硬件卸载方法及装置,以消除或改善现有技术中存在的一个或更多个缺陷,解决现有应用识别技术方案中存在的识别精度低、适用范围小、以及识别效率低,造成性能瓶颈的问题。

一方面,本发明提供了一种基于数据处理单元的应用识别硬件卸载方法,所述方法在数据处理单元中执行,所述方法包括以下步骤:

接收主机侧预先设置的规则文件以及需配置的策略动作,深度报文检测守护进程对所述规则文件和所述策略动作进行分析处理,生成硬件正则引擎需要的规则数据库;

部署在所述数据处理单元中的应用识别程序基于预设工具接收数据报文,并提取所述数据报文的五元组信息,通过所述五元组信息中的端口号对所述数据报文的应用层协议进行识别,得到协议类型;

所述深度报文检测守护进程接收由所述应用识别程序发送的数据报文和协议类型,并提取所述数据报文的应用层信息;将所述应用层信息作为输入,通过调用所述硬件正则引擎,与所述规则数据库中的特征规则进行匹配,得到匹配结果;根据所述策略动作对所述匹配结果进行处理;

所述深度报文检测守护进程将所述数据报文和所述策略动作转发至所述应用识别程序;所述应用识别程序根据所述策略动作对所述数据报文进行转发,并统计识别信息上传所述主机。

在本发明的一些实施例中,深度报文检测守护进程对所述规则文件和所述策略动作进行分析处理,生成硬件正则引擎需要的规则数据库,还包括:

所述深度报文检测守护进程逐行读取所述规则文件,并提取出规则的各个字段;

所述深度报文检测守护进程读取所述策略动作,并提取每个规则对应的动作;

所述深度报文检测守护进程根据提取得到的各个字段的信息,将规则内容与动作按照预设格式进行转换和整理,生成所述规则数据库,以便所述硬件正则引擎使用。

在本发明的一些实施例中,所述规则数据库由一组正则表达式构成。

在本发明的一些实施例中,应用识别程序基于数据平面开发套件接收所述数据报文。

在本发明的一些实施例中,在所述方法之前,还包括:

将预设网口与所述数据平面开发套件进行绑定;所述数据平面开发套件基于所述预设网口直接访问和/或处理接收到的数据报文。

在本发明的一些实施例中,所述应用识别程序基于所述数据平面开发套件提取所述数据报文的五元组信息,还包括:

所述应用识别程序基于所述数据平面开发套件的自带函数从所述预设网口接收所述数据报文;

根据所述数据报文的协议类型,所述应用识别程序从所述数据报文的数据部分提取报文头结构;

根据所述报文头结构和字段定义,所述应用识别程序从所述数据报文中提取所述五元组信息;所述五元组信息包括源IP地址、目的IP的地址、协议类型、源端口号和目的端口号。

在本发明的一些实施例中,所述应用识别程序的部署方法包括以下步骤:

获取所述应用识别程序,所述应用识别程序基于深度学习、机器学习、规则匹配技术中的一种或多种结合训练得到;

对所述应用识别程序配置环境和依赖项;利用预设编程语言和开发工具将应用识别程序源代码编译为可执行文件;

将所述数据处理单元与所述应用识别程序的网络接口进行绑定,并配置所述数据处理单元的参数;

启动所述应用识别程序,监听绑定的网口,以接收并处理所述数据报文。

另一方面,本发明提供一种基于数据处理单元的应用识别硬件卸载装置,其特征在于,所述装置用于执行实现如上文中提及的任意一项所述方法的步骤,所述装置包括:

主机;所述主机用于向数据处理单元下发预先设置的规则文件以及需配置的策略动作,以及接收所述数据处理单元统计的识别信息;

数据处理单元;所述数据处理单元包括应用层协议识别模块和深度报文检测守护进程模块;所述应用层识别模块用于根据所述数据报文的五元组信息中的端口号对所述数据报文的应用层协议进行识别;所述深度报文检测守护进程模块用于根据所述数据报文的应用层信息,通过调用硬件正则引擎与预设特征规则进行匹配,以进行应用识别。

在本发明的一些实施例中,所述主机与所述数据处理单元通过高速串行总线进行互联,基于所述高速串行总线实现数据传输。

另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中提及的任意一项所述方法的步骤。

本发明的有益效果至少是:

本发明提供一种基于数据处理单元的应用识别硬件卸载方法及装置,包括:DPU接收主机侧下发的规则文件以及策略动作,在DPI守护进程中分析处理后,生成硬件正则引擎需要的规则数据库;应用识别程序接收数据报文并提取数据报文的五元组信息,通过五元组信息中配置的端口号对应用层协议进行初步识别;DPI守护进程接收数据报文和协议类型,并提取数据报文的应用层信息;将应用层信息作为输入,通过调用硬件正则引擎,与规则数据库中的特征规则进行匹配,生成匹配结果,根据策略动作对匹配结果进行处理,并将报文内容和策略动作转发至应用识别程序;应用识别程序根据策略动作对数据报文进行转发,并统计识别信息上传主机。本发明提供的应用识别硬件卸载方法通过DPI守护进程调用硬件正则加速引擎,实现了应用识别在DPU上的加速卸载,释放了主机CPU和内存资源,且识别精度高、效率快,适用场景广泛。

进一步的,将应用层协议识别进程与DPI守护进程分开,DPI守护进程主要实现对报文内容的应用识别功能,可以灵活使用DPI守护进程,实现不同功能的硬件卸载加速。

进一步的,在主机侧的应用程序可供用户自由定制,及时调整更新下发的规则文件以及策略动作,灵活性高。

本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。

本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:

图1为本发明一实施例中基于数据处理单元的应用识别硬件卸载方法的步骤示意图。

图2为本发明一实施例中基于数据处理单元的应用识别硬件卸载方法的流程框架图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。

在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。

应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。

在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。

在下文中,将参考附图描述本发明的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。

这里需要强调的是,在下文中提及的各步骤标记并不是对各步骤先后顺序的限定,而应当理解为可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

为了解决现有应用识别技术方案中存在的识别精度低、适用范围小、以及识别效率低,造成性能瓶颈的问题,本发明提出了一种基于数据处理单元的应用识别硬件卸载方法,该方法在数据处理单元中执行,如图1所示,该方法包括以下步骤S101~S104:

步骤S101:接收主机侧预先设置的规则文件以及需配置的策略动作,深度报文检测守护进程对规则文件和策略动作进行分析处理,生成硬件正则引擎需要的规则数据库。

步骤S102:部署在数据处理单元中的应用识别程序基于预设工具接收数据报文,并提取数据报文的五元组信息,通过五元组信息中的端口号对数据报文的应用层协议进行识别,得到协议类型。

步骤S103:深度报文检测守护进程接收由应用识别程序发送的数据报文和协议类型,并提取数据报文的应用层信息;将应用层信息作为输入,通过调用硬件正则引擎,与规则数据库中的特征规则进行匹配,得到匹配结果;根据策略动作对匹配结果进行处理。

步骤S104:深度报文检测守护进程将数据报文和策略动作转发至应用识别程序;应用识别程序根据策略动作对数据报文进行转发,并统计识别信息上传主机。

如图2所示,为基于数据处理单元的应用识别硬件卸载方法的流程框架图。

步骤S101是本方法的前置阶段。在步骤S101中,主机预先设置关于应用识别的规则文件和策略动作,将规则文件和策略动作下发至数据处理单元(Data Processing Unit,DPU)上的深度报文检测(Deep Packet Inspection,DPI)守护进程。深度报文检测守护进程再对规则文件和策略动作进行分析处理,生成硬件正则引擎需要的规则数据库,以为后续应用识别操作提供规则数据库支持。其中,规则文件通常包含了需要检查的协议、报文头部和载荷信息等内容;策略动作则定义了当检测到指定协议或载荷时需要采取的操作,如阻断、记录日志、转发等。

在一些实施例中,规则数据库由一组正则表达式构成。

在一些实施例中,深度报文检测守护进程对规则文件和策略动作进行分析处理,生成硬件正则引擎需要的规则数据库,具体包括以下步骤:

深度报文检测守护进程逐行读取规则文件,规则文件中包含了需要匹配的特征规则,示例性的,规则文件采用Snort规则格式,并提取出规则的各个字段的信息,如规则ID、协议类型、源IP地址、目的IP地址、端口号、Payload等。

深度报文检测守护进程读取策略动作,策略动作定义了对于匹配规则的处理方式,并提取每个规则对应的动作。

深度报文检测守护进程根据提取得到的各个字段的信息,将规则内容与动作按照预设格式进行转换和整理,生成规则数据库。其中,预设格式为适合硬件正则引擎使用的格式,通常指的是一种经过优化和特定设计的规则表示方式,以便硬件正则引擎能够高效地进行匹配操作。这样生成的规则数据库能够作为硬件正则引擎进行特征匹配的依据。

在一些实施例中,为了提高规则匹配的效率,深度报文检测守护进程还可以进行一些优化处理。例如,合并具有相同动作和匹配条件的规则,减少规则的数量;使用高效的数据结构,如Trie树、AC自动机等,来加速匹配过程等。

步骤S102至步骤S104为应用识别硬件卸载的步骤。

步骤S102在数据处理单元的应用层协议识别(Application Recognition,AP)进程中进行处理。在步骤S102中,部署在数据处理单元上的应用识别程序接收需进行识别的数据报文,提取数据报文的五元组信息,通过五元组信息中的端口号进行初步识别,确定协议类型。其中,五元组信息包括源IP地址、目的IP的地址、协议类型、源端口号和目的端口号,通过配置的端口号能够对应用层协议进行识别。示例性的,通常情况下8080端口对应于HTTP协议。

在一些实施例中,应用识别程序的部署方法包括以下步骤:

获取应用识别程序,该应用识别程序可以使用适当的编程语言和开发工具,编写应用识别算法和逻辑,应用识别算法和逻辑可以基于深度学习、机器学习、规则匹配技术中的一种或多种结合来实现对数据报文的应用分类和/或业务处理。

对应用识别程序配置环境和依赖项,示例性的,包括操作系统、编译器、库文件(DPDK和相关驱动等)、开发框架等。利用预设编程语言和开发工具将应用识别程序源代码编译为可执行文件。

将数据处理单元与应用识别程序的网络接口进行绑定,并配置数据处理单元的参数,以使其能够接收并处理从网口传入的数据报文。

最终启动并运行应用识别程序,使其监听绑定的网口,实现接收并处理数据报文。

在一些实施例中,应用识别程序基于数据平面开发套件(Data PlaneDevelopment Kit,DPDK)接收数据报文。DPDK是一种用于数据平面开发的工具集,它提供了一组高性能的库和驱动,用于加速数据包处理和网络应用程序的开发。通过使用DPDK,可以充分利用现代多核处理器的计算能力和硬件特性,实现高吞吐量和低延迟的网络数据包处理。

在一些实施例中,应用识别程序基于数据平面开发套件提取数据报文的五元组信息,包括以下具体步骤:

应用识别程序预先使用数据平面开发套件将网络接口绑定到数据处理单元。

应用识别程序基于数据平面开发套件的自带函数从预设网口接收数据报文。示例性的,可以将接收的数据报文存储在相应内存中,供后续处理。

根据数据报文的协议类型,如TCP、UDP、IP等,应用识别程序从数据报文的数据部分提取报文头结构。

根据报文头结构和字段定义,应用识别程序从数据报文中提取五元组信息。示例性的,可以将提取得到的五元组信息进行存储,以便后续使用。其中,五元组信息包括源IP地址、目的IP的地址、协议类型、源端口号和目的端口号。源IP地址和目的IP地址可以从IPv4或IPv6报文头中提取;协议类型可以从IP报文头中的协议字段提取,例如值为6代表TCP,17代表UDP;源端口号和目的端口号可以从TCP或UDP报文头中提取。

步骤S103在数据处理单元的深度报文检测守护进程中进行处理。

在步骤S103中,深度报文检测守护进程接收由应用识别程序发送的数据报文和协议类型,提取数据报文的应用层信息。将应用层信息作为输入,通过调用在步骤S101中预先设置的硬件正则引擎,与规则数据库中的特征规则进行匹配,得到匹配结果,并根据策略动作对匹配结果进行处理。最终深度报文检测守护进程将数据报文和策略动作转发至应用识别程序。

步骤S104在数据处理单元的应用层协议识别进程中进行处理。

在步骤S104中,应用识别程序根据策略动作对数据报文进行转发动作,并统计识别信息上传至主机。

基于以上步骤S101至S104,实现了基于数据处理单元的应用识别硬件卸载。

本发明还提供一种基于数据处理单元的应用识别硬件卸载装置,该装置用于执行实现上述基于数据处理单元的应用识别硬件卸载方法,该装置包括主机和数据处理单元两部分,具体的:

主机用于向数据处理单元下发预先设置的规则文件以及需配置的策略动作,以及接收数据处理单元完成应用识别后统计的识别信息。

数据处理单元又包括应用层协议识别模块和深度报文检测守护进程模块。其中,应用层识别模块用于根据数据报文的五元组信息中的端口号对数据报文的应用层协议进行初步识别;深度报文检测守护进程模块用于根据数据报文的应用层信息,通过调用硬件正则引擎与预设特征规则进行匹配,以进行再次识别。

在一些实施例中,主机与数据处理单元通过高速串行总线(PeripheralComponent Interconnect Express,PCIE)进行互联,基于高速串行总线实现数据传输。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现基于数据处理单元的应用识别硬件卸载方法的步骤。

与上述方法相应地,本发明还提供了一种设备,该设备包括计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该设备实现如前所述方法的步骤。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述边缘计算服务器部署方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。

综上所述,本发明提供一种基于数据处理单元的应用识别硬件卸载方法及装置,包括:DPU接收主机侧下发的规则文件以及策略动作,在DPI守护进程中分析处理后,生成硬件正则引擎需要的规则数据库;应用识别程序接收数据报文并提取数据报文的五元组信息,通过五元组信息中配置的端口号对应用层协议进行初步识别;DPI守护进程接收数据报文和协议类型,并提取数据报文的应用层信息;将应用层信息作为输入,通过调用硬件正则引擎,与规则数据库中的特征规则进行匹配,生成匹配结果,根据策略动作对匹配结果进行处理,并将报文内容和策略动作转发至应用识别程序;应用识别程序根据策略动作对数据报文进行转发,并统计识别信息上传主机。本发明提供的应用识别硬件卸载方法通过DPI守护进程调用硬件正则加速引擎,实现了应用识别在DPU上的加速卸载,释放了主机和内存资源,且识别精度高、效率快,适用场景广泛。

进一步的,将应用层协议识别进程与DPI守护进程分开,DPI守护进程主要实现对报文内容的应用识别功能,可以灵活使用DPI守护进程,实现不同功能的硬件卸载加速。

进一步的,在主机侧的应用程序可供用户自由定制,及时调整更新下发的规则文件以及策略动作,灵活性高。

本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。

需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。

以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 蓝牙耳机连接方法、装置、电子设备及存储介质
  • 耳机解锁方法、装置、电子设备以及存储介质
  • 耳机控制方法、装置、电子设备及存储介质
  • 基于大数据的页面更新方法及装置、电子设备、存储介质
  • 一种游戏更新的方法及装置、电子设备、存储介质
  • 耳机充电盒软件更新方法和装置、电子设备、存储介质
  • 充电盒与耳机的通信方法、充电盒、耳机及存储介质
技术分类

06120116544517