CN101272386B - 一种前缀匹配算法 - Google Patents

一种前缀匹配算法 Download PDF

Info

Publication number
CN101272386B
CN101272386B CN2008100880025A CN200810088002A CN101272386B CN 101272386 B CN101272386 B CN 101272386B CN 2008100880025 A CN2008100880025 A CN 2008100880025A CN 200810088002 A CN200810088002 A CN 200810088002A CN 101272386 B CN101272386 B CN 101272386B
Authority
CN
China
Prior art keywords
list item
prefix
predetermined quantity
feature string
index
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.)
Expired - Fee Related
Application number
CN2008100880025A
Other languages
English (en)
Other versions
CN101272386A (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.)
O2Micro Inc
Original Assignee
O2Micro International Ltd
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 O2Micro International Ltd filed Critical O2Micro International Ltd
Publication of CN101272386A publication Critical patent/CN101272386A/zh
Application granted granted Critical
Publication of CN101272386B publication Critical patent/CN101272386B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明揭示了一种前缀匹配算法和方法,所述前缀匹配引擎用来将输入流前缀和预定义特征前缀进行匹配,其包括一个前缀逻辑电路,一个存储预定义特征字符串前缀信息的前缀查询表和一个表项缓存器。根据输入流的一部分,所述前缀逻辑电路能够读取在前缀查询表中表项组的一个预设数字,并将表项组预设数字的表项值组存储在表项缓存器中。通过检查表项缓存器中的临时表项值组,所述前缀逻辑电路判断是否找到一个前缀匹配,上述方法使得前缀匹配判断切实有效。

Description

一种前缀匹配算法
技术领域
本发明涉及计算机网络结构和系统,特别是一种在网络处理程序中运行的采用前缀匹配算法的模式匹配运算,所述网络处理程序需要内容匹配或者内容过滤。
背景技术
现在,计算机系统在一个近乎无所不在的互联环境中运行,无论是连接到互联网和网络还是通过无线技术互相连接。虽然无时不在的通信已经为商业网络和信息共享创造了无数的新机会,但也同时增加了破坏网络安,或者说黑客攻击,试图窃取保密信息或者以其他方式妨碍网络通信等情况发生的频率。
考虑到保护信息和服务的重要性,需要大量的工作确保公共安全。最近,大量以在网络中侦测和阻止攻击为目标的计算机程序出现,包括反病毒内容过滤,防火墙,侵入侦测/防止和网络保护。几乎每个现代安全网络系统的核心都是一种模式匹配算法,所述模式包括一个内容匹配的特征字符串(signature string)。在模式匹配运算中,正在通过的包数据流(packet traffic)被用来和一个代码库(library)进行比较,所述代码库包含一些已知的可疑的、有威胁的、或危险的包数据流的模式。一旦发现在待检测的包数据流(screened packet traffic)和代码库中的一个模式之间存在匹配,就会发出一个警报,并且该匹配的包数据流就可以在造成任何损害前被捕获。除了在网络安全程序中的运用,模式匹配也用在IP(internet protocol;互联网协议)路径中,其中每个通过该路径的包数据流被检索以找到IP地址。
遗憾的是,检查每个包数据流的每个字节以检测其是否与一组上万个模式中的一个匹配,需要大量的处理资源,包括处理每个包数据流的时间量存储量。另外,由于包数据流的速度随时间不断增加,为 了不限制数据包的流量,模式匹配操作必须以每秒千兆字节(Gbps)的速度运行。考虑以上因素,所述特征字符串匹配引擎被设计成包括一个前缀匹配引擎和一个精确匹配引擎。所述前缀匹配引擎,通过比对一个预编译过的前缀查询表检查包数据流的前缀,并作为预处理器过滤出大多数包数据流。只有那些其前缀被发现与在前缀查询表中的预定义前缀匹配的包数据流,会在精确匹配引擎中被进一步检测。因为精确匹配引擎很少启动,因此总的包数据流流量被很大提高。
虽然前缀匹配算法提供了一个提高流量的解决方案,但是目前的前缀匹配技术仍不能提供满意的性能、流量、和灵活性。例如,简单的前缀匹配根据所有存储在前缀查询表中的前缀,检查一个包数据流的前缀。当特征字符串的数量达到几千个时,所述简单前缀匹配的性能会因为大量处理时间和有不利影响的流量而明显降低。而且,当最短特征字符串的长度比较小时,简单的前缀匹配被证实会增加误判次数并因此频繁启动精确匹配引擎。这样,前缀匹配引擎就不能提高数据流量。
发明内容
因此,本发明要解决的技术问题在于,提供一种前缀匹配算法,其使得前缀匹配判断切实有效。
一个典型的前缀匹配引擎包括一个查询表,一个逻辑电路和一个表项。所述查询表存储预定义特征组的前缀信息。所述逻辑电路连接到所述查询表,根据输入流的一部分,读取表项组在查询表中预先设定的数字。所述表项缓存器连接到所述逻辑电路,用来存储表项组预定义数字的临时表项值组。根据所述临时表项值组,所述逻辑电路判断是否找到一个预定义特征组字符可能的匹配。
具体地说,本发明提供了一种用于将输入流与预定义特征字符串进行匹配的设备,包括:
一个查询表,用于把预定义特征字符串的前缀信息存储在一组表项中;
一个逻辑电路,连接至所述查询表,以根据所述输入流的一部分读取所述查询表中的预定数量的表项,其中,所述输入流的一部分被分割成预定数量的相邻重叠字符串,并且所述预定数量的相邻重叠字符串分别对应所述预定数量的表项的索引;
一个表项缓存器,连接至所述逻辑电路,以存储所述预定数量的表项的临时表项值,其中所述逻辑电路通过检查每个与所述临时表项值相关的预设位置比特判断是否找到一个可能的匹配。
本发明还提供了一种将一个输入流与预定义特征字符串进行匹配的方法,包括:
将预定义特征字符串的前缀信息存储在一组表项组中;
根据所述输入流的一部分读取一预定数量的表项;
存储所述预定数量的表项的临时表项值;
通过检查每个与所述临时表项值相关的预设位置比特判断是否有一个可能的匹配;所述方法还包括:
将所述输入流的一部分分割成预定数量的相邻重叠字符串,其中所述预定数量的相邻重叠字符串对应所述预定数量的表项索引。
本发明另提供了一种将一输入流与预定义特征字符串进行匹配的系统,包括:
一个前缀匹配引擎,用于将预定义特征字符串的前缀信息存储在一个查询表的一组表项中,根据所述输入流的一部分读取所述查询表中的预定数量的表项,通过检查每个与所述预定数量的表项的临时表项值相关的预设位置比特,在所述输入流中找到与所述预定义特征字符串一个可能的匹配,其中,所述输入流的一部分被分割成预定数量的相邻重叠字符串,并且所述预定数量的表项的索引对应所述预定数量的相邻重叠字符串;以及
一个精确匹配引擎,连接至所述前缀匹配引擎,用于收集与可能匹配有关的前缀信息,并基于收集到的前缀信息作出精确匹配的判断。
上述设备与方法使得前缀匹配判断切实有效。
附图说明
本发明的优点可以从如下详述的典型实施例中明显得出,其中对发明的详述应与相应的附图一起理解,其中:
图1所示是根据本发明的一个实施例的一个前缀匹配引擎的方框图。
图2所示是根据本发明的一个实施例的所述图1中一个前缀查询表的结构。
图3所示是根据本发明的一个实施例的在前缀查询表中一个表项的数据结构。
图4所示是根据本发明的一个实施例的图1中前缀匹配引擎的一个时序图。
图5是根据本发明的一个实施例的一个显示前缀匹配条件的表。
具体实施方式
现在将要对本发明的具体实施例详细说明,虽然本发明将会以相关实施例进行表述,但是可以理解的是,本发明并不局限于所述实施例中。相反,本发明意在覆盖其他任何包含在由所附权利要求书所定义的本发明的主旨和范围内的各种变型、修改和等同方式。
图1显示了一个典型前缀匹配引擎100的框图,所述前缀匹配引擎100包括一个前缀逻辑电路103,一个前缀查询表105和一个表项缓存器107,有效载荷包数据流从输入流模块101中流出。所述前缀匹配引擎100连接到输入流模块101,并用于检查在一个有效载荷包数据流中,是否有被认为对网络有害的预定义特征字符串,例如互联网蠕虫或计算机病毒的存在。最后,每个包数据流最左边部分的前缀字符串都被所述前缀匹配引擎100所检查。如果在前缀字符串检查后得到的是否定结果,则说明被检查的包数据流与预定义的所有特征字符串都不匹配,从而被检查的包数据流就能够被滤出。如果在前缀字符串检查后,得到的是肯定结果,则说明被检查的包数据流可能与预定义的特征字符串中的一个匹配。当发现一个可能的匹配时,关于被检查包数据流的信息就被直接从前缀匹配引擎100传送到一个输出模块109,所述信息从模块109进一步被输送给一个精确匹配引擎(图中未示出)以对照预定义特征字符串进行精确包数据流检查。
为了实现所述前缀字符串检查,所述前缀逻辑电路103连接到所述输入流模块101并因此接收输入流的一部分,所述输入流的线速率能接近或超过1吉比特(Gbits)/秒。根据输入流的所述部分,所述前缀逻辑电路103在连续时钟周期中读取所述前缀查询表105中预定数量的表项,并把接收到的表项的值存储在表项缓存器107中。这里,前缀查询表105为一个预编译快速存储器,例如静态随机存储器(SRAM)或减少迟延的动态随机存储器(RLDRAM),用于存储所述预定义特征字符串的前缀信息。前缀查询表中的每个表项包括一个位置段,一个长度段和一个地址段,下文将会对此加以详述。通过检查存 储在表项缓存器107中的临时表项值的位置段,前缀逻辑电路103能判断是否找到与预定义特征组字符串中的一个可能匹配。
图2显示了前缀查询表105的一个典型结构200,所述前缀查询表105优选的组成结构在于其中的预定义特征字符串的前缀可以作为地址浏览,这样,前缀查询表105就可以作为一个可寻址存储器工作。例如,前缀“ABC”被视作表项201的地址,则当提供有效的地址“ABC”时,表项201可以被读取。相似地,前缀“BCD”被视作表项203的地址,前缀“CDE”被视作表项205的地址。
本领域技术人员容易理解,当存储空间受限制时,前缀查询表105不能提供大量被编址成预定义特征字符串的前缀的表项。因此,可以对前缀查询表105采用哈希处理,哈希处理可以把所需的大量的、不能控制的表减小成一个小的可控制的索引。在处理过程中,有可能两个或者更多的表项会生成相同的哈希索引并且这些表项被存储在哈希表中相同的位置。例如,前缀查询表105可以采用CRC(cycle redundancycheck;循环冗余匹配)的方式进行哈希处理,在CRC哈希处理后,前缀“ABC”对应表项201的索引,并且当提供地址“ABC”时,也可以读取表项201。与此类似,前缀“BCD”对应表项203的索引,前缀“CDE”对应表项205的索引。
图3是在前缀查询表105中一个表项的典型数据结构300,如前所述,每个表项包括位置段,长度段和地址段。因此,表项的数据结构包括位置比特组,长度比特组和地址比特组。位置比特组,例如从比特0到比特M,存储属于同一个前缀的位置信息。例如,由“ABC”索引的表项201的位置比特N,表示前缀“ABC”是否出现在一个预定义特征字符串的位置N中。长度比特组存储属于同一个前缀的长度信息。例如,由“ABC”索引的表项201的长度比特组表示所有以前缀“ABC”开头的特征字符串中最短的预定义特征字符串的长度。地址比特组存储属于同一个前缀的地址信息,例如,由“ABC”索引的表项201的地址比特组表示一组以前缀“ABC”开头的预定义特征字符串的地址。
图4显示前缀匹配引擎100的一个典型时序图400。假设输入流的一个部分是“ABCDEFGH”,前缀逻辑电路103会分别以“ABC”, “BCD”,“CDE”,“DEF”,“EFG”和“FGH”作为地址,在连续时钟周期内读取前缀查询表105。即数据部分“ABCDEFGH”被分割成6个相邻重叠的字符串,并且每个相邻重叠的字符串对应前缀查询表105索引中的一个。本领域技术人员容易理解,用于前缀匹配的输入流的部分长度取决于设计参数,例如输入流的线速率、所需流量等。另外,每个相邻重叠字符串的字节长度取决于前缀查询表105中每个索引的字节长度。
当每个索引分别为“ABC”,“BCD”,“CDE”,“DEF”,“EFG”和“FGH”的表项被读取时,前缀逻辑电路103接收的表项值被进一步存储在表项缓存器107中。前缀逻辑电路103可以查询相关的临时表项值的位置比特,以便判断是否发现与预定义特征组字符串之一的可能的匹配。
图5是一个表示前缀匹配条件的典型表500。假设输入流的一个部分是“ABCDEFGH”,表项缓存器107存储索引分别为“ABC”,“BCD”,“CDE”,“DEF”,“EFG”和“FGH”的临时表项值。为判断字符串“ABC”是否是一个预定义特征字符串的前缀,前缀逻辑电路103会根据由“ABC”索引的临时表项值的长度比特组,识别用于检查的相关表项值。例如,如果长度比特组表示前缀为“ABC”的最短特征字符串具有3字节,那么前缀逻辑电路103会检查由“ABC”索引的临时表项值的位置比特0,以判断前缀“ABC”是否匹配。如果长度比特组表示前缀为“ABC”的最短特征字符串具有4个字节,那么前缀逻辑电路103不仅会检查由“ABC”索引的临时表项值的位置比特0,还要检查由“BCD”索引的临时表项值的位置比特1,以便判断出前缀“ABC”是否匹配。
与此类似,如果长度比特组表示前缀为“ABC”的最短特征字符串具有8个字节,那么前缀逻辑电路103不仅会检查由“ABC”索引的临时表项值的位置比特0,还会检查由“BCD”索引的临时表项值的位置比特1,由“CDE”索引的临时表项值的位置比特2,临时表项值由“DEF”索引的位置比特3,由“EFG”索引的临时表项值的位置比特4,和由“FGH”索引的临时表项值的位置比特5。在这种条件下,只有在如图5所示,所有被检查的比特组都是逻辑1时,前缀逻辑电路103才能判 断出以“ABC”开始的输入流与前缀为“ABC”的预定义特征组字符串匹配。这样,一个可能与预定义特征组字符串之一的匹配就会被发现,并且包含在这些临时表项值的位置和地址信息能够被传给输出模块109并接着进入精确匹配引擎(图中未示出),用来辅助精确匹配检查。进一步而言,添有星号(*)的比特在前缀匹配检查中是不考虑(NC)的比特。然而,如果没有遇到在图5中所示的前缀匹配条件,所述前缀匹配逻辑电路103能判断以“ABC”开始的输入流和前缀为“ABC”的预定义特征组字符串不匹配,并且以“ABC”开始的输入流会被过滤出并被丢弃。这样,精确匹配引擎(图中未示出)就不会启动。另外,虽然位置比特组的有效逻辑如图5所示被设为逻辑1,但是本领域技术人员容易理解,有效逻辑是可编程的并且因此可被编程为逻辑0。
以类似的方式,为了判断字符串“BCD”是否是预定义特征字符串的一个前缀,前缀逻辑电路103会根据由“BCD”索引的临时表项值的长度比特组,识别需要被检查的表项值。例如,如果长度比特组表示前缀为“BCD”的最短特征字符串具有3个字节,前缀逻辑电路103会检查临时表项值由“BCD”索引的位置比特0,以便作出前缀“BCD”匹配的判断。如果长度比特组显示前缀为“BCD”的最短特征字符串为4字节,那么前缀逻辑电路103不仅会检查临时表项值由“BCD”索引的位置比特0,还检查临时表项值由“CDE”索引的位置比特1,以便判断前缀“BCD”是否匹配。
从以上说明可以理解,当判断是否以“ABC”开始的输入流是一个可能的匹配时,前缀匹配引擎100比起仅仅检查“ABC”的传统的前缀匹配算法来说,要检查更多的字节(例如“ABCDEFGH”)。随着输入流实际被检查长度的增加,明显减少了短前缀匹配的误判,并且因此,前缀匹配引擎100不再对最短特征字符串的判断过分敏感。实验结果显示使用如上所推荐的前缀匹配算法,超过99%的输入流能在严格的条件下被滤出。另外,前缀匹配引擎100在非常大量的预定义特征字符串的情况下仍旧可以维持其性能。并且,在后续阶段,前缀匹配引擎100支持任意类型的精确匹配算法。进一步而言,前缀匹配引擎100特别适用于现场可编程门阵列(FPGA)或者特定用途集成电路(ASIC) 并允许低配置的FPGA/ASIC资源。
本领域技术人员可以理解,如上所述假设的3字节索引,2字节重叠和输入流的8字节部分等是本领域技术的典型实施方式。使用者可以根据需求和满足所要检查的输入流的处理需要和硬件资源,就索引大小,字节重叠,和输入流的字节部分选择任何合适的组合。
本发明说明书所用的术语和表述是用来对发明本身进行说明而非限定,而且不排除任何与所述技术术语和表述(或者部分表述)等同的技术,其他根据本发明做的任何修改、变型和可选择的方式,都属于本发明权利要求书要求保护的范围。

Claims (23)

1.一种用于将输入流与预定义特征字符串进行匹配的设备,包括:
一个查询表,用于把预定义特征字符串的前缀信息存储在一组表项中;
一个逻辑电路,连接至所述查询表,以根据所述输入流的一部分读取所述查询表中的预定数量的表项,其中,所述输入流的一部分被分割成预定数量的相邻重叠字符串,并且所述预定数量的相邻重叠字符串分别对应所述预定数量的表项的索引;
一个表项缓存器,连接至所述逻辑电路,以存储所述预定数量的表项的临时表项值,其中所述逻辑电路通过检查每个与所述临时表项值相关的预设位置比特判断是否找到一个可能的匹配。
2.根据权利要求1所述的设备,其特征在于,还包括:
一个输出模块,连接至所述逻辑电路,用于当找到所述可能的匹配时收集由临时表项值表示的前缀信息,其中所述由临时表项值表示的前缀信息被进一步传送到一个精确匹配引擎进行精确特征匹配。
3.根据权利要求1所述的设备,其特征在于,所述查询表中的所述表项是以索引的形式组织的,并且所述表项的索引对应所述预定义特征字符串的前缀。
4.根据权利要求1所述的设备,其特征在于,所述查询表对应一个预编译的快速存储器。
5.根据权利要求1所述的设备,其特征在于,所述查询表是被哈希处理的。
6.根据权利要求1所述的设备,其特征在于,所述预定数量的表项在连续时钟周期内被读取。
7.根据权利要求1所述的设备,其特征在于,所述每个所述查询表中的表项包括一个位置段,一个长度段和一个地址段,其中位置段的位N表示表项的索引是否对应某一预定义特征字符串中的位置N,所述长度段存储最短预定义特征字符串的长度,其中所述最短预定义特征字符串的前缀对应所述表项的索引,并且所述地址段存储一列预定义特征字符串的地址,其中所述预定义特征字符串的前缀对应所述表项的索引。
8.根据权利要求1所述的设备,其特征在于,所述每个临时表项值包含位置比特组和长度比特组,所述长度比特组能够确定与所述可能的匹配判断相关的表项值。
9.根据权利要求1所述的设备,其特征在于,当所述临时表项值满足一个预设的条件时,则找到一个可能的匹配。
10.根据权利要求1所述的设备,其特征在于,所述匹配设备以现场可编程门阵列或者特定用途集成电路的方式实施。
11.一种将一个输入流与预定义特征字符串进行匹配的方法,其特征在于,包括:
将预定义特征字符串的前缀信息存储在一组表项中;
根据所述输入流的一部分读取一预定数量的表项;
存储所述预定数量的表项的临时表项值;
通过检查每个与所述临时表项值相关的预设位置比特判断是否有一个可能的匹配;所述方法还包括:
将所述输入流的一部分分割成预定数量的相邻重叠字符串,其中所述预定数量的相邻重叠字符串对应所述预定数量的表项索引。
12.根据权利要求11所述的方法,其特征在于,还包括:
对所述预定义特征字符串的前缀信息执行一个哈希处理。
13.根据权利要求11所述的方法,其特征在于,对所述预定数量表项的在连续时钟周期内读取。
14.根据权利要求11所述的方法,其特征在于,还包括:
将由临时表项值表示的前缀信息传送到一精确匹配引擎;并且
基于接收到的前缀信息,在精确匹配引擎中进行精确匹配判断。
15.根据权利要求11所述的方法,其特征在于,还包括:
使用所述预定义特征字符串的前缀对所述表项组进行索引。
16.根据权利要求11所述的方法,其特征在于,当临时表项值组符合一预设条件时,确定一可能的匹配。
17.根据权利要求11所述的方法,其特征在于,所述每个临时表项值包含位置比特组,长度比特组和地址比特组。
18.根据权利要求11所述的方法,其特征在于,所述作出一可能匹配的判断步骤还包括:
确定与所述可能匹配判断相关的临时表项值;并且
检查与每个相关临时表项值的预设位置比特,以便作出可能匹配的判断。
19.一种将一输入流与预定义特征字符串进行匹配的系统,其特征在于,包括:
一个前缀匹配引擎,用于将预定义特征字符串的前缀信息存储在一个查询表的一组表项中,根据所述输入流的一部分读取所述查询表中的预定数量的表项,通过检查每个与所述预定数量的表项的临时表项值相关的预设位置比特,在所述输入流中找到与所述预定义特征字符串一个可能的匹配,其中,所述输入流的一部分被分割成预定数量的相邻重叠字符串,并且所述预定数量的表项的索引对应所述预定数量的相邻重叠字符串;以及
一个精确匹配引擎,连接至所述前缀匹配引擎,用于收集与可能匹配有关的前缀信息,并基于收集到的前缀信息作出精确匹配的判断。
20.根据权利要求19所述的系统,其特征在于,所述多个表项以索引的形式组织。
21.根据权利要求19所述的系统,其特征在于,所述精确匹配引擎只有在前缀匹配引擎找到可能的匹配时才启动。
22.根据权利要求19所述的系统,其特征在于,所述前缀匹配引擎以现场可编程门阵列或特定用途集成电路的方式运行。
23.根据权利要求19所述的系统,其特征在于,所述的精确匹配引擎以任意的精确匹配算法运行。
CN2008100880025A 2007-03-23 2008-03-24 一种前缀匹配算法 Expired - Fee Related CN101272386B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/728,118 2007-03-23
US11/728,118 US20080235792A1 (en) 2007-03-23 2007-03-23 Prefix matching algorithem

Publications (2)

Publication Number Publication Date
CN101272386A CN101272386A (zh) 2008-09-24
CN101272386B true CN101272386B (zh) 2011-08-17

Family

ID=39714138

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100880025A Expired - Fee Related CN101272386B (zh) 2007-03-23 2008-03-24 一种前缀匹配算法

Country Status (6)

Country Link
US (1) US20080235792A1 (zh)
EP (1) EP1981238B1 (zh)
CN (1) CN101272386B (zh)
AT (1) ATE525844T1 (zh)
ES (1) ES2374111T3 (zh)
TW (1) TW200847698A (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7403137B1 (en) * 2007-03-30 2008-07-22 Juniper Networks, Inc. Memory efficient indexing for disk-based compression
US7643353B1 (en) * 2007-10-25 2010-01-05 Netlogic Microsystems, Inc. Content addressable memory having programmable interconnect structure
EP3029894B1 (en) 2013-08-28 2020-08-19 Huawei Technologies Co., Ltd. Packet processing method, device and system
CN110991437B (zh) * 2019-11-28 2023-11-14 嘉楠明芯(北京)科技有限公司 字符识别方法及其装置、字符识别模型的训练方法及其装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1783838A (zh) * 2005-10-21 2006-06-07 清华大学 基于有状态过滤引擎的高速分组检测方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7274697B2 (en) * 2000-11-16 2007-09-25 Tensilica, Inc. Fast IP route lookup with 16/K and 16/Kc compressed data structures
US20040057536A1 (en) * 2002-09-20 2004-03-25 Adc Dsl Systems, Inc. Digital correlator for multiple sequence detection
US7444515B2 (en) * 2003-08-14 2008-10-28 Washington University Method and apparatus for detecting predefined signatures in packet payload using Bloom filters

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1783838A (zh) * 2005-10-21 2006-06-07 清华大学 基于有状态过滤引擎的高速分组检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Fang Yu et.al..Gigabit rate packet pattern-matching using TCAM.《Proceedings of the 12th IEEE International Conference on Network Protocols, 2004.》.2004,174-183. *
FangYuet.al..Gigabitratepacketpattern-matchingusingTCAM.《Proceedingsofthe12thIEEEInternationalConferenceonNetworkProtocols 2004.》.2004

Also Published As

Publication number Publication date
ES2374111T3 (es) 2012-02-13
EP1981238A1 (en) 2008-10-15
US20080235792A1 (en) 2008-09-25
ATE525844T1 (de) 2011-10-15
TW200847698A (en) 2008-12-01
EP1981238B1 (en) 2011-09-21
CN101272386A (zh) 2008-09-24

Similar Documents

Publication Publication Date Title
JP4598127B2 (ja) ステートフルなパケット内容マッチング機構
US9514246B2 (en) Anchored patterns
CN100472479C (zh) 数据包模式匹配的方法和装置
Yu et al. Gigabit rate packet pattern-matching using TCAM
Boero et al. Support vector machine meets software defined networking in ids domain
US7672941B2 (en) Pattern matching using deterministic finite automata and organization of such automata
US9858051B2 (en) Regex compiler
CN101018121B (zh) 日志的聚合处理方法及聚合处理装置
US20100088756A1 (en) Multi-pattern packet content inspection mechanisms employing tagged values
CN1838670A (zh) 使用多处理单元架构的系统安全防护方法与相关装置
WO2020209085A1 (ja) 登録システム、登録方法及び登録プログラム
CN101577721A (zh) 一种索引拆分布鲁姆过滤器及其插入、删除和查询方法
CN101272386B (zh) 一种前缀匹配算法
CN101414914A (zh) 数据内容过滤方法与装置、有限状态自动机及其构造装置
US20160321289A1 (en) Method and Apparatus for Generating a Plurality of Indexed Data Fields
US10291632B2 (en) Filtering of metadata signatures
US7904433B2 (en) Apparatus and methods for performing a rule matching
US10284476B1 (en) Signature pattern detection in network traffic
US9794274B2 (en) Information processing apparatus, information processing method, and computer readable medium
CN100461091C (zh) 用可重新配置硬件进行内容检测的方法和系统
Antichi et al. Counting bloom filters for pattern matching and anti-evasion at the wire speed
US11520884B2 (en) Dummy information insertion device, dummy information insertion method, and storage medium
US8869267B1 (en) Analysis for network intrusion detection
CN111353018A (zh) 基于深度包检测的数据处理方法、装置和网络设备
KR101716017B1 (ko) 문자열 매칭 장치 및 그 방법

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
ASS Succession or assignment of patent right

Owner name: O2 TECH. INTERNATIONAL LTD.

Free format text: FORMER OWNER: AOTU ELECTRONIC (WUHAN) CO., LTD.

Effective date: 20120213

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120213

Address after: Grand Cayman British Cayman Islands

Patentee after: O2 Tech. International Ltd.

Address before: Wuhan City, Hubei province 430074 Luoyu Road No. 716 Hua Le Business Center Room 806

Patentee before: O2Micro International Ltd.

ASS Succession or assignment of patent right

Owner name: AIYOUKE SERVICE CO., LTD.

Free format text: FORMER OWNER: O2 TECH. INTERNATIONAL LTD.

Effective date: 20120821

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120821

Address after: Delaware

Patentee after: O2Micro Inc.

Address before: Grand Cayman British Cayman Islands

Patentee before: O2 Tech. International Ltd.

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110817

Termination date: 20140324