CN101714948B - 一种多域的网包的分类方法和装置 - Google Patents
一种多域的网包的分类方法和装置 Download PDFInfo
- Publication number
- CN101714948B CN101714948B CN200910236907.7A CN200910236907A CN101714948B CN 101714948 B CN101714948 B CN 101714948B CN 200910236907 A CN200910236907 A CN 200910236907A CN 101714948 B CN101714948 B CN 101714948B
- Authority
- CN
- China
- Prior art keywords
- mask vector
- multiple domain
- net bag
- significance bit
- net
- 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
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000001914 filtration Methods 0.000 claims abstract description 30
- 239000000284 extract Substances 0.000 claims abstract description 9
- 238000000605 extraction Methods 0.000 claims description 4
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012913 prioritisation Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种多域的网包的分类方法和装置,针对现有技术中多域的网包过滤规则繁复导致网包过滤效率低的问题而发明。本发明的方法包括:将多域的网包的过滤规则划分为两个或两个以上规则子集;确定多域的网包对应的规则子集,然后所述网包包头与规则子集进行匹配。本发明的装置包括:分类单元,所述分类单元将多域的网包的过滤规则划分为两个或两个以上规则子集;接收单元,所述接收单元接收多域的网包,并提取所述网包的包头;控制单元,所述控制单元连接所述接收单元和分类单元;所述控制单元将接收单元接收到的网包的包头,并根据包头确定多域的网包对应的规则子集,然后所述网包包头与规则子集进行匹配。
Description
技术领域
本发明涉及一种多域的网包的分类方法和装置。
背景技术
多域的网包分类技术在四层交换机、状态防火墙、入侵检测***和入侵防御***等多种设备中都是核心技术,而且往往是***性能的关键所在。
传统的路由设备只检查IP数据包的包头中目的地址域,并以该目的地址作为路由交换。而含有多域的网包分类功能的复杂设备能在更细致的粒度上区分网流,从而实现更完善的网络安全功能。而多域的网包分类与传统的二层或者三层交换机中的包头检查不同:传统的二层或者三层交换机多检查二层的以太网包头或者IP包头,而多域的网包分类技术会检查更高层网络协议的包头(例如TCP协议包头)。对于常见的四层以下的网包分类,共有下面7个域可被选择成为过滤规则的域:源/目的网络层地址(各32位),源/目的传输层端口(各16位),服务类型(8位),协议域(8位)和传输层协议标志(8位),共计120位(比特)。实际上,过滤规则并不涉及所有这7个域,绝大多数的网络应用限制在五个域上(源/目的网络层地址,源/目的传输层端口和协议域)。无论是在学术界还是工业界,多域的网包的分类问题因为其意义一直备受关注。
多域的网包的分类方法在网包分类的实际应用中,通常会出现如下问题:绝大多数的网包仅与规则集合的某个子集中的规则匹配,并且有相当多的规则仅有极少量的网包与之匹配。导致出现这个问题的原因是网包分类规则的严密性,必须为每一个商业需求的或者安全要求设置相应的分类策略。比如为了防范外网的某个类型的蠕虫病毒侵入内网,防火墙策略中将出现针对该蠕虫端口的策略,过滤并阻止外网中带有该蠕虫特性的网包侵入内网。但蠕虫的活动很可能仅仅是某个特定时期的个别现象,因此在网络正常运行的绝大多数时候,仅会有极少的网包与该规则匹配。由于规则的制定往往并未针对特定的网络进行优化,同时难以得到及时的更新,因此通常存在于网包分类设备中的规则库都有相当大的一部分规则极少能被匹配到,亦即此部分规则在网络正常运行的情况时很少参与实际的网包分类过程。但这些规则本身的存在却大大增加了网包分类问题的复杂性。现有的几类网包分类方法由于没能考虑到这种与网络流量统计特性相关的现实情况,所以无法解决极少匹配到的规则给网包分类本身带来的复杂性,从而无法进一步提高网络的平均传输速率。
发明内容
针对现有技术中存在的缺陷和不足,本发明的目的是提供一种多域的网包的分类方法和装置,能够提高从而能够适用于复杂网络环境的多域的网包分类,降低匹配的复杂度,提高规则匹配的效率。
为达到上述目的,本发明提出了一种,包括:
步骤1、将多域的网包的过滤规则划分为两个或两个以上规则子集;
步骤2、确定多域的网包对应的规则子集,然后所述网包包头与规则子集进行匹配。
其中,所述步骤1具体为:
步骤11、设置一掩码向量,所述掩码向量与包括所述多域的网包包头的有效位相对应;
步骤12、通过掩码向量有效位,将多域的网包的过滤规则划分为两个或两个以上规则子集。
其中,所述步骤12具体为:
步骤12a、在所述掩码向量的有效位中随机抽取1位,并以该有效位对规则进行划分;
步骤12b、在剩余的有效位中再随机抽取1位,并以该有效位继续对规则进行划分;
步骤12c、判断划分后的规则子集大小是否符合预设值,如果是则跳转至步骤2,否则返回步骤12b。
其中,所述步骤12具体为
步骤12A、随机挑选出所述掩码向量的预订数量的有效位,并以该掩码向量对规则进行划分;
步骤12B、判断划分的规则子集的大小是否符合预设值,或划分的次数是否达到预定的迭代次数,如果是则将所有划分中规则子集最小的作为选定的规则子集,并跳转到步骤2;否则跳转到步骤12C;
步骤12C、随机挑选出没有被选中过的有效位构成新的掩码向量,并以该新的掩码向量对规则子集进行划分;跳转到步骤12B。
其中,所述步骤2具体为:
步骤21、提取接收到的多域的网包的包头;
步骤22、将所述包头与掩码向量有效位进行匹配,并根据匹配结果获得该多域的网包对应的规则子集。
同时,本发明还提出了一种多域的网包的分类装置,包括:
分类单元,所述分类单元将多域的网包的过滤规则划分为两个或两个以上规则子集;
接收单元,所述接收单元接收多域的网包,并提取所述网包的包头;
控制单元,所述控制单元连接所述接收单元和分类单元;所述控制单元将接收单元接收到的网包的包头,并根据包头确定多域的网包对应的规则子集,然后所述网包包头与规则子集进行匹配。
其中,所述分类单元包括:
掩码向量模块,所述掩码向量模块生成一掩码向量,所述掩码向量的有效位的位数与所述多域的网包的包头的有效位相对应;
掩码向量分类模块,所述掩码向量分类模块通过所述掩码向量的有效位,将多域的网包的过滤规则划分为两个或两个以上规则子集。
其中,所述掩码向量分类模块在所述掩码向量的有效位中随机抽取1位,并以该有效位对规则进行划分;然后在剩余的有效位中再随机抽取1位,并以该有效位继续对规则进行划分;直至划分后的规则子集大小符合预设值。
其中,所述掩码向量分类模块随机挑选出所述掩码向量的预订数量的有效位,并以该掩码向量对规则进行划分;然后随机用没有被选中的位替换掩码向量中的有效位,重新计算切分后子集情况,并将所有划分中规则子集大小最小的作为选定的规则子集,直至达到迭代次数或划分后的规则子集大小符合预设值。
其中,所述掩码向量分类模块提取接收到的多域的网包的包头,然后将所述包头与掩码向量有效位进行匹配,并根据匹配结果获得该多域的网包对应的规则子集。
上述技术方案具有如下优点:本发明通过对规则进行分类,以划分出多个规则子集。在进行分类时,建立与包头有效位相对应的掩码向量,并通过掩码对规则进行分类。当接收到网包后,采用与分类相同的方式对网包的包头进行计算,既可以获得该网包所属的规则子集。这样有目的地对多域的网包进行规则匹配,相比较现有技术中将所有规则一一进行匹配可以极大的提高过滤的效率。本发明通过过滤,使得大部分不可能匹配的规则被排除了,剩下可能匹配的规则只是一小部分了。这样就可以降低实际需要匹配的规则复杂度,从而降低了匹配的复杂度,提高了匹配的效率。
附图说明
图1是本发明中的查找表的结构示意图;
图2是本发明提出的掩码向量生成方法的流程图;
图3是本发明提出的对网包进行规则匹配的流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
正如背景技术中提到的,对于常见的四层以下的多域的网包,共有下面7个域可被选择成为过滤规则的域:源/目的网络层地址(各32位),源/目的传输层端口(各16位),服务类型(8位),协议域(8位)和传输层协议标志(8位),共计120位(比特)。实际上,过滤规则并不涉及所有这7个域,绝大多数的网络应用限制在五个域上(源/目的网络层地址,源/目的传输层端口和协议域),共计104位(比特)。这些位,也就是本文中提到的多域的网包的包头的有效位。
本发明针对上述的情况,设置一个掩码向量。掩码向量的长度与上述有效位的长度一一对应。这样,就可以通过掩码向量区分不同的有效位的网包包头和过滤规则。本发明就是用掩码向量将过滤规则进行分类,然后在接收到网包时,首先通过有效位对网包包头进行计算,就可以计算出网包所属的规则子集,然后将网包包头与其对应的规则自己进行匹配。这样可以极大的降低过滤规则的复杂度,提高过滤的效果。
实施例1
本发明提出的一种多域的网包分类方法,包括:
步骤1、将多域的网包的过滤规则划分为两个或两个以上规则子集;
步骤2、确定多域的网包对应的规则子集,然后所述网包包头与规则子集进行匹配。
其中,步骤1中划分规则子集的方式可以为:
步骤11、设置一掩码向量,所述掩码向量与包括所述多域的网包的包头的有效位相对应;
步骤12、通过掩码向量有效位,将多域的网包的过滤规则划分为两个或两个以上规则子集。
其中,步骤12中利用掩码向量对规则进行划分的方法有两种,即:
方法一:先挑选1位,让整个规则集切分生成两个子集尽量的小;在剩下的位中继续挑选1位,使得目前挑选出来的所有位切分生成的所有子集尽量的小。这样最终挑选足够多的位构建我们的掩码向量。
方法二:先随机挑选出规定数量的位来构建一个初始的向量,计算该向量切分下的子集大小,然后随机用没有被选中的位替换向量中的位,重新计算切分后子集情况,如果子集中规则数量最大值变小,则接受这种替换,否则重新随机选择,直到一定的迭代次数或切分子集满足要求为止。
即:所述步骤12可以具体为:
步骤12a、在所述掩码向量的有效位中随机抽取1位,并以该有效位对规则进行划分;
步骤12b、在剩余的有效位中再随机抽取1位,并以该有效位继续对规则进行划分;
步骤12c、判断划分后的规则子集大小是否符合预设值,如果是则跳转至步骤2,否则返回步骤12b。
或是,所述步骤12还可以如图2所示,具体为
步骤12A、随机挑选出所述掩码向量的预订数量的有效位,并以该掩码向量对规则进行划分;
步骤12B、判断划分的规则子集的大小是否符合预设值,或划分的次数是否达到预定的迭代次数,如果是则将所有划分中规则子集最小的作为选定的规则子集,并跳转到步骤2;否则跳转到步骤12C;
步骤12C、随机挑选出没有被选中过的有效位构成新的掩码向量,并以该新的掩码向量对规则子集进行划分;跳转到步骤12B。
采用上述的方案后,可以将所述步骤2具体为:
步骤21、提取接收到的多域的网包的包头;
步骤22、将所述包头与掩码向量有效位进行匹配,并根据匹配结果获得该多域的网包对应的规则子集。
实施例2
一种多域的网包分类的分类装置,包括:
分类单元,所述分类单元将多域的网包的过滤规则划分为两个或两个以上规则子集;
接收单元,所述接收单元接收多域的网包,并提取所述网包的包头;
控制单元,所述控制单元连接所述接收单元和分类单元;所述控制单元将接收单元接收到的网包的包头,并根据包头确定多域的网包对应的规则子集,然后所述网包包头与规则子集进行匹配。
其中,所述分类单元包括:
掩码向量模块,所述掩码向量模块生成一掩码向量,所述掩码向量的有效位的位数与所述多域的网包包头的有效位相对应;
掩码向量分类模块,所述掩码向量分类模块通过所述掩码向量的有效位,将多域的过滤规则划分为两个或两个以上规则子集。
其中,所述掩码向量分类模块在所述掩码向量的有效位中随机抽取1位,并以该有效位对规则进行划分;然后在剩余的有效位中再随机抽取1位,并以该有效位继续对规则进行划分;直至划分后的规则子集大小符合预设值。
其中,所述掩码向量分类模块随机挑选出所述掩码向量的预订数量的有效位,并以该掩码向量对规则进行划分;然后随机用没有被选中的位替换掩码向量中的有效位,重新计算切分后子集情况,并将所有划分中规则子集大小最小的作为选定的规则子集,直至达到迭代次数或划分后的规则子集大小符合预设值。
其中,所述掩码向量分类模块提取接收到的多域的网包的包头,然后将所述包头与掩码向量有效位进行匹配,并根据匹配结果获得该多域的网包对应的规则子集。
本发明的硬件***可以通过以下单元实现:
●接收单元
主要任务:接收网包,解析网包包头(五个域),并将网包和包头信息和网包内容缓存到处理队列中。
相关设备:网卡,缓存(DRAM)
输入输出:从网卡输入到达网包,向缓存队列中输出包头信息网包内容。
●计算单元
主要任务:设置分类规则并更新分类器数据结构。
相关设备:处理器(CPU),高速存储设备(SRAM或Cache)
输入输出:从采样单元输入网络流量统计的先验分布,从控制单元输入规则集合;向分类单元输出分类器数据结构以及规范化的规则集合。(注:分类器的数据结构为查找表结构并在表项有指向存储规则子集内存块的指针;规则的规范化是指将带有掩码或通配符的规则用统一的五元区间描述。)
●分类单元
主要任务:高速网包分类。依据网包包头信息(五元组),通过分类器搜索获取分类结果。
相关设备:处理器(CPU),高速存储设备(SRAM或Cache)
输入输出:对于网包分类过程,分类单元从输入端缓存队列获取网包包头信息,并将分类结果送至输出单元;对于数据更新过程,分类单元从计算单元读入新的分类器数据结构以及新的规则集合。
●控制单元
主要任务:设置分类规则和***可调参数(如更新周期,采样间隔以及分类器数据结构中的可调参数等)。
相关设备:计算机***设备,监视器,键盘,鼠标等
输入输出:管理员通过***设备向控制单元输入规则集合和***参数;控制单元将规则集合和***参数输出至计算单元。
●发送单元
主要任务:发送网包,按照分类结果发送输出队列中的网包。
相关设备:网卡,缓存(DRAM)
输入输出:从计算单元中读取分类结果,并以此决定发送或丢弃输出缓存队列中相应的网包。
分类器数据结构更新方法
分类器数据结构主体为查找表,通过查找表对搜索空间进行切分,使得查找表下一级挂载的子空间中规则仅为少量规则组成的子集。在规则子集中采用线性查找的方法对当前子集进行搜索,获取最终分类结果。所谓线性查找,就是顺序访问数组,这样就可以在线性时间内查找出结果
1定义:
搜索空间U:多域的网包的包头的所有可能的取值空间。对于五元组分类,初始搜索空间为{[0,232-1],[0,232-1],[0,216-1],[0,216-1],[0,28-1]};
空间划分:在指定的一个或者多个域上将取值范围划分为多个子范围的集合,则得到对当前搜索空间的一个划分。例如对初始搜索空间,如果在第一个域(源地址)上进行二等分,则得到两个搜索子空间U1={[0,231-1],[0,232-1],[0,216-1],[0,216-1],[0,28-1]}和U2={[231,232-1],[0,232-1],[0,216-1],[0,216-1],[0,28-1]}。
输入规则集合R:输入的每一条规则包括五个域的范围表述以及规则优先级(一个网包匹配多个规则时取优先级最高的规则)和分类结果。规则集合标记为R,每一条规则标记为Ri。规则数据结构定义如下:
Rule{
int32sIP[2],dIP[2];//每个地址区间用两个32位整数描述
int16sPort[2],dPort[2];//每个端口区间用两个16位整数描述
int8protocol[2];//每个协议区间用两个8位整数描述
int32priority;//规则优先级
int8action;//分类结果
};
掩码向量结构:
掩码向量数据结构如下:
MASK_VECTOR{
Intebit[LEN_VECTOR];//存放有效位的bit序号,从0开始编号
}
其中LEN_VECTOR为掩码向量的长度。
查找表数据结构:
查找表数据结构如下:
LOOKUP_TABLE{
void*next[LEN_TABLE];//跳转指针,每一个指针指向一个存储有规则子集的存储块
};
其中LEN_TABLE为查找表的长度
查找表结构图:
0 | 1 | 2 | 3 | 4 | 5 | 6 | ... |
pointer | pointer | pointer | pointer | pointer | pointer | pointer | ... |
表1
2生成方法:
掩码向量生成方法:
掩码向量V包含有所有的有效位的信息,通过有效位的筛选对规则集合进行切分。因此,有效位是最能将规则集合切分开来的位。定义有效意味着规则集切分后子集中规则数最大值最小,即尽量让子集中包含的规则数目很少。我们定义目标函数F为切分后规则子集中最大一个的规则数目。我们试图让F取值最小。
我们给出两种生成掩码向量的方法。
方法一:先挑选1位,让整个规则集切分生成两个子集尽量的小;在剩下的位中继续挑选1位,使得目前挑选出来的所有位切分生成的所有子集尽量的小。这样最终挑选足够多的位构建我们的掩码向量。
方法二:先随机挑选出规定数量的位来构建一个初始的向量,计算该向量切分下的子集大小,然后随机用没有被选中的位替换向量中的位,重新计算切分后子集情况,如果子集中规则数量最大值变小,则接受这种替换,否则重新随机选择,直到一定的迭代次数或切分子集满足要求为止。
查找表生成方法:
利用掩码向量,规则集可以被切分为不同的规则子集。长度为LEN_VECTOR的掩码向量,有exp(2,LEN_VECTOR)种取值,因此查找表有exp(2,LEN_VECTOR)个表项,每一个表项存有指针,指向该取值下切分后的规则子集。查找表的结构可以如图1所示。
网包查找方法如图3所示,
分两步进行:
1查找表的搜索
利用掩码向量将包头的位筛选出来,计算这些位组成的位串的二进制数值。利用这一数值在查找表中找到对应表项保存的指针。利用指针找到匹配的规则子集。
2线性表查找:
到达规则子集之后,程序读取叶节点存储的规则ID列表和规则个数,并以此来逐一读取规则,与网包包头信息进行区域比对.由于规则ID代表规则优先级,并且规则ID按照优先级从高到底存储于叶节点中,因此只需要返回第一个被匹配到的规则即可,例如网包{源地址=166.111.8.28,目标地址=162.105.38.12,源端口=2000,目标端口=80,协议=17}与规则{166.111.*,162.106.*,any,80,TCP}匹配.
以上所述仅是本发明的实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。
Claims (4)
1.一种多域的网包的分类方法,包括:
步骤1、将多域的网包的过滤规则划分为两个或两个以上规则子集;
所述步骤1具体为:
步骤11、设置一掩码向量,所述掩码向量的有效位的位数与所述多域的网包包头的有效位相对应;
步骤12、通过掩码向量有效位,将多域的网包的过滤规则划分为两个或两个以上规则子集;
所述步骤12具体为:在所述掩码向量的有效位中先挑选1位,让整个规则集切分生成两个子集尽量的小;在剩下的位中继续挑选1位,使得目前挑选出来的所有位切分生成的所有子集尽量的小;这样最终挑选足够多的位构建我们的掩码向量;
所述步骤12具体包括:
步骤12a、在所述掩码向量的有效位中随机抽取1位,并以该有效位对规则进行划分;
步骤12b、在剩余的有效位中再随机抽取1位,并以该有效位继续对规则进行划分;
步骤12c、判断划分后的规则子集大小是否符合预设值,如果是则跳转至步骤2,否则返回步骤12b;
步骤2、确定多域的网包对应的规则子集,然后将所述网包包头与规则子集进行匹配;
所述步骤2具体为:
步骤21、提取接收到的多域的网包的包头;
步骤22、将所述包头的有效位与掩码向量有效位进行匹配,并根据匹配结果获得该多域的网包对应的规则子集。
2.一种多域的网包的分类方法,包括:
步骤1、将多域的网包的过滤规则划分为两个或两个以上规则子集;
所述步骤1具体为:
步骤11、设置一掩码向量,所述掩码向量的有效位的位数与所述多域的网包包头的有效位相对应;
步骤12、通过掩码向量有效位,将多域的网包的过滤规则划分为两个或两个以上规则子集;
所述步骤12具体为:先随机挑选出预定数量的位来构建一个初始的掩码向量,计算该掩码向量切分下的子集大小,然后随机用没有被选中的位替换掩码向量中的位,重新计算切分后子集情况,如果子集中规则数量最大值变小,则接受这种替换,否则重新随机选择,直到一定的迭代次数或切分子集满足要求为止;
所述步骤12具体包括:
步骤12A、随机挑选出所述掩码向量的预订数量的有效位,并以该掩码向量对规则进行划分;
步骤12B、判断划分的规则子集的大小是否符合预设值,或划分的次数是否达到预定的迭代次数,如果是则将所有划分中规则子集最小的作为选定的规则子集,并跳转到步骤2;否则跳转到步骤12C;
步骤12C、随机挑选出没有被选中过的有效位构成新的掩码向量,并以该新的掩码向量对规则子集进行划分;跳转到步骤12B;
步骤2、确定多域的网包对应的规则子集,然后将所述网包包头与规则子集进行匹配;
所述步骤2具体为:
步骤21、提取接收到的多域的网包的包头;
步骤22、将所述包头的有效位与掩码向量有效位进行匹配,并根据匹配结果获得该多域的网包对应的规则子集。
3.一种多域的网包的分类装置,其特征在于,包括:
分类单元,所述分类单元将多域的网包的过滤规则划分为两个或两个以上规则子集;
接收单元,所述接收单元接收多域的网包,并提取所述网包的包头;
控制单元,所述控制单元连接所述接收单元和分类单元;所述控制单元根据接收单元接收到的网包的包头确定多域的网包对应的规则子集,然后将所述网包包头与规则子集进行匹配;
所述分类单元包括:
掩码向量模块,所述掩码向量模块生成一掩码向量,所述掩码向量的有效位的位数与所述多域的网包包头的有效位相对应;
掩码向量分类模块,所述掩码向量分类模块通过所述掩码向量的有效位,将多域的网包的过滤规则划分为两个或两个以上规则子集;
所述掩码向量分类模块在所述掩码向量的有效位中随机抽取1位,并以该有效位对规则进行划分;然后在剩余的有效位中再随机抽取1位,并以该有效位继续对规则进行划分;直至划分后的规则子集大小符合预设值;
所述掩码向量分类模块提取接收到的多域的网包包头,然后将所述包头与掩码向量有效位进行匹配,并根据匹配结果获得该多域的网包对应的规则子集。
4.一种多域的网包的分类装置,其特征在于,包括:
分类单元,所述分类单元将多域的网包的过滤规则划分为两个或两个以上规则子集;
接收单元,所述接收单元接收多域的网包,并提取所述网包的包头;
控制单元,所述控制单元连接所述接收单元和分类单元;所述控制单元根据接收单元接收到的网包的包头确定多域的网包对应的规则子集,然后将所述网包包头与规则子集进行匹配;
所述分类单元包括:
掩码向量模块,所述掩码向量模块生成一掩码向量,所述掩码向量的有效位的位数与所述多域的网包包头的有效位相对应;
掩码向量分类模块,所述掩码向量分类模块通过所述掩码向量的有效位,将多域的网包的过滤规则划分为两个或两个以上规则子集;
所述掩码向量分类模块随机挑选出所述掩码向量的预订数量的有效位,并以该掩码向量对规则进行划分;然后随机用没有被选中的位替换掩码向量中的有效位,重新计算切分后子集情况,并将所有划分中规则子集大小最小的作为选定的规则子集,直至达到迭代次数或划分后的规则子集大小符合预设值;
所述掩码向量分类模块提取接收到的多域的网包包头,然后将所述包头与掩码向量有效位进行匹配,并根据匹配结果获得该多域的网包对应的规则子集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910236907.7A CN101714948B (zh) | 2009-10-27 | 2009-10-27 | 一种多域的网包的分类方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910236907.7A CN101714948B (zh) | 2009-10-27 | 2009-10-27 | 一种多域的网包的分类方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101714948A CN101714948A (zh) | 2010-05-26 |
CN101714948B true CN101714948B (zh) | 2016-03-30 |
Family
ID=42418236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910236907.7A Active CN101714948B (zh) | 2009-10-27 | 2009-10-27 | 一种多域的网包的分类方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101714948B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462144B (zh) * | 2013-09-24 | 2019-06-14 | 中兴通讯股份有限公司 | 一种包分类规则的查找方法及装置 |
CN103986667B (zh) * | 2014-05-07 | 2017-10-10 | 华为技术有限公司 | 选择数据包分类算法的方法和装置 |
CN106326234A (zh) * | 2015-06-18 | 2017-01-11 | 深圳市中兴微电子技术有限公司 | 流分类方法及装置 |
CN105897587B (zh) * | 2016-03-31 | 2018-11-09 | 湖南大学 | 一种数据包分类方法 |
CN106096022B (zh) | 2016-06-22 | 2020-02-11 | 杭州迪普科技股份有限公司 | 多域网包分类规则的划分方法及装置 |
WO2019153232A1 (en) * | 2018-02-09 | 2019-08-15 | Qualcomm Incorporated | Polar coded harq-ir scheme |
CN111949740B (zh) * | 2019-05-15 | 2024-03-26 | 中国科学院声学研究所 | 基于多核处理器的并行网包分类方法、***及网络设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1482774A (zh) * | 2002-09-13 | 2004-03-17 | 华为技术有限公司 | 使用四层的端口号掩码对数据流分类的方法 |
CN1674557A (zh) * | 2005-04-01 | 2005-09-28 | 清华大学 | 基于tcam的解决范围匹配的并行ip包分类器及方法 |
CN1822567A (zh) * | 2005-12-23 | 2006-08-23 | 清华大学 | 基于网络流量的多域网包分类方法 |
CN1972240A (zh) * | 2005-11-24 | 2007-05-30 | 武汉烽火网络有限责任公司 | 快速包过滤处理方法及其装置 |
-
2009
- 2009-10-27 CN CN200910236907.7A patent/CN101714948B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1482774A (zh) * | 2002-09-13 | 2004-03-17 | 华为技术有限公司 | 使用四层的端口号掩码对数据流分类的方法 |
CN1674557A (zh) * | 2005-04-01 | 2005-09-28 | 清华大学 | 基于tcam的解决范围匹配的并行ip包分类器及方法 |
CN1972240A (zh) * | 2005-11-24 | 2007-05-30 | 武汉烽火网络有限责任公司 | 快速包过滤处理方法及其装置 |
CN1822567A (zh) * | 2005-12-23 | 2006-08-23 | 清华大学 | 基于网络流量的多域网包分类方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101714948A (zh) | 2010-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101714948B (zh) | 一种多域的网包的分类方法和装置 | |
CN104348716B (zh) | 一种报文处理方法及设备 | |
US9952983B2 (en) | Programmable intelligent search memory enabled secure flash memory | |
CN100583812C (zh) | 使用最具体的过滤器匹配和传输层共享进行两级分组分类的方法和装置 | |
US8055601B2 (en) | Compiler for compiling content search rules comprising a regular expression using a programmable intelligent search memory (PRISM) and vectors | |
US7996348B2 (en) | 100GBPS security and search architecture using programmable intelligent search memory (PRISM) that comprises one or more bit interval counters | |
CN100369416C (zh) | 流量攻击网络设备的报文特征的检测方法 | |
US7890692B2 (en) | FSA context switch architecture for programmable intelligent search memory | |
CN1957573B (zh) | 使用最具体的过滤器匹配和传输层共享进行两级分组分类的装置和方法 | |
Pontarelli et al. | Traffic-aware design of a high-speed FPGA network intrusion detection system | |
KR100920518B1 (ko) | 패킷 분류 장치 및 방법 | |
US8599859B2 (en) | Iterative parsing and classification | |
CN103248573A (zh) | 面向OpenFlow的集中管理交换机及其数据处理方法 | |
CN103475653A (zh) | 网络数据包的检测方法 | |
CN105471670A (zh) | 流量数据分类方法及装置 | |
Hsieh et al. | Scalable many-field packet classification for traffic steering in SDN switches | |
Luo et al. | Acceleration of decision tree searching for IP traffic classification | |
Van et al. | An anomaly-based intrusion detection architecture integrated on openflow switch | |
CN102217248A (zh) | 分布式分组流检查和处理 | |
CN111950000A (zh) | 一种接入访问控制方法及设备 | |
CN105376167A (zh) | 分布式分组流检查和处理 | |
Li et al. | Packet classification using community detection | |
Huang et al. | A power-efficient approach to TCAM-based regular expression matching | |
Jin et al. | Firewall filtering technology and application based on decision tree | |
Shi et al. | IoT device multi-classification using traffic behavior analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20171228 Address after: 210042 Xuanwu District, Xuanwu District, Jiangsu, Nanjing, No. 699-22, building 18 Patentee after: CERTUSNET CORP. Address before: 100084 Beijing Haidian District Tsinghua Yuan 100084-82 mailbox Patentee before: Tsinghua University |