CN105897587B - 一种数据包分类方法 - Google Patents
一种数据包分类方法 Download PDFInfo
- Publication number
- CN105897587B CN105897587B CN201610194030.XA CN201610194030A CN105897587B CN 105897587 B CN105897587 B CN 105897587B CN 201610194030 A CN201610194030 A CN 201610194030A CN 105897587 B CN105897587 B CN 105897587B
- Authority
- CN
- China
- Prior art keywords
- domain
- rule
- bit
- address
- value
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种数据包分类方法,包括CPU预处理规则集和GPU执行数据包分类两大部分;预处理在数据包分类开始之前执行,预先对规则集进行处理,使得后续包分类操作得以运行。预处理操作在CPU上完成。包分类操作是算法的核心部分,对输入的数据包进行分类,输出数据包匹配的优先级最高的规则编号。数据包分类操作在GPU上完成。本发明充分利用GPU的硬件特点及优势,较常规数据包分类算法有较大性能优势。
Description
技术领域
本发明涉及一种数据包分类方法。
背景技术
在现代路由器、交换机和防火墙中,为了实现优先路由或数据包过滤,网络上传输的数据包需要根据包头信息,按照一定的规则进行分类,执行不同的操作。这样的问题被称为数据包分类问题。
在网络分层模型中,要传输的数据被各层协议的包头依次封装,每层的数据包头都包含若干个域,它们分别表示该层协议的特征数据。一个规则集含有N条规则,每条规则由三部分组成:(1)与域有关的表达式,表达式一般是d元组(f1,f2,…,fd),其中fi可能是前缀(数据包中的IP地址需要进行前缀匹配),也可能是范围(端口号需要进行范围匹配),或者是一个精确的值(协议类型需要进行精确匹配);(2)优先级,声明该条规则在规则集中的优先级,当一个数据包和多条规则匹配时,优先级最高的规则生效;(3)处理动作,如果输入的数据包与规则匹配,则根据该动作对数据包处理。
一个输入的数据包的包头经过解析后得到包头关键字P,P为d元组(p1, p2, …,pd),d维包分类问题就是在规则集中找到与P匹配,且具有最高优先级的规则。
尽管已存在许多改善数据包分类性能的技术,但为了满足日益增加的链路速率和流量大小,同时保持合理的可扩展性(考虑一些新的互联网技术,诸如SDN),数据包分类问题仍然具有挑战性。
随着 GPU 计算能力的不断增强,越来越多的系统和应用程序开始使用 GPU 来加速计算。相对于CPU,GPU的一个重要优势是它能提供相当强大的并行计算能力。如果我们将最新的CPU和最新的GPU进行对比,往往可以发现GPU能提供远超于CPU的每秒钟浮点运算次数FLOPS (Floating-point Operations Per Second)。CUDA(Compute Unified DeviceArchitecture,统一计算架构)是由显卡设计厂商NVIDIA推出的通用并行计算平台。通过这个平台,开发者可以使用C/C++、Fortran 等高级语言来编写代码,表达并行机制,在支持CUDA的GPU上以高性能执行并行计算。
目前基于GPU平台的数据包分类已经取得一定进展。其中,利用GPU的并行计算能力将基本的线性查找算法或者经典的包分类算法移植到GPU上实现,可以大幅提高原系统的吞吐率。但是由于这些算法没有利用GPU的硬件特点,并不适合GPU执行,其运行效率还有较大的提升空间。
另一种基于GPU平台的包分类器的实现方案是利用CUDA的驱动API,进行程序运行时的动态编译,加载并执行。这种基于GPU的元编程在于最大程度的减少了对于显存的访问需求,使得程序在执行包分类时延迟很小。但是这种方法并不适合大规模的规则集的情况并且不支持规则集动态更新。
发明内容
本发明所要解决的技术问题是,针对现有技术不足,提供一种数据包分类方法。
为解决上述技术问题,本发明所采用的技术方案是:一种数据包分类方法,包括以下步骤:
1)对每个域分别建立索引表,使得对于所有域,给定任意合法输入I,均能在常数时间内查询到一条长度为规则集的大小的比特串,该比特串中0的位置编号对应合法输入I不匹配的规则编号,1的位置编号对应合法输入I匹配的规则编号;
2)将所有域的比特串传输到GPU的全局存储器上待用,并将需要分类的数据包包头关键字从内存传输到GPU的存储器上;
3)取出数据包包头所有域的值,并将所有域的值转换为十进制,从GPU全局存储器取得比特串;
4)对步骤4)的所有比特串执行与操作,合并所有的比特串,得到一条比特串,在合并后的比特串中,值为1的比特位置编号对应所述数据包匹配的规则编号;
5)检索所有匹配的规则,输出其中优先级最高的规则。
所述步骤1)中,所述域包括源端口号域、目的端口号域、协议类型域、源IP地址域和目的IP地址域。
所述步骤1)的具体实现过程包括:
对于源IP地址域,将该域拆成两部分,每部分16个比特,最大范围为[0,65535];首先将该域第一部分共65535条比特串以及第二部分共65535条比特串全部初始化为全0串;对规则集中所有规则做如下处理:对于编号为i的规则,将规则中源IP地址域的匹配条件的前16比特转换为范围,第一部分中,编号在该范围内的所有比特串的第i个位置均置为1;将规则中源IP地址域的匹配条件的后16比特转换为范围,第二部分中,编号在该范围内的所有比特串的第i个位置均置为1;
对于目的IP地址域,将该域拆成两部分,每部分16个比特,最大范围为[0,65535],首先将该域第一部分共65535条比特串以及第二部分共65535条比特串全部初始化为全0串;对规则集中所有规则做如下处理:对于编号为i的规则,将规则中目的IP地址域的匹配条件的前16比特转换为范围,第一部分中,编号在该范围内的所有比特串的第i个位置均置为1;将规则中目的IP地址域的匹配条件的后16比特转换为范围,第二部分中,编号在该范围内的所有比特串的第i个位置均置为1;
对于源端口号域,首先将该域全部共65535条比特串全部初始化为全0串;对规则集中所有规则做如下处理:对于编号为i的规则,将规则中源端口号域的匹配条件转换为范围,编号在该范围内的所有比特串的第i个位置均置为1;
对于目的端口号域,首先将该域全部共65535条比特串全部初始化为全0串;对规则集中所有规则做如下处理:对于编号为i的规则,将规则i中目的端口号域的匹配条件转换为范围,编号在该范围内的所有比特串的第i个位置均置为1;
对于协议类型域,首先将该域全部共255条比特串全部初始化为全0串;对规则集中所有规则做如下处理:对于编号为i的规则,将规则i中协议类型域的匹配条件转换为范围,编号在该范围内的所有比特串的第i个位置均置为1。
所述步骤4)的具体实现过程为:
取出数据包包头源IP地址域的值,将源IP地址域的值前16比特转换为十进制,该十进制值等于源IP地址域第一部分所求比特串的编号,从GPU全局存储器取得比特串;将源IP地址域的值后16比特转换为十进制,该十进制等于源IP地址域第二部分所求比特串的编号,从GPU全局存储器取得比特串;
取出数据包包头目的IP地址域的值,将目的IP地址域的值前16比特转换为十进制,该十进制值等于目的IP地址域第一部分所求比特串的编号,从GPU全局存储器取得比特串;将目的IP地址域的值后16比特转换为十进制,该十进制等于目的IP地址域第二部分所求比特串的编号,从GPU全局存储器取得比特串;
取出数据包包头源端口号域的值,将源端口号域的值转换为十进制,该十进制值等于源端口号域所求比特串的编号,从GPU全局存储器取得比特串;
取出数据包包头目的端口号域的值,将目的端口号域的值转换为十进制,该十进制值等于目的端口号域所求比特串的编号,从GPU全局存储器取得比特串;
取出数据包包头协议类型域的值,将协议类型域的值转换为十进制,该十进制值等于协议类型域所求比特串的编号,从GPU全局存储器取得比特串。
与现有技术相比,本发明所具有的有益效果为:本发明针对GPU的硬件特点及优势设计数据结构及算法,并且充分利用CUDA并行计算平台的相关技术,跟常规数据包分类方法相比有较大性能优势,实现了高性能的、灵活、可扩展的数据包分类。
附图说明
图1为本发明方法与HiCuts算法的吞吐率对比。
具体实施方式
本发明方法主要由两部分组成:(1)CPU预处理规则集;(2)GPU执行数据包分类。以常见的5元组包分类(数据包按照源IP地址、目的IP地址、源端口号、目的端口号、协议类型分类)为例,介绍该方法的总体流程。
一、CPU预处理规则集
概述:算法对于规则集中不同的域分别进行预处理。其目的是对每个域分别建立索引表,使得对于所有域,给定任意合法输入I,均能在常数时间内查询到一条长度为规则集的大小的比特串(由0或1构成的串)。该比特串中0的位置编号对应合法输入I不匹配的规则编号,1的位置编号对应合法输入I匹配的规则编号。
对每个域的预处理:
(1)源IP地址域有32个比特,最大范围为[0,232-1],受到内存空间限制,无法直接预处理232-1条比特串。将该域拆成两部分,每部分16个比特,最大范围为[0,65535]。首先将该域第一部分共65535条比特串以及第二部分共65535条比特串全部初始化为全0串。对规则集中所有规则做如下处理:对于编号为i的规则,将规则中源IP地址域的匹配条件的前16比特转换为范围,第一部分中,编号在该范围内的所有比特串的第i个位置均置为1;将规则中源IP地址域的匹配条件的后16比特转换为范围,第二部分中,编号在该范围内的所有比特串的第i个位置均置为1。
(2)目的IP地址域有32个比特,最大范围为[0,232-1],受到内存空间限制,无法直接预处理232-1条比特串。将该域拆成两部分,每部分16个比特,最大范围为[0,65535]。首先将该域第一部分共65535条比特串以及第二部分共65535条比特串全部初始化为全0串。对规则集中所有规则做如下处理:对于编号为i的规则,将规则中目的IP地址域的匹配条件的前16比特转换为范围,第一部分中,编号在该范围内的所有比特串的第i个位置均置为1;将规则中目的IP地址域的匹配条件的后16比特转换为范围,第二部分中,编号在该范围内的所有比特串的第i个位置均置为1;
(3)源端口号域有16个比特,最大范围为[0,65535]。首先将该域全部共65535条比特串全部初始化为全0串。对规则集中所有规则做如下处理:对于编号为i的规则,将规则中源端口号域的匹配条件转换为范围,编号在该范围内的所有比特串的第i个位置均置为1;
(4)目的端口号域有16个比特,最大范围为[0,65535]。首先将该域全部共65535条比特串全部初始化为全0串。对规则集中所有规则做如下处理:对于编号为i的规则,将规则i中目的端口号域的匹配条件转换为范围,编号在该范围内的所有比特串的第i个位置均置为1;
(5)协议类型域有8个比特,最大范围为[0,255]。首先将该域全部共255条比特串全部初始化为全0串。对规则集中所有规则做如下处理:对于编号为i的规则,将规则i中协议类型域的匹配条件转换为范围,编号在该范围内的所有比特串的第i个位置均置为1。
二、GPU执行数据包分类
在GPU上执行数据包分类之前,需要将预处理完成的5个域共393472(65536*6+256)条比特串传输到GPU的全局存储器上待用。
数据包分类过程总体上分为三步:
(1)将需要分类的数据包包头关键字从内存传输到GPU的存储器上;
(2)GPU开启大量线程,所有线程并行执行分类算法(详细见下述GPU执行分类算法);
(3)将GPU的计算结果传输回内存。
默认情况下,以上三个步骤是顺序执行的,GPU必须等待内存至GPU存储器的拷贝工作全部结束才能开始工作,在拷贝结束之前,GPU计算核心是空闲的。同时,显存至内存的回拷贝也必须等待GPU的计算全部结束,因而造成设备的利用率不高,程序的效率受到影响。
通过使用CUDA计算平台中的Streams(多流)技术优化,我们可以使得内存至GPU存储器的拷贝、GPU的计算、显存至内存的回拷贝以流水线的方式执行,从而达到加速的效果。在CUDA中,流(Stream)的定义是指一系列的串行执行的操作组合。在有多条流同时执行时,属于不同流中的操作是并行执行的。
三、GPU执行分类算法
GPU中每个线程按照以下步骤执行包分类算法:
(1)取出数据包包头源IP地址域的值。将源IP地址域的值前16比特转换为十进制,该十进制值等于源IP地址域第一部分所求比特串的编号,从GPU全局存储器取得比特串。将源IP地址域的值后16比特转换为十进制,该十进制等于源IP地址域第二部分所求比特串的编号,从GPU全局存储器取得比特串;
(2)取出数据包包头目的IP地址域的值。将目的IP地址域的值前16比特转换为十进制,该十进制值等于目的IP地址域第一部分所求比特串的编号,从GPU全局存储器取得比特串。将目的IP地址域的值后16比特转换为十进制,该十进制等于目的IP地址域第二部分所求比特串的编号,从GPU全局存储器取得比特串;
(3)取出数据包包头源端口号域的值。将源端口号域的值转换为十进制,该十进制值等于源端口号域所求比特串的编号,从GPU全局存储器取得比特串;
(4)取出数据包包头目的端口号域的值。将目的端口号域的值转换为十进制,该十进制值等于目的端口号域所求比特串的编号,从GPU全局存储器取得比特串;
(5)取出数据包包头协议类型域的值。将协议类型域的值转换为十进制,该十进制值等于协议类型域所求比特串的编号,从GPU全局存储器取得比特串;
(6)对步骤1至5中求得的共7条比特串执行与操作,合并所有的比特串,得到一条比特串。在合并后的比特串中,值为1的比特位置编号对应该数据包匹配的规则编号;
(7)检索所有匹配的规则,输出其中优先级最高的规则。
测试实验中,用测试的数据包总数除以实验用时,可以得到单位时间内执行数据包分类的数量。假设数据包大小均为64Byte,则每秒处理14.88*106个数据包相当于10Gbps的吞吐量,以此为依据作单位换算。
实验中使用的仿真数据(包括规则集和数据包头)通过ClassBench程序生成。我们测试了两种类型的规则集:访问控制列表(ACL),防火墙(FW)。在实验中,每种类型的规则集都有四种不同的规模,从1k到4k递增。例如,fw_1k表示防火墙类型的规则集,规模大小为1k。我们只考虑5个域的规则:源/目的IP地址、源/目的端口以及协议类型。
测试主机的CPU为Intel的至强系列E5-2630,GPU为NVIDIA的Tesla K20m,有2496个CUDA计算核心以及6GB的全局存储。PCI-E 3.0插槽连接GPU和主机,为内存与GPU之间的传输提供16 GB/s的理论带宽。
本专利中描述的算法分别使用不同的数据集与一种经典的包分类算法HiCuts进行对比测试。由于CUDA的参数配置会对算法的性能产生巨大影响,因而我们以不同的流数量、线程块和线程数组合进行多次测试,使用最优化的参数配置。
其中每个数据点测试5次,取平均值作为本次测试结果。结果如图1所示,在常规规模数据集的情况下,该算法较HiCuts有着较为明显的优势,其吞吐率较HiCuts提高了70%至400%。
Claims (4)
1.一种数据包分类方法,其特征在于,包括以下步骤:
1)对每个域分别建立索引表,使得对于所有域,给定任意合法输入I,均能在常数时间内查询到一条长度为规则集的大小的比特串,该比特串中0的位置编号对应合法输入I不匹配的规则编号,1的位置编号对应合法输入I匹配的规则编号;
2)将所有域的比特串传输到GPU的全局存储器上待用,并将需要分类的数据包包头关键字从内存传输到GPU的存储器上;
3)取出数据包包头所有域的值,并将所有域的值转换为十进制,从GPU全局存储器取得比特串;
4)对步骤3)的所有比特串执行与操作,合并所有的比特串,得到一条比特串,在合并后的比特串中,值为1的比特位置编号对应所述数据包匹配的规则编号;
5)检索所有匹配的规则,输出其中优先级最高的规则。
2.根据权利要求1所述的数据包分类方法,其特征在于,所述步骤1)中,所述域包括源端口号域、目的端口号域、协议类型域、源IP地址域和目的IP地址域。
3.根据权利要求2所述的数据包分类方法,其特征在于,所述步骤1)的具体实现过程包括:
对于源IP地址域,将该域拆成两部分,每部分16个比特,最大范围为[0,65535];首先将该域第一部分共65535条比特串以及第二部分共65535条比特串全部初始化为全0串;对规则集中所有规则做如下处理:对于编号为i的规则,将规则中源IP地址域的匹配条件的前16比特转换为范围,第一部分中,编号在该范围内的所有比特串的第i个位置均置为1;将规则中源IP地址域的匹配条件的后16比特转换为范围,第二部分中,编号在该范围内的所有比特串的第i个位置均置为1;
对于目的IP地址域,将该域拆成两部分,每部分16个比特,最大范围为[0,65535],首先将该域第一部分共65535条比特串以及第二部分共65535条比特串全部初始化为全0串;对规则集中所有规则做如下处理:对于编号为i的规则,将规则中目的IP地址域的匹配条件的前16比特转换为范围,第一部分中,编号在该范围内的所有比特串的第i个位置均置为1;将规则中目的IP地址域的匹配条件的后16比特转换为范围,第二部分中,编号在该范围内的所有比特串的第i个位置均置为1;
对于源端口号域,首先将该域全部共65535条比特串全部初始化为全0串;对规则集中所有规则做如下处理:对于编号为i的规则,将规则中源端口号域的匹配条件转换为范围,编号在该范围内的所有比特串的第i个位置均置为1;
对于目的端口号域,首先将该域全部共65535条比特串全部初始化为全0串;对规则集中所有规则做如下处理:对于编号为i的规则,将规则i中目的端口号域的匹配条件转换为范围,编号在该范围内的所有比特串的第i个位置均置为1;
对于协议类型域,首先将该域全部共255条比特串全部初始化为全0串;对规则集中所有规则做如下处理:对于编号为i的规则,将规则i中协议类型域的匹配条件转换为范围,编号在该范围内的所有比特串的第i个位置均置为1。
4.根据权利要求3所述的数据包分类方法,其特征在于,所述步骤3)的具体实现过程为:
取出数据包包头源IP地址域的值,将源IP地址域的值前16比特转换为十进制,该十进制值等于源IP地址域第一部分所求比特串的编号,从GPU全局存储器取得比特串;将源IP地址域的值后16比特转换为十进制,该十进制等于源IP地址域第二部分所求比特串的编号,从GPU全局存储器取得比特串;
取出数据包包头目的IP地址域的值,将目的IP地址域的值前16比特转换为十进制,该十进制值等于目的IP地址域第一部分所求比特串的编号,从GPU全局存储器取得比特串;将目的IP地址域的值后16比特转换为十进制,该十进制等于目的IP地址域第二部分所求比特串的编号,从GPU全局存储器取得比特串;
取出数据包包头源端口号域的值,将源端口号域的值转换为十进制,该十进制值等于源端口号域所求比特串的编号,从GPU全局存储器取得比特串;
取出数据包包头目的端口号域的值,将目的端口号域的值转换为十进制,该十进制值等于目的端口号域所求比特串的编号,从GPU全局存储器取得比特串;
取出数据包包头协议类型域的值,将协议类型域的值转换为十进制,该十进制值等于协议类型域所求比特串的编号,从GPU全局存储器取得比特串。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610194030.XA CN105897587B (zh) | 2016-03-31 | 2016-03-31 | 一种数据包分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610194030.XA CN105897587B (zh) | 2016-03-31 | 2016-03-31 | 一种数据包分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105897587A CN105897587A (zh) | 2016-08-24 |
CN105897587B true CN105897587B (zh) | 2018-11-09 |
Family
ID=57014434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610194030.XA Active CN105897587B (zh) | 2016-03-31 | 2016-03-31 | 一种数据包分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105897587B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783728B (zh) * | 2016-08-31 | 2021-07-23 | 百度在线网络技术(北京)有限公司 | 数据存储方法、装置和设备 |
CN106445068A (zh) * | 2016-08-31 | 2017-02-22 | 湖南大学 | 一种基于gpu数据包分类的模糊控制节能方法 |
CN107015616A (zh) * | 2017-04-19 | 2017-08-04 | 湖南工程学院 | 一种基于任务调度的智能分布式gpu计算机控制系统 |
CN107888494B (zh) * | 2017-11-29 | 2020-06-26 | 湖南大学 | 一种基于社区发现的包分类方法及系统 |
CN111475290B (zh) * | 2020-03-27 | 2023-02-14 | 华南理工大学 | 一种基于gpu的sdn网络包分类方法及系统 |
CN112446816B (zh) * | 2021-02-01 | 2021-04-09 | 成都点泽智能科技有限公司 | 显存动态数据存储方法、装置及服务器 |
CN112804253B (zh) * | 2021-02-04 | 2022-07-12 | 湖南大学 | 一种网络流量分类检测方法、系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101714948A (zh) * | 2009-10-27 | 2010-05-26 | 清华大学 | 一种多域的网包的分类方法和装置 |
CN103559017A (zh) * | 2013-10-23 | 2014-02-05 | 东软集团股份有限公司 | 基于gpu异构计算平台的字符串匹配方法及系统 |
CN104008130A (zh) * | 2014-04-28 | 2014-08-27 | 开网科技(北京)有限公司 | 一种基于混合计算硬件的网络报文分类系统和方法 |
WO2015101119A1 (zh) * | 2013-12-30 | 2015-07-09 | 华为技术有限公司 | 一种流表匹配的方法、装置和OpenFlow交换系统 |
-
2016
- 2016-03-31 CN CN201610194030.XA patent/CN105897587B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101714948A (zh) * | 2009-10-27 | 2010-05-26 | 清华大学 | 一种多域的网包的分类方法和装置 |
CN103559017A (zh) * | 2013-10-23 | 2014-02-05 | 东软集团股份有限公司 | 基于gpu异构计算平台的字符串匹配方法及系统 |
WO2015101119A1 (zh) * | 2013-12-30 | 2015-07-09 | 华为技术有限公司 | 一种流表匹配的方法、装置和OpenFlow交换系统 |
CN104008130A (zh) * | 2014-04-28 | 2014-08-27 | 开网科技(北京)有限公司 | 一种基于混合计算硬件的网络报文分类系统和方法 |
Non-Patent Citations (1)
Title |
---|
"Accelerate Packet Classification Using GPU: A Case Study on HiCuts";Jintao Zheng 等;《Computer Science and its Applications》;20151231;231-238 * |
Also Published As
Publication number | Publication date |
---|---|
CN105897587A (zh) | 2016-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105897587B (zh) | 一种数据包分类方法 | |
Varvello et al. | Multi-layer packet classification with graphics processing units | |
Ma et al. | Leveraging parallelism for multi-dimensional packetclassification on software routers | |
WO2019090247A1 (en) | Network system including match processing unit for table-based actions | |
CN115917520A (zh) | 用于通过分布式算法为可编程数据平面提供lpm实现的系统 | |
CN116627892B (zh) | 一种数据近存储计算方法、装置和存储介质 | |
Yuan et al. | HALO: Accelerating flow classification for scalable packet processing in NFV | |
US11258707B1 (en) | Systems for building data structures with highly scalable algorithms for a distributed LPM implementation | |
Bonelli et al. | A purely functional approach to packet processing | |
Yang et al. | SwitchAgg: A further step towards in-network computation | |
CN107832149B (zh) | 一种针对多核处理器动态分组管理的Receive-side Scaling电路 | |
Dhakal et al. | Netml: An nfv platform with efficient support for machine learning applications | |
Pacífico et al. | Application layer packet classifier in hardware | |
Shrivastav | Programmable multi-dimensional table filters for line rate network functions | |
CN102780616B (zh) | 基于多核处理器的报文处理方法、装置和网络设备 | |
Tang et al. | Accelerating protocol oblivious forwarding programmable data plane with flow cache | |
Chang et al. | Hash-based OpenFlow packet classification on heterogeneous system architecture | |
CN104104557A (zh) | 面向IPv6安全网关的深度包检测装置 | |
Qiao et al. | Adaptable switch: a heterogeneous switch architecture for network-centric computing | |
CN114189368B (zh) | 一种多推理引擎兼容的实时流量检测系统和方法 | |
CN113034343B (zh) | 参数自适应的高光谱图像分类gpu并行方法 | |
CN113835712B (zh) | 一种按照给定字段值进行判断的快速数据包分组路由方法 | |
Qi et al. | Towards optimized packet classification algorithms for multi-core network processors | |
Zhou et al. | High-performance traffic classification on gpu | |
Pasetto et al. | Ultra low latency market data feed on IBM PowerENTM |
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 |