带有优先级的TCAM储存和查找方法及装置制造方法及图纸

技术编号:11203964 阅读:126 留言:0更新日期:2015-03-26 12:02
本发明专利技术揭示了一种带有优先级的TCAM储存和查找方法及装置,方法包括:配置TCAM表项中存储的各查找规则的优先级,若需向TCAM表项中增加至少一条查找规则时,则将增加的查找规则存储到TCAM的空余表项内,并配置对应的优先级,将报文中的关键字与TCAM表项中的查找规则进行匹配,若有多个表项同时匹配,则执行TCAM表项中优先级最高的查找规则对应的动作。本发明专利技术可以实现查找和执行动作的准确执行,很大程度地解决了软件的复杂度和出错概率。

【技术实现步骤摘要】

本专利技术涉及网络通信
,尤其是涉及一种网络处理器或其处理芯片中带有优先级的TCAM储存和查找方法及装置
技术介绍
TCAM (Ternary Content Addressable Memory,三态内容寻址存储器), 是一种基于二进制内容查询的存储器,主要用于对报文进行分类。TCAM设置有若干表项,且在 RAM ( Random Access Memory,静态随机存储器) 中存储有与TCAM表项相对应的动作。在进行报文分类的过程中,将一报文中的关键字和TCAM中的表项进行匹配,若有一表项与该报文中的关键字匹配成功,则对该报文执行该表项对应的动作。由于TCAM的快速查找机制,目前很多网络芯片厂商在设计存储匹配规则时通常采用TCAM,比如存储ACL(Access Control List,访问控制列表),路由或者其它的查找规则。由于TCAM的查找机制是若有一表项与该报文中的关键字匹配成功,则执行相对的表项动作,如果多项同时匹配时,则执行排列在最前的规则对应的动作。假如存储的是路由规则,因为路由要满足最长匹配,此在下发路由规则到TCAM中时,则需要把掩码最长的规则放在最前面,把掩码短的放在后面,而且一旦加入更长的掩码,有可能会导致TCAM中原有的规则的搬迁,因此需要一套复杂的搬迁算法来处理规则的搬迁。现有技术是通过软件处理规则搬迁,但需要软件考虑众多因素,比如搬迁效率,空位碎片压缩整理,大大增加了软件的复杂度,并且由于搬迁会导致TCAM中规则不断的变化和更改,从而影响规则的查找。
技术实现思路
本专利技术的目的在于克服现有技术的缺陷,提供一种带有优先级的TCAM储存和查找方法及装置,在TCAM查找规则中加入优先级匹配的策略,以实现不需要软件处理规则搬迁,即可达到查找和执行动作的准确性。为实现上述目的,本专利技术提出如下技术方案:一种带有优先级的TCAM储存和查找方法,配置TCAM表项中存储的各查找规则的优先级,将报文中的关键字与所述TCAM表项中的查找规则进行匹配,若有多个表项同时匹配时,则执行所述TCAM表项中优先级最高的查找规则对应的动作。优选地,所述查找规则在所述TCAM表项中的存储是连续的。优选地,所述TCAM表项的查找规则为ACL或路由。本专利技术提出的另一技术方案:一种带有优先级的TCAM储存和查找方法,配置TCAM表项中存储的各查找规则的优先级,若向所述TCAM表项中增加至少一条查找规则时,则将增加的所述查找规则存储到TCAM的空余表项内,并配置对应的优先级,将报文中的关键字与所述TCAM表项中的查找规则进行匹配,若有多个表项同时匹配时,则执行所述TCAM表项中优先级最高的查找规则对应的动作。优选地,所述查找规则在所述TCAM表项中的存储是连续的。优选地,所述TCAM表项的查找规则为ACL或路由。本专利技术提出的另一技术方案:一种带有优先级的TCAM储存和查找装置,包括网络处理器、TCAM表项和RAM存储器,所述TCAM表项内存储的查找规则配置有对应的优先级,网络处理器从报文中提取出关键字输入给所述TCAM表项,所述关键字与所述TCAM表项对照,若有多个表项同时匹配,则将匹配出的优先级最高的所述TCAM表项所在的地址输入给所述RAM存储器,所述网络处理器执行从所述RAM存储器里得到的与所述优先级最高的TCAM表项相对应的动作。优选地,若向所述TCAM表项中增加至少一条查找规则时,则将增加的所述查找规则存储到TCAM的空余表项内,并配置对应的优先级。优选地,所述查找规则在所述TCAM表项中的存储是连续的。优选地,所述TCAM表项的查找规则为ACL或路由。与现有技术相比,本专利技术的有益效果是:本专利技术在TCAM查找机制中加入优先级概念,现有TCAM中如果有多个查找规则同时被匹配到,则会执行第一次匹配的规则对应的动作,而本专利技术由于加入了优先级,如果有多个规则同时匹配到,则执行优先级最高的规则动作,可以达到查找和执行动作的准确性;另外,现有若向TCAM中增加存储一条查找规则,则需要通过软件处理规则搬迁,而本专利技术只需配置TCAM表项中查找规则的优先,很大程度的解决了软件的复杂度和出错概率。附图说明图1是本专利技术带有优先级的TCAM储存和查找方法技术方案一的原理示意图;图2是本专利技术带有优先级的TCAM的示意图;图3是本专利技术带有优先级的TCAM储存和查找方法技术方案二的原理示意图;图4是现有TCAM路由储存机制的原理示意图;图5是本专利技术带有优先级的TCAM路由储存机制的原理示意图;图6是本专利技术带有优先级的TCAM储存和查找装置的原理结构示意图。具体实施方式下面将结合本专利技术的附图,对本专利技术实施例的技术方案进行清楚、完整的描述。本专利技术所揭示的带有优先级的TCAM储存和查找方法。结合图1和图3所示,配置TCAM表项中存储的各查找规则的优先级,如TCAM表项中存储有N条查找规则,分别为Rule 0、Rule 1……Rule N,给每条Rule配置对应的优先级。查找规则在TCAM表项中的存储是连续的。如图2所示,若需要向TCAM表项中增加至少一条查找规则时,则将增加的查找规则存储到TCAM的空余表项内,并配置对应的优先级。采用本专利技术进行报文分类时,将报文中的关键字与TCAM表项中的查找规则进行匹配,若有多个表项同时匹配时,则执行TCAM表项中优先级最高的查找规则对应的动作。TCAM表项的查找规则可为ACL或路由或者其他的查找规则。下面以TCAM表项中存储的是路由规则为例,对本专利技术带有优先级TCAM查找、访问流程说明如下:假设TCAM里存储4条路由,路由地址都是1.1.1.1,掩码分别为32,24,16,8,它们在TCAM中存储是连续的。假如需要存储一条1.1.1.1/25的路由,此时如果采用传统的TCAM,如图4所示,则需要把掩码为24,16,8的条目往下移,把1.1.1.1/25存放在1.1.1.1/24的位置。假如再存储一条1.1.1.1/26的路由则需要把掩码为25,24,16,8的条目往下移,把1.1.1.1/26存放在1.1.1.1/25的位置。这样便会频繁的移动TCAM中的规则。如果采用带有优先级的TCAM,如图5所示,只需要更改TCAM规则对应的优先级,如上例,假如需要存储一条1.1.1.1/25的路由,只需要在TCAM中找到一个空的位置,并设置这个路由的优先级为25,假如需要存储一条1.1.1.1/26的路由,同理在TCAM中找一个空的位置,并设置这个路由的优先级为26。这样不需要移动TCAM中的规则,便可以达到查找和执行动作的准确性。本专利技术基于带有优先级的TCAM储存和查找方法,还对应揭示了一种带有优先级的TCAM储存和查找装置,如图6所示,其包括网络处理器NP、TCAM表项和RAM存储器,TCAM表项内存储的查找规则配置有对应的优先级,网络处理器NP从报文中提取出关键字输入给TCAM表项,关键字与TCAM表本文档来自技高网...

【技术保护点】
一种带有优先级的TCAM储存和查找方法,其特征在于:配置TCAM表项中存储的各查找规则的优先级,将报文中的关键字与所述TCAM表项中的查找规则进行匹配,若有多个表项同时匹配时,则执行所述TCAM表项中优先级最高的查找规则对应的动作。

【技术特征摘要】
1.一种带有优先级的TCAM储存和查找方法,其特征在于:配置TCAM表项中存储的各查找规则的优先级,将报文中的关键字与所述TCAM表项中的查找规则进行匹配,若有多个表项同时匹配时,则执行所述TCAM表项中优先级最高的查找规则对应的动作。
2.根据权利要求1所述的带有优先级的TCAM储存和查找方法,其特征在于,所述查找规则在所述TCAM表项中的存储是连续的。
3.根据权利要求1或2所述的带有优先级的TCAM储存和查找方法,其特征在于,所述TCAM表项的查找规则为ACL或路由。
4.一种带有优先级的TCAM储存和查找方法,其特征在于:配置TCAM表项中存储的各查找规则的优先级,若向所述TCAM表项中增加至少一条查找规则时,则将增加的所述查找规则存储到TCAM的空余表项内,并配置对应的优先级,将报文中的关键字与所述TCAM表项中的查找规则进行匹配,若有多个表项同时匹配时,则执行所述TCAM表项中优先级最高的查找规则对应的动作。
5.根据权利要求4所述的带有优先级的TCAM储存和查找方法,其特征在于,所述查找规则在所述TCAM表项中的存储是连续的。
6.根据权利要求...

【专利技术属性】
技术研发人员:赵茂聪
申请(专利权)人:盛科网络苏州有限公司
类型:发明
国别省市:江苏;32

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

1