买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】ACL配置方法、装置、电子设备_杭州迪普信息技术有限公司_201910500203.X 

申请/专利权人:杭州迪普信息技术有限公司

申请日:2019-06-11

公开(公告)日:2021-09-21

公开(公告)号:CN110191135B

主分类号:H04L29/06(20060101)

分类号:H04L29/06(20060101);H04L12/743(20130101)

优先权:

专利状态码:有效-授权

法律状态:2021.09.21#授权;2019.09.24#实质审查的生效;2019.08.30#公开

摘要:本申请提供一种ACL配置方法、装置、电子设备及机器可读存储介质。在本申请中,创建与所述第一ACL空间及所述第二ACL空间对应的ACL位图映射表;接收目标用户下发的ACL配置命令,获取所述目标用户对应的用户信息以及所述ACL配置命令包括的目标ACL;基于所述用户信息以及所述ACL位图映射表,确定用于保存所述目标ACL的目标ACL索引;将所述目标ACL下发至所述目标ACL索引对应ENTRY。基于TCAM为多用户分配对应私有和共用的ACL空间;以及,基于与ACL空间对应的ACL位图映射表及用户优先级,进一步获取目标ACL索引并基于目标ACL索引下发ACL,实现了ACL灵活配置,从而提高TCAM空间的利用效率。

主权项:1.一种ACL配置方法,其特征在于,所述方法应用于网络设备,所述网络设备集成有TCAM;其中,所述TCAM用于保存ACL的空间包括与若干用户对应的第一ACL空间、由所述若干用户共用的第二ACL空间,所述方法包括:创建与所述第一ACL空间及所述第二ACL空间对应的ACL位图映射表;接收目标用户下发的ACL配置命令,获取所述目标用户对应的用户信息以及所述ACL配置命令包括的目标ACL;所述用户信息至少包括所述目标用户对应的用户优先级;基于所述用户信息以及所述ACL位图映射表,确定用于保存所述目标ACL的目标ACL索引;其中,如果所述目标用户对应在所述ACL位图映射表存在第一空闲ACL索引,则将所述第一空闲ACL索引作为所述目标ACL索引;将所述目标ACL下发至所述目标ACL索引对应ENTRY。

全文数据:ACL配置方法、装置、电子设备技术领域本申请涉及通信技术领域,尤其涉及ACL配置方法、装置、电子设备及机器可读存储介质。背景技术ACLAccessControlList,访问控制列表,是指网络设备用来控制进出报文的指令列表。ACL是为网络安全访问提供了基本手段。在实现时,基于ACL,网络设备可以决定流量是否被允许转发或被阻塞。例如,基于ACL,网络设备可以允许主机A访问人力资源网络,而拒绝主机B访问。再例如,基于ACL,网络设备可以允许E-mail流量被路由转发,拒绝所有的Telnet流量。TCAMTernaryContentAddressableMemory,三态内容寻址存储器是从CAMContentAddressableMemor,内存寻址寄存器的基础上发展而来的。一般的CAM中每个bit位的状态只有两个,“0”或“1”,而TCAM中每个bit位有三种状态,除掉“0”和“1”外,还有一个“don’tcare”状态,所以称为“三态”,它是通过掩码来实现的,正是TCAM的这个第三种状态特征使其既能进行精确匹配查找,又能进行模糊匹配查找,而CAM没有第三种状态,所以只能进行精确匹配查找。发明内容本申请提供一种ACL配置方法,所述方法应用于网络设备,所述网络设备集成有TCAM;其中,所述TCAM用于保存ACL的空间包括与若干用户对应的第一ACL空间、由所述若干用户共用的第二ACL空间,所述方法包括:创建与所述第一ACL空间及所述第二ACL空间对应的ACL位图映射表;接收目标用户下发的ACL配置命令,获取所述目标用户对应的用户信息以及所述ACL配置命令包括的目标ACL;基于所述用户信息以及所述ACL位图映射表,确定用于保存所述目标ACL的目标ACL索引;将所述目标ACL下发至所述目标ACL索引对应ENTRY。可选的,所述ACL位图映射表包括若干bit位;其中,所述bit位用于指示所述第一ACL空间及第二ACL空间中对应的ACL索引是否被占用;所述bit位的取值类型包括未占用、已占用,所述bit位的默认值为未占用。可选的,所述用户信息至少包括所述目标用户对应的用户优先级。可选的,所述基于所述用户信息以及所述ACL位图映射表,确定用于保存所述目标ACL的目标ACL索引,包括:如果所述目标用户对应在所述ACL位图映射表存在第一空闲ACL索引,则将所述第一空闲ACL索引作为所述目标ACL索引。可选的,如果所述目标用户对应在所述ACL位图映射表不存在第一空闲ACL索引;以及,所述目标用户的第一相邻用户在所述ACL位图映射表对应还存在第二空闲ACL索引,所述基于所述用户信息以及所述ACL位图映射表,确定用于保存所述目标ACL的目标ACL索引,还包括:获得所述第一相邻用户对应在所述ACL位图映射表中的bit位为已占用的对应的第一ACL索引;其中,所述第一ACL索引对应bit位在所述第一相邻用户对应在所述ACL位图映射表中的状态为已占用的bit位中编号最小;将所述第一ACL索引对应ACL,移转保存至所述第二空闲ACL索引对应空间;将所述第一ACL索引作为所述目标ACL索引。可选的,所述第一相邻用户的用户优先级低于所述目标用户的用户优先级。可选的,如果所述目标用户对应在所述ACL位图映射表不存在所述第一空闲ACL索引,用户优先级低于所述目标用户的所有用户及所述第二ACL空间对应在所述ACL位图映射表不存在空闲ACL索引;以及,所述目标用户的第二相邻用户在所述ACL位图映射表对应还存在第三空闲ACL索引,所述基于所述用户信息以及所述ACL位图映射表,确定用于保存所述目标ACL的目标ACL索引,还包括:获得所述第二相邻用户对应在所述ACL位图映射表中的bit位为已占用的对应的第二ACL索引;其中,所述第二ACL索引对应bit位在所述第二相邻用户对应在所述ACL位图映射表中的状态为已占用的bit位中编号最大;将所述第二ACL索引对应ACL,移转保存至所述第三空闲ACL索引对应空间;将所述第二ACL索引作为所述目标ACL索引。可选的,所述第二相邻用户的用户优先级高于所述目标用户的用户优先级。可选的,如果所述目标用户对应在所述ACL位图映射表不存在所述第一空闲ACL索引;以及,除所述目标用户以外的所有用户及所述第二ACL空间对应在所述ACL位图映射表对应不存在空闲ACL索引,所述基于所述用户信息以及所述ACL位图映射表,确定用于保存所述目标ACL的目标ACL索引,还包括:为所述目标用户返回针对所述ACL配置命令的异常告警。本申请还提供一种ACL配置装置,所述装置应用于网络设备,所述网络设备集成有TCAM;其中,所述TCAM用于保存ACL的空间包括与若干用户对应的第一ACL空间、由所述若干用户共用的第二ACL空间,所述装置包括:创建模块,创建与所述第一ACL空间及所述第二ACL空间对应的ACL位图映射表;获取模块,接收目标用户下发的ACL配置命令,获取所述目标用户对应的用户信息以及所述ACL配置命令包括的目标ACL;所述获取模块进一步,基于所述用户信息以及所述ACL位图映射表,确定用于保存所述目标ACL的目标ACL索引;配置模块,将所述目标ACL下发至所述目标ACL索引对应ENTRY。本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述的方法。本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。通过以上实施例,基于TCAM为多用户分配对应私有和共用的ACL空间;以及,基于与ACL空间对应的ACL位图映射表及用户优选级,进一步获取目标ACL索引并基于目标ACL索引下发ACL,实现了ACL灵活配置,从而提高TCAM空间的利用效率。附图说明图1是一示例性实施例提供的一种多用户对应保存ACL的TCAM空间划分示意图;图2是一示例性实施例提供的一种ACL配置方法的流程图;图3是一示例性实施例提供的另一种多用户对应保存ACL的TCAM空间划分示意图;图4是一示例性实施例提供的一种ACL位图映射表的示意图;图5是一示例性实施例提供的一种ACL配置装置的框图;图6是一示例性实施例提供的一种电子设备的硬件结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。为了使本技术领域的人员更好地理解本申请实施例中的技术方案,下面先对本申请实施例涉及的ACL配置的相关技术,进行简要说明。在通信领域中,网络设备在进行报文转发时通常需要查询多个表,比如,在报文二层转发过程中需要查找MACMediaAccessControl,介质访问控制表、ARPAddressResolutionProtocol,地址解析协议表;再比如,在报文三层转发过程中需要查找路由表等。而在实现时,传统的表查找方法有很多,主要有:线型查找法、二叉树查找法、哈希表查找等,这些查找方法都是基于SRAMStaticRandom-AccessMemory,静态随机存取存储器的软件查找方法,共同特点是查找速度慢。例如,线型查找法需要遍历表中的所有表项;二叉树查找法需要遍历树中大多数节点,而且查找速度受树的深度影响较大;哈希表查找法是软件查找中计较快的一种方法,它是根据设定的哈希函数和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地址或散列地址。虽然哈希表查找法相对来说比较快,但还是满足不了高速实时通信系统比如:40G100G高速网络的极速查找需求。基于TCAM的表查找方法正是在以上背景下提出的,在用该方法进行表项查找时,整个表项空间的所有数据在同一时刻可以被查询获得,如果有多条ENTRY都能匹配上,TCAM优先选择INDEX最小对应TCAMENTRY。查找速度不受表项空间数据大小影响,每个时钟周期完成一次查找,平均查找速度是基于SRAM算法查找的6倍,在一些极端情况下可以达到128倍。在一些场景下,例如,当多个不同优先级的用户针对集成有TCAM的网络设备下发ACL配置时,现有实现方案是,为不同优先级的用户一次性分配固定容量的私有的TCAM空间,用于保存对应用户下发的ACL配置。请参见图1,图1是本说明书一实施例提供的一种多用户对应保存ACL的TCAM空间划分示意图。如图1所示的TCAM空间总容量S,被分别划分为容量S1、容量S2、容量S3、容量S4;其中,容量S1对应的TCAM空间为用于保存用户A下发ACL配置的TCAM空间,容量S2对应的TCAM空间为用于保存用户B下发ACL配置的TCAM空间,容量S3对应的TCAM空间为用于保存用户C下发ACL配置的TCAM空间,容量S4对应的TCAM空间为用于保存用户D下发ACL配置的TCAM空间。需要说明的是,如图1所示的A、B、C、D四个用户的优先级依次从高到低,也即针对用户优先级ABCD。基于上述现有实现方案,由于不同用户对应下发的ACL配置的数目不同,所以会较大概率存在一些用户已分配的TCAM空间不足,却无法使用另一些用户的存在空闲的TCAM空间的问题。例如,如图1所示用户B对应的TCAM空间已经被使用完毕,而其他用户A、C、D还存在空闲的TCAM空间,由于上述现有实现方案的问题,导致无法用户B无法使用用户A、C、D的存在空闲的TCAM空间,从而导致TCAM空间的利用效率低下。而本申请旨在提出一种,基于ACL位图映射表以及基于用户优先级,从ACL空间中获得与目标ACL对应ACL索引,从而实现ACL配置的技术方案。在实现时,网络设备集成有TCAM;其中,所述TCAM用于保存ACL的空间包括与若干用户对应的第一ACL空间、由所述若干用户共用的第二ACL空间;所述网络设备创建与所述第一ACL空间及所述第二ACL空间对应的ACL位图映射表;接收目标用户下发的ACL配置命令,获取所述目标用户对应的用户信息以及所述ACL配置命令包括的目标ACL;基于所述用户信息以及所述ACL位图映射表,确定用于保存所述目标ACL的目标ACL索引;将所述目标ACL下发至所述目标ACL索引对应ENTRY。在以上方案中,基于TCAM为多用户分配对应私有和共用的ACL空间;以及,基于与ACL空间对应的ACL位图映射表及用户优选级,进一步获取目标ACL索引并基于目标ACL索引下发ACL,实现了ACL灵活配置,从而提高TCAM空间的利用效率。下面通过具体实施例并结合具体的应用场景对本申请进行描述。请参考图2,图2是本申请一实施例提供的一种ACL配置方法的流程图,所述方法应用于网络设备,所述网络设备集成有TCAM;其中,所述TCAM用于保存ACL的空间包括与若干用户对应的第一ACL空间、由所述若干用户共用的第二ACL空间,上述方法执行以下步骤:步骤202、创建与所述第一ACL空间及所述第二ACL空间对应的ACL位图映射表。步骤204、接收目标用户下发的ACL配置命令,获取所述目标用户对应的用户信息以及所述ACL配置命令包括的目标ACL。步骤206、基于所述用户信息以及所述ACL位图映射表,确定用于保存所述目标ACL的目标ACL索引。步骤208、将所述目标ACL下发至所述目标ACL索引对应ENTRY。在本说明书中,上述网络设备,是指任何支持入侵防御功能且集成有TCAM的网络设备。例如,上述网络设备可以是支持入侵防御功能且集成有TCAM的交换机、路由器、防火墙、负载均衡器等在本说明书中,上述网络设备集成的TCAM,用于保存多个用户下发的ACL。需要说明的是,该ACL已经被转换为符合TCAM所对应表项格式。请参见图3,图3是本说明书一实施例提供的另一种多用户对应保存ACL的TCAM空间划分示意图。图3与图1所示的TCAM空间划分类似,区别在于图3相比图1多划分了一块容量S5的TCAM空间对应图3所示的P空间;其中,P空间为如图3所示的A、B、C、D四个用户可以共用的TCAM空间。在本说明书中,上述第一ACL空间,是指上述TCAM中的、与上述若干用户对应的用于保存ACL的TCAM空间;例如,上述第一ACL空间是包括如图3所示容量S1、容量S2、容量S3、容量S4的TCAM空间。在本说明书中,上述第二ACL空间,是指上述TCAM中的、由上述若干用户共用的用于保存ACL的TCAM空间。例如,上述第二ACL空间是如图3所示容量S5的TCAM空间,也即P空间。在本说明书中,上述TCAM用于保存ACL的空间包括上述第一ACL空间、上述第二ACL空间。例如,上述TCAM用于保存ACL的空间对应如图3所示的TCAM空间总容量S包括上述第一ACL空间对应如图3所示的容量S1、容量S2、容量S3、容量S4、上述第二ACL空间对应如图3所示的容量S5,也即P空间。需要说明的是,上述TCAM的空间包括上述第一ACL空间及上述第二ACL空间中,通常是由结构包括Index索引、以及与Index对应的ENTRY用于执行匹配报文特征的多条TCAM表项所构成。例如,上述TCAM的空间所包含的TCAM表项,例如请参见表1所示:表1如表1所示,上述TCAM的空间包括3条TCAM表项,其中,每条TCAM表项由Index和ENTRY构成。在本说明书中,上述ACL索引,是指上述TCAM的空间中用于保存ACL的一个TCAM表项所对应的Index。例如,上述ACL索引可以为表1所示的I1或I2或I3。需要说明的是,由于,TCAM具有一个显著特性:若有多条ENTRY被匹配,则TCAM优先选择Index最小对应的TCAM表项,所以,高优先级用户对应TCAM空间相比低优先级用户对应TCAM表项的Index要小,而P空间对应TCAM表项的Index最小。例如,如图3所示,由于,用户优先级ABCD,所以,A对应IndexBCD,则设置A、B、C、D的用户优先级的枚举值分别对应0、1、2、3;其中,枚举值越小优先级越高。当然,上述用户信息除包括上述目标用户对应的用户优先级外,还可以包括上述目标用户对应的TCAM空间的最小容量。例如,以上述目标用户为B为例,则上述用户信息除包括B对应的优先级为枚举值1,还包括B对应的如图4所示的TCAM空间的容量S2的最小值,比如:容量S2的最小值为4万条TCAM表项。在本说明书中,在获取上述目标用户对应的用户信息同时,上述网络设备还获取上述ACL配置命令包括的目标ACL。例如,上述网络设备接收目标用户为如图4所示的B用户下发的ACL配置命令后,在从该ACL配置命令中获取B用户对应的用户信息同时,还获取上述ACL配置命令包括的目标ACL。需要说明的是,上述目标ACL,是指上述目标用户下发的、待保存到与上述目标用户对应TCAM空间的、已经被转换为符合TCAM所对应表项格式的ACL。在本说明书中,上述目标ACL索引,是指上述目标ACL待保存到对应TCAM空间的上述ACL索引,上述ACL索引的定义请参见前文描述。在本说明书中,在获取上述用户信息以及上述目标ACL后,上述网络设备基于上述用户信息以及上述ACL位图映射表,确定用于保存上述目标ACL的目标ACL索引。例如,上述网络设备在获取B对应的用户信息以及目标ACL后,基于B对应的用户信息以及如图4所示的上述ACL位图映射表,在上述ACL位图映射表中,确定用于保存该目标ACL的ACL索引。在示出的一种实施方式中,如果上述目标用户对应在上述ACL位图映射表存在第一空闲ACL索引,则上述网络设备将上述第一空闲ACL索引作为上述目标ACL索引。在实现时,上述网络设备在上述ACL位图映射表中,查找与上述目标用户对应TCAM空间的若干ACL索引中是否存在空闲ACL索引;如果存在,则将该空闲ACL索引作为第一空闲ACL索引,并将上述第一空闲ACL索引作为用于保存上述目标ACL的上述目标ACL索引。需要说明的是,上述网络设备在上述ACL位图映射表中,查找与上述目标用户对应TCAM空间的若干ACL索引中是否存在空闲ACL索引时,具体的查找方法可以是“游标查找法”。为了方便理解,这里介绍下“游标查找法”,以上述目标用户为B为例,上述网络设备在如图4所示的上述ACL位图映射表对应图4所示的B对应ACL位图映射表中,查找与B对应TCAM空间对应图4所示的容量S2的TCAM空间的若干ACL索引中是否存在空闲ACL索引。针对B对应的容量S2的TCAM空间中,上述网络设备以游标方式,以bit位从低位到高位顺序,遍历上述ACL位图映射表中对应的若干bit位B对应的如图4所示的小方格中,寻找值是为0的bit位对应容量S2的TCAM空间的空闲ACL索引。当然上述网络设备也可以游标方式以bit位从高位到低位顺序,遍历上述ACL位图映射表中对应的若干bit位B对应的如图4所示的小方格中,寻找值是为0的bit位对应容量S2的TCAM空间的空闲ACL索引。在本说明书中,上述第一相邻用户,是指与上述目标用户在上述第一ACL空间中的相邻用户;其中,上述第一相邻用户的用户优先级低于上述目标用户的用户优先级。例如,请参见图4所示,以上述目标用户为B为例,用户优先级为ABCD,则上述第一相邻用户是C,也即C用户优先级低于B。在本说明书中,上述第一ACL索引,是指上述第一相邻用户对应在上述ACL位图映射表中的bit位为已占用的对应的ACL索引;其中,上述第一ACL索引对应bit位在上述第一相邻用户对应在上述ACL位图映射表中的状态为已占用的bit位中编号最小。例如,请参见图4所示,上述目标用户为B、上述第一相邻用户为C,C对应在上述ACL位图映射表中对应若干bit位为容量S3的TCAM空间。为了描述方便,假定容量S3的TCAM空间对应3个bit位,其bit位编号从小到大,分别为bit0、bit1、bit2。在上述ACL位图映射表初始创建时,bit0、bit1、bit2的默认值为0,也即未占用。在上述网络设备运行过程中,可能存在C已下发若干ACL配置,对应bit0、bit1、bit2的当前值比如为:bit0为1已占用、bit1为1已占用、bit2为0未占用;则上述第一ACL索引为bit0为1状态为已占用的bit位中编号最小对应的上述ACL索引。在本说明书中,上述第二空闲ACL索引,是指上述第一相邻用户对应在上述ACL位图映射表中的状态为未占用的bit位对应ACL索引。接着以上示例继续举例,上述第二空闲ACL索引例如为C对应bit2为0未占用的ACL索引。在示出的一种实施方式中,如果上述目标用户对应在上述ACL位图映射表不存在第一空闲ACL索引;以及,上述目标用户的第一相邻用户在上述ACL位图映射表对应还存在第二空闲ACL索引,则上述网络设备获得上述第一相邻用户对应在上述ACL位图映射表中的bit位为已占用的对应的第一ACL索引。接着以上示例继续举例,如果B对应在上述ACL位图映射表不存在上述第一空闲ACL索引,以及,C在上述ACL位图映射表对应还存在上第二空闲ACL索引,则上述网络设备获得C对应在上述ACL位图映射表中的bit0位bit0的值为1,已占用对应的ACL索引,将该ACL索引作为上述第一ACL索引。在本说明书中,进一步地,在获取上述第一ACL索引后,上述网络设备将上述第一ACL索引对应ACL,移转保存至上述第二空闲ACL索引对应空间。接着以上示例继续举例,获取上述第一ACL索引bit0对应后,上述网络设备将上述第一ACL索引对应ACL,移转保存至上述第二空闲ACL索引bit2对应对应空间,也即,将C对应在上述ACL位图映射表bit0对应ACL索引所对应的ENTRY,移转保存至C对应在上述ACL位图映射表bit2对应ACL索引所对应的ENTRY。需要说明的是,由于bit2为未占用,则对应ENTRY无有效数据。需要说明的是,在上述移转保存过程中,上述目标用户在上述ACL位图映射表对应bit位及其对应ACL索引,与上述第一相邻用户在上述ACL位图映射表对应bit位及其对应ACL索引,不能存在交叉,需要依旧遵循高优先级用户对应的上述ACL索引请参见前文中说明相比低优先级用户对应的上述ACL索引要小。在本说明书中,进一步地,在将上述第一ACL索引对应ACL,移转保存至上述第二空闲ACL索引对应空间后,上述网络设备将上述第一ACL索引作为上述目标ACL索引。接着以上示例继续举例,上述网络设备将C对应在上述ACL位图映射表bit0对应ACL索引上述第一ACL索引作为上述目标ACL索引。需要说明的是,以上示例以上述目标用户为B、上述第一相邻用户为C进行说明;在实现中存在多种可能情况,比如:上述目标用户也可以为C、上述第一相邻用户为D。再比如:上述目标用户也可以为A、上述第一相邻用户为B。在本说明书中,在一些场景下,例如,B对应无空闲ACL索引、C对应也无空闲ACL索引,而D对应有空闲ACL索引,当B需要下发上述目标ACL时,上述网络系统可以基于类似以上的“上述目标用户为B、上述第一相邻用户为C”的确定上述目标ACL索引的过程,先将C对应的ACL索引对应的ENTRY保存移转保存至D对应的空闲ACL索引对应的ENTRY,然后再执行“上述目标用户为B、上述第一相邻用户为C”的确定上述目标ACL索引的过程,从而确定上述目标ACL索引,详细过程不再赘述。需要说明的是,在以上确定上述目标ACL索引的过程中,上述第二ACL空间对应需要有空闲ACL索引,基于此可以保证在确定上述目标ACL过程中,索引优先级最低用户也可以有对应空闲ACL索引及其对应ENTRY用于表项移转保存。在本说明书中,上述第二相邻用户,是指与上述目标用户在上述第二ACL空间中的相邻用户;其中,上述第二相邻用户的用户优先级高于上述目标用户的用户优先级。例如,请参见图4所示,以上述目标用户为B为例,用户优先级为ABCD,则上述第二相邻用户是A,也即A用户优先级高于B。在本说明书中,上述第二ACL索引,是指上述第二相邻用户对应在上述ACL位图映射表中的bit位为已占用的对应的ACL索引;其中,上述第一ACL索引对应bit位在上述第二相邻用户对应在上述ACL位图映射表中的状态为已占用的bit位中编号最大。例如,请参见图4所示,上述目标用户为B、上述第一相邻用户为A,A对应在上述ACL位图映射表中对应若干bit位为容量S1的TCAM空间。为了描述方便,假定容量S1的TCAM空间对应3个bit位,其bit位编号从小到大,分别为bit00、bit11、bit22。在上述ACL位图映射表初始创建时,bit00、bit11、bit22的默认值为0,也即未占用。在上述网络设备运行过程中,可能存在A已下发若干ACL配置,对应bit00、bit11、bit22的当前值比如为:bit00为1已占用、bit11为0未占用、bit22为1已占用;则上述第二ACL索引为bit22为1状态为已占用的bit位中编号最大对应的上述ACL索引。在本说明书中,上述第三空闲ACL索引,是指上述第二相邻用户对应在上述ACL位图映射表中的状态为未占用的bit位对应ACL索引。接着以上示例继续举例,上述第三空闲ACL索引例如为A对应bit11为0未占用的ACL索引。在示出的一种实施方式中,如果上述目标用户对应在上述ACL位图映射表不存在上述第一空闲ACL索引,用户优先级低于上述目标用户的所有用户及上述第二ACL空间对应在上述ACL位图映射表不存在空闲ACL索引;以及,上述目标用户的第二相邻用户在上述ACL位图映射表对应还存在第三空闲ACL索引,则上述网络设备获得上述第二相邻用户对应在上述ACL位图映射表中的bit位为已占用的对应的第二ACL索引。接着以上示例继续举例,如果B对应在上述ACL位图映射表不存在上述第一空闲ACL索引,用户优先级低于上述目标用户的所有用户例如为图4所示的C、D及上述第二ACL空间例如为图4所示的P空间对应在上述ACL位图映射表不存在空闲ACL索引;以及,上述目标用户的第二相邻用户在上述ACL位图映射表对应还存在第三空闲ACL索引例如为bit11,则上述网络设备获得A上述第二相邻用户对应在上述ACL位图映射表中的bit位为已占用的对应的第二ACL索引例如为bit22。在本说明书中,进一步地,在获取上述第二ACL索引后,上述网络设备将上述第二ACL索引对应ACL,移转保存至上述第三空闲ACL索引对应空间。接着以上示例继续举例,获取上述第二ACL索引bit22对应后,上述网络设备将上述第二ACL索引对应ACL,移转保存至上述第三空闲ACL索引bit11对应对应空间,也即,将A对应在上述ACL位图映射表bit22对应ACL索引所对应的ENTRY,移转保存至C对应在上述ACL位图映射表bit11对应ACL索引所对应的ENTRY。需要说明的是,由于bit11为未占用,则对应ENTRY无有效数据。在本说明书中,进一步地,在将上述第二ACL索引对应ACL,移转保存至上述第三空闲ACL索引对应空间后,上述网络设备将上述第二ACL索引作为上述目标ACL索引。接着以上示例继续举例,上述网络设备将A对应在上述ACL位图映射表bit22对应ACL索引上述第二ACL索引作为上述目标ACL索引。在示出的一种实施方式中,如果上述目标用户对应在上述ACL位图映射表不存在上述第一空闲ACL索引;以及,除上述目标用户以外的所有用户及上述第二ACL空间对应在上述ACL位图映射表对应不存在空闲ACL索引,则上述网络设备为上述目标用户返回上述ACL配置命令下发的异常告警。例如,请参见图4所示,以上述目标用户为B为例,用户优先级为ABCD,除上述目标用户以外的所有用户包括A、C、D;A、C、D三个用户对应在上述ACL位图映射表对应不存在空闲ACL索引;以及P空间上述第二ACL空间对应在上述ACL位图映射表对应也不存在空闲ACL索引,则上述网络设备为B上返回针对上述ACL配置命令的异常告警,以使提醒B用户上述TCAM对应空间不足,无法下发上述目标ACL。3ACL下发在本说明书中,在上述网络设备在确定用于保存上述目标ACL的目标ACL索引后,上述网络设备将上述目标ACL下发至上述目标ACL索引对应ENTRY。在实现时,上述网络设备通过如“基于ACL位图映射表管理TCAM空间”中所述的技术方案,确定用于保存上述目标ACL的目标ACL索引,将上述目标ACL下发至上述目标ACL索引对应ENTRY。以上过程,请参见现有TCAM表项下发实现,具体不再赘述。在以上技术方案中,基于TCAM为多用户分配对应私有和共用的ACL空间;以及,基于与ACL空间对应的ACL位图映射表及用户优选级,进一步获取目标ACL索引并基于目标ACL索引下发ACL,实现了ACL灵活配置,从而提高TCAM空间的利用效率。图5是本申请一示例性实施例提供的一种ACL配置装置的框图。与上述方法实施例相对应,本申请还提供了一种ACL配置装置的实施例,所述装置应用于网络设备,所述网络设备集成有TCAM;其中,所述TCAM用于保存ACL的空间包括与若干用户对应的第一ACL空间、由所述若干用户共用的第二ACL空间,请参考图5所示例的一种ACL配置装置50,所述装置包括:创建模块501,创建与所述第一ACL空间及所述第二ACL空间对应的ACL位图映射表;获取模块502,接收目标用户下发的ACL配置命令,获取所述目标用户对应的用户信息以及所述ACL配置命令包括的目标ACL;所述获取模块502进一步,基于所述用户信息以及所述ACL位图映射表,确定用于保存所述目标ACL的目标ACL索引;配置模块503,将所述目标ACL下发至所述目标ACL索引对应ENTRY。在本实施例中,所述ACL位图映射表包括若干bit位;其中,所述bit位用于指示所述第一ACL空间及第二ACL空间中对应的ACL索引是否被占用;所述bit位的取值类型包括未占用、已占用,所述bit位的默认值为未占用。在本实施例中,所述用户信息至少包括所述目标用户对应的用户优先级。在本实施例中,所述获取模块502进一步:如果所述目标用户对应在所述ACL位图映射表存在第一空闲ACL索引,则将所述第一空闲ACL索引作为所述目标ACL索引。在本实施例中,如果所述目标用户对应在所述ACL位图映射表不存在第一空闲ACL索引;以及,所述目标用户的第一相邻用户在所述ACL位图映射表对应还存在第二空闲ACL索引,所述获取模块502进一步:获得所述第一相邻用户对应在所述ACL位图映射表中的bit位为已占用的对应的第一ACL索引;其中,所述第一ACL索引对应bit位在所述第一相邻用户对应在所述ACL位图映射表中的状态为已占用的bit位中编号最小;将所述第一ACL索引对应ACL,移转保存至所述第二空闲ACL索引对应空间;将所述第一ACL索引作为所述目标ACL索引。在本实施例中,所述第一相邻用户的用户优先级低于所述目标用户的用户优先级。在本实施例中,如果所述目标用户对应在所述ACL位图映射表不存在所述第一空闲ACL索引,用户优先级低于所述目标用户的所有用户及所述第二ACL空间对应在所述ACL位图映射表不存在空闲ACL索引;以及,所述目标用户的第二相邻用户在所述ACL位图映射表对应还存在第三空闲ACL索引,所述获取模块502进一步:获得所述第二相邻用户对应在所述ACL位图映射表中的bit位为已占用的对应的第二ACL索引;其中,所述第二ACL索引对应bit位在所述第二相邻用户对应在所述ACL位图映射表中的状态为已占用的bit位中编号最大;将所述第二ACL索引对应ACL,移转保存至所述第三空闲ACL索引对应空间;将所述第二ACL索引作为所述目标ACL索引。在本实施例中,所述第二相邻用户的用户优先级高于所述目标用户的用户优先级。在本实施例中,如果所述目标用户对应在所述ACL位图映射表不存在所述第一空闲ACL索引;以及,除所述目标用户以外的所有用户及所述第二ACL空间对应在所述ACL位图映射表对应不存在空闲ACL索引,所述获取模块502进一步:为所述目标用户返回针对所述ACL配置命令的异常告警。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。上述实施例阐明的系统、装置、模块或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。本申请的ACL配置装置的实施例可以应用在图5所示的电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将机器可读存储介质中对应的计算机程序指令读取后运行形成的机器可执行指令。从硬件层面而言,如图5所示,为本申请的ACL配置装置所在电子设备的一种硬件结构图,除了图5所示的处理器、通信接口、总线以及机器可读存储介质之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。对应地,本申请实施例还提供了图5所示装置的一种电子设备的硬件结构,请参见图6,图6为本申请实施例提供的一种电子设备的硬件结构示意图。该设备包含:通信接口601、处理器602、机器可读存储介质603和总线604;其中,通信接口601、处理器602、机器可读存储介质603通过总线604完成相互间的通信。其中,通信接口601,用于进行网络通信。处理器602可以是一个中央处理器CPU,处理器602可以执行机器可读存储介质603中存储的机器可读指令,以实现以上描述的方法。本文中提到的机器可读存储介质603可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质603可以是RAMRadomAccessMemory,随机存取存储器、闪存、存储驱动器如硬盘驱动器、固态硬盘、任何类型的存储盘如光盘、DVD等,或者类似的存储介质,或者它们的组合。至此,完成图6所示的硬件结构描述。此外,本申请实施例还提供了一种包括机器可执行指令的机器可读存储介质,例如图6中的机器可读机器可读存储介质603,所述机器可执行指令可由数据处理装置中的处理器602执行以实现以上描述的数据处理方法。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

权利要求:1.一种ACL配置方法,其特征在于,所述方法应用于网络设备,所述网络设备集成有TCAM;其中,所述TCAM用于保存ACL的空间包括与若干用户对应的第一ACL空间、由所述若干用户共用的第二ACL空间,所述方法包括:创建与所述第一ACL空间及所述第二ACL空间对应的ACL位图映射表;接收目标用户下发的ACL配置命令,获取所述目标用户对应的用户信息以及所述ACL配置命令包括的目标ACL;基于所述用户信息以及所述ACL位图映射表,确定用于保存所述目标ACL的目标ACL索引;将所述目标ACL下发至所述目标ACL索引对应ENTRY。2.根据权利要求1所述的方法,其特征在于,所述ACL位图映射表包括若干bit位;其中,所述bit位用于指示所述第一ACL空间及第二ACL空间中对应的ACL索引是否被占用;所述bit位的取值类型包括未占用、已占用,所述bit位的默认值为未占用。3.根据权利要求1所述的方法,其特征在于,所述用户信息至少包括所述目标用户对应的用户优先级。4.根据权利要求3所述的方法,其特征在于,所述基于所述用户信息以及所述ACL位图映射表,确定用于保存所述目标ACL的目标ACL索引,包括:如果所述目标用户对应在所述ACL位图映射表存在第一空闲ACL索引,则将所述第一空闲ACL索引作为所述目标ACL索引。5.根据权利要求4所述的方法,其特征在于,如果所述目标用户对应在所述ACL位图映射表不存在第一空闲ACL索引;以及,所述目标用户的第一相邻用户在所述ACL位图映射表对应还存在第二空闲ACL索引,所述基于所述用户信息以及所述ACL位图映射表,确定用于保存所述目标ACL的目标ACL索引,还包括:获得所述第一相邻用户对应在所述ACL位图映射表中的bit位为已占用的对应的第一ACL索引;其中,所述第一ACL索引对应bit位在所述第一相邻用户对应在所述ACL位图映射表中的状态为已占用的bit位中编号最小;将所述第一ACL索引对应ACL,移转保存至所述第二空闲ACL索引对应空间;将所述第一ACL索引作为所述目标ACL索引。6.根据权利要求5所述的方法,其特征在于,所述第一相邻用户的用户优先级低于所述目标用户的用户优先级。7.根据权利要求6所述的方法,其特征在于,如果所述目标用户对应在所述ACL位图映射表不存在所述第一空闲ACL索引,用户优先级低于所述目标用户的所有用户及所述第二ACL空间对应在所述ACL位图映射表不存在空闲ACL索引;以及,所述目标用户的第二相邻用户在所述ACL位图映射表对应还存在第三空闲ACL索引,所述基于所述用户信息以及所述ACL位图映射表,确定用于保存所述目标ACL的目标ACL索引,还包括:获得所述第二相邻用户对应在所述ACL位图映射表中的bit位为已占用的对应的第二ACL索引;其中,所述第二ACL索引对应bit位在所述第二相邻用户对应在所述ACL位图映射表中的状态为已占用的bit位中编号最大;将所述第二ACL索引对应ACL,移转保存至所述第三空闲ACL索引对应空间;将所述第二ACL索引作为所述目标ACL索引。8.根据权利要求7所述的方法,其特征在于,所述第二相邻用户的用户优先级高于所述目标用户的用户优先级。9.根据权利要求8所述的方法,其特征在于,如果所述目标用户对应在所述ACL位图映射表不存在所述第一空闲ACL索引;以及,除所述目标用户以外的所有用户及所述第二ACL空间对应在所述ACL位图映射表对应不存在空闲ACL索引,所述基于所述用户信息以及所述ACL位图映射表,确定用于保存所述目标ACL的目标ACL索引,还包括:为所述目标用户返回针对所述ACL配置命令的异常告警。10.一种ACL配置装置,其特征在于,所述装置应用于网络设备,所述网络设备集成有TCAM;其中,所述TCAM用于保存ACL的空间包括与若干用户对应的第一ACL空间、由所述若干用户共用的第二ACL空间,所述装置包括:创建模块,创建与所述第一ACL空间及所述第二ACL空间对应的ACL位图映射表;获取模块,接收目标用户下发的ACL配置命令,获取所述目标用户对应的用户信息以及所述ACL配置命令包括的目标ACL;所述获取模块进一步,基于所述用户信息以及所述ACL位图映射表,确定用于保存所述目标ACL的目标ACL索引;配置模块,将所述目标ACL下发至所述目标ACL索引对应ENTRY。11.一种电子设备,其特征在于,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行如权利要求1至9任一项所述的方法。12.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现权利要求1至9任一项所述的方法。

百度查询: 杭州迪普信息技术有限公司 ACL配置方法、装置、电子设备

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

相关技术
相关技术
相关技术
相关技术