【技术实现步骤摘要】
访问控制列表构建和数据报文处理方法、装置、系统
[0001]本公开涉及互联网
,尤其涉及访问控制列表
技术介绍
[0002]访问控制列表(Access Control List,ACL)是路由器和交换机接口的指令列表,包括一条或多条访问控制列表ACL规则,每条ACL规则是描述数据报文匹配条件的判断语句,用于进行数据报文的规则匹配并对数据报文执行与相匹配的ACL规则对应的执行动作,以防止网络遭到恶意攻击,实现对网络访问行为的控制、限制网络流量、提高网络性能等。
[0003]现有技术中,ACL规则的匹配方式需要多次串行查找,这会带来多次存储器的访问,加大了处理的延时,效率较低。
技术实现思路
[0004]本公开提供了一种的访问控制列表构建和数据报文处理方法、装置、系统、电子设备、存储介质、计算机程序产品、网络设备。
[0005]根据本公开的第一方面,提供了一种访问控制列表构建方法,包括:
[0006]根据匹配项掩码对访问控制列表ACL集合包含的ACL规则进行分组,得到至少两个规则组,每个规则组对应一个匹配项掩码且每个规则组中ACL规则包含的匹配项与所述匹配项掩码相匹配;
[0007]生成对应于各个规则组的访问控制列表;所述对应于各个规则组的访问控制列表用于并行匹配数据报文的ACL规则。
[0008]根据本公开的第二方面,提供了一种数据报文处理方法,包括:
[0009]确定数据报文的匹配项;
[0010]根据所述数据报文的匹配项,从至少 ...
【技术保护点】
【技术特征摘要】
1.一种访问控制列表构建方法,包括:根据匹配项掩码对访问控制列表ACL集合包含的ACL规则进行分组,得到至少两个规则组,每个规则组对应一个匹配项掩码且每个规则组中ACL规则包含的匹配项与对应的匹配项掩码相匹配;生成对应于各个规则组的访问控制列表;所述对应于各个规则组的访问控制列表用于并行匹配数据报文的ACL规则。2.根据权利要求1所述的访问控制列表构建方法,所述根据匹配项掩码对ACL集合包含的ACL规则进行分组之前还包括:根据各个ACL规则的通配符掩码和/或控制器的第一数量确定所述匹配项掩码;其中,每个控制器用于从一个访问控制列表中匹配所述数据报文的ACL规则。3.根据权利要求2所述的访问控制列表构建方法,其中,所述匹配项掩码与所述通配符掩码的差值小于差值阈值。4.根据权利要求2所述的访问控制列表构建方法,所述规则组的第二数量小于等于所述第一数量。5.根据权利要求1所述的访问控制列表构建方法,所述根据匹配项掩码对ACL集合包含的ACL规则进行分组包括:确定控制器的第一数量;每个控制器用于从一个访问控制列表中匹配所述数据报文的ACL规则;确定根据所述匹配项掩码对所述ACL规则进行分组,得到的规则组的第二数量;判断所述第二数量是否大于所述第一数量;若所述第二数量大于所述第一数量,则更新所述匹配项掩码,并根据更新后的匹配项掩码对所述ACL规则进行重新分组,以使重新分组得到的规则组的第二数量小于等于所述第一数量。6.根据权利要求1所述的访问控制列表构建方法,所述根据匹配项掩码对所述ACL规则进行分组包括:判断所述ACL规则是否包含通配符掩码;若所述ACL规则包含通配符掩码,则根据所述匹配项掩码对所述ACL规则的匹配项进行拆分,并将拆分后的匹配项对应的ACL规则划分入相匹配的匹配项掩码对应的规则组;若所述ACL规则不包含通配符掩码,则将所述ACL规则划分入相匹配的匹配项掩码对应的规则组。7.根据权利要求1所述的访问控制列表构建方法,其中,所述生成对应于各个规则组的访问控制列表包括:对各个规则组中的ACL规则的匹配项或者精确匹配项分别进行哈希运算,生成对应于各个规则组的访问控制列表;其中,所述精确匹配项为所述匹配项中排除了匹配项掩码对应的位数之外的部分。8.根据权利要求1所述的访问控制列表构建方法,还包括:响应于规则新增指令,获取待新增ACL规则,并根据所述待新增ACL规则的通配符掩码确定所述待新增ACL规则待分入的规则组;根据所述待分入的规则组的匹配项掩码,对所述待新增ACL规则进行拆分;
将拆分后的待新增ACL规则分入所述待分入的规则组以更新所述规则组,并根据更新后的规则组更新所述访问控制列表。9.根据权利要求8所述的访问控制列表构建方法,所述访问控制列表中的ACL规则按照优先级从高到低的顺序排列;所述根据更新后的规则组更新所述访问控制列表包括:判断所述访问控制列表中是否存在与所述拆分后的待新增ACL规则的匹配项相同的待替换规则:若不存在,则执行所述根据更新后的规则组更新所述访问控制列表的步骤;若存在,则判断所述拆分后的待新增ACL规则的优先级是否高于所述待替换规则的优先级;若是,则将所述待替换规则从所述访问控制列表中删除,并将所述拆分后的待新增ACL规则增加至所述访问控制列表中。10.根据权利要求1所述的访问控制列表构建方法,所述访问控制列表中的ACL规则按照优先级从高到低的顺序排列;所述访问控制列表构建方法还包括:响应于规则删除指令,确定待删除ACL规则是否为所述待删除ACL规则所在的访问控制列表中优先级最高的ACL规则;若所述待删除ACL规则是访问控制列表中优先级最高的ACL规则,则将所述访问控制列表中的待删除ACL规则删除,并重新确定删除了所述待删除ACL规则之后的访问控制列表中ACL规则的优先级;若所述待删除ACL规则不是访问控制列表中优先级最高的ACL规则,则将访问控制列表中的待删除ACL规则删除。11.根据权利要求1
‑
10中任一项所述的访问控制列表构建方法,还包括:将所述各个规则组的访问控制列表同步至高带宽内存的双倍速率同步动态随机存储器中,每个访问控制列表对应一个双倍速率同步动态随机存储器。12.一种数据报文处理方法,包括:确定数据报文的匹配项;根据所述数据报文的匹配项,从至少两个访问控制列表中并行匹配出与所述数据报文相匹配的目标ACL规则;其中,所述至少两个访问控制列表根据至少两个规则组生成,所述至少两个规则组根据匹配项掩码对ACL集合包含的ACL规则进行分组得到,每个规则组对应一个匹配项掩码且每个规则组中ACL规则包含的匹配项与所述匹配项掩码相匹配;对所述数据报文执行所述目标ACL规则对应的执行动作。13.根据权利要求12所述的数据报文处理方法,所述访问控制列表通过对各个规则组中的ACL规则的匹配项分别进行哈希运算生成;所述根据所述数据报文的匹配项,从至少两个访问控制列表中并行匹配出与所述数据报文相匹配的目标ACL规则,包括:对所述数据报文的匹配项进行哈希运算,根据所述哈希运算的运算结果从所述至少两个访问控制列表中并行匹配出与所述数据报文相匹配的目标ACL规则;或者,所述访问控制列表通过对各个规则组中的ACL规则的精确匹配项分别进行哈希运算生成;所述根据所述数据报文的匹配项,从至少两个访问控制列表中并行匹配出与所述数据
报文相匹配的目标ACL规则,包括:根据各规则组对应的匹配项掩码从所述数据报文的匹配项中确定出精确匹配项;所述精确匹配项为所述匹配项中排除了匹配项掩码对应的位数之外的部分;对所述数据报文的精确匹配项进行哈希运算,根据所述哈希运算的运算结果从所述至少两个访问控制列表中并行匹配出与所述数据报文相匹配的目标ACL规则。14.一种报文处理系统,包括:处理器,用于确定数据报文的匹配项并将所述匹配项发送给存储有至少两个访问控制列表的存储器;其中,所述至少两个访问控制列表根据至少两个规则组生成,所述至少两个规则组根据匹配项掩码对ACL集合包含的ACL规则进行分组得到,每个规则组对应一个匹配项掩码且每个规则组中ACL规则包含的匹配项与所述匹配项掩码相匹配;存储器,用于根据所述数据报文的匹配项从所述至少两个访问控制列表中并行匹配出与所述数据报文相匹配的目标ACL规则,并将所述目标ACL规则发送给所述处理器;所述处理器,还用于对所述数据报文执行所述目标ACL规则对应的执行动作。15.根据权利要求14所述的报文处理系统,其中,所述存储器为高带宽内存,所述高带宽内存包括至少两个双倍速率同步动态随机存储器,每个双倍速率同步动态随机存储器用于存储一个访问控制列表;每个双倍速率同步动态随机存储器的控制器用于从对应的双倍速率同步动态随机存储器中进行ACL规则匹配。16.根据权利要求15所述的报文处理系统,所述控制器还用于复制多份所述访问控制列表,并将多份访问控制列表在所述双倍速率同步动态随机存储器的多个行上进行存储。17.一种访问控制列...
【专利技术属性】
技术研发人员:李鸿明,曹帮伟,李兆耕,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。