CN112887300B - 一种数据包分类方法 - Google Patents

一种数据包分类方法 Download PDF

Info

Publication number
CN112887300B
CN112887300B CN202110088008.8A CN202110088008A CN112887300B CN 112887300 B CN112887300 B CN 112887300B CN 202110088008 A CN202110088008 A CN 202110088008A CN 112887300 B CN112887300 B CN 112887300B
Authority
CN
China
Prior art keywords
data packet
packet classification
classification rule
rule database
sip
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
CN202110088008.8A
Other languages
English (en)
Other versions
CN112887300A (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.)
Beijing Jiaotong University
Original Assignee
Beijing Jiaotong University
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 Beijing Jiaotong University filed Critical Beijing Jiaotong University
Priority to CN202110088008.8A priority Critical patent/CN112887300B/zh
Publication of CN112887300A publication Critical patent/CN112887300A/zh
Application granted granted Critical
Publication of CN112887300B publication Critical patent/CN112887300B/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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Biomedical Technology (AREA)
  • Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种数据包分类方法。该方法包括:根据待分类的数据包的包头的SIP和DIP两个域在数据包分类规则数据库中进行匹配,将SIP和DIP的匹配结果进行交叉组合得到交叉地址集合;利用RNN学习模型和SBF对交叉地址集合进行联合过滤,判断交叉地址集合中的元素是否属于数据包分类规则数据库;当判断交叉地址集合中的元素属于数据包分类规则数据库后,利用哈希表对元素进行二次验证,获得元素对应的数据包匹配的规则,对数据包执行匹配规则对应的动作。应用本发明,只将被学习模型假阴性误判的元素插入到SBF中,有效降低了数据包分类方法的内存占用。通过利用SBF对查询进行二次过滤,减少了哈希表无效查找的次数,有效提高了分类的准确率和查找速度。

Description

一种数据包分类方法
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据包分类方法。
背景技术
随着网络速度的不断提高和用户的急剧普及,网络正处于蓬勃发展的时期,各种各样的网络应用应运而生。网络需要支持各种多媒体服务,包括WEB服务。底层需要提供足够的带宽,这不仅需要高速的通信链路,还需要高速的网络路由设备。目前的互联网路由器只提供先到先得的转发机制,无法为用户提供高质量的音频、视频等多媒体传输服务。未来的网络需要考虑用户的不同需求,提供全方位的网络服务,如差分服务、防火墙、网络入侵检测、访问控制等,而数据包分类是实现这些服务的关键技术之一。数据包分类的速度和功能将直接影响到这些网络服务的许多特性,对下一代网络和服务质量有着关键的影响。因此,数据包分类是当前网络研究的重要问题之一。
现有技术中的数据包分类算法主要分为两种类型,一种是基于硬件的,另一种是基于软件的。其中,基于三态内容寻址存储器(Ternary Content Addressable Memory,TCAM)是最常使用的硬件数据包分类算法,该算法将所有规则存储在内存中,并支持规则的并行查找。然而,TCAM功耗高、内存使用量大和难以处理范围匹配等固有的缺陷使得基于TCAM的算法不适合大型分类器。与此相反,基于软件的数据包分类算法更加灵活,但内存中的数据结构会影响该方法的分类效果。
发明内容
本发明的实施例提供了一种数据包分类方法,以克服现有技术的问题。
为了实现上述目的,本发明采取了如下技术方案。
一种数据包分类方法,包括:
根据待分类的数据包的包头的SIP和DIP两个域在数据包分类规则数据库中进行匹配,将SIP和DIP的匹配结果进行交叉组合得到交叉地址集合;
利用递归神经网络RNN学习模型和辅助布鲁姆过滤器SBF对所述交叉地址集合进行联合过滤,判断所述交叉地址集合中的元素是否属于数据包分类规则数据库;
当判断所述交叉地址集合中的元素属于数据包分类规则数据库后,利用哈希表对所述元素进行二次验证,获得所述元素对应的数据包匹配的规则,并对所述数据包执行匹配规则对应的动作。
优选地,所述的方法包括:
设置包含各种数据包类型的数据包分类规则数据库中,该数据库中每条规则都由SIP、DIP、SP、DP和PT五元组表示,该数据库中的一种数据包类型对应至少一种SIP、DIP、SP、DP和PT的分类规则。
优选地,所述的根据待分类的数据包的包头的SIP和DIP两个域在数据包分类规则数据库中进行匹配,将SIP和DIP的匹配结果进行交叉组合得到交叉地址集合,包括:
当收到一个待分类的数据包,抽取数据包的包头中的关键域,该关键域包括SIP,DIP,SP,DP和PT,采用Trie树对包头的SIP和DIP在数据包分类规则数据库中进行单域匹配,设nS和nD分别表示与SIP和DIP匹配的规则数量,将SIP和DIP的匹配结果进行交叉组合得到交叉地址集合
Figure BDA0002911433560000021
大小为nS·nD
优选地,所述的利用递归神经网络RNN学习模型和辅助布鲁姆过滤器SBF对所述交叉地址集合进行联合过滤,判断所述交叉地址集合中的元素是否属于数据包分类规则数据库,包括:
利用训练好的学习模型RNN计算得到集合
Figure BDA0002911433560000022
中所有元素的f(x):
Figure BDA0002911433560000023
函数f(x)的输入x为集合
Figure BDA0002911433560000024
中的二维数值的元素x,函数f(x)的输出代表x属于规则集的概率,如果f(x)<τ,判断元素x不属于数据包分类规则数据库;否则,判断元素x属于数据包分类规则数据库;
针对被学习模型RNN判断为不属于数据包分类规则数据库的元素x,通过k个独立哈希函数h1(·),...,hk(·)计算出元素x对应的k个哈希地址,设置
Figure BDA0002911433560000025
如果SBF中对应这k个哈希地址的值全为1,即SBF[h1(x)]=...=SBF[hk(x)]=1,则判断元素x属于数据包分类规则数据库;否则,判断元素x不属于数据包分类规则数据库,
优选地,所述的当判断所述交叉地址集合中的元素属于数据包分类规则数据库后,利用哈希表对所述元素进行二次验证,获得所述元素对应的数据包匹配的规则,并对所述数据包执行匹配规则对应的动作,包括:
针对被学习模型RNN或者SBF判断为属于数据包分类规则数据库的元素x,利用哈希表进行二次验证,计算
Figure BDA0002911433560000031
的哈希地址,如果哈希表中对应所述哈希地址的值等于x,则最终判定元素x属于数据包分类规则数据库;
对最终判定属于数据包分类规则数据库的元素x对应的数据包的包头的后三域进行线性查找,获得与数据包匹配的规则,并对数据包执行匹配规则对应的动作。
由上述本发明的实施例提供的技术方案可以看出,应用本发明实施例的方法,LBF只用将那些被学习模型假阴性误判的元素插入到SBF中,有效降低了数据包分类方法的内存占用。通过利用SBF可以对查询进行二次过滤,减少了哈希表无效查找的次数,有效提高了分类的准确率和查找速度。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据包分类方法的处理流程图;
图2为本发明实施例提供的一种数据包分类方法的应用实例示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
布鲁姆过滤器是一种流行的数据结构,其被广泛用于基于软件的数据包分类算法中。在数据包分类过程中规则搜索是不可避免的,而通过消除不必要的搜索可以提高数据包匹配速度。然而,布鲁姆过滤器在降低数据包分类的内存和计算量的同时,引入了非零的假阳率,这导致了不必要的搜索,从而影响了数据包路由的整体性能。
数据包分类通过匹配源IP(source IP address,SIP)、目标IP(destination IPaddress,DIP)、源端口号(source port number,SP)、目的端口号(destinationportnumber,SP)和协议类型(protocol type,PT)5个包头字段分类数据包,继而确定规则集与数据包匹配的规则。由于规则查找是数据包分类过程中不可避免的,通过消除不必要的搜索可以有效提高性能。本发明实施例提出了一种高效的数据包分类方法,该方法在进行耗时的搜索过程之前,利用学习布鲁姆过滤器(learned Bloom filter,LBF)优先判断规则集中是否存在与数据包相匹配的规则,其中LBF由一个学习模型和一个辅助布鲁姆过滤器(support Bloom filter,SBF)构成,从而提高布鲁姆过滤器的内存占用。随着规则集的大小不断增加,在搜索之前判断规则是否存在使得性能优势变得更加明显。
由于递归神经网络(recurrent neural networks,RNNs)在字符串建模方面的高效性,本发明采用RNN作为LBF的学习模型。同时,该方法利用包匹配规则的聚集特性,采用单个LBF对前两域匹配结果的交叉组合集进行过滤,而后在获得的小规模数据集中对后三域进行匹配,降低内存占用。最后,通过哈希表对匹配结果进行二次验证,提高数据包分类方法的准确度。
在规则插入算法的实施过程中,首先从要插入的规则中提取SIP-DIP对组成x。然后判断f(x)<τ的条件是否满足。如果该条件满足,则将x插入到SBF和哈希表中;否则,x只插入到哈希表中。由于x可以利用f(x)映射到[0,1],本发明采用
Figure BDA0002911433560000051
作为哈希表中的哈希函数,其中M表示哈希表的大小。它可以将属于
Figure BDA0002911433560000052
Figure BDA0002911433560000053
的元素中分别映射到哈希表的较高和较低的位置上,有效降低哈希表中哈希碰撞发生的次数。
本发明实施例提出的一种数据包分类方法的处理流程如图1所示,包括如下的处理步骤:
步骤S10、根据待分类的数据包的包头的SIP和DIP两个域在数据包分类规则数据库中进行并行查找,将SIP和DIP的匹配结果进行交叉组合得到交叉地址集合
Figure BDA0002911433560000054
设置包含各种数据包类型的数据包分类规则数据库中,该数据库中每条规则都由SIP、DIP、SP、DP和PT五元组表示,该数据库中的一种数据包类型对应至少一种SIP、DIP、SP、DP和PT的分类规则。
在预处理阶段,当收到一个待分类的数据包,要先抽取数据包的包头H的关键域,该关键域包括SIP,DIP,SP,DP和PT。采用Trie树对包头的SIP和DIP在数据包分类规则数据库中进行单域匹配,可以并行查找,设nS和nD分别表示与SIP和DIP匹配的规则数量。将SIP和DIP的匹配结果进行交叉组合得到交叉地址集合
Figure BDA0002911433560000055
大小为nS·nD。该集合中包含不属于规则数据库中元素。
由于每个SIP或者DIP的单域匹配结果不超过5条,则集合
Figure BDA0002911433560000061
的规模不会超过25。
步骤S20、利用训练好的学习模型RNN对集合
Figure BDA0002911433560000062
进行初步过滤,判断集合
Figure BDA0002911433560000063
中的地址是否属于数据包分类规则数据库,如果是,执行步骤S30;否则,执行步骤S40。
本发明实施例提出了一个基于LBF的规则插入算法,其可支持规则库中规则实时更新。LBF的第一层是RNN,它可预测数据包属于正集合还是负集合,即判断数据包是否为规则集中的元素。由于存在将属于规则集中的元素误判为不属于规则集中,即存在假阴性误判,则引入SBF作为LBF的第二层来消除假阴性。
在将集合
Figure BDA0002911433560000064
插入到LBF之前,本发明利用一个学习模型RNN对集合
Figure BDA0002911433560000065
进行初步过滤,降低内存占用,提高查询有效性。
首先需要训练学习模型RNN。另
Figure BDA0002911433560000066
表示一个有序集合
Figure BDA0002911433560000067
它用于训练学习模型RNN,其目标为最小化二元交叉熵损失函数
Figure BDA0002911433560000068
其中
Figure BDA0002911433560000069
它也代表x属于规则集的概率,其范围为[0,1]。函数f(x)的输入x是一个包含SIP和DIP的二维变量。利用一个门槛τ来判断x的归属,如果f(x)≥τ,x属于规则集
Figure BDA00029114335600000610
否则,x属于非规则集
Figure BDA00029114335600000611
在主阶段,利用训练好的学习模型RNN计算得到集合
Figure BDA00029114335600000612
中所有元素的f(x):
Figure BDA00029114335600000613
这里函数f(x)的输入x为集合
Figure BDA0002911433560000071
中的二维数值的元素x,函数f(x)的输出代表x属于规则集的概率。如果f(x)<τ,判断元素x不属于数据包分类规则数据库,执行步骤S30;否则,判断元素x属于数据包分类规则数据库,执行步骤S40。
步骤S30、使用SBF过滤学习模型RNN的假阴性结果。
相比于布鲁姆过滤器,学习模型RNN具有非零的假阳性和假阴性,其中假阳性与假阴性成反比。因此,引入SBF用于消除假阴性。在SBF中,一个集合S中n个元素通过k个独立哈希函数h1(·),...,hk(·)映射到一个m比特位的向量上。
由于SBF没有假阴性,针对被学习模型RNN判断为不属于数据包分类规则数据库的元素x,通过k个独立哈希函数h1(·),...,hk(·)计算出元素x对应的k个哈希地址,为使SBF的假阳性最小,设置
Figure BDA0002911433560000072
如果SBF中对应这k个哈希地址的值全为1,即SBF[h1(x)]=...=SBF[hk(x)]=1,则判断元素x属于数据包分类规则数据库,执行步骤S40;否则,判断元素x不属于数据包分类规则数据库,执行步骤S50。
这里哈希函数的选择可以采用哈希函数常用的方法,但要求元素x计算得到的哈希地址为[0,m)。
步骤S40、使用SBF过滤假阴性结果后,针对被学习模型RNN或者SBF判断为属于数据包分类规则数据库的元素x,利用哈希表进行二次验证,计算
Figure BDA0002911433560000073
的哈希地址,如果哈希表中对应上述哈希地址的值等于x,则最终判定元素x属于数据包分类规则数据库;
针对最终判定属于数据包分类规则数据库的所有元素x,可以获得一个与数据包头前两域匹配的小规模规则集。然后,对经过哈希表验证所获得的小规模规则集中的元素的后三域进行线性查找,最终获得与元素对应的数据包匹配的规则,并对数据包执行匹配规则对应的动作。流程结束;否则,判断SBF产生假阳性误判,执行步骤S50。
步骤S50。判断上述数据包分类规则数据库不存在与待分类的数据包匹配的规则,交换机将向控制器发送包含部分和全部上述待分类的数据包的请求。
本发明对提出的数据包分类方法性能进行了分析,主要包括LBF的假阳性率和内存需求。详细过程总结如下。
对于一个查询集合
Figure BDA0002911433560000081
Figure BDA0002911433560000082
表示当给定τ时,学习模型在集合
Figure BDA0002911433560000083
上的假阳性率,PB表示SBF的假阳性率。对于一个查询q
Figure BDA0002911433560000084
LBF的假阳性率表示如下
Figure BDA0002911433560000085
其中
Figure BDA0002911433560000086
等于P(f(q)≥τ)。
为计算LBF的假阳性率,首先要获得PB。根据布鲁姆过滤器的特征,其假阳性率取决于m,n和k。另
Figure BDA0002911433560000087
表示当给定τ时,学习模型在集合
Figure BDA0002911433560000088
上的假阴性率,则表达PB如下
Figure BDA0002911433560000089
其中
Figure BDA00029114335600000810
表示集合
Figure BDA00029114335600000811
的大小,p表示SBF中任一比特为1的概率。由于插入SBF元素的数量等于RNN发生假阴性误判的数量,即
Figure BDA00029114335600000812
另外,当
Figure BDA00029114335600000813
时,PB获得最小值。
另Sf表示学习模型的大小。由于LBF是由一个学习模型和SBF组成,则LBF的大小SL等于SL=Sf+m。由于SBF是为集合
Figure BDA00029114335600000814
所创建的,则SBF的大小与学习模型和τ相关。根据公式(3),可以推导出m的表达式,如下所示
Figure BDA00029114335600000815
从而得到SL
实施例二
图2为本发明实施例提供的一种数据包分类方法的应用实例示意图,如图2所示,当到来一个数据包,先对SIP和DIP进行并行的单域查找,规则集中与SIP匹配的规则有(110100,1101*,*),与DIP匹配的规则有(100110,1001*),对这两组的匹配结果进行交叉组合,获得一个交叉地址集[(110100,100110),(110100,1001*),(1101*,100110),(1101*,1001*),(*,100110),(*,1001*)]。由于该地址集中有一部分的地址不属于规则集,因此直接采用哈希表查找确认会造成查找速度缓慢。利用学习模型(RNN)对该交叉地址集进行预过滤,当输出结果是否定时,采用SBF对否定的结果进行再次过滤,消除学习模型产生的假阴性误判。由于学习模型和SBF具有一定的假阳性,当学习模型和SBF的结果是肯定时,则使用哈希表进行二次验证。计算哈希表中的哈希函数
Figure BDA0002911433560000091
从哈希值所对应的位置处获得匹配的规则,在对该规则的后三域进行线性查找,最终对数据包执行匹配规则对应的动作。
当SBF和哈希表的输出结果是否定时,则认为规则集中没有与该数据包相匹配的规则,交换机将向控制器发送包含部分或者全部数据包的packet-in信息,控制器收到信息时会返回packet-out信息,然后对数据包执行相应的动作。
综上所述,应用本发明实施例的方法,LBF只用将那些被学习模型假阴性误判的元素插入到SBF中,有效降低了数据包分类方法的内存占用。此外,由于SBF可以对查询进行二次过滤,相比于只用学习模型进行数据包分类,本发明减少了哈希表无效查找的次数,有效提高了分类的准确率和查找速度。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (4)

1.一种数据包分类方法,其特征在于,包括:
根据待分类的数据包的包头的SIP和DIP两个域在数据包分类规则数据库中进行匹配,将SIP和DIP的匹配结果进行交叉组合得到交叉地址集合;
利用递归神经网络RNN学习模型和辅助布鲁姆过滤器SBF对所述交叉地址集合进行联合过滤,判断所述交叉地址集合中的元素是否属于数据包分类规则数据库;
当判断所述交叉地址集合中的元素属于数据包分类规则数据库后,利用哈希表对所述元素进行二次验证,获得所述元素对应的数据包匹配的规则,并对所述数据包执行匹配规则对应的动作;
所述的利用递归神经网络RNN学习模型和辅助布鲁姆过滤器SBF对所述交叉地址集合进行联合过滤,判断所述交叉地址集合中的元素是否属于数据包分类规则数据库,包括:
利用训练好的学习模型RNN计算得到集合
Figure FDA0003361328820000011
中所有元素的f(x):
Figure FDA0003361328820000012
函数f(x)的输入x为集合
Figure FDA0003361328820000013
中的二维数值的元素x,函数f(x)的输出代表x属于规则集的概率,如果f(x)<τ,判断元素x不属于数据包分类规则数据库;否则,判断元素x属于数据包分类规则数据库;
针对被学习模型RNN判断为不属于数据包分类规则数据库的元素x,通过k个独立哈希函数h1(·),...,hk(·)计算出元素x对应的k个哈希地址,设置
Figure FDA0003361328820000014
如果SBF中对应这k个哈希地址的值全为1,即SBF[h1(x)]=...=SBF[hk(x)]=1,则判断元素x属于数据包分类规则数据库;否则,判断元素x不属于数据包分类规则数据库。
2.根据权利要求1所述的方法,其特征在于,所述的方法包括:
设置包含各种数据包类型的数据包分类规则数据库中,该数据库中每条规则都由SIP、DIP、SP、DP和PT五元组表示,该数据库中的一种数据包类型对应至少一种SIP、DIP、SP、DP和PT的分类规则。
3.根据权利要求1所述的方法,其特征在于,所述的根据待分类的数据包的包头的SIP和DIP两个域在数据包分类规则数据库中进行匹配,将SIP和DIP的匹配结果进行交叉组合得到交叉地址集合,包括:
当收到一个待分类的数据包,抽取数据包的包头中的关键域,该关键域包括SIP,DIP,SP,DP和PT,采用Trie树对包头的SIP和DIP在数据包分类规则数据库中进行单域匹配,设nS和nD分别表示与SIP和DIP匹配的规则数量,将SIP和DIP的匹配结果进行交叉组合得到交叉地址集合
Figure FDA0003361328820000021
大小为nS·nD
4.根据权利要求1所述的方法,其特征在于,所述的当判断所述交叉地址集合中的元素属于数据包分类规则数据库后,利用哈希表对所述元素进行二次验证,获得所述元素对应的数据包匹配的规则,并对所述数据包执行匹配规则对应的动作,包括:
针对被学习模型RNN或者SBF判断为属于数据包分类规则数据库的元素x,利用哈希表进行二次验证,计算
Figure FDA0003361328820000022
的哈希地址,如果哈希表中对应所述哈希地址的值等于x,则最终判定元素x属于数据包分类规则数据库;
对最终判定属于数据包分类规则数据库的元素x对应的数据包的包头的后三域进行线性查找,获得与数据包匹配的规则,并对数据包执行匹配规则对应的动作。
CN202110088008.8A 2021-01-22 2021-01-22 一种数据包分类方法 Active CN112887300B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110088008.8A CN112887300B (zh) 2021-01-22 2021-01-22 一种数据包分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110088008.8A CN112887300B (zh) 2021-01-22 2021-01-22 一种数据包分类方法

Publications (2)

Publication Number Publication Date
CN112887300A CN112887300A (zh) 2021-06-01
CN112887300B true CN112887300B (zh) 2022-02-01

Family

ID=76050129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110088008.8A Active CN112887300B (zh) 2021-01-22 2021-01-22 一种数据包分类方法

Country Status (1)

Country Link
CN (1) CN112887300B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105072122A (zh) * 2015-08-19 2015-11-18 山东超越数控电子有限公司 一种数据包快速匹配分类方法
CN110034966A (zh) * 2018-01-11 2019-07-19 中国科学院声学研究所 一种基于机器学习的数据流分类方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523241B (zh) * 2012-01-09 2014-11-19 北京邮电大学 基于决策树高速并行处理的网络流量在线分类方法及装置
CN103179039B (zh) * 2012-10-25 2015-09-16 四川省电力公司信息通信公司 一种有效过滤正常网络数据包的方法
CN103269337B (zh) * 2013-04-27 2016-08-10 中国科学院信息工程研究所 数据处理方法及装置
CN107612948A (zh) * 2017-11-08 2018-01-19 国网四川省电力公司信息通信公司 一种入侵防御系统及方法
CN111026917B (zh) * 2019-11-07 2021-07-20 中国科学院计算技术研究所 一种基于卷积神经网络的数据包分类方法及系统
CN111510433B (zh) * 2020-03-18 2021-01-15 山东大学 一种基于雾计算平台的物联网恶意流量检测方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105072122A (zh) * 2015-08-19 2015-11-18 山东超越数控电子有限公司 一种数据包快速匹配分类方法
CN110034966A (zh) * 2018-01-11 2019-07-19 中国科学院声学研究所 一种基于机器学习的数据流分类方法及系统

Also Published As

Publication number Publication date
CN112887300A (zh) 2021-06-01

Similar Documents

Publication Publication Date Title
CN109951444B (zh) 一种加密匿名网络流量识别方法
Zeng et al. DeepVCM: A deep learning based intrusion detection method in VANET
CN103858386B (zh) 用于通过优化的决策树执行包分类的方法和装置
CN112163594A (zh) 一种网络加密流量识别方法及装置
CN1881950A (zh) 使用频谱分析的分组分类加速
US10313240B2 (en) Technologies for efficient network flow classification with vector bloom filters
JP3881663B2 (ja) フィールドレベルツリーを用いたパケット分類装置及び方法
CN113821793B (zh) 基于图卷积神经网络的多阶段攻击场景构建方法及系统
CN113364787B (zh) 一种基于并联神经网络的僵尸网络流量检测方法
Soleymanpour et al. CSCNN: cost-sensitive convolutional neural network for encrypted traffic classification
CN111988231B (zh) 一种掩码五元组规则匹配的方法及装置
Yang et al. LCCDE: a decision-based ensemble framework for intrusion detection in the internet of vehicles
Li et al. Improving attack detection performance in NIDS using GAN
CN103324886A (zh) 一种网络攻击检测中指纹库的提取方法和系统
CN112887300B (zh) 一种数据包分类方法
Karimov et al. Problems of increasing efficiency of NIDS by using implementing methods packet classifications on FPGA
CN111291078B (zh) 一种域名匹配检测方法及装置
CN116132167B (zh) 一种面向物联网的多协议僵尸网络检测方法
CN114925286B (zh) 舆情数据处理方法及装置
CN113408090B (zh) 一种基于符号网络的节点关系获取方法及存储介质
US20160301658A1 (en) Method, apparatus, and computer-readable medium for efficient subnet identification
KR100662254B1 (ko) 라우팅 시스템에서의 패킷 분류 장치 및 이를 위한 룰 구축 방법
CN112839051B (zh) 基于卷积神经网络的加密流量实时分类方法及装置
Ko et al. Recurrent autonomous autoencoder for intelligent DDoS attack mitigation within the ISP domain
CN110061869B (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