CN102148803B - 一种报文匹配方法和设备 - Google Patents

一种报文匹配方法和设备 Download PDF

Info

Publication number
CN102148803B
CN102148803B CN201010109067.0A CN201010109067A CN102148803B CN 102148803 B CN102148803 B CN 102148803B CN 201010109067 A CN201010109067 A CN 201010109067A CN 102148803 B CN102148803 B CN 102148803B
Authority
CN
China
Prior art keywords
rule
matching
chip
sheet
memory
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
CN201010109067.0A
Other languages
English (en)
Other versions
CN102148803A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201010109067.0A priority Critical patent/CN102148803B/zh
Publication of CN102148803A publication Critical patent/CN102148803A/zh
Application granted granted Critical
Publication of CN102148803B publication Critical patent/CN102148803B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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 (8)

1.一种报文匹配方法,其特征在于,应用于报文检测设备,所述报文检测设备包括片内存储器以及片外存储器;所述片内存储器用于存储片内规则,所述片外存储器用于存储片外规则,所述报文匹配方法包括如下步骤:
对接收到的报文使用片内规则进行匹配,如果匹配成功,输出匹配结果;如果匹配不成功,使用所述片外规则进行匹配,输出匹配结果;
根据一段时间内输出的匹配结果统计所述片内规则以及所述片外规则的匹配次数,输出统计结果;
根据所述统计结果将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器,将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器;其中,所述匹配次数相对较多的片外规则为匹配次数至少大于所述片内存储器中其中一条片内规则的匹配次数的片外规则;所述匹配次数相对较少的片内规则为匹配次数至少小于所述片外存储器中其中一条片外规则的匹配次数的片内规则;
清除这一段时间内所有规则的匹配次数。
2.如权利要求1所述的报文匹配方法,其特征在于,还包括:
在执行所述根据所述统计结果将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器,将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器的步骤后,使得所述片内存储器中每条规则的匹配次数都不小于所述片外存储器中每条规则的匹配次数。
3.如权利要求1所述的报文匹配方法,其特征在于:
先将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器,再将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器。
4.如权利要求1所述的报文匹配方法,其特征在于:
在初始配置规则存储位置时,所述片内存储器用于存储最常用的规则。
5.一种报文匹配设备,其特征在于,包括:
片内存储器,所述片内存储器用于存储片内规则;
片外存储器,所述片外存储器用于存储片外规则;
报文匹配单元,用于对接收到的报文使用片内规则进行匹配,如果匹配成功,输出匹配结果;如果匹配不成功,使用所述片外规则进行匹配,输出匹配结果;
统计单元,用于根据一段时间内输出的匹配结果统计所述片内规则以及所述片外规则的匹配次数,输出统计结果;
管理单元,用于根据所述统计结果将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器,将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器;其中,所述匹配次数相对较多的片外规则为匹配次数至少大于所述片内存储器中其中一条片内规则的匹配次数的片外规则;所述匹配次数相对较少的片内规则为匹配次数至少小于所述片外存储器中其中一条片外规则的匹配次数的片内规则;所述管理单元还用于,在执行所述根据所述统计结果将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器,将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器的步骤后,清除这一段时间内所有规则的匹配次数。
6.如权利要求5所述的报文匹配设备,其特征在于:
所述管理单元还用于:
在执行所述根据所述统计结果将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器,将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器的步骤后,使得所述片内存储器中每条规则的匹配次数都不小于所述片外存储器中每条规则的匹配次数。
7.如权利要求5所述的报文匹配设备,其特征在于:
所述管理单元还用于:
先将一条或多条匹配次数相对较少的片内规则移动到所述片外存储器,再将一条或多条匹配次数相对较多的片外规则移动到所述片内存储器。
8.如权利要求5所述的报文匹配设备,其特征在于:
在初始配置规则存储位置时,所述片内存储器用于存储最常用的规则。
CN201010109067.0A 2010-02-04 2010-02-04 一种报文匹配方法和设备 Expired - Fee Related CN102148803B (zh)

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 CN102148803A (zh) 2011-08-10
CN102148803B true 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)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868571B (zh) * 2012-08-07 2015-04-08 华为技术有限公司 一种规则匹配方法和装置
CN102957707A (zh) * 2012-11-16 2013-03-06 北京星网锐捷网络技术有限公司 一种Web应用防火墙的防护方法及装置
CN105635170B (zh) * 2016-01-26 2018-12-18 宝利九章(北京)数据技术有限公司 基于规则对网络数据包进行识别的方法和装置
CN109548063B (zh) * 2017-09-20 2020-09-04 华为技术有限公司 处理报文的方法、装置、设备及存储介质
CN109107135A (zh) * 2018-06-04 2019-01-01 上海康斐信息技术有限公司 竞速运动的统计信息获取方法及装置、电子设备
CN110191014B (zh) * 2019-05-20 2021-01-26 杭州迪普信息技术有限公司 一种规则表项的命中次数统计方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
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 中国人民解放军信息工程大学 一种深度报文检测方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
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 中国人民解放军信息工程大学 一种深度报文检测方法和装置

Also Published As

Publication number Publication date
CN102148803A (zh) 2011-08-10

Similar Documents

Publication Publication Date Title
CN102148803B (zh) 一种报文匹配方法和设备
JP4662997B2 (ja) コンピューティング・システムにおける電力をセーブするためにデューティ・サイクルを調整する方法と装置
CN101652766B (zh) 自组织网络功率节省系统和方法
CN101714932B (zh) 一种用于irf堆叠设备的mad检测方法及装置
CN103023808B (zh) 基于块状链表结构的6lowpan数据包重装缓存方法
US20120099431A1 (en) Method and device for controlling information channel flow
TW201822010A (zh) 資料儲存裝置與資料傳輸速率控制方法
CN101510847A (zh) 链路速率调整方法和装置
CN103414714A (zh) 一种报文处理方法、装置和设备
CN101977414A (zh) 一种无线传感器网络的同传时隙分配方法
CN102957628A (zh) 报文聚合方法、装置和接入设备
CN106559903A (zh) 端到端通信链路建立方法、接入点及站点
CN103778120A (zh) 全局文件标识生成方法、生成装置及相应的分布式文件系统
CN102750249A (zh) 上位机与下位机通信的方法、装置及系统
CN103501282A (zh) 网络报文发送控制方法、虚拟交换机和物理机
CN102075432A (zh) 一种用于发送及接收报文的方法、装置、设备及系统
CN105468539A (zh) 一种混合内存写操作的实现方法
CN109257300A (zh) 一种网络数据包的存储方法及装置
CN103052173B (zh) 传输控制协议链路的数据处理方法和装置
CN101119295A (zh) 配置高速下行共享信道物理层类别参数的方法
CN101765193B (zh) 在edch上进行资源调度的方法、用户终端和通信系统
CN101316416B (zh) 双卡双待手机芯片通信系统及通信方法
CN101883041A (zh) 存储转发系统及其报文存储方法
CN102523168B (zh) 一种传输报文的方法及装置
CN110212941B (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