CN112367262A - 一种五元组规则的匹配方法及装置 - Google Patents

一种五元组规则的匹配方法及装置 Download PDF

Info

Publication number
CN112367262A
CN112367262A CN202010844839.9A CN202010844839A CN112367262A CN 112367262 A CN112367262 A CN 112367262A CN 202010844839 A CN202010844839 A CN 202010844839A CN 112367262 A CN112367262 A CN 112367262A
Authority
CN
China
Prior art keywords
rule
matching
template
association
dip
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
Application number
CN202010844839.9A
Other languages
English (en)
Other versions
CN112367262B (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.)
Beijing Baizhuo Network Technology Co ltd
Chang'an Communication Technology Co ltd
National Computer Network and Information Security Management Center
Original Assignee
Beijing Baizhuo Network Technology Co ltd
Chang'an Communication Technology Co ltd
National Computer Network and Information Security Management Center
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 Beijing Baizhuo Network Technology Co ltd, Chang'an Communication Technology Co ltd, National Computer Network and Information Security Management Center filed Critical Beijing Baizhuo Network Technology Co ltd
Priority to CN202010844839.9A priority Critical patent/CN112367262B/zh
Publication of CN112367262A publication Critical patent/CN112367262A/zh
Application granted granted Critical
Publication of CN112367262B publication Critical patent/CN112367262B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种五元组规则匹配的方法,该五元组规则模板预先进行了分类,并为分类后的规则模板设置关联规则有效标志,该方法具体包括:接收数据报文并提取五元组信息;根据提取的五元组信息依次对分类后的规则模板类型进行判断,并进一步确定该五元组信息所匹配的规则模板,记录其命中的规则模板相对应的关联规则有效标志;根据所命中的关联规则有效标志,在所确定的规则模板类型对应的规则Hash表中顺次查找相匹配的规则表项,并输出匹配结果。此外本发明实施例还提供了一种规则匹配装置。通过本发明实施例提供的方法、装置及芯片,可以显著提升五元组规则查表效率,解决了规则表资源竞争的问题。

Description

一种五元组规则的匹配方法及装置
技术领域
本发明涉及通信技术领域,具体涉及一种五元组规则的匹配方法。
背景技术
在通信技术领域中,五元组是TCP/IP协议中数据报文的必要属性元组, 包括源IP地址(SIP)、源端口(SP)、目的IP地址(DIP)、目的端口(DP)、 协议类型(P)共五个元素,而灵活五元组规则是源IP地址(SIP)、源端口 (SP)、目的IP地址(DIP)、目的端口(DP)、协议类型(P)这五个元素的 任意组合,其中五元组的元素组合模式称为规则模板。数据报文按照规则模 板匹配完成后需要执行的动作称为规则动作,规则动作包括但不限于转发动 作(透传、丢弃、重定向等)、命中计数等。
现有网络数据流量处理应用中,规则模板和规则动作共同构成规则,Hash 表的表项由关键字Key和结果Result两部分组成,并且根据Hash表输入关 键字Key得到结果Result的特性,通常使用Hash表存储五元组规则,将规 则模板所含元组作为Key,将规则动作所含属性作为Result。
基本的规则匹配流程,通过从输入的数据报文中提取五元组信息,并根据 五元组信息查询规则表(Hash表),如果查询成功表示规则匹配成功,如果 查询失败表示规则匹配失败,最后将匹配结果输出。
随着互联网大数据时代数据流量的爆发式增长,现有网络数据流量处理应 用中,需要规则匹配处理的数据流量逐渐增大,需要存储的用来匹配数据报 文的灵活五元组规则也越来越多,相应的,也对规则匹配流程提出了越来越 高的性能要求,基于此背景,最快的规则匹配流程成为评价一款网络数据流 量处理应用最基本,也是最重要的指标。
优先级 规则模板
1 SIP+DIP+P+SP
2 SIP+DIP+P+DP
3 SIP+P+SP
4 SIP+P+DIP
5 SIP+P+DP
6 DIP+P+SP
7 DIP+P+DP
8 SIP+DIP
9 SIP+P
10 DIP+P
11 SIP
12 DIP
表1
以一款网络数据流量处理应用为例,参考表1,要求至少支持12种灵活 五元组规则模板及其优先级,为满足全流程匹配则最少查表1次,最多查表 12次,在实际应用中,命中任何规则模板的数据报文都有可能存在,而且由 于仅设置了一张规则Hash表,会引起并发资源竞争问题,即多个规则匹配流 程同时发起查表操作,严重的影响了规则匹配流程的处理性能。
发明内容
本发明为了解决现有技术存在的问题,提出了一种能够提高五元组规则 匹配流程性能的规则匹配方法及装置。
一方面,本发明实施例提供了一种五元组规则匹配的方法,其中对五元 组规则模板进行分类,并为分类后的规则模板设置关联规则有效标志,该方 法的步骤如下:
第一步,接收数据报文;
第二步,提取报文中的五元组信息;
第三步,根据提取的五元组信息依次对分类后的规则模板类型进行判断, 并进一步确定该五元组信息所匹配的规则模板,记录其命中的规则模板相对 应的关联规则有效标志;
第四步,根据所命中的关联规则有效标志,在所确定的规则模板类型对 应的规则Hash表中顺次查找相匹配的规则表项,并输出匹配结果。
另一方面,本发明实施例所提供的匹配方法中,该规则模板还设置有规 则激活标志,用来标识相应的规则模板是否激活。上述分类为根据规则模板 中是否包括单独的源IP地址SIP、单独的目的IP地址DIP或同时包括SIP和 DIP,将全部规则模板分为三种规则模板类型。另外,上述关联规则有效标志 占用7bit存储空间,每个bit代表一种关联规则模板的关联有效位,相应bit 置1表示此种规则模板有效。
另一方面,本发明实施例所提供的匹配方法的第三步进一步包括如下步 骤:
步骤a,查找该报文五元组信息是否符合SIP规则模板类型;
步骤b,判断SIP规则模板表项是否匹配,如果匹配,则执行步骤c,否 则执行步骤e;
步骤c,记录匹配成功后的规则模板表项的关联规则有效标志;
步骤d,记录SIP规则表项命中结果;
步骤e,查找该报文五元组信息是否符合DIP规则模板类型;
步骤f,判断DIP规则模板表项是否匹配,如果匹配,则执行步骤g,否 则执行步骤i;
步骤g,记录匹配成功后的规则模板的DIP规则关联规则有效标志;
步骤h,记录DIP规则表项命中结果;
步骤i,判断SIP和DIP规则模板表项是否都命中,如果都命中,则执 行步骤j,否则执行步骤k;
步骤j,执行SIP和DIP规则关联规则匹配子流程,查找到精确匹配的 规则Hash表,再次查表确定最终匹配结果;
步骤k,判断是否只有SIP或DIP规则模板表项命中,并根据判断结果 执行相应的SIP规则关联规则匹配子流程或DIP规则关联规则匹配子流程, 查找到精确匹配的规则Hash表,再次查表确定最终匹配结果;
另一方面,本发明实施例所提供的匹配方法中,上述SIP规则关联规则 匹配子流程、DIP规则关联规则匹配子流程及SIP和DIP规则关联规则匹配 子流程相关步骤相同,具体如下:
步骤(1),计算第N位关联规则有效标志,初始N=1,下一次N累加1;
步骤(2),判断第N位关联规则有效标志是否置位,如果置位,则执行 步骤(3),否则执行步骤(6);
步骤(3),查找关联规则模板对应的精确匹配的规则Hash表;
步骤(4),判断关联的规则Hash表项是否匹配,如果匹配,则执行步骤 (5),否则执行步骤(6);
步骤(5),记录关联规则表项命中结果;
步骤(6),判断关联规则表项是否匹配完成,如果匹配完成,则结束子 流程,否则执行步骤(1)。
又一方面,本发明实施例还提供了一种五元组规则匹配装置,包括:
分类模块,用于对五元组规则模板进行分类,并为分类后的规则模板设 置关联规则有效标志;
接收模块,用于接收数据报文;
提取模块,用于提取报文中的五元组信息;
规则模板类型判断模块,用于根据提取的五元组信息依次对分类后的规 则模板类型进行判断,并进一步确定该五元组信息所匹配的规则模板,记录 其命中的规则模板相对应的关联规则有效标志;
匹配模块,用于根据所命中的关联规则有效标志,在所确定的规则模板 类型对应的规则Hash表中顺次查找相匹配的规则表项,并输出匹配结果。
本发明通过优化规则匹配查表流程,可使查表效率显著提高,并利用激 活标志合理配置规则模板,规避了不需要的规则模板,而且每种规则模板对 应一张规则Hash表不会引入规则表并发查找时资源竞争的问题,有效的提高 了规则匹配流程的性能。
本发明另外的方面、特征和/或优点一部分将在下面的描述中进行阐述, 一部分可从下面的描述中很明显地看出来,或者可从本发明的实施中得知。
附图说明
结合附图,从下面对实施例的描述中,本发明的这些和/或其他方面、 特征和优点将变得清楚和更加容易理解,其中:
图1是本发明所提供的一种规则模板类型匹配流程的方法示意图
图2是本发明所提供的一种规则关联规则匹配子流程的示意图
具体实施方式
现在将参考本发明的示例性实施例进行详细的描述,在附图中图解说明 了所述实施例的示例,其中相同的参考数字始终指示相同的元件。但是,本 发明可以以许多不同的形式来具体化,并且不应当被解释为限定于此处所阐 述的实施例。相反,提供这些实施例以使得该公开彻底和完整,并且全面地 向本领域的技术人员传递本发明的概念。下面通过参考附图来描述示例性实 施例,以解释本发明。
实施例1
参考表1,经过对现有技术的分析,为满足全流程匹配则最少查表1次, 最多查表12次,在实际应用中,命中任何规则模板的数据报文都有可能存在, 而且由于仅设置了一张规则Hash表,会引起并发资源竞争问题,即多个规则 匹配流程同时发起查表操作,严重的影响了规则匹配流程的处理性能。
因为灵活五元组包含了12个规则模板,不可能每次查表都能一次命中, 所以合理的安排查表顺序可以减少查表频率,即通过提取公共部分,最小次 数的访问规则Hash表。首先进行规则模板分类,参考表2中的12种规则模 板类型不难发现,如果以SIP+DIP、SIP、DIP作为分类规则模板,则与SIP+DIP、 SIP、DIP规则模板分别单独相关的规则模板类型各4种,对应分类如表4所 示。
Figure BDA0002642695310000051
表2
参考表2,基于上述规则模板分类方法,在不增加规则动作存储空间(即 Result长度)的基础上,在SIP和DIP规则模板的规则动作中可以引入规则 激活标志和关联规则有效标志,其中规则激活标志用来说明此SIP或DIP规 则是否激活,其中关联规则有效标志用来说明当前与此SIP或DIP相关的规 则模板表项是否存在。
因此,在此基础上可以提供一种显著提高查表性能的五元组规则匹配方 法,其中对五元组规则模板可以进行上述分类,并为分类后的规则模板设置 关联规则有效标志,该方法的步骤如下:
第一步,接收数据报文;
第二步,提取报文中的五元组信息;
第三步,根据提取的五元组信息依次对分类后的规则模板类型进行判断, 并进一步确定该五元组信息所匹配的规则模板,记录其命中的规则模板相对 应的关联规则有效标志;
第四步,根据所命中的关联规则有效标志,在所确定的规则模板类型对 应的规则Hash表中顺次查找相匹配的规则表项,并输出匹配结果。
实施例2
具体地,规则模板相关的规则激活标志ActiveFlag,占用1bit存储空间, 该标志在规则表项创建时置位,1表示激活,0表示不激活,用以表明该规则 是否为独立且真实存在的规则,有且只有SIP和DIP规则使用。举例说明,
1)创建SIP规则模板类型的规则时,如果该规则不存在,则创建该规则 且标志置1;
2)创建SIP规则模板类型的规则时,如果该规则存在,则更新该规则使 标志置1;
3)创建包括SIP+DIP的规则模板类型的规则时,如果不存在SIP规则模 板类型的规则,则创建SIP规则模板类型的规则且该标志置0;
4)创建SIP+DIP的规则模板类型的规则时,如果存在对应SIP规则模板 类型的规则,则更新对应SIP规则模板类型的规则使该标志置1。
规则模板相关的关联规则有效标志RelateFlag,占用7bit存储空间,该标 志在关联规则表项创建时置位,参考表4,每个bit代表一种关联规则模板类 型的关联有效位(注:分类规则SIP、DIP不需要该有效位),相应的规则模 板bit置1表示关联此种规则模板类型,即该类型有效,置0表示未关联此种 规则模板类型,即该类型无效。举例说明,
1)创建SIP+DIP+P+SP规则模板类型的规则时,如果不存在对应SIP、 DIP规则模板类型的规则,则分别创建对应SIP和DIP规则模板类型的规则 且该标志的关联有效位第4位置1;
2)创建SIP+DIP+P+SP规则模板类型的规则时,如果存在对应SIP、DIP 规则模板类型的规则,则分别更新对应SIP和DIP规则模板类型的规则使该 标志的关联有效位第4位置1。
每种规则模板对应一个精确匹配的Hash表,也就是说每种规则模板所对 应的规则都存储在各自的规则Hash表中。结合现有技术中,如果不考虑规则 存储空间因素,从空间换时间的角度分析,当存储空间足够大,且每种规则 模板空间独立时,通过引入规则激活标志和关联规则有效标志,优化规则匹 配查表流程,可使最少查表2次,最多查表6次,与现有技术的最多12次查 表形成鲜明对比,而且每种规则模板对应一张规则Hash表不会引入规则表并 发查找时资源竞争的问题,有效的提高了规则匹配流程的性能,是保证性能的最佳方案。
实施例3
具体的规则匹配流程参考图1、2,根据图1所示规则模板类型匹配流程 具体包括:
步骤3.1,程序开始;
步骤3.2,数据报文输入;
步骤3.3,SIP规则表项查找;
步骤3.4,查找该报文五元组信息是否匹配SIP规则模板类型,如果匹配, 则执行步骤3.5,否则执行步骤3.8;
步骤3.5,记录匹配成功后的SIP规则模板表项的关联规则有效标志;
步骤3.6,判断SIP规则表项是否激活,如果激活,则执行步骤3.7,否 则执行步骤3.8;
步骤3.7,记录SIP规则表项命中结果;
步骤3.8,DIP规则表项查找;
步骤3.9,查找该报文五元组信息是否匹配DIP规则模板类型,如果匹配, 则执行步骤3.10,否则执行步骤3.15;
步骤3.10,记录匹配成功后的DIP规则模板表项的关联规则有效标志;
步骤3.11,判断DIP规则表项是否激活,如果激活,则执行步骤3.12, 否则执行步骤3.13;
步骤3.12,记录DIP规则表项命中结果;
步骤3.13,判断SIP和DIP规则表项是否都命中,如果都命中,则执行 步骤3.14,否则执行步骤3.17;
步骤3.14,SIP和DIP规则关联规则匹配子流程;
步骤3.15,判断是否只有SIP规则表项命中,如果命中,则执行步骤3.16, 否则执行步骤3.19;
步骤3.16,SIP规则关联规则匹配子流程,参考图2及其步骤说明;
步骤3.17,判断是否只有DIP规则表项命中,如果命中,则执行步骤3.18, 否则执行步骤3.19;
步骤3.18,DIP规则关联规则匹配子流程,参考图2及其步骤说明;
步骤3.19,将完成分类规则模板匹配后的结果按照规则模板优先级输出, 首先,如果SIP和DIP规则关联规则匹配子流程、SIP规则关联规则匹配子 流程或DIP规则关联规则匹配子流程有命中结果输出,则输出其命中结果; 再次,如果SIP规则表项命中有命中结果输出,则输出其命中结果;最后, 如果DIP规则表项命中有命中结果输出,则输出其命中结果;
步骤3.20,程序结束;
实施例4
上述SIP规则关联规则匹配子流程、DIP规则关联规则匹配子流程及SIP 和DIP规则关联规则匹配子流程相关步骤相同,具体如下:
步骤4.1,程序开始;
步骤4.2,计算第N位关联规则有效标志,初始N=1,下一次N累加1;
步骤4.3,判断第N位关联规则有效标志是否置位,如果置位,则执行步 骤4.4,否则执行步骤4.7;
步骤4.4,查找关联规则模板对应的精确匹配的规则Hash表;
步骤4.5,判断关联的规则Hash表项是否匹配,如果匹配,则执行步骤 4.6,否则执行步骤4.7;
步骤4.6,记录关联规则表项命中结果;
步骤4.7,判断关联规则表项是否匹配完成,如果匹配完成,则结束子流 程,否则执行步骤4.2
步骤4.8,程序结束。
在查表流程中,如果某个模板的规则命中,其中携带的优先级是最高的, 则可以停止该类型的表项查找。
实施例5
本实施例还提供了一种五元组规则匹配装置,包括:
分类模块,用于对五元组规则模板进行分类,并为分类后的规则模板设 置关联规则有效标志;
接收模块,用于接收数据报文;
提取模块,用于提取报文中的五元组信息;
规则模板类型判断模块,用于根据提取的五元组信息依次对分类后的规 则模板类型进行判断,并进一步确定该五元组信息所匹配的规则模板,记录 其命中的规则模板相对应的关联规则有效标志;
匹配模块,用于根据所命中的关联规则有效标志,在所确定的规则模板 类型对应的规则Hash表中顺次查找相匹配的规则表项,并输出匹配结果。
该匹配装置还可以进一步包括激活标识模块,用于对应于各个规则模板 设置有相应的规则激活标志,用来标识该规则模板是否激活。
该匹配装置中的上述分类模块进一步包括:地址分类模块,用于根据规 则模板中是否包括单独的源IP地址SIP、单独的目的IP地址DIP或同时包括 SIP和DIP,将全部规则模板分为三种规则模板类型。
该匹配装置中的上述关联规则有效标志占用7bit存储空间,每个bit代 表一种关联规则模板的关联有效位,相应bit置1表示此种规则模板有效。
该匹配装置中的上述规则模板类型判断模块进一步包括:
SIP类型匹配模块,用于查找该报文五元组信息是否符合SIP规则模板 类型,若判断SIP规则模板表项匹配,则记录匹配成功后的规则模板表项的 关联规则有效标志及SIP规则表项命中结果;
DIP类型匹配模块,用于查找该报文五元组信息是否符合DIP规则模板 类型,若判断DIP规则模板表项匹配,则记录匹配成功后的规则模板表项的 关联规则有效标志及DIP规则表项命中结果;
SIP和DIP类型匹配模块,用于在判断SIP和DIP规则模板表项都命中 时,记录匹配成功后的规则模板表项的关联规则有效标志;
关联规则匹配子流程模块,用于根据上述三个类型匹配模块所确定的匹 配结果及关联规则有效标志,分别查找到所对应的精确匹配的规则Hash表, 再次查表确定最终匹配结果;
该匹配装置中的上述关联规则匹配子流程模块,进一步用于:顺次检验 第N位关联规则有效标志是否置位,初始N=1,N不大于7,如果置位,则 查找关联规则模板对应的精确匹配的规则Hash表,否则再次检验N+1位关 联规则有效标志是否置位,直至匹配完成,并记录关联规则表项命中结果。
实施例6
本实施例还提供了一种交换芯片,包括存储器及处理器,所述存储器中 存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行 所述计算机程序时实现上述本发明实施例所述的五元组规则方法相关的任一 步骤。
结合本发明以上实施例可知,当存储空间足够大,且每种规则模板空间独 立时,通过引入规则激活标志和关联规则有效标志,优化规则匹配查表流程, 而且每种规则模板对应一张规则Hash表不会引入规则表并发查找时资源竞 争的问题,有效的提高了规则匹配流程的性能,是保证性能的最佳方案。
尽管已经示出和描述了本发明的一些示例性实施例,本领域的技术人员 应当理解,在不背离权利要求及它们的等价物中限定的本发明的原则和精神 的情况下,可以对这些示例性实施例做出变化。

Claims (10)

1.一种五元组规则匹配的方法,其特征在于,对五元组规则模板进行分类,并为分类后的规则模板设置关联规则有效标志,该方法的步骤如下:
第一步,接收数据报文;
第二步,提取报文中的五元组信息;
第三步,根据提取的五元组信息依次对分类后的规则模板类型进行判断,并进一步确定该五元组信息所匹配的规则模板,记录其命中的规则模板相对应的关联规则有效标志;
第四步,根据所命中的关联规则有效标志,在所确定的规则模板类型对应的规则Hash表中顺次查找相匹配的规则表项,并输出匹配结果。
2.如权利要求1所述的五元组规则匹配的方法,其特征在于,规则模板还设置有规则激活标志,用来标识相应的规则模板是否激活。
3.如权利要求1或2所述的五元组规则匹配的方法,其特征在于,上述分类为根据规则模板中是否包括单独的源IP地址SIP、单独的目的IP地址DIP或同时包括SIP和DIP,将全部规则模板分为三种规则模板类型。
4.如权利要求3所述的五元组规则匹配的方法,其特征在于,上述关联规则有效标志占用7bit存储空间,每个bit代表一种关联规则模板的关联有效位,相应bit置1表示此种规则模板有效。
5.如权利要求4所述的五元组规则匹配的方法,其特征在于,上述第三步进一步包括如下步骤:
步骤a,查找该报文五元组信息是否符合SIP规则模板类型;
步骤b,判断SIP规则模板表项是否匹配,如果匹配,则执行步骤c,否则执行步骤e;
步骤c,记录匹配成功后的规则模板表项的关联规则有效标志;
步骤d,记录SIP规则表项命中结果;
步骤e,查找该报文五元组信息是否符合DIP规则模板类型;
步骤f,判断DIP规则模板表项是否匹配,如果匹配,则执行步骤g,否则执行步骤i;
步骤g,记录匹配成功后的规则模板的DIP规则关联规则有效标志;
步骤h,记录DIP规则表项命中结果;
步骤i,判断SIP和DIP规则模板表项是否都命中,如果都命中,则执行步骤j,否则执行步骤k;
步骤j,执行SIP和DIP规则关联规则匹配子流程,查找到精确匹配的规则Hash表,再次查表确定最终匹配结果;
步骤k,判断是否只有SIP或DIP规则模板表项命中,并根据判断结果执行相应的SIP规则关联规则匹配子流程或DIP规则关联规则匹配子流程,查找到精确匹配的规则Hash表,再次查表确定最终匹配结果。
6.如权利要求5所述的五元组规则匹配的方法,其特征在于,上述SIP规则关联规则匹配子流程、DIP规则关联规则匹配子流程及SIP和DIP规则关联规则匹配子流程相关步骤相同,具体如下:
步骤(1),计算第N位关联规则有效标志,初始N=1,下一次N累加1;
步骤(2),判断第N位关联规则有效标志是否置位,如果置位,则执行步骤(3),否则执行步骤(6);
步骤(3),查找关联规则模板对应的精确匹配的规则Hash表;
步骤(4),判断关联的规则Hash表项是否匹配,如果匹配,则执行步骤(5),否则执行步骤(6);
步骤(5),记录关联规则表项命中结果;
步骤(6),判断关联规则表项是否匹配完成,如果匹配完成,则结束子流程,否则执行步骤(1)。
7.一种五元组规则匹配装置,其特征在于,该装置包括:
分类模块,用于对五元组规则模板进行分类,并为分类后的规则模板设置关联规则有效标志;
接收模块,用于接收数据报文;
提取模块,用于提取报文中的五元组信息;
规则模板类型判断模块,用于根据提取的五元组信息依次对分类后的规则模板类型进行判断,并进一步确定该五元组信息所匹配的规则模板,记录其命中的规则模板相对应的关联规则有效标志;
匹配模块,用于根据所命中的关联规则有效标志,在所确定的规则模板类型对应的规则Hash表中顺次查找相匹配的规则表项,并输出匹配结果。
8.如权利要求7所述的五元组规则匹配的方法,其特征在于,激活标识模块,用于对应于各个规则模板设置有相应的规则激活标志,用来标识该规则模板是否激活。
9.如权利要求7或8所述的五元组规则匹配的方法,其特征在于,上述分类模块进一步包括:地址分类模块,用于根据规则模板中是否包括单独的源IP地址SIP、单独的目的IP地址DIP或同时包括SIP和DIP,将全部规则模板分为三种规则模板类型。
10.如权利要求9所述的五元组规则匹配的方法,其特征在于,上述关联规则有效标志占用7bit存储空间,每个bit代表一种关联规则模板的关联有效位,相应bit置1表示此种规则模板有效;上述规则模板类型判断模块进一步包括:
SIP类型匹配模块,用于查找该报文五元组信息是否符合SIP规则模板类型,若判断SIP规则模板表项匹配,则记录匹配成功后的规则模板表项的关联规则有效标志及SIP规则表项命中结果;
DIP类型匹配模块,用于查找该报文五元组信息是否符合DIP规则模板类型,若判断DIP规则模板表项匹配,则记录匹配成功后的规则模板表项的关联规则有效标志及DIP规则表项命中结果;
SIP和DIP类型匹配模块,用于在判断SIP和DIP规则模板表项都命中时,记录匹配成功后的规则模板表项的关联规则有效标志;
关联规则匹配子流程模块,用于根据上述三个类型匹配模块所确定的匹配结果及关联规则有效标志,分别查找到所对应的精确匹配的规则Hash表,再次查表确定最终匹配结果;
上述关联规则匹配子流程模块,进一步用于:顺次检验第N位关联规则有效标志是否置位,初始N=1,N不大于7,如果置位,则查找关联规则模板对应的精确匹配的规则Hash表,否则再次检验N+1位关联规则有效标志是否置位,直至匹配完成,并记录关联规则表项命中结果。
CN202010844839.9A 2020-08-20 2020-08-20 一种五元组规则的匹配方法及装置 Active CN112367262B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010844839.9A CN112367262B (zh) 2020-08-20 2020-08-20 一种五元组规则的匹配方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010844839.9A CN112367262B (zh) 2020-08-20 2020-08-20 一种五元组规则的匹配方法及装置

Publications (2)

Publication Number Publication Date
CN112367262A true CN112367262A (zh) 2021-02-12
CN112367262B CN112367262B (zh) 2022-07-05

Family

ID=74516743

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010844839.9A Active CN112367262B (zh) 2020-08-20 2020-08-20 一种五元组规则的匹配方法及装置

Country Status (1)

Country Link
CN (1) CN112367262B (zh)

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1909455A (zh) * 2006-08-09 2007-02-07 杭州华为三康技术有限公司 一种加速多域分类规则线性查找的系统和方法
US7546420B1 (en) * 2005-09-28 2009-06-09 Sun Microsystems, Inc. Efficient trace cache management during self-modifying code processing
CN101562612A (zh) * 2009-05-26 2009-10-21 中兴通讯股份有限公司 一种构造匹配规则表及识别报文类型的方法和装置
CN101860531A (zh) * 2010-04-21 2010-10-13 北京星网锐捷网络技术有限公司 数据包过滤规则匹配方法及装置
CN102025643A (zh) * 2010-12-30 2011-04-20 华为技术有限公司 一种流表查找方法和装置
CN102148746A (zh) * 2010-02-05 2011-08-10 中兴通讯股份有限公司 一种报文分类方法和系统
CN102308533A (zh) * 2010-06-28 2012-01-04 华为技术有限公司 对报文进行分类的方法及装置
CN104253754A (zh) * 2014-09-11 2014-12-31 杭州华三通信技术有限公司 一种acl快速匹配的方法和设备
CN104954200A (zh) * 2015-06-17 2015-09-30 国家计算机网络与信息安全管理中心 一种网络数据包的多类型规则高速匹配方法及装置
US20170093914A1 (en) * 2015-09-25 2017-03-30 Freescale Semiconductor, Inc. Rule Lookup Using Predictive Tuples Based Rule Lookup Cache in the Data Plane
CN107707479A (zh) * 2017-10-31 2018-02-16 北京锐安科技有限公司 五元组规则的查找方法及装置
CN108881036A (zh) * 2018-07-03 2018-11-23 电信科学技术第五研究所有限公司 一种基于查表运算的网络通信快速匹配方法及设备
CN109376789A (zh) * 2018-10-31 2019-02-22 钟祥博谦信息科技有限公司 一种网络包分类算法与系统
CN109617927A (zh) * 2019-01-30 2019-04-12 新华三信息安全技术有限公司 一种匹配安全策略的方法及装置
CN109672669A (zh) * 2018-12-03 2019-04-23 国家计算机网络与信息安全管理中心 流量报文的过滤方法及装置
CN109815263A (zh) * 2019-01-04 2019-05-28 烽火通信科技股份有限公司 一种模糊查找的数据流识别方法及系统
CN109902204A (zh) * 2019-01-16 2019-06-18 北京左江科技股份有限公司 一种内容模糊查找方法
CN110855629A (zh) * 2019-10-21 2020-02-28 新华三信息安全技术有限公司 Ip地址的匹配方法、匹配表的生成方法及相关装置
CN111049758A (zh) * 2019-11-22 2020-04-21 东软集团股份有限公司 一种实现报文QoS处理的方法、系统及设备
CN111444218A (zh) * 2020-03-30 2020-07-24 国家计算机网络与信息安全管理中心 组合规则的匹配方法和装置

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7546420B1 (en) * 2005-09-28 2009-06-09 Sun Microsystems, Inc. Efficient trace cache management during self-modifying code processing
CN1909455A (zh) * 2006-08-09 2007-02-07 杭州华为三康技术有限公司 一种加速多域分类规则线性查找的系统和方法
CN101562612A (zh) * 2009-05-26 2009-10-21 中兴通讯股份有限公司 一种构造匹配规则表及识别报文类型的方法和装置
CN102148746A (zh) * 2010-02-05 2011-08-10 中兴通讯股份有限公司 一种报文分类方法和系统
CN101860531A (zh) * 2010-04-21 2010-10-13 北京星网锐捷网络技术有限公司 数据包过滤规则匹配方法及装置
CN102308533A (zh) * 2010-06-28 2012-01-04 华为技术有限公司 对报文进行分类的方法及装置
CN102025643A (zh) * 2010-12-30 2011-04-20 华为技术有限公司 一种流表查找方法和装置
CN104253754A (zh) * 2014-09-11 2014-12-31 杭州华三通信技术有限公司 一种acl快速匹配的方法和设备
CN104954200A (zh) * 2015-06-17 2015-09-30 国家计算机网络与信息安全管理中心 一种网络数据包的多类型规则高速匹配方法及装置
US20170093914A1 (en) * 2015-09-25 2017-03-30 Freescale Semiconductor, Inc. Rule Lookup Using Predictive Tuples Based Rule Lookup Cache in the Data Plane
CN107707479A (zh) * 2017-10-31 2018-02-16 北京锐安科技有限公司 五元组规则的查找方法及装置
CN108881036A (zh) * 2018-07-03 2018-11-23 电信科学技术第五研究所有限公司 一种基于查表运算的网络通信快速匹配方法及设备
CN109376789A (zh) * 2018-10-31 2019-02-22 钟祥博谦信息科技有限公司 一种网络包分类算法与系统
CN109672669A (zh) * 2018-12-03 2019-04-23 国家计算机网络与信息安全管理中心 流量报文的过滤方法及装置
CN109815263A (zh) * 2019-01-04 2019-05-28 烽火通信科技股份有限公司 一种模糊查找的数据流识别方法及系统
CN109902204A (zh) * 2019-01-16 2019-06-18 北京左江科技股份有限公司 一种内容模糊查找方法
CN109617927A (zh) * 2019-01-30 2019-04-12 新华三信息安全技术有限公司 一种匹配安全策略的方法及装置
CN110855629A (zh) * 2019-10-21 2020-02-28 新华三信息安全技术有限公司 Ip地址的匹配方法、匹配表的生成方法及相关装置
CN111049758A (zh) * 2019-11-22 2020-04-21 东软集团股份有限公司 一种实现报文QoS处理的方法、系统及设备
CN111444218A (zh) * 2020-03-30 2020-07-24 国家计算机网络与信息安全管理中心 组合规则的匹配方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SANJEEV WAGH;T. R SONTAKKE: "TEAPC: Time Efficient Algorithm for multidimensional Packet Classification", 《2009 IEEE INTERNATIONAL ADVANCE COMPUTING CONFERENCE》 *
李中等: "一种性能优化的防火墙规则匹配算法", 《计算机应用研究》 *

Also Published As

Publication number Publication date
CN112367262B (zh) 2022-07-05

Similar Documents

Publication Publication Date Title
US7349382B2 (en) Reverse path forwarding protection of packets using automated population of access control lists based on a forwarding information base
CN109672669B (zh) 流量报文的过滤方法及装置
US8090901B2 (en) TCAM management approach that minimize movements
US9984144B2 (en) Efficient lookup of TCAM-like rules in RAM
US7246102B2 (en) Method of improving the lookup performance of three-type knowledge base searches
CN109450900B (zh) 拟态判决方法、装置及系统
US7600094B1 (en) Linked list traversal with reduced memory accesses
US20170053012A1 (en) High-performance bloom filter array
KR100920518B1 (ko) 패킷 분류 장치 및 방법
CN111131084B (zh) 一种QoS感知的OpenFlow流表查找方法
US20170366502A1 (en) IP Route Caching with Two Search Stages on Prefix Length
CN111984835B (zh) 一种IPv4掩码五元组规则存储压缩方法及装置
CN111988231B (zh) 一种掩码五元组规则匹配的方法及装置
US7554980B1 (en) Packet classification using relevance scoring
CN112054992B (zh) 恶意流量识别方法、装置、电子设备及存储介质
CN112367262B (zh) 一种五元组规则的匹配方法及装置
CN111950000B (zh) 一种接入访问控制方法及设备
CN111061972B (zh) 一种用于url路径匹配的ac查找优化方法和装置
US20070255676A1 (en) Methods and apparatus for performing tree-based processing using multi-level memory storage
KR20100018409A (ko) 영역분할을 이용한 패킷 분류 테이블 생성 방법 및 패킷분류 방법과 장치
CN111163077A (zh) 一种基于网络处理器实现多维连续掩码的系统和方法
CN109039911B (zh) 一种基于hash查找方式共享ram的方法及系统
KR100662254B1 (ko) 라우팅 시스템에서의 패킷 분류 장치 및 이를 위한 룰 구축 방법
CN115438340A (zh) 一种基于词素特征的挖矿行为识别方法及系统
US11025650B2 (en) Multi-pattern policy detection system and method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant