CN102148803A - 一种报文匹配方法和设备 - Google Patents
一种报文匹配方法和设备 Download PDFInfo
- Publication number
- CN102148803A CN102148803A CN2010101090670A CN201010109067A CN102148803A CN 102148803 A CN102148803 A CN 102148803A CN 2010101090670 A CN2010101090670 A CN 2010101090670A CN 201010109067 A CN201010109067 A CN 201010109067A CN 102148803 A CN102148803 A CN 102148803A
- Authority
- CN
- China
- Prior art keywords
- rule
- sheet
- matching
- chip
- matching times
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种报文匹配方法及设备,其中,报文匹配方法包括:对接收到的报文使用片内规则进行匹配,如果匹配成功,输出匹配结果;如果匹配不成功,使用片外规则进行匹配,输出匹配结果;根据一段时间内输出的匹配结果统计片内规则以及片外规则的匹配次数,输出统计结果;根据统计结果将一条或多条匹配次数相对较多的片外规则移动到片内存储器,将一条或多条匹配次数相对较少的片内规则移动到片外存储器。本发明实施例在报文匹配过程中,通过统计匹配次数,将一些匹配次数相对较多的片外规则移动到片内存储器,将一些匹配次数相对较少的片内规则移动到片外存储器,在满足规则存储容量的同时可以提高报文匹配速度。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种报文匹配方法和设备。
背景技术
DPI(Deep Packet Inspection,深度包检测)是一种包(报文)检测技术,它除了对IP包中的源IP地址、目的IP地址、源端口、目的端口、会话信息等(IP包层4以下数据)信息进行检测分析外,还对IP包中的荷载Payload(应用层数据)进行深入分析,从而可以更高效地识别出网络上的各种应用。目前,DPI技术已广泛应用于流量控制、内容计费和网络安全等领域。
在DPI技术应用中,DPI设备先对接收到的报文中的特征信息与本地规则进行匹配,确定报文的协议类型,然后根据报文的协议执行相应的策略。参见图1,为DPI设备进行规则匹配的示意图,报文匹配单元通过将接收到的报文与规则库中的规则进行匹配,输出匹配结果。在现有技术中,规则的存储一般有两种形式,一种为了加快匹配速度,规则存入在片内存储器(硬件访问片内存储器的速度较快),如规则匹配引擎使用DPI加速芯片时,将规则存储在DPI加速芯片自带的片内存储器当中,但规则容量比较小;另一种方法为了扩大规则的容量,将规则存放在片外存储器中。
发明人在实现本发明的过程中,发现现有技术至少存在如下缺点:
由于DPI匹配芯片的片内存储器容量一般都比较小,因此,能存储的规则容量也比较小;而使用片外存储器时,虽然可以增大规则的容量,但由于匹配芯片访问片外存储器的速度要小于访问片内存储器的速度,因此,降低了规则匹配速度。
发明内容
本发明实施例提供一种报文匹配方法及报文匹配设备,用于提高报文匹配速度,其中:
本发明实施例提供了一种报文匹配方法,应用于报文检测设备,所述报文检测设备包括片内存储器以及片外存储器;所述片内存储器用于存储片内规则,所述片外存储器用于存储片外规则,所述报文匹配方法包括如下步骤:
对接收到的报文使用片内规则进行匹配,如果匹配成功,输出匹配结果;如果匹配不成功,使用所述片外规则进行匹配,输出匹配结果;
根据一段时间内输出的匹配结果统计所述片内规则以及所述片外规则的匹配次数,输出统计结果;
根据所述统计结果将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器,将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器;其中,所述匹配次数相对较多的片外规则为匹配次数至少大于所述片内存储器中其中一条片内规则的匹配次数的片外规则;所述匹配次数相对较少的片内规则为匹配次数至少小于所述片外存储器中其中一条片外规则的匹配次数的片内规则。
本发明实施例还提供了一种报文检测设备,包括:
片内存储器,所述片内存储器用于存储片内规则;
片外存储器,所述片外存储器用于存储片外规则;
报文匹配单元,用于对接收到的报文使用片内规则进行匹配,如果匹配成功,输出匹配结果;如果匹配不成功,使用所述片外规则进行匹配,输出匹配结果;
统计单元,用于根据一段时间内输出的匹配结果统计所述片内规则以及所述片外规则的匹配次数,输出统计结果;
管理单元,用于根据所述统计结果将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器,将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器;其中,所述匹配次数相对较多的片外规则为匹配次数至少大于所述片内存储器中其中一条片内规则的匹配次数的片外规则;所述匹配次数相对较少的片内规则为匹配次数至少小于所述片外存储器中其中一条片外规则的匹配次数的片内规则。
上述技术方案中具有如下的优点:
本发明实施例通过将规则存储分成两部分,一部分位于片内存储器,另一部分位于片外存储器,从而满足了对规则存储容量的要求;在报文匹配过程中,通过统计匹配次数,将一些匹配次数相对较多的片外规则移动到片内存储器,将一些匹配次数相对较少的片内规则移动到片外存储器,利用片内存储器可以尽量使用片内存储器中的规则,减少使用片外存储器中的规则,提高报文匹配速度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术使用规则库对报文中的特征信息进行匹配示意图;
图2为本发明实施例一报文匹配方法流程示意图;
图3为本发明实施例二报文匹配方法流程示意图;
图4为本发明实施例三报文匹配设备结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下将通过具体实施例和相关附图,对本发明作进一步详细说明。
实施例一
本发明实施例提供了一种报文匹配方法,应用于报文检测设备,所述报文检测设备包括片内存储器以及片外存储器;所述片内存储器用于存储片内规则,所述片外存储器用于存储片外规则;参见图2,所述报文匹配方法包括如下步骤:
S11、对接收到的报文使用片内规则进行匹配,如果匹配成功,输出匹配结果;如果匹配不成功,使用所述片外规则进行匹配,输出匹配结果;
S12、根据一段时间内输出的匹配结果统计所述片内规则以及所述片外规则的匹配次数,输出统计结果;
S13、根据所述统计结果将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器,将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器;其中,所述匹配次数相对较多的片外规则为匹配次数至少大于所述片内存储器中其中一条片内规则的匹配次数的片外规则;所述匹配次数相对较少的片内规则为匹配次数至少小于所述片外存储器中其中一条片外规则的匹配次数的片内规则。
本发明实施例还包括:
在根据所述统计结果将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器,将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器后,使得所述片内存储器中每条规则的匹配次数都不小于所述片外存储器中每条规则的匹配次数。
在移动过程中,由于片内存储器的剩余存储空间一般较小(片内一般都会最大限度地存满规则,以充分利用存储空间),因此,如果片内存储空间不大的话,可以先将片内需要移动的规则移动到片外,以留出存储空间,再将片外存储器的规则移动到片内。
在对片内规则以及片外规则的位置调整完成后,还包括:清除这一段时间所有规则的匹配次数,以免对下一阶段的统计造成影响。
本发明实施例中,在初始配置规则存储位置时,可以将一些最常用的规则存储到片内存储器;将其余的规则存储到片外存储器;判断是否常用的方法可以根据历史数据或实际应用场景;通过将最常用的规则存储到片内存储器,可以在报文匹配一开始就较多地使用片内存储器中的规则,减少使用片外存储器中规则的次数,从而提高了报文匹配速度。
需要说明的是,在对规则的位置进行调整过程中也需要消耗一定的时间,这个时间应小于最后通过减少报文匹配单元使用片外规则进行匹配而节省的时间,否则会抵消节省的时间,甚至增加总的匹配时间。
在实际应用中,定时调整的时间间隔设置不宜过小,否则会造成调整过程过于频繁,从而增加调整的时间;但也不能设置过大,否则会对常用及不常用规则在片内外的分布调整过于迟缓,不能让规则的分布及时处于最优状态,因此,需要在这两者之间做出一个权衡,具体可以根据实际应用情况进行调整。
此外,调整所消耗的时间也跟规则的大小有关,如果规则由单个规则源文件编译,或由几个规则源文件编译,生成的规则体积较小时,其调整位置所消耗的时间比较短;反之,当规则由大量规则源文件编译而成时,生成的规则体积会变得很大,调整位置所消耗的时间也会变得比较长,在这种情况下,可以根据调整算法进行少调整,甚至不调整。
本发明实施例通过将规则存储分成两部分,一部分位于片内存储器,另一部分位于片外存储器,从而满足了对规则存储容量的要求;在报文匹配过程中,通过统计匹配次数,将一些匹配次数相对较多的片外规则移动到片内存储器,将一些匹配次数相对较少的片内规则移动到片外存储器,利用片内存储器可以尽量使用片内存储器中的规则,减少使用片外存储器中的规则,提高报文匹配速度。
实施例二
本发明实施例基于实施例一的基础上,提供了一种报文匹配方法,包括如下步骤:
S21、将规则分片内规则和片外规则两部分,片内规则存储在片内存储器,片外规则存储在片外存储器;
这里的规则由规则源文件(一般为正则表达式)编译而成;每条规则在编译前后都用规则ID(某个具体数值)来表示。
为了使设备一开始就处于一个比较优化的状态,还可以将常用的规则作为片内规则存储在片内存储器,判断规则是否常用可以根据历史经验数据以及实际应用情况而定,例如,当设备位于的环境P2P(Peer to Peer,点对点)流量占多数时,可以将常用的P2P规则存储在片内存储器,其余存储在片外存储器。
需要说明的是,当没有历史经验数据可参考或者对一个应用场景比较陌生的话,那么可以通过其他方式进行随机存放,例如,将先随机往片内存储一部分规则,剩下的都存在片外;甚至片内不存储规则,全部规则都存片外。后续可以通过统计单元及管理单元的工作对片内外规则的位置进行不断优化调整。
为了最大程度利用片内存储器的空间,可以先将片内存储器存满,然后再往片外存储器存储规则。
S22、将接收到的报文使用片内规则进行匹配,判断是否匹配成功;如果匹配不成功,执行步骤S23;否则,执行步骤S24;
因为访问片内存储器的速度要大于访问片外存储器的速度,因此,优先使用片内规则进行匹配。
S23、将接收到的报文使用片外规则进行匹配;
如果片内没有规则匹配成功,则再使用片外规则进行匹配;
S24、根据匹配情况输出匹配结果;
当使用片内规则或片外规则进行匹配成功时,输出相应的规则ID。当片内规则以及片外规则都未匹配成功时,不输出规则ID。
输出结果除了规则ID外,还可以输出其他信息,如具体是报文的哪个部分匹配上了规则等,以方便后续通过匹配结果进行分析。
S25、根据一段时间内输出的匹配结果统计片内规则以及片外规则的匹配次数,输出统计结果;
具体可以每隔一段时间都统计一次,由定时器来实现;时间的间隔可以根据实际应用情况而定,如每隔5秒或10秒统计一次;由于后续根据统计结果调整规则的位置也需要消耗一定时间,因此,这段时间不宜设置得过小,如果设置过小,可能会出现因调整消耗的时间大于因减少访问片外存储器而节省的时间的情况,反而降低了系统整体匹配速度。
S26、根据统计结果将一条或多条匹配次数相对较多的片外规则移动到片内存储器,将一条或多条匹配次数相对较少的片内规则移动到片外存储器;使得所述片内存储器中每条规则的匹配次数都不小于所述片外存储器中每条规则的匹配次数。
其中,匹配次数相对较多的片外规则为匹配次数至少大于片内存储器中其中一条片内规则的匹配次数的片外规则;所述匹配次数相对较少的片内规则为匹配次数至少小于片外存储器中其中一条片外规则的匹配次数的片内规则。
为了更好地对本步骤S26进行说明,下面通过具体例子来进行阐述:
假设本发明实施例中,片内存储器和片外存储器各存储有5条规则,其中,片内存储器5条规则的规则ID为0x0001~0x0005;片外存储器5条规则的规则ID为0x1001~0x1005;参见表1、表2,分别为执行本步骤S26之前的一段时间内片内存储器以及片外存储器中各规则的匹配次数统计结果:
表1.片内存储器各规则的匹配次数
规则ID | 0x0001 | 0x0002 | 0x0003 | 0x0004 | 0x0005 |
匹配次数 | 5 | 28 | 15 | 52 | 87 |
表2.片外存储器各规则的匹配次数
规则ID | 0x1001 | 0x1002 | 0x1003 | 0x1004 | 0x1005 |
匹配次数 | 20 | 12 | 32 | 3 | 62 |
由表2可以看出,匹配次数相对较多的片外规则(匹配次数大于片内存储器其中一条)可以是规则ID为0x1001、0x1002、0x1003以及0x1005的规则;
由表1可以看出,匹配次数相对较少的片内规则(匹配次数小于片外存储器其中一条)可以是规则ID为0x0001、0x0002、0x0003以及0x0004的规则;
当移动片内外规则的位置,使得片内存储器中每条规则的匹配次数都不小于片外存储器中每条规则的匹配次数后,各规则在片内外存储器的位置如表3、表4所示:
表3.移动后片内存储器各规则的匹配次数
规则ID | 0x1005 | 0x0002 | 0x1003 | 0x0004 | 0x0005 |
匹配次数 | 62 | 28 | 32 | 52 | 87 |
表4.移动后片外存储器各规则的匹配次数
规则ID | 0x1001 | 0x1002 | 0x0003 | 0x1004 | 0x0001 |
匹配次数 | 20 | 12 | 15 | 3 | 5 |
其中,规则ID带下划线的规则为从另一存储器移动过来的规则,如片内规则ID为0x1005以及0x100的规则原来位于片外;片外规则ID为0x0003以及0x0001的规则原来位于片内。
对规则位置进行具体移动调整时,可以采用多次移动或一次性整体移动的方式:当采用多次移动方式时,每次只移动一对规则(片内匹配次数最少的和片外匹配次数最多的),不断重复移动,直到片内规则的匹配次数都大于片外规则的匹配次数;当采用一次性整体移动的方式时,可以先将需要移动的规则统计出来,然后一次性片内的移动到片外的,将片外的移动到片内的。
在实际应用中,本发明实施例接收的数据流一般都会持续一段时间,因此,如果在一段时间内(持续时间里的一段时间)检测到某些规则匹配次数较多,那么这些规则在下一段时间内匹配次数仍然较多的概率也会很大,因此,可以将这些规则都移动到片内存储单元,从而减少访问片外存储器的次数,提高匹配速度。
需要说明的是,也可以只将片外一部分匹配次数较多的规则以及片内一部分匹配次数较少的规则进行移动;以上述表1、表2所列的匹配次数为例,可以只将片外规则ID为0x1005的规则移动到片内,将片内规则ID为0x0001的规则移动到片外;在此并不限定。
在实际应用中,还可以根据片内存储器的容量以及需要移动的规则的大小对规则的移动进行调整,例如:片内存储器容量为5M,现在还有0.2M剩余空间;此时,片外有两条匹配次数较多的规则可以移动,其中一条#1为0.3M,匹配次数为30;另一条#2为0.2M匹配次数为20;另一条#3为0.1M匹配次数为15;另一条#4也为0.1M,匹配次数为15;虽然规则#1匹配次数太多,但因为其空间大于剩余空间(0.3M>0.2M),所以无法将其移动到片内存储器;此时,可以选择将规则#2移动到片内存储器,或者将规则#3以及#4移动到片内存储器。
S27、清除这一时间段内所有规则匹配次数,对下一时间段各规则匹配次数进行统计;
本发明实施例在移动完相关规则的位置后,把所有规则的匹配次数清除,此时,在对下一时间段各规则匹配次数进行统计时,不会将本次时间段的匹配规则次数带到下一时间段,从而避免本时间段的匹配次数对下一时间段的匹配次数造成影响。
本发明实施例将规则分成两部分分别存储在片内存储器和片外存储器,从而满足了对规则存储容量的需求;同时,本发明实施例通过统计一段时间内各规则的匹配结果,将片内匹配次数较少的规则移动到片外存储器;将片外存储器中匹配次数较多的规则移动到片内存储器;由于本发明实施例接收的数据流一般都会持续一段时间,如果在一段时间内(持续时间里的一段时间)检测到某些规则匹配次数较多,那么这些规则在下一段时间内匹配次数仍然较多的概率也会很大,因此,通过将这些规则都移动到片内存储单元,可以减少访问片外存储器的次数,提高匹配速度。
实施例三
本发明实施例一提供了一种报文检测设备40,参见图4,包括片内存储器41以及片外存储器42;所述片内存储器用于存储片内规则,所述片外存储器用于存储片外规则;本发明实施例还包括:
报文匹配单元43,用于对接收到的报文使用片内规则进行匹配,如果匹配成功,输出匹配结果;如果匹配不成功,使用所述片外规则进行匹配,输出匹配结果;
统计单元44,用于根据一段时间内输出的匹配结果统计所述片内规则以及所述片外规则的匹配次数,输出统计结果;
管理单元45,用于根据所述统计结果将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器,将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器;其中,所述匹配次数相对较多的片外规则为匹配次数至少大于所述片内存储器中其中一条片内规则的匹配次数的片外规则;所述匹配次数相对较少的片内规则为匹配次数至少小于所述片外存储器中其中一条片外规则的匹配次数的片内规则。
本发明实施例中,将规则分成两部分进行存储,一部分位于片内存储器,例如,片内SRAM等存储介质;另一部分位于片外存储器,例如,使用DDRSDRAM(Double Data Rate SDRAM,双倍速率同步动态随机存储器)作为片外存储介质。这里的片内、片外是指相对于完成报文匹配功能的芯片而言,完成报文匹配功能的芯片具体可以采用FPGA、DPI加速芯片或具有类似功能的处理芯片。
规则由规则源文件(一般为正则表达式)编译而成;在编译过程中,可以将每个规则源文件单独编译成一个规则;或者也可以将多个规则源文件作为一组编译成一个规则;编译完后的规则用规则ID来表示。
本发明实施例中,在初始配置规则存储位置时,可以将一些最常用的规则存储到片内存储器;将其余的规则存储到片外存储器;判断常用的方法可以根据历史数据或实际应用场景;通过将最常用的规则存储到片内存储器,可以在报文匹配一开始就较多地使用片内存储器中的规则,减少使用片外存储器中规则的次数,从而提高了报文匹配速度。
如果在实际应用中无法得到历史数据或实际应用场景不明确,则可以随机选择一些规则存储到片内,其余存放到片外;为了最大程度充分利用片内存储器的存储空间,可以将片内存储器都存满后再存放规则到片外存储器。后续可以通过统计单元及管理单元的工作对片内外规则的位置进行不断优化调整。
本发明实施例中的统计单元用于对报文匹配单元输出的匹配结果进行统计。具体的,统计单元根据报文匹配单元输出的规则ID统计各条规则被匹配到的次数。
本发明实施例中,所述管理单元还用于,在根据所述统计结果将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器,将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器后,使得所述片内存储器中每条规则的匹配次数都不小于所述片外存储器中每条规则的匹配次数。在实际应用中,也可以不完全满足片内存储器中每条规则的匹配次数都不小于片外存储器中每条规则的匹配次数;即可以只移动一条或几条片外匹配较多的规则到片内;以及一条或多条匹配次数较少的片内规则到片外。
本发明实施例中,所述管理单元还用于:在对片内规则以及片外规则的位置调整完成后,还包括:清除这一段时间所有规则的匹配次数,使得这些数据不会对下一阶段的统计造成影响。
需要说明的是,管理单元在对规则的位置进行调整过程中也需要消耗一定的时间,这个时间应小于最后通过减少报文匹配单元使用片外规则进行匹配而节省的时间,否则会抵消节省的时间,甚至增加总的匹配时间。
在实际应用中,定时调整的时间间隔设置不宜过小,否则会造成调整过程过于频繁,从而增加调整的时间;但也不能设置过大,否则会对常用及不常用规则在片内外的分布调整过于迟缓,不能让规则的分布及时处于最优状态,因此,需要在这两者之间做出一个权衡,具体可以根据实际应用情况进行调整。
此外,调整所消耗的时间也跟规则的大小有关,如果规则由单个规则源文件编译,或由几个规则源文件编译,生成的规则体积较小时,其调整位置所消耗的时间比较短;反之,当规则由大量规则源文件编译而成时,生成的规则体积会变得很大,调整位置所消耗的时间也会变得比较长,在这种情况下,可以根据调整算法进行少调整,甚至不调整。
本发明实施例管理单元根据统计单元的统计结果对每条规则的存储位置进行调整,将匹配次数多的规则存放在片内,匹配次数少的规则存放到片外,可以增加访问片内存储器的次数,减少报文匹配单元访问片外存储器的次数,而访问片内存储器的速度要大于访问片外存储器的速度,因此,可以提高报文匹配的速度。
本发明实施例中的统计单元、管理单元等可以跟报文匹配单元使用同一芯片(如DPI加速芯片、FPGA等)实现,或者使用其他具有类似功能的芯片或硬件电路实现,在此并不限定。
本发明实施例将规则分成两部分分别存储在片内存储器和片外存储器,从而满足了对规则存储容量的需求;同时,本发明实施例通过统计一段时间内各规则的匹配结果,将片内匹配次数较少的规则移动到片外存储器;将片外存储器中匹配次数较多的规则移动到片内存储器;由于本发明实施例接收的数据流一般都会持续一段时间,如果在一段时间内(持续时间里的一段时间)检测到某些规则匹配次数较多,那么这些规则在下一段时间内匹配次数仍然较多的概率也会很大,因此,通过将这些规则都移动到片内存储单元,可以减少访问片外存储器的次数,提高匹配速度。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
上列较佳实施例,对本发明的目的、技术方案和优点进行了进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种报文匹配方法,其特征在于,应用于报文检测设备,所述报文检测设备包括片内存储器以及片外存储器;所述片内存储器用于存储片内规则,所述片外存储器用于存储片外规则,所述报文匹配方法包括如下步骤:
对接收到的报文使用片内规则进行匹配,如果匹配成功,输出匹配结果;如果匹配不成功,使用所述片外规则进行匹配,输出匹配结果;
根据一段时间内输出的匹配结果统计所述片内规则以及所述片外规则的匹配次数,输出统计结果;
根据所述统计结果将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器,将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器;其中,所述匹配次数相对较多的片外规则为匹配次数至少大于所述片内存储器中其中一条片内规则的匹配次数的片外规则;所述匹配次数相对较少的片内规则为匹配次数至少小于所述片外存储器中其中一条片外规则的匹配次数的片内规则。
2.如权利要求1所述的报文匹配方法,其特征在于,还包括:
在执行所述根据所述统计结果将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器,将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器的步骤后,使得所述片内存储器中每条规则的匹配次数都不小于所述片外存储器中每条规则的匹配次数。
3.如权利要求1所述的报文匹配方法,其特征在于,还包括:
在执行所述根据所述统计结果将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器,将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器的步骤后,清除这一段时间内所有规则的匹配次数。
4.如权利要求1所述的报文检测装置,其特征在于:
先将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器,再将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器。
5.如权利要求1所述的报文检测装置,其特征在于:
在初始配置规则存储位置时,所述片内存储器用于存储最常用的规则。
6.如权利要求1所述的报文检测设备,其特征在于,包括:
片内存储器,所述片内存储器用于存储片内规则;
片外存储器,所述片外存储器用于存储片外规则;
报文匹配单元,用于对接收到的报文使用片内规则进行匹配,如果匹配成功,输出匹配结果;如果匹配不成功,使用所述片外规则进行匹配,输出匹配结果;
统计单元,用于根据一段时间内输出的匹配结果统计所述片内规则以及所述片外规则的匹配次数,输出统计结果;
管理单元,用于根据所述统计结果将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器,将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器;其中,所述匹配次数相对较多的片外规则为匹配次数至少大于所述片内存储器中其中一条片内规则的匹配次数的片外规则;所述匹配次数相对较少的片内规则为匹配次数至少小于所述片外存储器中其中一条片外规则的匹配次数的片内规则。
7.如权利要求6所述的报文检测装置,其特征在于:
所述管理单元还用于:
在执行所述根据所述统计结果将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器,将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器的步骤后,使得所述片内存储器中每条规则的匹配次数都不小于所述片外存储器中每条规则的匹配次数。
8.如权利要求6所述的报文检测装置,其特征在于:
所述管理单元还用于:
在执行所述根据所述统计结果将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器,将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器的步骤后,清除这一段时间内所有规则的匹配次数。
9.如权利要求6所述的报文检测装置,其特征在于:
所述管理单元还用于:
先将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器,再将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器。
10.如权利要求6所述的报文检测装置,其特征在于:
在初始配置规则存储位置时,所述片内存储器用于存储最常用的规则。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010109067.0A CN102148803B (zh) | 2010-02-04 | 2010-02-04 | 一种报文匹配方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010109067.0A CN102148803B (zh) | 2010-02-04 | 2010-02-04 | 一种报文匹配方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102148803A true CN102148803A (zh) | 2011-08-10 |
CN102148803B CN102148803B (zh) | 2014-04-30 |
Family
ID=44422806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010109067.0A Expired - Fee Related CN102148803B (zh) | 2010-02-04 | 2010-02-04 | 一种报文匹配方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102148803B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102957707A (zh) * | 2012-11-16 | 2013-03-06 | 北京星网锐捷网络技术有限公司 | 一种Web应用防火墙的防护方法及装置 |
EP2830260A4 (en) * | 2012-08-07 | 2015-07-01 | Huawei Tech Co Ltd | METHOD AND DEVICE FOR MATCHING RULES |
CN105635170A (zh) * | 2016-01-26 | 2016-06-01 | 宝利九章(北京)数据技术有限公司 | 基于规则对网络数据包进行识别的方法和装置 |
CN109107135A (zh) * | 2018-06-04 | 2019-01-01 | 上海康斐信息技术有限公司 | 竞速运动的统计信息获取方法及装置、电子设备 |
CN109548063A (zh) * | 2017-09-20 | 2019-03-29 | 华为技术有限公司 | 处理报文的方法、装置、设备及存储介质 |
CN110191014A (zh) * | 2019-05-20 | 2019-08-30 | 杭州迪普信息技术有限公司 | 一种规则表项的命中次数统计方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356663B2 (en) * | 2004-11-08 | 2008-04-08 | Intruguard Devices, Inc. | Layered memory architecture for deterministic finite automaton based string matching useful in network intrusion detection and prevention systems and apparatuses |
CN101478447A (zh) * | 2009-01-08 | 2009-07-08 | 中国人民解放军信息工程大学 | 一种深度报文检测方法和装置 |
-
2010
- 2010-02-04 CN CN201010109067.0A patent/CN102148803B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356663B2 (en) * | 2004-11-08 | 2008-04-08 | Intruguard Devices, Inc. | Layered memory architecture for deterministic finite automaton based string matching useful in network intrusion detection and prevention systems and apparatuses |
CN101478447A (zh) * | 2009-01-08 | 2009-07-08 | 中国人民解放军信息工程大学 | 一种深度报文检测方法和装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2830260A4 (en) * | 2012-08-07 | 2015-07-01 | Huawei Tech Co Ltd | METHOD AND DEVICE FOR MATCHING RULES |
US9811777B2 (en) | 2012-08-07 | 2017-11-07 | Huawei Technologies Co., Ltd. | Rule matching method and apparatus for deep packet inspection |
CN102957707A (zh) * | 2012-11-16 | 2013-03-06 | 北京星网锐捷网络技术有限公司 | 一种Web应用防火墙的防护方法及装置 |
CN105635170A (zh) * | 2016-01-26 | 2016-06-01 | 宝利九章(北京)数据技术有限公司 | 基于规则对网络数据包进行识别的方法和装置 |
CN105635170B (zh) * | 2016-01-26 | 2018-12-18 | 宝利九章(北京)数据技术有限公司 | 基于规则对网络数据包进行识别的方法和装置 |
CN109548063A (zh) * | 2017-09-20 | 2019-03-29 | 华为技术有限公司 | 处理报文的方法、装置、设备及存储介质 |
CN109548063B (zh) * | 2017-09-20 | 2020-09-04 | 华为技术有限公司 | 处理报文的方法、装置、设备及存储介质 |
CN109107135A (zh) * | 2018-06-04 | 2019-01-01 | 上海康斐信息技术有限公司 | 竞速运动的统计信息获取方法及装置、电子设备 |
CN110191014A (zh) * | 2019-05-20 | 2019-08-30 | 杭州迪普信息技术有限公司 | 一种规则表项的命中次数统计方法及装置 |
CN110191014B (zh) * | 2019-05-20 | 2021-01-26 | 杭州迪普信息技术有限公司 | 一种规则表项的命中次数统计方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102148803B (zh) | 2014-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102148803B (zh) | 一种报文匹配方法和设备 | |
CN100477633C (zh) | 改善无线网络中的服务质量的方法 | |
JP4662997B2 (ja) | コンピューティング・システムにおける電力をセーブするためにデューティ・サイクルを調整する方法と装置 | |
CN101652766B (zh) | 自组织网络功率节省系统和方法 | |
US8310934B2 (en) | Method and device for controlling information channel flow | |
TWI634430B (zh) | 資料儲存裝置與資料傳輸速率控制方法 | |
CN103023808A (zh) | 基于块状链表结构的6lowpan数据包重装缓存方法 | |
CN101510847A (zh) | 链路速率调整方法和装置 | |
CN102695279A (zh) | 一种启动终端休眠定时器的方法和装置 | |
CN101977414A (zh) | 一种无线传感器网络的同传时隙分配方法 | |
CN109194721A (zh) | 一种异步的rdma通信内存动态管理方法及系统 | |
EP2930895A1 (en) | Traffic control method for near-field communication software stack logic link layer | |
CN105515791A (zh) | 以太网方法和以太网设备中使用的方法 | |
CN103501282A (zh) | 网络报文发送控制方法、虚拟交换机和物理机 | |
CN101741690B (zh) | 一种业务接口流量的控制方法及网关 | |
CN101437033B (zh) | 一种支持可变速率的方法和网络设备 | |
CN102802214A (zh) | 一种基于wlan网络的速率自适应的系统和方法 | |
CN102223311A (zh) | 一种队列调度方法及装置 | |
CN102231711B (zh) | 基于维纳预测动态调整节点拥塞等级的路由控制方法 | |
CN103916972A (zh) | 一种启动rts/cts机制的方法和装置 | |
CN105721348A (zh) | 智能终端的流量控制方法及装置 | |
CN102739531B (zh) | 流量整形方法和流量整形设备 | |
CN103442091A (zh) | 一种数据传输方法及装置 | |
CN101765193B (zh) | 在edch上进行资源调度的方法、用户终端和通信系统 | |
CN206024025U (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140430 Termination date: 20190204 |
|
CF01 | Termination of patent right due to non-payment of annual fee |