【技术实现步骤摘要】
【国外来华专利技术】访问控制列表的管理方法及装置
本申请涉及数据处理
,特别涉及一种访问控制列表(AccessControlList,ACL)的管理方法及装置。
技术介绍
ACL是配置在路由器或交换机等转发设备中的指令列表。其中,ACL中包括多条规则,当转发设备接收到报文时,可以从报文中提取关键字,并从ACL包括的多条规则中查找与提取的关键字相匹配的规则,进而根据查找结果对接收到的报文进行处理。由于ACL包括的规则的数量极其巨大,因此,为了方便查找,通常,转发设备可以根据ACL创建对应的搜索树,进而按照该搜索树包括的层来对ACL进行存储。具体地,转发设备可以根据ACL包括的多条规则的特点,选择规则中的多个特定比特位来对多条规则进行分割,从而将该多条规则划分到多个桶中。其中,该多个桶中的每个桶的最大容量均是相同的。转发设备可以根据划分该多条规则的过程创建搜索树,该搜索树的每个叶子节点最终都指向一个桶。例如,假设桶的最大容量为3,如图1所示,ACL中包括12条规则。转发设备可以首先根据第6比特位将12条规则划分为2组,其中,第6比特位的值为0的规则为第一组,值为1的规则为第二组,值为指定字符的规则需要同时放入到两个组中。当划分得到第一组和第二组之后,由于第一组和第二组中规则的数量均大于3,也即均大于桶的最大容量,因此,可以继续对第一组和第二组进行划分。其中,对于第一组,根据第3比特位对其划分,得到第三组和第四组,对于第二组,根据第1比特位对其划分,得到第五组和第六组。其中,第四组、第五组和第六组包括的规则的数量均小于3,因此,可以将第 ...
【技术保护点】
一种访问控制列表的管理方法,其特征在于,所述方法包括:/n获取压缩节点层的数量N,所述压缩节点层是由访问控制列表ACL对应的搜索树上的层所形成的,且所述压缩节点层包括至少一个压缩节点,所述N为大于或等于1的整数;/n将所述N个压缩节点层存储在M块SRAM中,所述M为大于0且小于所述N的整数,所述M块SRAM中的每块SRAM中存储有所述N个压缩节点层中的至少一个压缩节点层。/n
【技术特征摘要】
【国外来华专利技术】一种访问控制列表的管理方法,其特征在于,所述方法包括:
获取压缩节点层的数量N,所述压缩节点层是由访问控制列表ACL对应的搜索树上的层所形成的,且所述压缩节点层包括至少一个压缩节点,所述N为大于或等于1的整数;
将所述N个压缩节点层存储在M块SRAM中,所述M为大于0且小于所述N的整数,所述M块SRAM中的每块SRAM中存储有所述N个压缩节点层中的至少一个压缩节点层。
如权利要求1所述的方法,其特征在于,所述将所述N个压缩节点层存储在所述M块SRAM中,包括:
按照所述N个压缩节点层的先后顺序,从所述M块SRAM中的第1块SRAM开始,按照从所述第1块SRAM到第M块SRAM的顺序,依次在每块SRAM存储一个压缩节点层;
当存储到第M块SRAM时,重新从所述M块SRAM中的第1块SRAM开始,按照从所述第1块SRAM到第M块SRAM的顺序,依次在每块SRAM存储一个压缩节点层,直到存储完所述N个压缩节点层为止。
如权利要求1或2所述的方法,其特征在于,所述方法还包括:
当接收到报文时,从所述报文中提取关键字;
基于所述关键字和所述M块SRAM中存储的所述N个压缩节点层,查找与所述关键字相匹配的规则。
如权利要求3所述的方法,其特征在于,所述基于所述关键字和所述M块SRAM中存储的所述N个压缩节点层,查找与所述关键字相匹配的规则,包括:
令i=1,k=1,判断所述M块SRAM中的第i块SRAM中是否存储有第k个压缩节点层;
若所述第i块SRAM中存储有第k个压缩节点层,则基于所述关键字,从所述第k个压缩节点层包括的至少一个压缩节点中,查找与所述关键字相对应的叶子节点;
若查找到与所述关键字相对应的叶子节点,则基于查找到的叶子节点中存储的桶的地址,查找与所述关键字相匹配的规则。
如权利要求4所述的方法,其特征在于,所述判断所述M块SRAM中的第i块SRAM中是否存储有第k个压缩节点层包括的至少一个压缩节点之后,还包括:
若所述第i块SRAM中未存储有第k个压缩节点层,则令所述i=i+1,并返回所述判断所述M块SRAM中的第i块SRAM中是否存储有第k个压缩节点层的步骤。
如权利要求4或5所述的方法,其特征在于,所述基于所述关键字,从所述第k个压缩节点层包括的至少一个压缩节点中,查找与所述关键字相对应的叶子节点之后,还包括:
若未查找到与所述关键字相对应的叶子节点,且所述i小于所述M,则令所述i=i+1,所述k=k+1,并返回所述判断所述M块SRAM中的第i块SRAM中是否存储有第k个压缩节点层的步骤。
如权利要求5或6所述的方法,其特征在于,所述基于所述关键字,从所述第k个压缩节点层包括的至少一个压缩节点中,查找与所述关键字相对应的叶子节点之后,还包括:
若未查找到与所述关键字相对应的叶子节点,且所述i等于所述M,则令所述i=1,所述k=k+1,并返回所述判断所述M块SRAM中的第i块SRAM中是否存储有第k个压缩节点层的步骤。
如权利要求4-7任一所述的方法,其特征在于,所述若查找到与所述关键字相对应的叶子节点,则基于查找到的叶子节点中存储的桶的地址,查找与所述关键字相匹配的规则,包括:
若查找到与所述关键字相对应的叶子节点,且所述i小于所述M,则获取查找到的叶子节点中存储的桶的地址;
将所述桶的地址依次通过所述第i块SRAM至所述第M块SRAM之间的每块SRAM传递...
【专利技术属性】
技术研发人员:杨升,董细金,高峰,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。