规则查找方法、装置、设备及计算机可读存储介质与流程

文档序号:36935263发布日期:2024-02-02 22:02阅读:41来源:国知局
规则查找方法、装置、设备及计算机可读存储介质与流程

本技术涉及通信领域,特别涉及规则查找方法、装置、设备及计算机可读存储介质。


背景技术:

1、报文在从源端口传输到目的端口的过程中,会在多个网络设备之间进行转发。网络设备在转发报文时,需要提取报文头中的字段,基于提取的字段查找包括多个访问控制规则的访问控制列表(access control list,acl),从而确定需要对该报文执行的动作。因此,需要一种规则查找方法。

2、相关技术中,acl中的多个访问控制规则存储在一个分类引擎中,基于待查找的报文查找分类引擎中存储的所有访问控制规则,将报文与各条访问控制规则依次进行匹配,得到与报文匹配的访问控制规则,之后,对报文执行匹配的访问控制规则所对应的动作。

3、然而,上述规则查找方法,在查找与报文匹配的访问控制规则时,需要查找所有访问控制规则,导致内存资源消耗大,查找时间长,效率低。


技术实现思路

1、本技术提供了一种规则查找方法、装置、设备及计算机可读存储介质,以提高规则查找的效率,技术方案如下:

2、第一方面,提供了一种规则查找方法,所述方法包括:获取第一报文的第一特征;确定与所述第一特征匹配的第二特征,所述第二特征基于第一规则集合包括的第一访问控制规则得到,所述第二特征为第一类规则集合对应的特征中的一个或多个,所述第一类规则集合包括所述第一规则集合和第二规则集合,所述第一规则集合包括至少一条第一访问控制规则,所述第二规则集合包括至少一条第二访问控制规则,所述至少一条第一访问控制规则与所述至少一条第二访问控制规则不同;在所述至少一条第一访问控制规则中查找与所述第一报文匹配的目标规则。

3、本技术提供的规则查找方法,通过对第一报文的第一特征与第一类规则集合对应的特征进行匹配,从第一类规则集合对应的特征中确定与第一特征匹配的第二特征,根据特征匹配结果快速选出第一类规则集合中包括第二特征对应的第一规则集合,仅在匹配的第一规则集合包括的第一访问控制规则中查找目标规则,减少了第一类规则集合中需要查找的规则的数量,因而能够降低内存资源消耗,缩短了查找时间,提高了查找效率。

4、在一种可能的实现方式中,所述确定与所述第一特征匹配的第二特征之前,还包括:获取所述第一规则集合包括的第一访问控制规则对应的通用特征,将所述通用特征作为所述第二特征;所述获取第一报文的第一特征,包括:提取所述第一报文中与所述通用特征对应的第一字段,将所述第一字段的信息作为所述第一报文的第一特征。第二特征是第一规则集合包括的各条第一访问控制规则的通用特征,而第一特征是基于通用特征对应的第一字段确定,与通用特征相关,进而保证第一特征与第二特征的匹配,从而根据特征匹配结果快速从第一类规则集合包括的规则集合中确定出第一规则集合。

5、在一种可能的实现方式中,所述获取所述第一规则集合包括的第一访问控制规则对应的通用特征,包括:提取所述第一规则集合包括的各条第一访问控制规则的相同字段,将所述相同字段的信息确定为所述第一规则集合包括的第一访问控制规则对应的通用特征。

6、在一种可能的实现方式中,所述获取所述第一规则集合包括的第一访问控制规则对应的通用特征,包括:如果第一规则集合包括的所有第一访问控制规则中有超过参考数量个第一访问控制规则的字符代码存在相同字段,则将该相同字段作为该第一规则集合包括的第一访问控制规则对应的通用特征。此种情况下,通用特征的数量为一个或多个。不仅可以将所有第一访问控制规则中的各条第一访问控制规则的相同字段作为通用特征,也可以将部分第一访问控制规则的相同字段作为通用特征,实施方式更加灵活。

7、在一种可能的实现方式中,所述确定与所述第一特征匹配的第二特征之前,还包括:获取所述第一规则集合包括的第一访问控制规则对应的目标内容,将所述目标内容进行映射,得到映射值,将所述映射值作为所述第二特征,所述目标内容为所述第一访问控制规则的全部内容或部分内容;所述获取第一报文的第一特征,包括:提取所述第一报文中与所述目标内容对应的第二字段,将所述第二字段的值进行映射,将得到的映射值作为所述第一报文的第一特征。在映射目标内容得到第二特征时,可以选择第一访问控制规则的全部内容作为目标内容,也可以选择第一访问控制规则的部分内容作为目标内容,灵活度高。此外,不限定第二特征的获取方式,且任一种第二特征的获取方式,均有与其对应的获取第一特征的方式,以保证方案的实现,通用性强。

8、在一种可能的实现方式中,所述在所述至少一条第一访问控制规则中查找与所述第一报文匹配的目标规则,包括:在所述第一规则集合包括的第一访问控制规则中,确定与所述第一报文匹配的参考规则;当与所述第一报文匹配的参考规则存在多个时,将所述多个参考规则中优先级最高的参考规则确定为所述目标规则。先在第一规则集合中查找参考规则,再根据多个参考规则的优先级选择目标规则,以保证查找得到的目标规则为优先级最高的访问控制规则。通过先查找第一规则集合内部的第一访问控制规则确定与第一报文匹配的参考规则,再查找第一规则集合之间的参考规则确定目标规则,这种分层查找的方式,提高了查找目标规则过程中的层次条理性,提高了查找效率。

9、在一种可能的实现方式中,所述方法还包括:获取第二报文的第三特征;在查找所述第一报文对应的目标规则的过程中,确定与所述第三特征匹配的第四特征,所述第四特征基于第三规则集合包括的第三访问控制规则得到,所述第四特征为第二类规则集合对应的特征中的一个或多个,所述第二类规则集合包括所述第三规则集合和第四规则集合,所述第三规则集合包括至少一条第三访问控制规则,所述第四规则集合包括至少一条第四访问控制规则,所述至少一条第三访问控制规则与所述至少一条第四访问控制规则不同;在所述至少一条第三访问控制规则中查找与所述第二报文匹配的目标规则。

10、本技术提供的规则查找方法,在查找第一报文对应的目标规则的基础上,还可以并行查找第二报文对应的目标规则。通过并行查找多个报文对应的目标规则,缩短了查找多个报文对应的目标规则的时间,提高了规则查找效率。

11、在一种可能的实现方式中,所述第二类规则集合与所述第一类规则集合为不同的规则集合。不同的报文可以查找对应的不同规则集合,进一步提高查找效率。

12、在一种可能的实现方式中,所述第二类规则集合与所述第一类规则集合为同一组规则集合;所述在所述至少一条第一访问控制规则中查找与所述第一报文匹配的目标规则,包括:基于所述第一规则集合的数量大于第一数量,从多个第一规则集合中选择所述第一数量个第一规则集合,所述第一数量基于所述第一类规则集合包括的规则集合的数量确定;按照所述第一数量依次在所述多个第一规则集合包括的第一访问控制规则中查找与所述第一报文匹配的目标规则。不限定第一类规则集合与第二类规则集合的关系,既可以为不同的规则集合,也可以为同一组规则集合,可基于应用场景设置,灵活度高。

13、第一类规则集合与第二类规则集合为同一组规则集合,无需增加第一类规则集合包括的第一访问控制规则与第二访问控制规则的条数,就可以实现多个报文的并行查找,不影响存储规则集合的内存资源的消耗。此外,通过限制每次查找的第一规则集合的数量,以保证多个报文并行查找的性能。

14、在一种可能的实现方式中,所述确定与所述第一特征匹配的第二特征之前,还包括:获取多个初始访问控制规则;基于所述多个初始访问控制规则之间的相似度与规则集合的数量,将不同的初始访问控制规则划分到对应的规则集合中,得到所述第一类规则集合。

15、通过根据多个初始访问控制规则之间的相似度划分第一类规则集合,将相似度高的初始访问控制规则划分在同一个规则集合中,由于同一个报文命中相似度差距较大的初始访问控制规则的可能性较小,通过将同一个报文匹配的初始访问控制规则较为集中的划分在同一个规则集合中,可减少命中的第一规则集合的数量,使得在较少的第一规则集合中能够快速查找与报文匹配的规则,可进一步提高查找效率。

16、在一种可能的实现方式中,所述确定与所述第一特征匹配的第二特征之前,还包括:获取多个初始访问控制规则;将类型相同的初始访问控制规则划分到同一个规则集合中,得到第一类规则集合。

17、通过将类型相同的访问控制规则划分到同一个规则集合中,由于同一个报文命中不同类型的初始访问控制规则的可能性较小,通过将同一类型的初始访问控制规则较为集中的划分在同一个规则集合中,可减少命中的第一规则集合的数量,使得在较少的第一规则集合中能够快速查找与报文匹配的规则,可进一步提高查找效率。

18、第二方面,提供了一种规则查找装置,所述装置包括:获取模块,用于获取第一报文的第一特征;确定模块,用于确定与所述第一特征匹配的第二特征,所述第二特征基于第一规则集合包括的第一访问控制规则得到,所述第二特征为第一类规则集合对应的特征中的一个或多个,所述第一类规则集合包括所述第一规则集合和第二规则集合,所述第一规则集合包括至少一条第一访问控制规则,所述第二规则集合包括至少一条第二访问控制规则,所述至少一条第一访问控制规则与所述至少一条第二访问控制规则不同;查找模块,用于在至少一条第一访问控制规则中查找与所述第一报文匹配的目标规则。

19、在一种可能的实现方式中,所述获取模块,还用于获取所述第一规则集合包括的第一访问控制规则对应的通用特征,将所述通用特征作为所述第二特征;所述获取模块,用于提取所述第一报文中与所述通用特征对应的第一字段,将所述第一字段的信息作为所述第一报文的第一特征。

20、在一种可能的实现方式中,所述获取模块,用于提取所述第一规则集合包括的各条第一访问控制规则的相同字段,将所述相同字段的信息确定为所述第一规则集合包括的第一访问控制规则对应的通用特征。

21、在一种可能的实现方式中,所述获取模块,还用于获取所述第一规则集合包括的第一访问控制规则对应的目标内容,将所述目标内容进行映射,得到映射值,将所述映射值作为所述第二特征,所述目标内容为所述第一访问控制规则的全部内容或部分内容;所述获取模块,用于提取所述第一报文中与所述目标内容对应的第二字段,将所述第二字段的值进行映射,将得到的映射值作为所述第一报文的第一特征。

22、在一种可能的实现方式中,所述查找模块,用于在所述第一规则集合包括的第一访问控制规则中,确定与所述第一报文匹配的参考规则;当与所述第一报文匹配的参考规则存在多个时,将所述多个参考规则中优先级最高的参考规则确定为所述目标规则。

23、在一种可能的实现方式中,所述获取模块,还用于获取第二报文的第三特征;所述确定模块,还用于在查找所述第一报文对应的目标规则的过程中,确定与所述第三特征匹配的第四特征,所述第四特征基于第三规则集合包括的第三访问控制规则得到,所述第四特征为第二类规则集合对应的特征中的一个或多个,所述第二类规则集合包括所述第三规则集合和第四规则集合,所述第三规则集合包括至少一条第三访问控制规则,所述第四规则集合包括至少一条第四访问控制规则,所述至少一条第三访问控制规则与所述至少一条第四访问控制规则不同;所述查找模块,还用于在所述至少一条第三访问控制规则中查找与所述第二报文匹配的目标规则。

24、在一种可能的实现方式中,所述第二类规则集合与所述第一类规则集合为不同的规则集合。

25、在一种可能的实现方式中,所述第二类规则集合与所述第一类规则集合为同一组规则集合;所述查找模块,用于基于所述第一规则集合的数量大于第一数量,从多个第一规则集合中选择所述第一数量个第一规则集合,所述第一数量基于所述第一类规则集合包括的规则集合的数量确定;按照所述第一数量依次在所述多个第一规则集合包括的第一访问控制规则中查找与所述第一报文匹配的目标规则。

26、在一种可能的实现方式中,所述获取模块,还用于获取多个初始访问控制规则;所述装置还包括:划分模块,用于基于所述多个初始访问控制规则之间的相似度与规则集合的数量,将不同的初始访问控制规则划分到对应的规则集合中,得到所述第一类规则集合。

27、第三方面,提供了一种网络设备,所述网络设备包括处理器,所述处理器用于从存储器中调用并运行所述存储器中存储的指令,以使所述网络设备实现第一方面或第一方面的任一种可能的规则查找方法。

28、在一种可能的实现方式中,所述网络设备还包括:输入接口、输出接口和所述存储器,所述输入接口、所述输出接口、所述处理器以及所述存储器之间通过内部连接通路相连。

29、第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现第一方面或第一方面的任一种可能的规则查找方法。

30、第五方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行,以使计算机实现第一方面或第一方面的任一种可能的规则查找方法。

31、第六方面,提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一方面或第一方面的任一种可能的实施方式中的方法。

32、可选地,所述处理器为一个或多个,所述存储器为一个或多个。

33、可选地,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。

34、在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,rom),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本技术对存储器的类型以及存储器与处理器的设置方式不做限定。

35、第七方面,提供了一种芯片,包括处理器,用于运行计算机程序或指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。

36、第八方面,提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。

37、应当理解的是,本技术实施例的第二方面至第八方面的技术方案及对应的可能的实现方式所取得的有益效果可以参见上述对第一方面及其对应的可能的实现方式的技术效果,此处不再赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1