一种tcam表项优先级的分配方法

文档序号:7556135阅读:223来源:国知局
专利名称:一种tcam表项优先级的分配方法
技术领域
本发明涉及网络通信技术领域,尤其涉及以太网中TCAM表项中优先级的分配方法。
背景技术
TCAM (Ternary Content Addressable Memory,三态内容寻址存储器)的表项始终是按照一个顺序,从上往下查询逐条匹配,如果匹配成功就立刻停止查询。如果TCAM表中,只有一条表项是匹配的,那就只能是一个结果;如果存在多条表项匹配,那就只能是优先级高的匹配成功,而优先级低的就不会被匹配了。所以在以太网应用中,比如ACL(AccessControl List,访问控制列表)的访问中,就有存在多个表项匹配的可能性,所以需要一种机制来管理表项的优先级。在整理TCAM表项优先级时,传统的做法是根据给定的优先级,从高优先级往低优先级遍历,找到该优先级恰当的存放位置。这个存放位置可能是空的,也可能已经让别的表项占了。如果是空的,那么不需要搬移就能使用。如果被别的表项占了,那需要先做搬移然后腾出一个空的位置再使用。这种方法虽然可以保证优先级排序的正确性,但是这种方案没有考虑性能问题。假设第一条表项是放在TCAM的第一个索引位置,也就是优先级最高的位置,然后每次都加入一个优先级更高的表项,则需要每次都要搬移前面下过的所有表项。下N条表项,需要搬移1+2+...+(η-1)次。搬移TCAM的表项是一件耗时的工作,因此这种效率在实际应用过程中是非常低效的,尤其当N很大时,表项下的越多搬移耗时越长。

这种方法的第二个缺点是,搬移的方向不是根据搬移次数的多少,而是根据目标表项优先级变化的方向:优先级从低变成高时,搬移是往低的方向;优先级从高变成低时,搬移是往高的方向。现有技术方案固守一个方向,没有权衡两个方向的搬移次数,因此不是最优的。

发明内容
本发明的目的之一是通过优化TCAM中整理优先级的搬移方法,比较两个搬移方向的搬移次数,找到最佳的搬移方向,从而简化表项的搬移过程。本发明的另一目的是在表项的搬移次数达到预设的一定条件时,则对已有表项进行重新排序,使重新排序后的索引达到一种最优状态,这种状态可以使之后的搬移次数尽可能地减少。为实现上述目的,本发明提出如下技术方案:一种TCAM表项优先级的分配方法,在整理TCAM表项的优先级时,如果某一表项的目标位置为非空位置,则比较将所述表项搬移至所述目标位置通过向上搬移和向下搬移所需的表项搬移数,并选择表项搬移数较少的搬移方向为所述表项的搬移方向。当所述搬移数较少的表项搬移数大于预先设定的触发值时,则触发表项优先级的重排算法,将TCAM中的所有表项进行重新排序,使每一表项到达最优位置。所述重新排序是将整个TCAM的所有表项尽可能地离散开。所述重排算法下,每一表项重排的最优位置为:(TCAM索引的个数/现有表项的个数)*当前表项在现有表项中的相对位置。所述预先设置的触发条件根据软件计算耗时及表项移动一次的耗时设定。在整理TCAM表项的优先级时,如果某一表项的目标位置为非空位置,则首先需要将所述目标位置的表项向上或向下搬移,使目的位置为空位置。在整理TCAM表项的优先级时,如果某一表项的目标位置为空位置,则直接将所述表项搬移至目标位置。与现有技术相比,本发明在搬移方向上不再拘泥于一个方向,而是考虑了双向,为使目的索引变成空的,比较了向上搬移和向下搬移所需要的表项搬移次数,最后选取次数较少的那个方向。因为向上搬移和向下搬移的耗时是均等的,所以只要保证次数更少,就能保证搬移耗时更短。其次,本发明提出触发重排的机制,即在搬移次数达到某个条件时,重排算法被触发,将现有TCAM中的所有表项进行重新排序,使之达到一种最优的状态。触发的条件是一种实验数据,需要权衡包括软件计算耗时,表项移动一次的耗时等,其核心是将整个TCAM的所有表项尽可能地离散开来,因为越是离散的表项,搬移的可能性就越小,搬移的次数也越少。在极端条件下,每两个表项之间都有一个空的索引,那么任何优先级的改变最多只需要搬移一次。所以在重排算法下,每个表项都有它的最优位置,这个位置的计算方法即:(TCAM索引的个数/现有表项 的个数)*当前表项在现有表项中的相对位置。这个简单算法计算速度快,表项的目的索引是唯一的,并尽可能地将现有表项离散开来,从而大大的提升了整理优先级的速度。


图1是本发明TCAM表项中优先级分配方法的流程示意图;图2A C是本发明TCAM中进行双向搬移表项的示意图;图3A C是本发明TCAM中当表项的搬移次数大于预设值时,表项重新排序的示意图。
具体实施例方式下面将结合本发明的附图,对本发明优选实施例中的技术方案进行清楚、完整的描述。本发明提出的TCAM中表项优先级的分配方法,如图1所示,其在表项的搬移方向上通过比较向上、向下双向搬移的次数后,选取搬移次数较少的方向为表项的搬移方向。如图2A C所示TCAM表中,共有6条表项,其索引和优先级分别是索引I对应的优先级是100,索引2对应的优先级是90,索引3对应的优先级是80,索引4对应的优先级是30,索引5对应的优先级是20,索引7对应的优先级是5。现在将表项中索引5的优先级改为50,则该索引5的目标位置在优先级80和优先级30之间。如图2A所示,在优先级为80的索引3和优先级为30的索引4间没有空余的位置,即索引5的目标位置为非空,因此,此时首先需要将目标位置的表项搬移至其他位置。如果采用向上搬移的方向,则需要搬移3个表项,如图2B所示;如果采用向下搬移的方向,则需要搬移2个表项,如图2C所示;将向上搬移的次数和向下搬移的系数相比较,得出向下搬移次数更少,所以采取将TCAM表项向下搬移的方式。对于表项的搬移次数达到预先设定的条件时,则表项重排算法被触发,从而对现有TCAM中的所有表项进行重新排序,使其达到一种最优的状态。重排算法的核心思想是将整个TCAM中的所有表项尽可能地离散开来,因为越是离散的表项,搬移的可能性就越小,搬移的次数也就越少。如图3A C的TCAM中有5条表项,其索引和优先级分别是:索引O对应的优先级是100,索引I对应的优先级是90,索引2对应的优先级是80,索引3对应的优先级是70,索引4对应的优先级是60。现将优先级是60的表项改为优先级110,目标位置在索引0,因此需要将索引0、1、2、3、4分别向下移动一个位置,总共需要搬移5个表项。假设预先设定的条件为4次,因为这种搬移次数到达了预先设置的条件,因此触发了重新排序。根据前面给定的公式,重新排序的结果是,所有表项都间隔一个位置存放,尽可能地离散开来,形成如图3C所示的重排后的排列方式,大大提升了 TCAM中整理优先级的速度。本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。`
权利要求
1.一种TCAM表项优先级的分配方法,其特征在于:在整理TCAM表项的优先级时,如果某一表项的目标位置为非空位置,则比较将所述表项搬移至所述目标位置通过向上搬移和向下搬移所需的表项搬移数,并选择表项搬移数较少的搬移方向为所述表项的搬移方向。
2.根据权利要求1所述的TCAM表项优先级的分配方法,其特征在于:当所述搬移数较少的表项搬移数大于预先设定的触发值时,则触发表项优先级的重排算法,将TCAM中的所有表项进行重新排序,使每一表项到达最优位置。
3.根据权利要求2所述的TCAM表项优先级的分配方法,其特征在于:所述重新排序是将整个TCAM的所有表项尽可能地离散开。
4.根据权利要求2或3所述的TCAM表项优先级的分配方法,其特征在于:所述重排算法下,每一表项重排的最优位置为: (TCAM索引的个数/现有表项的个数)*当前表项在现有表项中的相对位置。
5.根据权利要求2所述的TCAM表项优先级的分配方法,其特征在于:所述预先设置的触发条件根据软件计算耗时及表项移动一次的耗时设定。
6.根据权利要求1所述的TCAM表项优先级的分配方法,其特征在于:在整理TCAM表项的优先级时,如果某一表项的目标位置为非空位置,则首先需要将所述目标位置的表项向上或向下搬移,使目的位置为空位置。
7.根据权利要求1所述的TCAM表项优先级的分配方法,其特征在于:在整理TCAM表项的优先级时,如果某一表项的目标位置为空位置,则直接将所述表项搬移至目标位置。
8.一种TCAM表项优先级的分配方法,其特征在于:在整理TCAM表项的优先级时,如果某一表项的目标位置为非空位置,则比较将所述表项搬移至所述目标位置通过向上搬移和向下搬移所需的表项搬移数,且当比较后得到的较少的表项搬移数大于预先设定的触发条件时,则触发表项优先级的重排算法,将TCAM中的所有表项进行重新排序,使每一表项到达最优位置。`
9.根据权利要求8所述的TCAM表项优先级的分配方法,其特征在于:所述重排算法下,每一表项重排的最优位置为: (TCAM索引的个数/现有表项的个数)*当前表项在现有表项中的相对位置。
10.根据权利要求2所述的TCAM表项优先级的分配方法,其特征在于:所述预先设置的触发条件根据软件计算耗时及表项移动一次的耗时设定。
全文摘要
本发明揭示了一种TCAM表项优先级的分配方法,其在整理TCAM表项的优先级时,如果某一表项的目标位置为非空位置,则比较将所述表项搬移至所述目标位置通过向上搬移和向下搬移所需的表项搬移数,并选择表项搬移数较少的搬移方向为所述表项的搬移方向,当所述搬移数较少的表项搬移数大于预先设定的触发值时,则触发表项优先级的重排算法,将TCAM中的所有表项进行重新排序,使每一表项到达最优位置,这样大大提高了TCAM表项中优先级的整理速度。
文档编号H04L12/741GK103248575SQ201310178660
公开日2013年8月14日 申请日期2013年5月14日 优先权日2013年5月14日
发明者周志洪, 陶秋平, 何志川, 赵茂聪 申请人:盛科网络(苏州)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1