CN1815997A - 一种用于因特网的基于规则集合划分的分组分类的方法 - Google Patents

一种用于因特网的基于规则集合划分的分组分类的方法 Download PDF

Info

Publication number
CN1815997A
CN1815997A CN200510005083.4A CN200510005083A CN1815997A CN 1815997 A CN1815997 A CN 1815997A CN 200510005083 A CN200510005083 A CN 200510005083A CN 1815997 A CN1815997 A CN 1815997A
Authority
CN
China
Prior art keywords
rule
division
subclass
vertical
layer
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.)
Granted
Application number
CN200510005083.4A
Other languages
English (en)
Other versions
CN100486211C (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN200510005083.4A priority Critical patent/CN100486211C/zh
Priority to US11/343,991 priority patent/US7747553B2/en
Publication of CN1815997A publication Critical patent/CN1815997A/zh
Application granted granted Critical
Publication of CN100486211C publication Critical patent/CN100486211C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种用于因特网的基于规则集合划分的分组分类的方法,包括步骤:对规则集合进行水平划分,根据目标算法确定划分规则层所依据的域,并且选择水平划分的划分方式,根据所选择的水平划分的划分方式进行水平划分,从而得到多于一个的规则层,每一规则层为一个水平子集,根据预先指定的水平子集的总数和预定义的原则,合并规则层得到多个水平子集,其中所述合并得到的多个水平子集的总数等于所述预先指定的水平子集的总数;在每个水平子集中,进行垂直划分;然后形成可索引垂直子集的哈希表,以便用于查找;在每个垂直子集内分别根据目标算法实现规则存储。

Description

一种用于因特网的基于规则集合划分的分组分类的方法
技术领域
本发明涉及一种基于规则集预划分的分组分类方法,更具体地,本发明涉及因特网中的规则集合的划分。
背景技术
在因特网领域中,分组分类技术是很多应用的关键技术,比如:访问控制列表(ACL),防火墙(Firewall),服务质量控制(Qos Control)。
分组分类可看作一类特殊查找问题。分组分类需要根据IP分组的信息,在预定义的规则集中进行查找,找到最佳匹配规则,然后根据规则关联的动作对IP分组进行丢弃,通过,或其他操作。具体来说,规则集由多条规则构成,一般说来,一条规则包括下面的信息:(源网络地址,目的网络地址,源端口,目的端口,协议)和(优先级,动作)。分组分类时,首先从IP分组中提取(源地址,目的地址,源端口,目的端口,协议)信息,然后根据提取信息在规则集中进行查找,找到与提取信息匹配的规则。由于匹配规则可能多条,需要根据规则的优先级信息,选择优先级最高的规则,做为最佳匹配规则。最后,根据最佳规则关联的动作,对IP分组采用相应操作。
近些年,研究者提出多种算法和方案解决分组分类问题。这些方案可以分为两类:基于软件方案和基于硬件方案。基于软件方案包括如下的算法:Modular,HiCut,HyperCut,EGT-PC,等等。基于硬件方案主要包括基于TCAM(三态内容可寻址存储器)技术。硬件方案与软件方案相比,成本昂贵,实现灵活性差,但查找速度很快。
在[1]J.van Lunteren and T.Engbersen,″Fast and Scalable PacketClassification″,IEEE Journal on Selected Areas in Communications,Vol.21,No.4,May 2003中,提出了一种基于TCAM的快速分组分类解决方案,该方案中对规则的各个域进行编码。其中,编码技术使用了类似区间(Range Interval)划分的水平划分(H-Cut)方法。
在[2]K.Zheng,C.C.Hu,H.B.Lu,and B.Liu,″An Ultra HighThroughput and Power Efficient TCAM-Based IP Lookup Engine″,Proc.IEEE INFOCOM′04,Mar.2004中,提出了一个快速的路由查找方案,该方案基于TCAM技术,其中,ID Bit划分技术被应用对路由查找规则库进行分组。
在[3]Z.Liang,K.Xu,J.Wu,“A Scalable Parallel LookupFramework Avoiding Longest Prefix”,Lectuer Notes in Computer Science,vol.3090,2004,pp.616-625中,提出了一种消除最长前缀匹配的路由查找框架。在该框架中,应用前缀层次(Prefix Level)划分技术对路由查找规则集进行分组,消除规则间的重叠。
在[4]F.Baboescu,S.Singh,G.Varghese,″Packet Classification forCore Routers:Is there an alternative to CAMs?″,Proc.of IEEEINFOCOM,San Francisco USA,2003中,提出一种EGT-PC的分组分类算法。该算法基于树查找结构,可实现与TCAM可比的查找性能。
查找速度和存储需求是评估分组分类方案的两个重要性能指标。对于前面提到的多种软件方案,在这两方面存在着缺陷,或是查找速度不够快,或是存储需求很大。
目前,对规则集的划分可以分为两类方法。
●水平划分(H-Cut)
H-Cut如图1所示。图中,关键字(Key)代表一个点,具体是IP分组的相关报头信息。规则(Rule)是指规则集中的规则。规则层(Layer)是一组规则,Layer内规则间不存在重叠,但Layer间规则可能存在重叠。注意:这里重叠是指在某一个域上,比如源地址。
图1中H-Cut把规则集分成两个小规则集。在两个小规则集内,规则间的重叠减少,存储需求从而得到改善。但对Key的查找,依然需要遍历所有小规则集,这一定程度上影响查找速度。
H-Cut是不完全划分,它可以改善存储需求,但会影响查找速度。
具体来讲,H-Cut可以有下面的几种操作方法。
a)根据区间(Range Interval)的划分[1]
图1所示属于此划分方法。此方法适用于规则的各个域(源网络地址,目的网络地址,源端口,目的端口,协议域)。规则的域的取值范围用区间表示。然后遍历规则对应的区间,使用简单递加的方法(初始设置子集合为空,依次加入区间,如果加入区间与子集合存在重叠,建立一个新的子集合,把新区间加入此集合),得到若干个不重叠的规则集合(集合内规则对应的区间不重叠)。
b)根据前缀层次(Prefix Level)的划分[3]
此划分方法适用于规则的源网络地址和目的网络地址域。划分方法根据源或目的网络地址构造前缀树。前缀树中,网络地址对应不同的前缀层次,不同前缀层次的网络地址不重叠。根据网络地址对应的前缀层次,把规则集划分为几个不重叠的规则子集合(规则子集合在所选的网络地址域不重叠)。
●垂直划分(V-Cut)
图2中,V-Cut将规则集也分成两个小规则集。对Key的查找,只需要在一个小规则集中进行,这改善了查找性能。但V-Cut切到的规则,需要分别复制到两个小规则集,这影响了存储需求。
V-Cut是完全划分,它可以改善查找性能,但会影响存储需求。
具体来讲,V-Cut可以有下面的几种操作方法。
a)根据区间(Range interval)的划分(常见方法)
图1所示方法属于此划分方法。此方法适用规则的各个域。规则的域的取值范围用区间表示。选定一系列限值,图1为一个限值(下面以此为例)。比较限值和区间,规则集被划分为两个规则子集。如果规则区间所有取值都大于限值,此规则划到“大于限值”子集合;如果规则区间所有取值都小于限值,此规则划到“小于限值”子集合;如果限制位于规则区间之内,此规则需要复制两份,“大于限值”和“小于限值”子集合各一份。
b)根据比特位(ID BIT)的划分[2]
此方法也适用于规则的各个域。规则域的取值用bit串表示。选定一系列bit串中的bit位,(下面以选择1个bit位为例)。考察规则域值在此bit位的值是1,0,还是通配。如果bit位值为1,此规则划到“bit 1”子集合;如果bit位为0,此规则划到“bit 0”子集合;如果bit位为通配,此规则需要复制两份,“bit 0”和“bit 1”子集合各一份。
发明内容
为了克服现有技术中的缺陷,可以采用下面将进一步详细描述的方法对规则集划分,该方法结合了H-Cut和V-Cut两种集合的划分方法,把一个规则集划分为几个小的规则集;然后用几个小规则集的查找,代替最初一个规则集的查找;从而达到改善性能的目的。
根据本发明的一个方面,提供了一种用于因特网的基于规则集合划分的分组分类的方法,包括步骤:对规则集合进行水平划分;以及对规则集合进行垂直划分。
根据本发明的方法,其中所述对规则集合进行水平划分的步骤包括:
根据目标算法确定划分规则层所依据的域,并且选择水平划分的划分方式。
根据本发明的方法,其中,根据所选择的水平划分的划分方式进行水平划分,从而得到多于一个的规则层,每一规则层为一个水平子集(H子集)。
根据本发明的方法,其中在一个规则层内,规则之间在水平划分所依据的域上不重叠。
根据本发明的方法,其中,根据预先指定的水平子集的总数和预定义的原则,合并规则层得到多个水平子集。
根据本发明的方法,其中所述合并得到的多个水平子集的总数等于所述预先指定的水平子集的总数。
根据本发明的方法,在每个水平子集中,进行垂直划分。
根据本发明的方法,所述预定义的原则为最大化垂直子集原则。
根据本发明的方法,所述预定义的原则为减少复制原则。
根据本发明的方法,所述的垂直划分进一步包括:在不产生复制的前提下,使得产生的垂直子集的总数最大化。
根据本发明的方法,所述的垂直划分进一步包括:确定一个最大复制限值,依据此限值执行所述的垂直划分,使得产生复制规则数目最小并低于此限值。
根据本发明的方法,其中,形成可索引垂直子集的哈希表,以便用于查找。
根据本发明的方法,在每个垂直子集(V子集)内分别根据目标算法实现规则存储。
根据本发明的方法,其中所述确定划分规则层所依据的域选择自目标算法不采用的那些域。
根据本发明的方法,其中所述的目标算法为EGT算法。
根据本发明的方法,其中以源地址域和目的地址域作为主要的分类依据,选择源端口或目的端口作为规则层所依据的域,所述水平划分的划分方式为基于区间的划分。
根据本发明的另一个方面,提供了一种利用上面所述的方法获得的规则子集进行查找的方法,包括步骤:
根据关键字查找哈希(Hash)表,找到关键字对应的多个垂直子集的集合;
并行或线性查找多个垂直子集;
从多个垂直子集查找结果中,根据优先级,选出最终的查找结果。
附图说明
图1是一个H-Cut划分的示意图;
图2是一个V-Cut划分的示意图;
图3是根据本发明的结合H-Cut划分与V-Cut划分的示意图;
图4是根据本发明的划分方法的流程图;
图5是根据本发明的查找方法的流程图;
图6是根据本发明的一个实施例的利用EGT算法实现数据结构的示意图;
图7是根据本发明的一个实施例的查找过程示意图。
具体实施方式
H-Cuts和V-Cuts都是划分集合的方法,但各有其优缺点,有机的把两类划分结合起来,可以在一定程度上的互补,从而克服各自的缺点。
图3是本发明的结合H-Cut划分与V-Cut划分的示意图,如图3所示,先做一次H-Cut,然后分别在2个子集内再作V-Cuts划分,这样V-Cuts的复制被消除了(如果仅作V-Cuts,无论怎么分都存在复制)。H-Cuts和V-Cuts以后,原来的集合被划分成7个不相交的原子子集{P1,P2,...,P7};5个(上2下3)V-Cuts将关键字空间(Key Space)分成了6个部分{K1,K2,K3,K4,K5,K6},对应原子子集如下:
{K1=P1∪P4,K2=P1∪P5,K3=P2∪P5,K4=P2∪P6,K5=P3∪P6,K6=P3∪P7}。
图4给出了根据本发明的划分集合流程图,下面对每一步做进一步解释。
根据本发明的一个实施例,提供了一种用于因特网的基于规则集合划分的分组分类的方法,该方法开始于步骤400。接下来在步骤401,根据目标算法的特点,选择H-Cut的划分方式(操作方法),并确定划分规则层所依据的域(通常在目标算法不采用的那些域里面选);目标算法决定了H-Cut的划分方式和所依据的域,比如:对于后面举例的EGT算法,由于它采用源地址/目的地址这二个域作为主要分类依据,我们选择源端口(或目的端口)作为划分规则层所依据的域,另外H-Cut的操作方法选择为基于区间的划分方法;
然后,在步骤402,根据选择的H-Cut的操作方法,执行H-Cut,得到多于一个的规则层(每个规则层内的规则在水平划分依据的域上不重叠,这一点由操作方法保证,可参照前面操作方法的介绍),每个规则层为一个H子集,具体操作参照后面的例子;
然后,在步骤404,在每个H子集中,实行V-Cut,原则是在不产生复制的前提下,尽可能多地产生V子集(前面介绍两种V-Cut操作方法,对于区间划分方法,不产生复制是指选择限值时,保证H子集内的规则对应的区间与限值不相交,即大于或小于限值;对于ID Bit划分方法,不产生复制是指选择bit位时,保证H子集内的规则的bit串对应的bit位不存在通配,即只能为bit 0或bit 1)。
然后在步骤405,所有的V-Cut划分把最初集合划分成多个部分(即多个V子集,参见图3)。形成可索引V子集的哈希表(Hash Table),供查找使用(哈希表形式可按如下方法获得:列出所有V-Cut划分的限值,限值把整个区间分成若干个部分,每个部分都是一小段区间,根据这些小段区间形成可对小段区间索引查找的哈希表)。
然后在步骤406,在每个V子集内分别根据目标算法实现规则存储;
本方法结束于步骤407。
优选地,上述的方法可在步骤402之后、步骤404之前增加步骤403,在步骤403中,可以根据预先指定的H子集总数以及预定义的原则,合并规则层得到若干个H子集,使得合并后的H子集总数等于预先指定的H子集总数,具体例子参照后面。
预定义的原则可根据需求确定,在本实施例中,所述预定义的原则采用最大化垂直子集的原则,它通过下面的方法实施:遍历所有可能的合并方案,比较每个方案的V-Cut划分产生子集个数,V-Cut子集个数最多的为最终的合并方案。
根据本发明的另一个实施例,提供了另一种用于因特网的基于规则集合划分的分组分类的方法,其与前面参照图4描述的实施例类似。所不同的是:
1.所述预定义的原则采用减少复制原则,它通过下面的方法实施:遍历所有可能的合并方案,比较每种方案经过V-Cut产生复制规则的个数,复制个数最少的方案为最终合并方案。
2.在所述减少复制原则的实施例中,与图4中的步骤404相对应的具体实施为:确定一个最大复制限值,依据此限值执行V-Cut,使得产生复制规则数目最小并低于此限值。
其它内容与前面已经参照图4描述的实施例相同。
图5给出根据本发明的划分集合后的查找流程。
如图5所示,该查找方法开始于步骤500,接下来,在步骤501中,根据关键字查找Hash表,找到关键字对应的V子集集合(多个V子集);
然后,在步骤502,并行或线性查找多个V子集;
最后,在步骤503,从多个V子集查找结果中,根据优先级,选出最终的查找结果,该查找方法结束于步骤504。
为了更好地描述本发明,下面我们针对一个具体算法EGT[4],给出具体的操作流程。
规则集
首先我们给出表1所示的规则集,在表1中,RULES代表规则,RULES列中的A,B,C,D...代表规则的编号,DIP表示目的网络地址域,SIP表示源网络地址域,SP表示源端口域,DP表示目的端口域,PROT表示协议域,Priority表示规则的优先级。
本说明书的所有表中的“*”号表示通配。
                                    表1
  Rules   DIP   SIP   SP   DP   PROT   Priority
  A   *   00*   0-135   0-1024   TCP   1
  B   0*   10*   0-109   0-65535   ICMP   2
  C   *   00*   0-137   0-1024   UDP   3
  D   00*   11*   109-1024   80-80   UDP   4
  E   *   00*   1025-5555   135   UDP   5
  F   00*   11*   0-1024   1025-65535   TCP   6
  G   00*   1*   1098-1723   0-65535   TCP   7
  H   0*   01*   1025-6000   2048-6000   TCP   8
  I   00*   11*   0-1024   1025-65535   OSPF   9
  J   0*   10*   6000-65535   137-139   *   10
  K   111   000   137-5550   0-65535   TCP   11
  L   111   000   137-2048   109-1024   UDP   12
  M   *   00*   5600-65535   20-21   *   13
  N   10*   1*   6789-65535   0-1024   TCP   14
  O   10*   1*   5600-6800   0-65535   UDP   15
                                            表2
  层1   A[0-135]   K[137-5550]   J[6000-65535]
  层2   B[0-109]   M[5600-65535]
  层3   C[0-137]   E[1025-5555]   N[6789-65535]
  层4   D[109-1024]   H[1025-6000]
  层5   F&I[0-1024]   G[1098-1723]
  层6   L[137-2048]   O[5600-6800]
注:灰色代表这个区间包含不止一个规则,下同。
●规则划分流程
1)EGT算法采用SIP/DIP这2维作为主要分类依据,所以我们选择SP(或DP也可以)作为水平划分的依据(对应于前述划分方法中的步骤401)。
2)根据SP,把15个规则(Rule)分在了6个层(layers)上(对应于前述划分方法中的步骤402),如上面的表2所示。
3)若给定判定V-Cuts划分的可容忍复制阈值是0,H子集预定义数为2的情况下,我们对layers合并,得到以下H-Cuts方案,即,如下表3所示,层1、2、6为一个H子集,而层3、4、5为另一个H子集(对应于前述划分方法中的步骤403)。
                                    表3
  层1   A[0-135]   K[137-5550]   J[6000-65535]
  层2   B[0-109]   M[5600-65535]
  层6   L[137-2048]   O[5600-6800]
                                    SP=135                                         SP=5550
  层3   C[0-137]   E[1025-5555]   N[6789-65535]
  层4   D[109-1024]   H[1025-6000]
  层5   F&I[0-1024]   G[1098-1723]
                                              SP=1024                                   SP=6000
4)在H子集内的所有不产生V-Cut复制的位置进行V-Cut,如下面的表3所示,黑色虚线代表V-Cuts。得到6个V子集;另外,根据协议域(TCP or Not TCP),得到的V子集合还可以进一步V-Cuts,最终得到P1,P2,...,P8八个V子集(对应于前述划分方法中的步骤404),如下面的表4所示。
                                    表4
  子集   哈希查找条件   子集内的规则
  源端口   协议域   层1   层2   层3  层4   层5   层6
  P1   0-135   *   A   B
  P2   136-5550   *   K   L
  P3   5551-65535   *   J   M   O
  P4   0-1024   TCP  D   I
  P5   0-1024   NotTCP   C   F
  P6   1025-6000   TCP  H   G
  P7   1025-6000   NotTCP   E
  P8   6001-65535   *   N
                        表5
  划分   哈希查找条件   查找子集
  源端口   协议域   集合组
  K1   0-135   TCP   P1∪P4
  Not TCP   P1∪P5
  K2   136-1024   TCP   P2∪P4
  Not TCP   P2∪P5
  K3   1025-5550   TCP   P2∪P6
  Not TCP   P2∪P7
  K4   5551-6000   TCP   P3∪P6
  Not TCP   P3∪P7
  K5   6001-65535   *   P3∪P8
5)根据上面划分得V子集,整理得到索引哈希表(Hashing Table)。具体来说,先根据4个限值(sp=135,sp=1024,sp=5550,sp=6000)得到4个小段区间,在每个小段区间内,再根据协议域对规则进行进一步划分,最终得到如表5所示的哈希表。
6)在每个V子集内,用EGT算法实现数据结构,如图6所示。
●查找流程
图7显示对关键字{000,010,5580,6001,UDP}的查找过程(示意图)。
1.关键字的源端口(SP)和协议域(Protocol)<5800,UDP>被送到哈希表(Hash Table)进行Hash查找,命中表项”K4-Not TCP”,得到2个指针&P3和&P7,图7中失配表示当前节点的查找失败。
2.利用关键字的目的地址/源地址(DIP/SIP)分别访问P3和P7两个EGT子集;
3.从P3和P7子集查找结果中,选出最终匹配规则E。
上面通过具体的实施例描述了本发明的基于规则集预划分的分组分类方法,本领域的技术人员可以理解的是,在不脱离本发明的精神和范围的前提下,可以对本发明作出各种修改和变形。

Claims (19)

1.一种用于因特网的基于规则集合划分的分组分类的方法,包括步骤:
对规则集合进行水平划分;以及
对规则集合进行垂直划分。
2.如权利要求1所述的方法,其中所述对规则集合进行水平划分的步骤包括:
根据目标算法来确定划分规则层所依据的域,并且选择水平划分的划分方式。
3.如权利要求2所述的方法,其中,根据所选择的水平划分的划分方式进行水平划分,从而得到多于一个的规则层,每一规则层为一个水平子集。
4.如权利要求3所述的方法,其中在一个规则层内,规则之间在水平划分所依据的域上不重叠。
5.如权利要求3所述的方法,根据预先指定的水平子集总数和预定义的原则,合并规则层得到多个水平子集。
6.如权利要求5所述的方法,其中所述合并得到的多个水平子集的总数等于所述预先指定的水平子集总数。
7.如权利要求2-6所述的方法,在每个水平子集中,进行垂直划分。
8.如权利要求7所述的方法,所述预定义的原则为最大化垂直子集原则。
9.如权利要求7所述的方法,所述预定义的原则为减少复制原则。
10.如权利要求8所述的方法,所述的垂直划分进一步包括:
在不产生复制的前提下,使得产生的垂直子集的总数最大化。
11.如权利要求10所述的方法,其中还包括步骤:形成可索引垂直子集的哈希表,以便用于查找。
12.如权利要求11所述的方法,其中还包括步骤:在每个垂直子集内分别根据目标算法实现规则存储。
13.如权利要求9所述的方法,所述的垂直划分进一步包括:
确定一个最大复制限值,依据此限值执行所述的垂直划分,使得产生复制规则数目最小并低于此限值。
14.如权利要求13所述的方法,其中还包括步骤:形成可索引垂直子集的哈希表,以便用于查找。
15.如权利要求14所述的方法,其中还包括步骤:在每个垂直子集内分别根据目标算法实现规则存储。
16.如权利要求2所述的方法,其中所述确定划分规则层所依据的域选择自目标算法不采用的那些域。
17.如权利要求2所述的方法,其中所述的目标算法为EGT算法。
18.如权利要求17所述的方法,其中以源地址域和目的地址域作为主要的分类依据,选择源端口或目的端口作为划分规则层所依据的域,所述水平划分的划分方式为基于区间的划分。
19.一种利用根据权利要求1-18所述的方法获得的规则子集进行查找的方法,包括下列步骤:
根据关键字查找哈希表,找到关键字对应的多个垂直子集的集合;
并行或线性查找多个垂直子集;
从多个垂直子集查找结果中,根据优先级,选出最终的查找结果。
CN200510005083.4A 2005-01-31 2005-01-31 一种用于因特网的基于规则集合划分的分组分类的方法 Expired - Fee Related CN100486211C (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN200510005083.4A CN100486211C (zh) 2005-01-31 2005-01-31 一种用于因特网的基于规则集合划分的分组分类的方法
US11/343,991 US7747553B2 (en) 2005-01-31 2006-01-31 Rule set partitioning based packet classification method for internet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200510005083.4A CN100486211C (zh) 2005-01-31 2005-01-31 一种用于因特网的基于规则集合划分的分组分类的方法

Publications (2)

Publication Number Publication Date
CN1815997A true CN1815997A (zh) 2006-08-09
CN100486211C CN100486211C (zh) 2009-05-06

Family

ID=36907969

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200510005083.4A Expired - Fee Related CN100486211C (zh) 2005-01-31 2005-01-31 一种用于因特网的基于规则集合划分的分组分类的方法

Country Status (2)

Country Link
US (1) US7747553B2 (zh)
CN (1) CN100486211C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101309274B (zh) * 2008-06-27 2011-02-09 南京邮电大学 混合架构入侵检测系统规则库创建方法
CN102281196B (zh) * 2011-08-11 2017-10-10 中兴通讯股份有限公司 决策树生成方法及设备、基于决策树报文分类方法及设备

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090010259A1 (en) * 2007-07-08 2009-01-08 Alexander Sirotkin Device, system, and method of classification of communication traffic
US20110314045A1 (en) * 2010-06-21 2011-12-22 Microsoft Corporation Fast set intersection
KR101331018B1 (ko) * 2011-10-11 2014-01-15 주식회사 시큐아이 패킷 분류 방법 및 그 장치
WO2016023232A1 (en) 2014-08-15 2016-02-18 Hewlett-Packard Development Company, L.P. Memory efficient packet classification method
CN106326234A (zh) * 2015-06-18 2017-01-11 深圳市中兴微电子技术有限公司 流分类方法及装置
US20230034257A1 (en) * 2021-07-28 2023-02-02 Micro Focus Llc Indexes of vertical table columns having a subset of rows correlating to a partition range

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6529508B1 (en) * 1999-02-01 2003-03-04 Redback Networks Inc. Methods and apparatus for packet classification with multiple answer sets
US6768992B1 (en) * 1999-05-17 2004-07-27 Lynne G. Jolitz Term addressable memory of an accelerator system and method
US7039641B2 (en) * 2000-02-24 2006-05-02 Lucent Technologies Inc. Modular packet classification
TW498650B (en) 2000-03-22 2002-08-11 Ind Tech Res Inst Flexible and highly efficient packet classification method
US6718326B2 (en) * 2000-08-17 2004-04-06 Nippon Telegraph And Telephone Corporation Packet classification search device and method
US7627490B2 (en) 2000-10-31 2009-12-01 Brotherhood Mutual Insurance Company Ministry specialized insurance transaction object oriented system and method
WO2002041572A2 (en) 2000-11-20 2002-05-23 P-Cube Ltd. An apparatus and method for bundling associated network process flows in service aware networks
US7061874B2 (en) * 2001-01-26 2006-06-13 Broadcom Corporation Method, system and computer program product for classifying packet flows with a bit mask
US7042848B2 (en) * 2001-05-04 2006-05-09 Slt Logic Llc System and method for hierarchical policing of flows and subflows of a data stream
US6763394B2 (en) * 2001-08-22 2004-07-13 Pluris, Inc. Virtual egress packet classification at ingress
US7079539B2 (en) * 2001-12-21 2006-07-18 Agere Systems Inc. Method and apparatus for classification of packet data prior to storage in processor buffer memory
US6991845B2 (en) * 2002-12-13 2006-01-31 E. I. Du Pont De Nemours And Company Mica sheet and tape
US7412521B2 (en) * 2003-03-12 2008-08-12 Microsoft Corporation End-point identifiers in SIP
CN1282332C (zh) 2003-11-13 2006-10-25 中兴通讯股份有限公司 一种快速数据包过滤方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101309274B (zh) * 2008-06-27 2011-02-09 南京邮电大学 混合架构入侵检测系统规则库创建方法
CN102281196B (zh) * 2011-08-11 2017-10-10 中兴通讯股份有限公司 决策树生成方法及设备、基于决策树报文分类方法及设备

Also Published As

Publication number Publication date
CN100486211C (zh) 2009-05-06
US20080243748A1 (en) 2008-10-02
US7747553B2 (en) 2010-06-29

Similar Documents

Publication Publication Date Title
CN1815997A (zh) 一种用于因特网的基于规则集合划分的分组分类的方法
Meiners et al. Bit weaving: A non-prefix approach to compressing packet classifiers in TCAMs
CN101035062A (zh) 一种三重内容可寻址存储器报文分类的规则更新方法
Qiu et al. Fast firewall implementations for software-based and hardware-based routers
CN1688140A (zh) 基于网络处理器的高速多维报文分类算法的设计和实现
CN1968212A (zh) 流分类中基于硬件的差异化组织方法
CN1777182A (zh) 一种基于洪泛攻击的高效、安全追踪方案
CN1781098A (zh) 关联存储器中的因特网协议安全性匹配值
CN1794236A (zh) 高效的基于cam在分组有效载荷中进行串搜索的技术
CN1543150A (zh) 分组分类装置和使用字段级特里结构的方法
KR101331018B1 (ko) 패킷 분류 방법 및 그 장치
US6633860B1 (en) Method for fast multi-dimensional packet classification
CN1905523A (zh) 一种多域流分类的实现方法
CN101039253A (zh) 一种实现三重内容可寻址存储器范围匹配的前缀扩展方法
CN101035061A (zh) 实现三重内容可寻址存储器范围匹配的分段编码扩展方法
Pao et al. A multi-pipeline architecture for high-speed packet classification
Wuu et al. A longest prefix first search tree for IP lookup
CN1492361A (zh) 嵌入式数据库查询的处理方法
CN101047649A (zh) 一种转发数据流的方法和设备
CN1866918A (zh) 静态多接口范围匹配表的管理维护方法
CN1477494A (zh) 一种数据包递归流分类方法
CN1152516C (zh) Ip网络节点发现方法
CN1719769A (zh) 在网络设备中对接收数据包进行分类的方法
CN1852238A (zh) 一种快速索引方法
CN1529454A (zh) 消除最长前缀匹配查找的并行路由查找方法及其系统

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090506

Termination date: 20100131