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

技术编号:17565312 阅读:27 留言:0更新日期:2018-03-28 14:54
本发明专利技术提供一种规则匹配方法和装置,该方法包括:若接收到数据包,在预先建立好的混合多维流表查找是否存在与所述数据包匹配的密集决策树,其中,所述密集决策树为所述混合多维流表中规则密集区域构建的决策树;若在所述混合多维流表查找到与所述数据包匹配的密集决策树,则在所述密集决策树中查找与所述数据包匹配的第一候选规则;按照优先级别在所述第一候选规则中选择与所述数据包匹配最佳的规则。本发明专利技术实施例在规则密集区域构建密集决策树,查找与数据包匹配的密集决策树,提高了查找效率,从而提高了访存速度。

【技术实现步骤摘要】
一种规则匹配方法和装置
本专利技术涉及通信
,特别涉及一种规则匹配方法和装置。
技术介绍
软件定义网络(SoftwareDefinedNetwork,SDN)流分类转发是网络设备中的基本功能,SDN流分类转发可以根据预定义的分类规则集生成流表,为到达的网络数据包找到所匹配的规则。现有的多维流表生成方法如下:根据规则集构造决策树结构的多维流表,将规则集中的规则映射到决策树中的相应结点中。决策树的根节点相当于整个多维几何空间,通过对多维几何空间逐层切分,每个子空间不断缩小,直到决策树上所有的叶子节点所包含的规则数小于某个阈值,决策树结构的多维流表构建完成。由于规则在空间分布不均匀,有些空间规则密集,有些空间规则稀疏,导致存在切分过程中部分切分无效,从而导致访存速度低。
技术实现思路
本专利技术实施例的目的在于提供一种规则匹配方法和装置,解决了访存速度低的问题。为了达到上述目的,本专利技术实施例提供一种规则匹配方法,包括:若接收到数据包,在预先建立好的混合多维流表查找是否存在与所述数据包匹配的密集决策树,其中,所述密集决策树为所述混合多维流表中规则密集区域构建的决策树;若在所述混合多维流表查找到与所述数据包匹配的密集决策树,则在所述密集决策树中查找与所述数据包匹配的第一候选规则;按照优先级别在所述第一候选规则中选择与所述数据包匹配最佳的规则。本专利技术实施例还提供一种规则匹配装置,包括:第一查找模块,用于若接收到数据包,在预先建立好的混合多维流表查找是否存在与所述数据包匹配的密集决策树,其中,所述密集决策树为所述混合多维流表中规则密集区域构建的决策树;第二查找模块,用于若在所述混合多维流表查找到与所述数据包匹配的密集决策树,则在所述密集决策树中查找与所述数据包匹配的第一候选规则;第一选择模块,用于按照优先级别在所述第一候选规则中选择与所述数据包匹配最佳的规则。本专利技术实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行的一个或多个程序,所述一个或多个程序被所述计算机执行时使所述计算机执行如上述提供的一种规则匹配方法。上述技术方案中的一个技术方案具有如下优点或有益效果:本专利技术实施例若接收到数据包,在预先建立好的混合多维流表中查找是否存在与所述数据包匹配的密集决策树,其中,所述密集决策树为所述混合多维流表中规则密集区域构建的决策树;若在所述混合多维流表查找到与所述数据包匹配的密集决策树,则在所述密集决策树中查找与所述数据包匹配的第一候选规则;按照优先级别在所述第一候选规则中选择与所述数据包匹配最佳的规则。这样,在规则密集区域构建密集决策树,查找与数据包匹配的密集决策树,提高了查找效率,从而提高了访存速度。附图说明图1为本专利技术实施例提供的一种规则匹配方法流程图;图2为本专利技术实施例提供的另一种规则匹配的方法流程图;图3为本专利技术实施例提供的一种规则匹配方法示意图;图4为二维规则集切割的几何示意图举例;图5为二维规则集的决策树构建示意图举例;图6为本专利技术实施例提供的一种规则匹配装置;图7为本专利技术实施例提供的另一种规则匹配装置;图8为本专利技术实施例提供的另一种规则匹配装置;图9为本专利技术实施例提供的另一种规则匹配装置;图10为本专利技术实施例提供的另一种规则匹配装置;图11为本专利技术实施例提供的另一种规则匹配装置。具体实施方式为使本专利技术要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。如图1所示,本专利技术实施例提供一种规则匹配方法,包括以下步骤:S101、若接收到数据包,在预先建立好的混合多维流表查找是否存在与所述数据包匹配的密集决策树,其中,所述密集决策树为所述混合多维流表中规则密集区域构建的决策树。其中,上述预先建立好的混合多维流表可以是在为数据包查找匹配的规则之前,建立好的混合多维流表,该混合多维流表可以是利用静态随机存储器(StaticRandomAccessMemory,简称SRAM)和三态内容寻址存储器(TernaryContentAddressableMemory,简称TCAM)生成的多维流表。查找是否存在与所述数据包匹配的密集决策树可以是在上述混合多维流表中规则密集区域构建的决策树中查找,是否存在与上述数据包匹配的决策树。查找TCAM过程可以参照传统的TCAM查找方法,本实施例对此不作限定。上述规则密集区域可以是通过启发式的算法识别,可以是上述规则对TCAM的容量占用率超过预设的阈值,可以是子节点和父节点的规则数量超过预设的阈值,识别为密集区域,也可以是同时满足上述条件时识别为密集区域。例如,在密集索引的TCAM的的容量占用率为50%(预设的阈值为40%),且子节点相对于父节点的规则数量为4(预设的阈值为3)时,由于上述TCAM的占用率和子节点相对父节点的规则数量均超过预设的阈值,识别为密集区域。S102、若在所述混合多维流表查找到与所述数据包匹配的密集决策树,则在所述密集决策树中查找与所述数据包匹配的第一候选规则。若在步骤S101中查找到与上述数据包匹配的密集决策树,则在上述密集决策树中查找与上述数据包匹配的第一候选规则,查找方法可以参照传统的决策树查找的方法,本实施例对此不作限定。其中,该第一候选规则可以是一条规则或者多条规则。S103、按照优先级别在所述第一候选规则中选择与所述数据包匹配最佳的规则。上述按照优先级别选择可以是若上述第一候选规则中有多条规则,将上述第一候选规则中的多条规则按照与上述数据包的匹配度进行排序,选择与上述数据包匹配度最好的规则;若上述第一候选规则中只有一条规则,则选择该规则。可选的,所述方法还包括:若在所述混合多维流表没有查找到与所述数据包匹配的密集决策树,则在所述混合多维流表中非密集决策树查找与所述数据包匹配的第二候选规则,其中,所述非密集决策树为所述混合多维流表中除规则密集区域之外的区域构建的决策树;按照优先级别在所述第二候选规则中选择与所述数据包匹配最佳的规则。若在步骤S101中没有查找到与上述数据包匹配的密集决策树,则在上述混合多维流表中的非密集决策树中查找与上述数据包匹配的第二候选规则,该第二候选规则可以是一条或者多条规则。上述非密集决策树可以是除去密集区域外的区域中构建的决策树。上述按照优先级别选择可以是若上述第二候选规则中有多条规则,将上述第二候选规则中的多条规则按照与上述数据包的匹配度进行排序,选择与上述数据包匹配度最好的规则;若上述第二候选规则中只有一条规则,则选择该规则。可选的,在所述在预先建立好的混合多维流表查找是否存在与所述数据包匹配的密集决策树之前,所述方法还包括:建立以静态随机存储器的决策树算法为主,以三态内容寻址存储器为辅的所述混合多维流表,其中,所述静态随机存储器中存储有所述混合多维流表的密集决策树和非密集决策树,所述三态内容寻址存储器包括索引的三态内容寻址存储空间和辅助三态内容寻址存储空间,所述索引的三态内容寻址存储空间存储有所述混合多维流表中各密集决策树的索引,所述辅助三态内容寻址存储空间存储有部分规则;所述在预先建立好的混合多维流表查找是否存在与所述数据包匹配的密集决策树,包括:根据所述索引的三态内容寻址存储空间存储的密集决策树的索引,查找是否存在与所述数据包匹配的密集决策树。其中,上述决策树算法可以采本文档来自技高网...
一种规则匹配方法和装置

【技术保护点】
一种规则匹配方法,其特征在于,包括:若接收到数据包,在预先建立好的混合多维流表查找是否存在与所述数据包匹配的密集决策树,其中,所述密集决策树为所述混合多维流表中规则密集区域构建的决策树;若在所述混合多维流表查找到与所述数据包匹配的密集决策树,则在所述密集决策树中查找与所述数据包匹配的第一候选规则;按照优先级别在所述第一候选规则中选择与所述数据包匹配最佳的规则。

【技术特征摘要】
1.一种规则匹配方法,其特征在于,包括:若接收到数据包,在预先建立好的混合多维流表查找是否存在与所述数据包匹配的密集决策树,其中,所述密集决策树为所述混合多维流表中规则密集区域构建的决策树;若在所述混合多维流表查找到与所述数据包匹配的密集决策树,则在所述密集决策树中查找与所述数据包匹配的第一候选规则;按照优先级别在所述第一候选规则中选择与所述数据包匹配最佳的规则。2.如权利要求1所述的方法,其特征在于,所述方法还包括:若在所述混合多维流表没有查找到与所述数据包匹配的密集决策树,则在所述混合多维流表中非密集决策树查找与所述数据包匹配的第二候选规则,其中,所述非密集决策树为所述混合多维流表中除规则密集区域之外的区域构建的决策树;按照优先级别在所述第二候选规则中选择与所述数据包匹配最佳的规则。3.如权利要求2所述的方法,其特征在于,在所述在预先建立好的混合多维流表查找是否存在与所述数据包匹配的密集决策树之前,所述方法还包括:建立以静态随机存储器的决策树算法为主,以三态内容寻址存储器为辅的所述混合多维流表,其中,所述静态随机存储器中存储有所述混合多维流表的密集决策树和非密集决策树,所述三态内容寻址存储器包括索引的三态内容寻址存储空间和辅助三态内容寻址存储空间,所述索引的三态内容寻址存储空间存储有所述混合多维流表中各密集决策树的索引,所述辅助三态内容寻址存储空间存储有部分规则;所述在预先建立好的混合多维流表查找是否存在与所述数据包匹配的密集决策树,包括:根据所述索引的三态内容寻址存储空间存储的密集决策树的索引,查找是否存在与所述数据包匹配的密集决策树。4.如权利要求3所述的方法,其特征在于,所述建立以静态随机存储器的决策树算法为主,以三态内容寻址存储器为辅的所述混合多维流表,包括:获取预设的分类规则集;对所述分类规则集空间几何进行切割构建决策树,并识别该决策树的各节点的密集情况,根据各节点的密集情况识别规则密集区域,其中,决策树的深度不超过H,每个节点最多存放规则数量不超过N,所述H和所述N为预设的正整数;获取各规则密集区域的根节点,并对各规则密集区域采用切割算法构建出各个密集型区域的密集决策树;将除规则密集区域之外的区域构建非密集决策树。5.如权利要求3所述的方法,其特征在于,所述建立以静态随机存储器的决策树算法为主,以三态内容寻址存储器为辅的所述混合多维流表,进一步还包括:对所述决策树的规则复制性进行统计排序,识别高复制性的规则,并将所述识别的高复制性的规则存储至所述辅助三态内容寻址存储空间。6.如权利要求5所述的方法,其特征在于,所述建立以静态随机存储器的决策树算法为主,以三态内容寻址存储器为辅的所述混合多维流表,进一步还包括:将所述决策树深度超过所述H的规则节点保留所述N条规则,并将剩余的规则都提取到所述辅助三态内容寻址存储空间中。7.如权利要求5所述的方法,其特征在于,所述方法还包括:在所述辅助三态内容寻址存储空间查找与所述数据包匹配的第三候选规则;所述按照优先级别在所述第一候选规则中选择与所述数据包最佳匹配的规则,包括:按照优先级别在所述第一候选规则和所述第三候选规则中选择与所述数据包最佳匹配的规则;或者所述按照优先级别在所述第二候选规则中选择与所述数据包最佳匹配的规则,包括:按照优先级别在所述第二候选规则和所述第三候选规则中选择与所述数据包最佳匹配的规则。...

【专利技术属性】
技术研发人员:牛小兵
申请(专利权)人:中兴通讯股份有限公司北京大学深圳研究生院
类型:发明
国别省市:广东,44

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

1