CN1503165A - 包搜索设备及其包处理搜索方法和程序 - Google Patents
包搜索设备及其包处理搜索方法和程序 Download PDFInfo
- Publication number
- CN1503165A CN1503165A CNA2003101151231A CN200310115123A CN1503165A CN 1503165 A CN1503165 A CN 1503165A CN A2003101151231 A CNA2003101151231 A CN A2003101151231A CN 200310115123 A CN200310115123 A CN 200310115123A CN 1503165 A CN1503165 A CN 1503165A
- Authority
- CN
- China
- Prior art keywords
- search
- information
- packet
- bag
- block
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000001914 filtration Methods 0.000 claims description 20
- 238000007726 management method Methods 0.000 abstract description 18
- 238000003860 storage Methods 0.000 abstract description 16
- 238000013500 data storage Methods 0.000 abstract description 2
- 239000000284 extract Substances 0.000 abstract description 2
- 238000012217 deletion Methods 0.000 description 7
- 230000037430 deletion Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005039 memory span Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Abstract
本发明公开了一种包处理搜索系统,该系统在不减慢搜索处理的条件下可以加快和简化对搜索数据的管理。处理操作设备将包接收设备接收到的包存储在包存储设备中,提取报头信息,该报头信息是位于包数据顶部的数据,并且请求包搜索设备搜索对所述包的处理。搜索处理操作设备通过将所提供的包报头与存储在搜索数据存储设备中的搜索条件进行比较来执行搜索处理,并将结果返回到处理操作设备。基于此结果,处理操作设备从包存储设备读取对所述包的处理操作,并相应地处理包。
Description
技术领域
本发明涉及包搜索(检索)设备及其包处理搜索方法和程序。更具体地,本发明涉及一种包处理系统,该包处理系统在路由器和防火墙上执行包过滤搜索,并执行包处理。
背景技术
用于路由器和防火墙的传统包处理系统和包过滤搜索系统包括基于报头信息来区分包的优先级或确定包是否可以被传送的系统,其中所述报头信息是位于包的前导处的数据(第一现有技术)(例如参见P.Gupta和N.McKeowon的“Packet Classification on Multiple Field”,ACMSIGCOMM’99,1999年9月)。此系统使用这样的搜索技术,即将包报头信息分成搜索所需的多个信息区数据,并且利用每个信息区数据作为搜索关键字进行搜索。
作为包过滤搜索系统的另一个例子,已知一种系统,其建立了被构建为搜索树的数据库,其中通过改进二叉树搜索而提供了所述搜索树用于搜索(第二现有技术)(参见F.Baboescu和G.Varghese的“Scalable PacketClassification”,ACM SIGCOMM’01,2001年8月)。
作为用于包过滤搜索系统的另一种系统,已知一种系统,其具有用哈希方法执行搜索的多级微处理器,并且该系统通过流水线作用提高了处理速度(第三现有技术)(参见在先公开的日本专利No.2000-174805)。
然而,上面提及的第一现有技术必须将用于区分包的优先级和将包传送的可能性确定为与搜索关键字相关联的信息存储在搜索数据库中。因此,搜索数据库需要在存储设备中反映对应于信息区数据的所有信息,因此要求存储设备相对于所注册的条件的数量而言具有大容量。所以,管理数据库的控制CPU(中央处理单元)需要强大的处理能力。
虽然第二现有技术可以减少所需的存储器容量,但是当将新的搜索条件加入到搜索数据库中或从已经被反映在存储设备中的数据库中删除搜索条件时,需要从头开始重建已最优化的数据库。所以,此技术也要求管理数据库的控制CPU(中央处理单元)具有强大的处理能力。
在第三现有技术中,因为由若干微处理器执行的处理涉及数据相关性,对搜索数据库的管理因此复杂化了,而且控制CPU需要强大的处理能力。
因此在现有技术中,搜索方法的处理能力已经被提高,并且用于搜索数据库的存储区域已被减小。但是,近些年一些恶意的用户可以将未授权的包传送至路由器等。在这种情况下,路由器通过控制CPU执行的软件处理来确定这种包的无效类型,并且处置所述的包。结果导致下列问题,即控制CPU的处理能力由于处置这些未授权的包而下降,并且所述CPU不能完成该CPU本来要负责的路由信息的管理。
所以,这会显著地影响路由器或防火墙中的控制CPU的可操作性和可靠性。因此,系统用户需要确认传送未授权包的用户并通过硬件处理进行过滤操作以防止这样的包被传送到控制CPU,由此保护系统不受外部攻击。
因此,上述的这些包过滤搜索系统带来一个问题,即要是搜索处理的能力被最优化,则搜索数据库所需的存储设备必须具有大容量并且构建包过滤搜索数据库的过程因此减慢。
此外,这些现有的系统具有另一个问题,即要是存储所述搜索数据库所需的存储设备容量被最优化,则最优化该搜索数据库的过程就复杂化了,并且对数据库的添加/删除因此更复杂,由此编辑包过滤搜索数据库的过程减慢。
本发明的目的是提供包搜索设备、用于此包搜索设备的包处理搜索方法和程序,其能解决上述的问题并能加快和简化搜索数据库的管理而不减慢搜索处理。
发明内容
根据本发明的包搜索设备是一种对所输入的包执行包过滤搜索的包搜索设备,其包括:第一搜索处理装置,用于利用第一搜索方法搜索对应于多个信息区的搜索条件语句,其中所述多个信息区包含在所述包的报头信息之中;和第二搜索处理装置,用于利用不同于所述第一搜索方法的第二搜索方法搜索所述第一搜索处理装置的搜索结果。
根据本发明的包处理搜索方法是一种用于在执行包处理之前为所输入的包搜索包过滤的包处理搜索方法,该包处理搜索的方法包括:第一步骤,即利用第一搜索方法搜索对应于多个信息区的搜索条件语句,其中所述多个信息区包含在所述包的报头信息之中;以及第二步骤,即利用不同于所述第一搜索方法的第二搜索方法搜索所述第一步骤的搜索结果。
根据本发明的用于包处理搜索方法的程序是一种用于在执行包处理之前为所输入的包搜索包过滤的包处理搜索方法的程序,所述的程序使得计算机执行:第一处理,即利用第一搜索方法搜索对应于多个信息区的搜索条件语句,其中所述多个信息区包含在所述包的报头信息之中;以及第二处理,即利用不同于所述第一搜索方法的第二搜索方法搜索所述第一处理的搜索结果。
也就是说,本发明的包处理搜索系统的特征在于包搜索处理被分成两个处理阶段,并且用若干单独的搜索方法搜索过滤信息。
第一搜索处理将包报头信息分成多个信息区,并且对于每个信息区,分别搜索每一个被构建为二叉搜索树的搜索条件语句。第二搜索处理利用哈希方法搜索所述第一搜索处理的收集的搜索结果。
通过这样的方式,本发明根据第一搜索处理的结果管理每一个信息区的搜索管理数据库,使得对搜索数据库的管理可以加快,并且,因为第二搜索处理仅仅管理搜索结果的组合,所以可以简化信息。
因此,当将其作为一个整体的搜索处理系统来考虑时,本发明的包处理搜索系统在不减慢搜索处理的条件下可以加快和简化对搜索数据库的管理。
附图说明
图1是示出了根据本发明的一个实施例的包处理搜索系统的配置的方框图;
图2示出了在本发明的一个实施例中的目标包的结构的一个示例;
图3是示出了图1中的搜索处理操作设备的处理块的方框图;
图4示出了在本发明的一个实施例中的搜索树最优化的一个示例;
图5示出了在本发明的一个实施例中的搜索树最优化的一个示例;
图6总体上示出了在本发明的一个实施例中所执行的搜索处理;
图7是示出了在本发明的一个实施例中所执行的搜索处理的流程图;
图8是在本发明的一个实施例中用于搜索树的管理表的结构的一个示例;
图9是示出了在本发明的另一个实施例中的包处理搜索系统的配置的方框图;以及
图10是示出了在本发明的另一个实施例中的包处理搜索系统的配置的方框图。
具体实施方式
参照附图将描述本发明的实施例。图1是示出了根据本发明的一个实施例的包处理搜索系统的配置的方框图。如图所示,该实施例的包处理搜索系统包括包接收设备1、包处理设备2、包搜索设备3、包传输设备4、控制设备5和输入/输出设备6。
包接收设备1从系统的外部接收包,而包传输设备4将包发送至该系统的外部。包处理设备2处理包数据,而包搜索设备3基于包含在包数据中的搜索条件信息搜索包所需的处理。控制设备5操作和管理包处理设备2和包搜索设备3,并且输入/输出设备6允许系统用户将处理操作指派给控制设备5。
包接收设备1能够接收从系统外部传送来的包数据并将它们传送至包处理设备2。包传输设备4能够将由包处理设备2处理的包数据发送到系统外部。
包处理设备2包括:包存储设备21,用于存储包数据和对于所存储的包的处理操作;以及处理操作设备22,用于基于从包存储设备2 1读出的数据确定处理操作并执行该处理操作。根据系统的要求,处理操作可以是对包数据的编辑、包传送或包丢弃等。
包搜索设备3包括:搜索数据存储设备31,诸如搜索处理所需的搜索条件的数据被存储在其中;以及搜索处理操作设备32,用于利用从搜索数据存储设备31读出的数据执行搜索处理。并且,记录介质33被连接到包搜索设备3,当用计算机实现搜索处理操作设备32时,记录介质33存储将要在计算机中执行的程序。通过这种配置,包搜索设备3基于报头信息,搜索包的过滤和根据QoS(Quality of Service,服务质量)的处理操作,其中所述报头信息是位于包数据的前导处的数据。
控制设备5接收系统用户通过输入/输出设备6设置到该系统的设置信息,并将它存储在包存储设备21中,从而设置了用于包处理设备2的处理操作。控制设备5也将通过输入/输出设备6而接收到的搜索条件存储至搜索数据存储设备31来设置用于包搜索设备3的搜索条件。当设置完成时,控制设备5通过输入/输出设备6将完成的信息通知给系统用户。
输入/输出设备6是系统用户用来为该系统进行设置的设备,所设置的内容包括设置信息和搜索条件,并且输入/输出设备6将设置的结果通知给用户。
系统的操作开始于系统用户利用输入/输出设备6请求对系统的设置信息。根据通过输入/输出设备6而请求的设置信息,控制设备5基于设置信息执行对包处理设备2或包搜索设备3的设置。
由包接收设备1接收的包数据被传送到包处理设备2。此时,处理操作设备22将所接收的包存储至包存储设备21。处理操作设备22提取出位于包数据前导处的报头信息,并请求包搜索设备3搜索对该包的处理操作。
搜索处理操作设备32通过比较所提供的包报头和存储在搜索数据存储设备31中的搜索条件,执行对该包的搜索处理,并将结果返回至处理操作设备22。在接收到结果时,处理操作设备22基于结果从包存储设备21读出对该包的处理操作,并处理该包。
如果由于处理操作的类型,包被传送到系统外部,则将包数据发送到包传输设备4。包传输设备4将所接收到的包数据发送到系统外部。
当不必再进行设置操作时,系统用户可以通过输入/输出设备6请求系统删除所述设置。当接收到这样的请求时,控制设备5删除对包处理设备2和包搜索设备3的设置。
图2示出了在本发明的一个实施例中的目标包的结构的一个示例。如图所示,包A包含MAC报头A1、IP(因特网协议)报头A2、TCP/UDP(传输控制协议/用户数据报文协议)报头A3和通信数据A4。
对于分层网络,报头中用作搜索条件的信息区包括了IP报头A2(该IP报头A2是位于包A顶部的数据)中的:目的地IP地址,指明包的目的地;源IP地址,指明包来自何处;服务类型,指明包的优先级;协议,用来识别对包的处理操作;以及包长度,指明包的大小等等。系统用户为这些信息区设置条件语句。在此情况下,可以将多个信息区和条件语句组合起来。系统用户确定对这些组合的处理操作并将其设置给系统。
图3是示出了搜索处理操作设备32中的处理块的方框图。如图所示,搜索处理操作设备32包括信息区划分装置32a、二叉树搜索装置32b、搜索结果收集装置32c和哈希搜索装置32d。
信息区划分装置32a将所接收的包数据的报头信息划分成用于搜索的多个信息区,即信息区#1至信息区#5。例如,在图2中的IP报头A2中,信息区#1是“目的地IP地址”,信息区#2是“源IP地址”,信息区#3是“服务类型”,信息区#4是“协议”,以及信息区#5是“包长度”。但是,信息区的数量不限于此数量,并且信息区的主题也不限于此例。
二叉树搜索装置32b执行对应于由信息区划分装置32a所划分的信息区#1至#5的搜索处理32b1至32b5。若给定信息区#1至#5作为输入,如果它们与已规定的条件语句相匹配,则搜索处理32b1至32b5输出它们的ID。
当二叉树搜索装置32b将ID作为每一个信息区的搜索结果发送时,搜索结果收集装置32c收集这些ID。哈希搜索装置32d通过用哈希方法对由二叉树搜索装置32b提供的每一个信息区的搜索结果进行搜索,确定最后的处理操作,其中所述由二叉树搜索装置32b提供的每一个信息区的搜索结果已经由搜索结果收集装置32c收集起来。
在由二叉树搜索装置32b和哈希搜索装置32d执行的搜索处理完成的时候,包搜索设备3就能够基于提供给它的包报头而搜索处理操作。此外,本实施例可以执行快速的搜索处理,并且可以简化对搜索管理表的管理。
图4示出了在本发明的一个实施例中的搜索树最优化的一个示例;图5示出了一个实施例中的搜索树最优化的一个示例;图6总体上示出了一个实施例中的搜索处理;以及图7是示出了一个实施例中的搜索处理的流程图。下面,参照图1至图7将说明一个实施例中的搜索处理。图7中示出的过程通过计算机执行存储在记录介质33中的程序来完成。
所接收的包数据中的报头信息被传送到搜索处理操作设备32。报头信息可以被划分成多个信息区。系统用户利用信息区确定对包数据的处理操作。
首先,在搜索处理操作设备32中,如图3所示(图7中的步骤S1至S3),由信息区划分装置32a将所接收的包数据的报头信息划分成多个用于搜索的信息区#1至#5,随后二叉树搜索装置32b执行对应于信息区#1至#5的搜索处理32b1至32b5(图7中的步骤S4至S5)。如果被给定为输入的信息区#1至#5与预定的条件语句相匹配,则搜索处理32b1至32b5中每一个都输出搜索结果的ID。
本实施例执行二叉树搜索作为搜索处理32b1至32b5。当前的过滤条件甚至需要TCP包和UDP包的源端口和目的地端口的规定,以及十进制数的范围规定。如果规定了这样的过滤条件,使用哈希方法将需要大量的哈希表和复杂的数据库管理。因此,本实施例使用上述的二叉树搜索。
在搜索处理32b1至32b5中,因为对每一个信息区独立地进行搜索,所以搜索树被划分。结果,搜索树可以被作为多个比不被划分的一个搜索树小的搜索树来管理,因此缩减了对搜索树的编辑处理。此外,因为搜索处理32b1至32b5不涉及它们之间的相互关联,所以搜索处理可以平行地进行,从而加快搜索处理。而且,通过将算法电路构建为多级,可以流水线化搜索处理32b1至32b5,以提高处理能力。可以串行顺序地执行搜索处理32b1至32b5,或可以将搜索处理32b1至32b5组合起来。
此实施例还最优化搜索树。如图4所示,利用诸如第二个现有技术所描述的用于搜索树最优化的常用方法,二叉树B的每一个没有两个分支的节点都被压缩成一个分支条件(搜索树C)。所以,本实施例可以加快处理并减小使用搜索树C所需的存储区。
作为进一步加快搜索树的搜索的一种技术,此实施例还将其分支都分叉的部分树D简化为具有两个或更多分支的节点(搜索树E)。在图5中示出的示例中,没有如此简化的树的搜索需要三次比较,而在如搜索树E所示的简化后,只需要进行一次比较,从而加快搜索处理。
因此,通过如图4所示的压缩和图5所示的简化,搜索树被最优化。此实施例不对完整的搜索树进行此最优化,而是在最优化之前将树分成若干8位区域。不进行划分而对其整个进行最优化的搜索树虽然具有更佳的处理速度和存储区,但当额外注册新的条件语句或删除已经设置的条件语句时,已最优化的搜索树需要全部进行再编辑,因此编辑将花费更多的时间。
划分单元为8位的原因是用作信息区之一的网络地址自身被划分成8位单元进行管理。因此,因为条件语句的值之间的差值按8位来划分,所以被划分后进行最优化的搜索树和没有划分而进行最优化的搜索树在处理能力和存储区上将只有细微的差别。
在通过二叉树搜索装置32b进行搜索处理32b1至32b5的阶段,对于每一个信息区获取一个搜索结果的ID。但是,通过搜索处理32b1至32b5的组合确定最终的搜索结果。因此,由搜索结果收集装置32c收集多个搜索结果(图7中的步骤S6),并且通过哈希搜索装置32d从所收集的搜索结果确定最终的处理操作(图7中的步骤S7和S8)。
哈希搜索装置32d利用哈希方法来对搜索结果收集装置32c所收集的搜索结果进行搜索。在此情况下,如图6所示,从多个搜索结果a的ID中产生单个固定表(搜索关键字b)。此表具有用于存储每一个信息区的预定位置。
来自这个表的哈希值因此具有这样的性质,即因为哈希函数是单向函数,如果搜索结果的ID不同,则哈希值的指示呈现出不同的值,因此可以区分条件结果的组合,并且可以得到最终结果c。如上面提及的,利用哈希值管理可以加快处理。此外,因为利用搜索结果的ID值来进行对表的管理,所以所需要的哈希值更少。
在由二叉树搜索装置32b和哈希搜索装置32d进行搜索处理时,包搜索设备3可以用所提供的包报头搜索处理操作。此实施例可以快速地进行搜索处理并简化了搜索管理表的管理。
例如,如果对于32位IP地址和16位应用信息(TCP端口信息)进行搜索,则在计算哈希值之前,本实施例将32位IP地址和16位应用信息中的每一个都简化成8位ID。因此,与其中哈希值被计算自32位IP地址和16位应用信息的传统处理相比,所述处理可以加快,并且可以简化对用于搜索的搜索管理表的管理。
图8示出了一个实施例中的用于搜索树的管理表的结构的一个示例。如图中的搜索树实施例的一个具体示例所示的,如果实现这样的管理表,即作为每个节点的信息,存储压缩位0的数目(连续的位0分支的数目)、压缩位1的数目(连续的位1分支的数目)、分支的数目、与每一个分支相连的节点的存储地址(下一指针),那么就可以实现对压缩节点或收集节点上的信息的集中管理,并且可以在单一存储器中实现此表。并且,如果可以将存储设备提供给每一个搜索树,则存储器存取冲突的问题可以减轻。
下面的描述将具体考虑如何管理搜索条件。系统用户注册或删除对于报头信息的每个信息区的条件语句。在此情况下,因为控制设备5将搜索树划分,所以可以通过只编辑对应于对其进行注册/删除的信息区的搜索树来实现注册/删除。
系统用户随后注册/删除诸如实际过滤和QoS的“处理操作”和用于所述处理操作的“信息区与条件语句的组合”。在注册时,因为条件语句已经被注册为搜索树,所以哈希搜索装置32d从条件语句的组合中计算出哈希值,并且在由哈希值(下一指针)编址的表中描述处理操作。
在处理操作的设置被删除的情况下,不需要编辑搜索树,并且只要通过删除对应于哈希值的表就可以进行删除。因此,控制设备5可以容易地注册/删除搜索条件和对应的处理操作。
图9是示出了根据本发明的另一个实施例的包处理搜索系统的配置的方框图。图9中示出的包处理搜索系统具有与图1中示出的另一个实施例的所述系统相类似的配置,除了向其提供了包搜索处理设备7之外,该包搜索处理设备7将图1中的包处理设备2和包搜索设备3集成在一起,相同的块用相同的数字来表示。
包搜索处理设备7包含:处理操作设备72,用于执行包处理和包搜索;包搜索数据存储设备71,用于存储包数据、包过滤搜索数据库和处理;以及记录介质73,用于在用计算机实现搜索处理操作设备72的情况下存储计算机将要执行的程序。
处理操作设备72接收包数据,将其划分成若干信息区,通过搜索树进行搜索,将结果编写到表中并计算哈希值。所以,设备72进行一系列确定处理操作的处理,并且利用一个单一的算法电路处理包数据。
也可以将此一系列的处理操作指令存储在记录介质73中并且由通用处理器来执行。因此,通过进行一系列确定处理操作的操作并利用一个单一的算法电路处理包数据,该系统可以更加紧凑并且可扩展性更强。
虽然本发明的一个实施例利用若干单独的处理器执行包处理和搜索处理,但是如果当搜索技术与在根据前面描述的实施例中的一样是由通用处理器执行的软件处理时,应用此实施例的搜索技术,则可以充分地提高处理速度。
图10是示出了根据本发明的另一个实施例的包处理搜索系统的配置的方框图。图10中示出的包处理搜索系统除了图10中的包搜索设备3被分成用于进行包条件语句的搜索的包搜索设备8和用于进行包条件组合的搜索的包搜索设备9这点不同之外,具有与图1中示出的所述系统相类似的结构,相同的块用相同的数字表示。
包搜索设备8只执行由图3中示出的二叉树搜索装置32b完成的搜索处理,从包处理设备2接收包报头,将它们分成若干的信息区,以及用搜索树进行搜索处理。包搜索设备8将结果返回到包搜索设备9。
当接收到来自包搜索设备8的对于每一个搜索树的搜索处理的结果时,包搜索设备9只执行由图3中示出的哈希搜索装置32d所执行的对所述结果的搜索处理,并且将搜索结果返回到包处理设备2。包搜索设备8和9分别包含存储介质83和93,其中在搜索处理操作设备82和92由计算机实现的情况下,所述存储介质83和93存储将由计算机执行的程序。
因为在此实施例中,图3中所示的由二叉树搜索装置32b进行的搜索处理和由哈希搜索装置32d进行的搜索处理不涉及对搜索条件的相互关联的处理,所以每一个处理操作可以被分配给单独的设备,因此与图1中示出的结构相比,处理速度可以得到进一步提高。
如上所述的,因为每一个搜索条件语句以二叉树实现并且通过哈希方法管理多个搜索条件语句的组合,本发明可以加快对搜索数据库的管理。
并且,因为控制CPU可以集中处理路由协议等,所以本发明可以提高可操作性、可维护性和安全性。
本发明还允许构建这样的搜索系统,即此搜索系统可以提供搜索系统所要求的处理能力和可扩展性,因为软件实现允许多个算法电路通过流水线作业而并行操作。
如前面已描述的,本发明具有一个优点,即通过将包搜索处理分成第一和第二阶段,并且在执行包处理之前搜索包过滤的包处理搜索系统之中,利用在每个所述阶段都不同的搜索方法搜索过滤信息,可以在不减慢搜索处理的条件下加快和简化搜索数据库的管理。
Claims (17)
1.一种包搜索设备,其对所输入的包执行包过滤搜索,该包搜索设备包括:
第一搜索处理装置,用于利用第一搜索方法搜索对应于多个信息区的搜索条件语句,其中所述多个信息区包含在所述包的报头信息之中;和
第二搜索处理装置,用于利用不同于所述第一搜索方法的第二搜索方法搜索所述第一搜索处理装置的搜索结果。
2.如权利要求1所述的包搜索设备,其中,所述第一搜索处理装置将所述包报头信息划分成多个信息区,并且对于每个所述的信息区,分别搜索每一个被构建为二叉搜索树的搜索条件语句。
3.如权利要求2所述的包搜索设备,其中,所述第二搜索处理装置利用哈希方法搜索所述第一搜索处理装置的收集的搜索结果。
4.如权利要求1所述的包搜索设备,包括搜索数据库,用于管理所述第一搜索处理装置和第二搜索处理装置对于每个所述信息区的每一个搜索结果。
5.如权利要求4所述的包搜索设备,其中,所述搜索数据库具有多个搜索关键字。
6.如权利要求3所述的包搜索设备,其中,所述第二搜索处理装置仅仅管理搜索结果的组合。
7.如权利要求1所述的包搜索设备,其中,基于所述报头信息,至少搜索服务质量信息和过滤信息。
8.如权利要求1所述的包搜索设备,其中,至少在路由器和防火墙中执行所述的包搜索处理。
9.一种包处理搜索的方法,用于在进行包处理之前为所输入的包搜索包过滤,该包处理搜索的方法包括:
第一步骤,即利用第一搜索方法搜索对应于多个信息区的搜索条件语句,其中所述多个信息区包含在所述包的报头信息之中;以及
第二步骤,即利用不同于所述第一搜索方法的第二搜索方法搜索所述第一步骤的搜索结果。
10.如权利要求9所述的包处理搜索方法,其中所述第一步骤将所述包报头信息划分成多个信息区,并且对于每个所述的信息区,分别搜索每一个被构建为二叉搜索树的搜索条件语句。
11.如权利要求10所述的包处理搜索方法,其中,所述第二步骤利用哈希方法搜索所述第一步骤的收集的搜索结果。
12.如权利要求9所述的包处理搜索方法,其中,对于每个所述的信息区,使用搜索数据库管理所述第一步骤和第二步骤的每一个搜索结果。
13.如权利要求12所述的包处理搜索方法,其中,所述搜索数据库具有多个搜索关键字。
14.如权利要求11所述的包处理搜索方法,其中,所述第二步骤仅仅管理搜索结果的组合。
15.如权利要求9所述的包处理搜索方法,其中,基于所述包中的报头信息,至少搜索服务质量信息和过滤信息。
16.如权利要求9所述的包处理搜索方法,其中,至少在路由器和防火墙中进行所述包搜索处理。
17.一种用于包处理搜索的方法的程序,其在进行包处理之前为所输入的包搜索包过滤,所述程序使得计算机执行:
第一处理,利用第一搜索方法搜索对应于多个信息区的搜索条件语句,其中所述多个信息区包含在所述包的报头信息之中;以及
第二处理,利用不同于所述第一搜索方法的第二搜索方法搜索所述第一处理的搜索结果。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002335904A JP2004172917A (ja) | 2002-11-20 | 2002-11-20 | パケット検索装置及びそれに用いるパケット処理検索方法並びにそのプログラム |
JP335904/2002 | 2002-11-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1503165A true CN1503165A (zh) | 2004-06-09 |
CN1273919C CN1273919C (zh) | 2006-09-06 |
Family
ID=32321787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101151231A Expired - Lifetime CN1273919C (zh) | 2002-11-20 | 2003-11-20 | 包搜索设备及其包处理搜索方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20040100956A1 (zh) |
JP (1) | JP2004172917A (zh) |
CN (1) | CN1273919C (zh) |
HK (1) | HK1065391A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100359889C (zh) * | 2004-10-29 | 2008-01-02 | 江苏南大苏富特软件股份有限公司 | 基于策略树的报文分组过滤及管理方法 |
WO2011109996A1 (zh) * | 2010-08-19 | 2011-09-15 | 华为技术有限公司 | 一种哈希表存储方法、查找方法及其装置 |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7292591B2 (en) | 2004-03-30 | 2007-11-06 | Extreme Networks, Inc. | Packet processing system architecture and method |
US7649879B2 (en) * | 2004-03-30 | 2010-01-19 | Extreme Networks, Inc. | Pipelined packet processor |
US7606263B1 (en) | 2004-03-30 | 2009-10-20 | Extreme Networks, Inc. | Packet parser |
US7822024B2 (en) * | 2004-04-16 | 2010-10-26 | Samsung Electronics Co., Ltd. | Apparatus and method for performing security and classification in a multiprocessor router |
US7889750B1 (en) | 2004-04-28 | 2011-02-15 | Extreme Networks, Inc. | Method of extending default fixed number of processing cycles in pipelined packet processor architecture |
US20050286512A1 (en) * | 2004-06-28 | 2005-12-29 | Atul Mahamuni | Flow processing |
US7596555B2 (en) * | 2004-08-31 | 2009-09-29 | Sap Ag | Fuzzy recipient and contact search for email workflow and groupware applications |
US7991787B2 (en) * | 2004-08-31 | 2011-08-02 | Sap Ag | Applying search engine technology to HCM employee searches |
US8336092B2 (en) | 2005-02-18 | 2012-12-18 | Duaxes Corporation | Communication control device and communication control system |
CN101147381B (zh) * | 2005-02-18 | 2011-07-27 | Duaxes株式会社 | 数据处理装置 |
JP4554675B2 (ja) | 2005-03-28 | 2010-09-29 | デュアキシズ株式会社 | 通信制御装置及び通信制御システム |
EP1901172A1 (en) | 2005-05-20 | 2008-03-19 | Duaxes Corporation | Data processing system |
US7325074B2 (en) * | 2005-09-28 | 2008-01-29 | Cisco Technology, Inc. | Incremental compilation of packet classifications using fragmented tables |
JP4627243B2 (ja) * | 2005-10-21 | 2011-02-09 | 三菱電機株式会社 | ネットワーク中継装置 |
KR100721556B1 (ko) * | 2005-10-28 | 2007-05-23 | 한국전자통신연구원 | 저궤도 위성 덤프 데이터 처리 방법 |
US7817633B1 (en) | 2005-12-30 | 2010-10-19 | Extreme Networks, Inc. | Method of providing virtual router functionality through abstracted virtual identifiers |
US7822033B1 (en) | 2005-12-30 | 2010-10-26 | Extreme Networks, Inc. | MAC address detection device for virtual routers |
US7894451B2 (en) * | 2005-12-30 | 2011-02-22 | Extreme Networks, Inc. | Method of providing virtual router functionality |
US7688761B2 (en) * | 2006-08-09 | 2010-03-30 | Cisco Technology, Inc. | Method and system for classifying packets in a network based on meta rules |
JP2009027400A (ja) * | 2007-07-19 | 2009-02-05 | Alaxala Networks Corp | 過大フロー検出装置、過大フロー検出回路、端末装置及びネットワークノード |
ATE533075T1 (de) * | 2007-12-21 | 2011-11-15 | Prad Res & Dev Ltd | Mehrpunkt-geostatistikverfahren mit abzweigungs- lauflängen-kompression und lokaler rastertransformation |
US7852486B2 (en) * | 2008-02-07 | 2010-12-14 | Board Of Regents, The University Of Texas System | Wavelength and intensity monitoring of optical cavity |
US8468142B2 (en) * | 2008-08-06 | 2013-06-18 | Fujitsu Limited | Caching query results with binary decision diagrams (BDDs) |
US8543648B1 (en) * | 2010-12-13 | 2013-09-24 | Imdb.Com, Inc. | Efficiently finding collaborations on a network |
US8605732B2 (en) | 2011-02-15 | 2013-12-10 | Extreme Networks, Inc. | Method of providing virtual router functionality |
US9900409B2 (en) | 2012-02-07 | 2018-02-20 | Fabulous Inventions Ab | Classification engine for data packet classification |
TWI540846B (zh) | 2013-03-29 | 2016-07-01 | 晨星半導體股份有限公司 | 無線接收系統及其信號處理方法 |
JP2019145970A (ja) * | 2018-02-19 | 2019-08-29 | 日本電信電話株式会社 | 検索装置、検索方法及び検索プログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020039365A1 (en) * | 1999-03-17 | 2002-04-04 | Broadcom Corporation | Pipelined searches with a cache table |
US6754662B1 (en) * | 2000-08-01 | 2004-06-22 | Nortel Networks Limited | Method and apparatus for fast and consistent packet classification via efficient hash-caching |
US20040049494A1 (en) * | 2002-09-10 | 2004-03-11 | Kottisa Vamsi Mohan | Method, system and computer-readable medium for traversing a list of search results |
-
2002
- 2002-11-20 JP JP2002335904A patent/JP2004172917A/ja active Pending
-
2003
- 2003-11-20 US US10/716,622 patent/US20040100956A1/en not_active Abandoned
- 2003-11-20 CN CNB2003101151231A patent/CN1273919C/zh not_active Expired - Lifetime
-
2004
- 2004-10-19 HK HK04108156A patent/HK1065391A1/xx not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100359889C (zh) * | 2004-10-29 | 2008-01-02 | 江苏南大苏富特软件股份有限公司 | 基于策略树的报文分组过滤及管理方法 |
WO2011109996A1 (zh) * | 2010-08-19 | 2011-09-15 | 华为技术有限公司 | 一种哈希表存储方法、查找方法及其装置 |
US9294390B2 (en) | 2010-08-19 | 2016-03-22 | Huawei Technologies Co., Ltd. | Hash table storage and search methods and devices |
Also Published As
Publication number | Publication date |
---|---|
US20040100956A1 (en) | 2004-05-27 |
CN1273919C (zh) | 2006-09-06 |
JP2004172917A (ja) | 2004-06-17 |
HK1065391A1 (en) | 2005-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1273919C (zh) | 包搜索设备及其包处理搜索方法 | |
CN1148917C (zh) | 用于标识分组应被转发到网络的下一跳的地址的设备及其操作方法 | |
US7640354B2 (en) | Scalable differential compression of network data | |
US8335780B2 (en) | Scalable high speed relational processor for databases and networks | |
CN101694672B (zh) | 一种分布式安全检索系统 | |
CN1179523C (zh) | 用于四路散列表的方法和装置 | |
CN101594319B (zh) | 表项查找方法和装置 | |
US20070168377A1 (en) | Method and apparatus for classifying Internet Protocol data packets | |
US20060117088A1 (en) | Network processor system | |
CN106161633B (zh) | 一种基于云计算环境下打包文件的传输方法及系统 | |
CN112333169B (zh) | 一种报文处理方法、装置、电子设备及计算机可读介质 | |
CN110278202B (zh) | 一种文件上传系统 | |
CN1564989A (zh) | Mac地址高速搜索引擎 | |
WO2009015603A1 (fr) | Système de compilation d'expressions régulières, système d'appariement, procédé de compilation et procédé d'appariement | |
CN1842042A (zh) | 用于搜索网络连接的方法和装置 | |
CN1969525A (zh) | 用于减少通信网络上的传输量的通信服务器、方法和系统 | |
CN1316696A (zh) | 用于网络处理器的全匹配搜索方法和设备 | |
CN101068212A (zh) | 一种网络地址转换转发的装置及方法 | |
CN1774900A (zh) | 有界索引可扩展的基于散列的IPv6地址查找方法 | |
CN1520112A (zh) | 网络协议卸载引擎 | |
CN1276629C (zh) | 基于Netfilter架构的流媒体集群服务内容调度方法 | |
WO2006123420A1 (ja) | データ処理システム | |
CN1802836A (zh) | 网络协议卸载引擎存储器管理 | |
Hua et al. | Rank-indexed hashing: A compact construction of bloom filters and variants | |
CN1703890A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1065391 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term |
Granted publication date: 20060906 |
|
CX01 | Expiry of patent term |