基于通配符掩码规则的数据包过滤方法及装置制造方法及图纸

技术编号:15334784 阅读:82 留言:0更新日期:2017-05-16 21:51
本申请提供一种基于通配符掩码规则的数据包过滤方法及装置,该方法可以包括:从接收到的待过滤数据包中提取预设bit位的数值,并按照预设算法将提取到的数值生成相应的索引值;根据预定义的通配符掩码规则对应的规则索引表,确定对应于所述索引值的所有通配符掩码规则;在对应于所述索引值的所有通配符掩码规则中,确定匹配于所述待过滤数据包的通配符掩码规则;根据匹配于所述待过滤数据包的通配符掩码规则对应的过滤策略,对所述待过滤数据包进行过滤处理。通过本申请的技术方案,一方面降低了对网络设备的规则缓存空间的需求,另一方面能够提升对待过滤数据包的规则匹配效率,并有助于提升对待过滤数据包的过滤效率。

【技术实现步骤摘要】
基于通配符掩码规则的数据包过滤方法及装置
本申请涉及通讯
,尤其涉及一种基于通配符掩码规则的数据包过滤方法及装置。
技术介绍
在网络安全领域中,包过滤算法根据用户配置的规则对进出网络的数据包过滤,其中,根据匹配于数据包的规则对应的过滤策略,对数据包进行过滤处理。传统的包过滤算法以范围(例如IP地址范围,端口范围等)的形式来配置规则。随着用户需求的变化,规则中的一些或全部字段(通常是IP地址字段)需要配置为通配符掩码的形式。在相关技术中,先根据规则中通配符的位置将其拆分成不相交的多个范围,然后根据得到的范围将原有规则拆分成多条基于范围表示的规则,再根据这些基于范围表示的规则来对进出网络的数据包进行过滤处理。然而,由于通常情况下由采用通配符掩码表示的规则拆分出的范围的数量较多,使得拆分后规则数量急剧增长,导致降低了对规则的匹配效率,从而进一步降低了对待过滤数据包的过滤效率。
技术实现思路
有鉴于此,本申请提供一种基于通配符掩码规则的数据包过滤方法及装置,可以不需要将通配符掩码规则拆分成多个基于范围表示的规则,避免拆分后规则数量急剧增长的情况,从而提高匹配待过滤数据包对应的规则的效率,进一步提高对待过滤数据包的过滤效率。为实现上述目的,本申请提供技术方案如下:根据本申请的第一方面,提出了一种基于通配符掩码规则的数据包过滤方法,包括:从接收到的待过滤数据包中提取预设bit位的数值,并按照预设算法将提取到的数值生成相应的索引值;根据预定义的通配符掩码规则对应的规则索引表,确定对应于所述索引值的所有通配符掩码规则;其中,所述规则索引表中包含预定义的若干索引值与通配符掩码规则的映射关系对,且每一索引值由映射的通配符掩码规则中对应于所述预设bit位的数值按照所述预设算法计算得到;在对应于所述索引值的所有通配符掩码规则中,确定匹配于所述待过滤数据包的通配符掩码规则;根据匹配于所述待过滤数据包的通配符掩码规则对应的过滤策略,对所述待过滤数据包进行过滤处理。根据本申请的第二方面,提出了一种基于通配符掩码规则的数据包过滤装置,包括:提取单元,从接收到的待过滤数据包中提取预设bit位的数值,并按照预设算法将提取到的数值生成相应的索引值;第一确定单元,根据预定义的通配符掩码规则对应的规则索引表,确定对应于所述索引值的所有通配符掩码规则;其中,所述规则索引表中包含预定义的若干索引值与通配符掩码规则的映射关系对,且每一索引值由映射的通配符掩码规则中对应于所述预设bit位的数值按照所述预设算法计算得到;第二确定单元,在对应于所述索引值的所有通配符掩码规则中,确定匹配于所述待过滤数据包的通配符掩码规则;过滤单元,根据匹配于所述待过滤数据包的通配符掩码规则对应的过滤策略,对所述待过滤数据包进行过滤处理。由以上技术方案可见,在本申请的技术方案中,通过预设算法为所有的通配符掩码规则创建相应的规则索引表,只需要同样通过该预设算法确定出待过滤数据包对应的索引值,即可在匹配于该索引值的所有通配符掩码规则中快速选取出该待过滤数据包对应的通配符掩码规则(相比于所有预定义通配符掩码规则的数量,对应于该索引值的通配符掩码规则的数量已经大大减少了),而无需将通配符掩码规则拆分为数量庞大的范围规则,一方面降低了对网络设备的规则缓存空间的需求(该缓存空间用于存储上述数量庞大的范围规则),另一方面能够提升对待过滤数据包的规则匹配效率,并有助于提升对待过滤数据包的过滤效率。附图说明图1是本申请一示例性实施例示出的一种基于通配符掩码规则的数据包过滤方法的流程图。图2A是本申请一示例性实施例示出的定义索引的流程图。图2B是本申请一示例性实施例示出的统计切分bit位使用次数的示意图。图3是本申请一示例性实施例示出的一种电子设备的结构示意图。图4是本申请一示例性实施例示出的一种基于通配符掩码规则的数据包过滤装置的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。在相关技术中,当规则中的一些或全部字段(通常是IP地址字段)被配置为通配符掩码的形式时,先根据规则中通配符的位置将其拆分成不相交的多个范围,然后根据得到的范围将原有规则拆分成多条基于范围表示的规则,再根据这些基于范围表示的规则来对进出网络的数据包进行过滤处理。举例而言,一个通配符掩码规则由值(value)和掩码(mask)两部分组成,假定其具体形式如下所示:value:10011101010011101100111011010001mask:10100100101011100111110010010111其中,bit(比特)位的编号从左到右依次为1-32,mask中所有值为1的bit位表示该bit的值取决于value中对应bit位的值,mask中所有值为0的bit位表示该bit位的值可以为任意值(0或1)。在上述这条规则中,如果一个待过滤数据包能够匹配这条规则,就要求其第1、3、6、9、11、13、14、15、18、19、20、21、22、25、28、30、31、32bit位的值和value中对应bit位的值相同。根据通配符掩码的表示方式可以看出,若将该通配符掩码规则拆分成不相交的多个范围,则拆分后的范围的数量是比较大的。可见,在相关技术中,当匹配与待过滤数据包对应的规则时,需要在数量庞大的规则中逐个匹配,导致降低了对规则的匹配效率,从而进一步降低了对待过滤数据包的过滤效率。因此,本申请通过改进匹配通配符掩码规则的方式,以解决相关技术中存在的上述技术问题。为对本申请进行进一步说明,提供下列实施例:图1是本申请一示例性实施例示出的一种基于通配符掩码规则的数据包过滤方法的流程图,该方法可以应用于过滤设备。如图1所示,该方法可以包括以下步骤:步骤101,从接收到的待过滤数据包中提取预设bit位的数值,并按照预设算法将提取到的数值生成相应的索引值。步骤102,根据预定义的通配符掩码规则对应的规则索引表,确定对应于所述索引值的所有通配符掩码规则。在本实施例中,所述规则索引表中包含预定义的若干索引值与通配符掩码规则的映射关系对,且每一索引值由映射的通配符掩码规则中对应于所述预设bit位的数值按照所述预设算法计算得到。其中,所述预设算法可以为:将提取本文档来自技高网...
基于通配符掩码规则的数据包过滤方法及装置

【技术保护点】
一种基于通配符掩码规则的数据包过滤方法,其特征在于,包括:从接收到的待过滤数据包中提取预设bit位的数值,并按照预设算法将提取到的数值生成相应的索引值;根据预定义的通配符掩码规则对应的规则索引表,确定对应于所述索引值的所有通配符掩码规则;其中,所述规则索引表中包含预定义的若干索引值与通配符掩码规则的映射关系对,且每一索引值由映射的通配符掩码规则中对应于所述预设bit位的数值按照所述预设算法计算得到;在对应于所述索引值的所有通配符掩码规则中,确定匹配于所述待过滤数据包的通配符掩码规则;根据匹配于所述待过滤数据包的通配符掩码规则对应的过滤策略,对所述待过滤数据包进行过滤处理。

【技术特征摘要】
1.一种基于通配符掩码规则的数据包过滤方法,其特征在于,包括:从接收到的待过滤数据包中提取预设bit位的数值,并按照预设算法将提取到的数值生成相应的索引值;根据预定义的通配符掩码规则对应的规则索引表,确定对应于所述索引值的所有通配符掩码规则;其中,所述规则索引表中包含预定义的若干索引值与通配符掩码规则的映射关系对,且每一索引值由映射的通配符掩码规则中对应于所述预设bit位的数值按照所述预设算法计算得到;在对应于所述索引值的所有通配符掩码规则中,确定匹配于所述待过滤数据包的通配符掩码规则;根据匹配于所述待过滤数据包的通配符掩码规则对应的过滤策略,对所述待过滤数据包进行过滤处理。2.根据权利要求1所述的方法,其特征在于,所有预定义的通配符掩码规则在所述预设bit位上的数值,使任意不具有包含关系的通配符掩码规则之间相互区分。3.根据权利要求1所述的方法,其特征在于,通过以下方式选取所述预设bit位:判断是否存在满足下述条件的分组:所述分组中包含多个不具有包含关系的通配符掩码规则;其中,所有预定义的通配符掩码规则最初被划分至同一分组;当存在满足所述条件的任一分组时,选取所述任一分组对应的切分bit位,并按照所述任一分组中的各个通配符掩码规则在被选取的切分bit位的取值,将所述任一分组中的通配符掩码规则划分至两个分组;当不存在满足所述条件的分组时,分别统计每个被选取的切分bit位对应的使用次数,按照使用次数从大到小的顺序依次选取k个切分bit位作为所述预设bit位,其中k为正整数。4.根据权利要求3所述的方法,其特征在于,通过下述公式选取所述任一分组中的切分bit位:其中,bit[i].zero表示所述任一分组中第i个bit位为0的规则数量;bit[i].one表示所述任一分组中第i个bit位为1的规则数量;bit[i].star表示所述任一分组中第i个bit位为通配符的规则数量。5.根据权利要求1所述的方法,其特征在于,所述预设算法为:将提取的数值按照预设顺序排序;将排序后的数值生成为对应的索引值。6.一种基于通配符掩码规...

【专利技术属性】
技术研发人员:谭天
申请(专利权)人:杭州迪普科技股份有限公司
类型:发明
国别省市:浙江,33

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

1