一种保存位图的方法和装置制造方法及图纸

技术编号:6535932 阅读:215 留言:0更新日期:2012-04-11 18:40
本发明专利技术提出一种保存位图的方法和设备,其中方法包括:设置字典树(Trie树)节点对应的关键码长度;将位图对应规则中IP地址的掩码长度与所述关键码长度进行比较,根据比较结果将IP地址放入各级Trie树节点对应的队列;按照关键码长度由小到大的顺序,依次提取所述Trie树节点对应的各个队列中的IP地址,创建Trie树并进行哈希(Hash)计算,将Hash值与位图的存储地址之间建立对应关系。本发明专利技术能够降低保存位图过程中的设备开销。

【技术实现步骤摘要】

本专利技术涉及ACL位图算法
,特别涉及一种保存位图的方法和装置
技术介绍
访问控制列表(ACL,ACCeSS Control List)是一种流识别技术。网络设备为了过滤报文,需要配置一系列的ACL对报文进行分类。ACL包括一系列的匹配规则,其中匹配规则包括多个关键字。当收到报文后,网络设备按照ACL匹配规则优先级由高到低的顺序,依次对报文进行匹配,当匹配成功后,根据预先设定的策略对报文进行处理。为了实现报文的快速匹配,出现了一种ACL位图算法。其主要思想是,预先在网络设备中保存位图对应规则中所有关键字分别与业务类型所对应的ACL进行匹配的匹配结果,将该匹配结果称为位图;后续收到报文时,根据该报文关键字的实际取值及业务类型, 查找对应的位图,最终得到与该报文匹配成功的ACL规则。例如,在网络设备中配置针对策略路由(PBR)业务的ACL,如表1所示规则标识(rule id)源 IP(sip)目的IP (dip)源端口 (sport)目的端口 (dport)协议服务条款(TOS)结果 (Result)01. 1.0.0/16anyany2000-30006anyoutif serial 2/011. 1.0.0/24anyanyanyany10set pri outif s 2/121. 1. 16.0/20any5000anyanyanynexthop2. 1. 1. 13anyanyanyanyanyanydeny表 1 在网络设备中配置针对网络地址翻译(NAT)业务的ACL,如表2所示 规则标识(rule id)源 IP(sip)目的IP (dip)源端口 (sport)目的端口 (dport)协议服务条款(το。结果 (Result)02. 1. 0. 0/16anyany806anypool id本文档来自技高网...

【技术保护点】
1.一种保存位图的方法,其特征在于,所述方法用于当关键字为IP地址时,对位图对应规则中的IP地址与业务类型的组合所对应的位图进行保存;所述方法包括:设置各级字典树Trie树节点对应的关键码长度;将位图对应规则中IP地址的掩码长度与所述关键码长度进行比较,根据比较结果将IP地址放入各级Trie树节点对应的队列;按照关键码长度由小到大的顺序,依次提取所述Trie树节点对应的各个队列中的IP地址,为该IP地址配置对应的关键标识,创建相应的Trie树节点并保存该关键标识;为该IP地址所属的业务类型配置对应的组标识,对所述关键标识和组标识的组合进行哈希Hash计算,将计算得到的Hash值与所述IP地址与业务类型的组合所对应位图的存储地址之间建立对应关系;当所述Trie树节点有父节点时,对所述关键标识和父节点对应的业务类型组标识的组合进行Hash计算,将计算得到的Hash值与所述父节点位图的存储地址之间建立对应关系。

【技术特征摘要】
1.一种保存位图的方法,其特征在于,所述方法用于当关键字为IP地址时,对位图对应规则中的IP地址与业务类型的组合所对应的位图进行保存;所述方法包括设置各级字典树Trie树节点对应的关键码长度;将位图对应规则中IP地址的掩码长度与所述关键码长度进行比较,根据比较结果将 IP地址放入各级Trie树节点对应的队列;按照关键码长度由小到大的顺序,依次提取所述Trie树节点对应的各个队列中的IP 地址,为该IP地址配置对应的关键标识,创建相应的Trie树节点并保存该关键标识;为该IP地址所属的业务类型配置对应的组标识,对所述关键标识和组标识的组合进行哈希 Hash计算,将计算得到的Hash值与所述IP地址与业务类型的组合所对应位图的存储地址之间建立对应关系;当所述Trie树节点有父节点时,对所述关键标识和父节点对应的业务类型组标识的组合进行Hash计算,将计算得到的Hash值与所述父节点位图的存储地址之间建立对应关系。2.根据权利要求1所述的方法,其特征在于,所述Trie树包括N级节点,所述N为大于 2的自然数;所述将位图对应规则中IP地址的掩码长度与关键码长度进行比较并根据比较结果将 IP地址放入各级Trie树节点对应的队列为当IP地址的掩码长度不大于一级Trie树节点的关键码长度时,将该IP地址放入一级 Trie树节点对应的队列;当IP地址的掩码长度大于η级Trie树节点的关键码长度、并且不大于n+1级Trie树节点的关键码长度时,将该IP地址放入n+1级Trie树节点对应的队列;其中,所述η为大于0且小于N的自然数。3.根据权利要求2所述的方法,其特征在于,所述Trie树包括四级节点;所述将位图对应规则中IP地址的掩码长度与关键码长度进行比较并根据比较结果将 IP地址放入各级Trie树节点对应的队列为当IP地址的掩码长度不大于一级Trie树节点的关键码长度时,将该IP地址放入一级 Trie树节点对应的队列;当IP地址的掩码长度大于一级Trie树节点的关键码长度、并且不大于二级Trie树节点的关键码长度时,将该IP地址放入二级Trie树节点对应的队列;当IP地址的掩码长度大于二级Trie树节点的关键码长度、并且不大于三级Trie树节点的关键码长度时,将该IP地址放入三级Trie树节点对应的队列;当IP地址的掩码长度大于三级Trie树节点的关键码长度、并且不大于四级Tr...

【专利技术属性】
技术研发人员:罗彬
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:86

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

1