一种规则匹配方法和装置制造方法及图纸

技术编号:8192533 阅读:186 留言:0更新日期:2013-01-10 03:02
本发明专利技术公开了一种规则匹配方法和装置,涉及通信技术领域,解决现有技术存在着的基于DPI技术的产品的性能仍然有待提升的问题。方法包括:接收报文;检测报文内容中的特征信息,判断检测得到的报文中的特征信息是否符合预设的多个规则组中的一个规则组的分类特性;当符合时,将一个规则组对应的状态机确定为第一状态机;判断第一状态机是否存储在片内存储器,如果是,则使用第一状态机对报文进行匹配,得到匹配结果;如果不是,当片外存储器存储有第一状态机时,将第一状态机从片外存储器加载到片内存储器,使用第一状态机对报文进行匹配,得到匹配结果。本发明专利技术实施例可以让产品取得更好的性能。

【技术实现步骤摘要】

本专利技术涉及网络
,尤其涉及一种规则匹配方法和装置
技术介绍
DPI (Deep Packet Inspection,深度报文包检测)技术作为ー种网络设备增强的过滤器,逐步将用户管理、安全控制、精细的业务控制等能力有机地集成在一起,实现各类业务的动态感知、策略控制、Qos (Quality of Service,服务质量)保障,以及网络与业务的安全保障等功能,降低运营商的资本性支出与运营支出,为运营商提供一个电信业务的基础运营平台。DPI技术基本原理包括检测报文中高层协议(如应用层)中的ー些特征字符,然后 与状态机(由规则编译而成)进行匹配,判断检测得到特征字符是预定的ー些关键字,井根据判断结果进行相应的处理。DPI技术可以基于软件或硬件实现,软件相对比较灵活,但性能较差(如速度慢、支持规则数量少)。在实际应用中,为了提升性能,现有技术一般都使用硬件来实现,如使用FPGA (Field-Programmable Grate Array,现场可编程门阵列)来实现,但为了让产品取得更好的性能提升,找到ー种更好的方法来提升性能一直是业界需要解决的问题。
技术实现思路
本专利技术的实施例提供一种规则匹配方法和装置,用于解决现有技术存在着的基于DPI技术的产品的性能仍然有待提升的问题。为达到上述目的,本专利技术的实施例采用如下技术方案一种规则匹配方法,包括接收报文;检测所述报文内容中的特征信息,判断检测得到的所述报文中的特征信息是否符合预设的多个规则组中的一个规则组的分类特性,所述多个规则组中的每个规则组由一条或多条规则按预定的分类特性划分后得到,每个所述规则组编译后对应ー个状态机,所述状态机用于对所述报文进行匹配,其中,匹配时常用的状态机存储在读写速度较快的片内存储器当中,其他状态机存储在读写速度较慢的片外存储器当中;当检测得到的特征信息符合预设的多个规则组中的ー个规则组的分类特性吋,将所述ー个规则组对应的状态机确定为第一状态机;判断所述第一状态机是否存储在片内存储器,如果是,则使用所述第一状态机对所述报文进行匹配,得到匹配结果;如果不是,当片外存储器存储有所述第一状态机时,将所述第一状态机从片外存储器加载到片内存储器,使用所述第一状态机对所述报文进行匹配,得到匹配結果。一种规则匹配装置,包括接收单元,用于接收报文;检测单元,检测所述接收単元接收的所述报文中的特征信息,判断检测得到的所述报文中的特征信息是否符合预设的多个规则组的ー个规则组的分类特性,并将检测结果发送给匹配単元,其中,所述规则组为多个,由一条或多条规则按预定的分类特性划分后得至IJ,每个所述规则组编译后对应ー个状态机以及状态机标识,所述状态机用于对所述报文进行匹配,其中,匹配时常用的状态机存储在读写速度较快的片内存储器当中,其他状态机存储在读写速度较慢的片外存储器当中;匹配単元,根据所述检测单元发送的所述检测结果得知当所述检测単元当检测得到的特征信息符合预设的多个规则组中的ー个规则组的分类特性吋,将所述ー个规则组对应的状态机确定为第一状态机;判断所述第一状态机是否存储在片内存储器,如果是,则使用所述第一状态机对所述报文进行匹配,得到匹配结果;如果不是,当片外存储器存储有所述第一状态机时,将所述第一状态机从片外存储器加载到片内存储器,使用所述第一状态机对所述报文进行匹配,得到匹配結果。本专利技术实施例提供的规则匹配方法和装置中,对规则进行了分组,这样可以避免 规则爆炸问题;将常用的状态机存储在片内存储器,匹配时优先使用片内存储器中的状态机进行匹配,可以缩短匹配时间(片内处理器读写速度快),提升产品性能。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为现有技术中规则编译成NFA的结构图;图2为现有技术中规则编译成DFA的结构图;图3为本专利技术实施例I中一种规则匹配方法的流程图;图4为本专利技术实施例2中一种规则匹配方法中,一种对规则进行分组的方法的流程图;图5为本专利技术实施例2中基于图4的划分方法对应的检测方法的流程图;图6为本专利技术实施例3中一种规则匹配方法中,一种对规则进行分组的方法的流程图;图7为本专利技术实施例3中对规则进行分组的方法中生成的规则组一的特征表示例图;图8为本专利技术实施例3中基于图6的划分方法对应的检测方法的流程图;图9为本专利技术实施例3中对规则进行分组的方法中生成的规则组ニ的特征表示例图;图10为本专利技术实施例3中对规则进行分组的方法中生成的规则组三的特征表示例图;图11为本专利技术实施例3中一种规则匹配方法中逻辑与运算结果示例图;图12为本专利技术实施例4中一种规则匹配装置的结构图;图13为本专利技术实施例5中另ー种规则匹配装置的结构图;图14为本专利技术实施例6中又一种规则匹配装置的结构图15为本专利技术实施例6中还又ー种规则匹配装置的结构图;图16为本专利技术实施例7中一种硬件架构结构图。具体实施例方式下面结合附图对本专利技术实施例一种规则匹配方法和装置进行详细描述。实施例I本专利技术实施例提供一种规则匹配方法,如图3所示,该方法包括如下步骤301、接收报文;302、检测所述报文内容中的特征信息,判断检测得到的所述报文中的特征信息是否符合预设的多个规则组中的ー个规则组的分类特性,所述多个规则组中的每个规则组由 一条或多条规则按预定的分类特性划分后得到,每个所述规则组编译后对应ー个状态机,所述状态机用于对所述报文进行匹配,其中,匹配时常用的状态机存储在读写速度较快的片内存储器当中,其他状态机存储在读写速度较慢的片外存储器当中;这里的片内存储器是指固化在处理芯片(如FPGA)内部的存储器,读写速度快,片外存储器是指独立与芯片内部的存储器(如DDR SDRAM,双倍速率同步动态随机存储器,或者flash存储器),读写速度相对于片内的较慢。为了取得更好的性能,本实施例优选使用FPGA内存的存储器作为片内存储器,选用DDR SDRAM作为片外存储器。如果对性能要求不高,也可以使用flash等速度相对慢一点的存储器作为片外存储器。FPGA芯片内部的存储器以及DDR SDRAM 一般都是易失性存储器,所以需要在上电时将存储在其他存储介质中的状态机加载到这些存储器当中,然后如果片内外存储器为非易失性存储介质时(如片外为flash存储器吋),也可以事先将状态机存储在那里。步骤302中,可以认为已经通过加载流程将存储在其他介质当中的状态机存储到了片内外存储器当中。303、当检测得到的特征信息符合预设的多个规则组中的ー个规则组的分类特性吋,将所述一个规则组对应的状态机确定为第一状态机;判断所述第一状态机是否存储在片内存储器,如果是,则使用所述第一状态机对所述报文进行匹配,得到匹配結果;如果不是,当片外存储器存储有所述第一状态机时,将所述第一状态机从片外存储器加载到片内存储器,使用所述第一状态机对所述报文进行匹配,得到匹配結果。可选的,片内存储器又可包括两种,ー种是静态的,里面的内容不会在程序运行过程更新的存储器(这里称“静态片内存储器”),即只要加载状态后,就会一直存本文档来自技高网...

【技术保护点】
一种规则匹配方法,其特征在于,包括:接收报文;检测所述报文内容中的特征信息,判断检测得到的所述报文中的特征信息是否符合预设的多个规则组中的一个规则组的分类特性,所述多个规则组中的每个规则组由一条或多条规则按预定的分类特性划分后得到,每个所述规则组编译后对应一个状态机,所述状态机用于对所述报文进行匹配,其中,匹配时常用的状态机存储在读写速度较快的片内存储器当中,其他状态机存储在读写速度较慢的片外存储器当中;当检测得到的特征信息符合预设的多个规则组中的一个规则组的分类特性时,将所述一个规则组对应的状态机确定为第一状态机;判断所述第一状态机是否存储在片内存储器,如果是,则使用所述第一状态机对所述报文进行匹配,得到匹配结果;如果不是,当片外存储器存储有所述第一状态机时,将所述第一状态机从片外存储器加载到片内存储器,使用所述第一状态机对所述报文进行匹配,得到匹配结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:郭智吴富强曾佳迪帕克·曼沙拉姆尼约翰·科特斯孙灵燕田聃
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1