用于改善最长前缀匹配的可扩展性的方法和设备技术

技术编号:7606756 阅读:197 留言:0更新日期:2012-07-22 13:03
一种基于三态内容可寻址存储器(TCAM)的最长前缀匹配(LPM)查找表包括:TCAM,其保持用于查找相关联的RAM中的结果的多个前缀条目,该相关联的RAM存储与TCAM匹配索引相对应的结果;附加的随机访问存储器(RAM),其存储来自该相关联的RAM的结果;以及该TCAM中的一个条目,其表示该附加RAM中来自该相关联的RAM的至少两个条目,从而使得该TCAM中的至少一个条目可用。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及用于改善用于执行最长前缀匹配的设备的可扩展性的方法和设备。
技术介绍
最长前缀匹配(LPM)是在数据库中所存储的多个前缀之中寻找与给定查找密钥匹配的最长匹配的问题。可以在许多应用中使用LPM,并且LPM不限于IP路由,但是由于IP 路由是其中一个主要LPM应用,所以将仅通过示例性实例在IP路由的环境中讨论本专利技术。最通常在网络桥接、路由以及类似的功能中使用前向信息库(FIB)(又被称为前向表格)来寻找这样一种合适的接口,其中输入接口应该向该合适的接口发送将由路由器传输的分组。因此,FIB包含具有对应的输出接口的前缀集合。通过寻找与查找密钥匹配的最长前缀来进行前向判决。目前最常使用的查找密钥是分组的IPv4或IPv6目的地地址。可以利用随机访问存储器(RAM)通过使用诸如M-键树、位图树之类的算法,或者利用诸如三态内容可寻址存储器(TCAM)的快速硬件查找机制,实现FIB或用于执行LPM的其他设备。虽然高级的基于RAM的FIB实现/算法足以保持数百万个前缀,但是在查找密钥宽度看来它们是不可扩展的,因为到FIB存储器的通路的数量取决于查找密钥宽度。通常,密钥越宽则需要越多的查找。另一方面,利用基于TCAM的FIB或LPM实现,查找时间是恒定的。然而,基于TCAM 的FIB或查找表格在前述数量方面而言是不可扩展的。如今已知的最高级的TCAM设备具有40M比特的容量,其可用于保持高达0. 5M个前缀。因此,长期感觉存在对于用于执行在前缀的数量方面和在查找密钥长度方面都可扩展的最长前缀匹配的方法和装置的需求。
技术实现思路
本专利技术提出的技术方案是为了通过利用具有相关联的结果RAM的TCAM设备,添加附加RAM并且向代表该附加RAM中的多个条目的TCAM插入条目来改善LPM可扩展性。将要意识到该结构提供具有特定扩展性的LPM查找表,其具有比常规方式更少的TCAM条目。 这样,能够使用更小的TCAM设备或者释放更多的TCAM条目以便有可能被其他应用使用。根据本专利技术提供了一种用于建立最长前缀匹配查找表的方法,包括在TCAM(三态内容可寻址存储器)中排列多个前缀条目并且向相关联的结果RAM(随机访问存储器)插入与TCAM匹配索引相对应的结果,该方法包括选择能够被减少成该TCAM中的单个条目的至少两个前缀条目的组群,其中单个条目包括用于该组群中的全部前缀条目的公共前缀; 排列来自该相关联的RAM的、由附加RAM中的前缀组群表示的结果;用指向该附加RAM中的多个结果的单个TCAM条目来替换TCAM中的该前缀条目的组群,从而使得该TCAM中的至少一个条目可用;并且由指向该附加RAM中的多个条目的一个条目来替换该相关联的RAM中的多个条目。根据本专利技术还提供了一种用于执行最长前缀匹配(LPM)查找的方法,该方法包括建立和维持查找表,所述查找表包括TCAM和相关联的结果随机访问存储器(RAM)以及附加 RAM,其中,由该TCAM中的一个条目来表示该附加RAM中的至少两个条目,在该TCAM中执行查找,在该相关联的结果RAM中寻找该TCAM中的指向该附加RAM中的结果组群的的一个条目的结果,并且作为响应,通过读取该附加RAM中的该结果组群来完成该查找。根据本专利技术还提供了一种基于三态内容可寻址存储器(TCAM)的最长前缀匹配 (LPM)查找表,其包括TCAM,其保持用于查找相关联的RAM中的结果的多个前缀条目;附加随机访问存储器(RAM),其存储来自该相关联的RAM的结果;并且该TCAM中的一个条目,其表示该附加RAM中来自该相关联的RAM的至少两个条目,从而使得该TCAM中的至少一个条目可用。附图说明通过结合附图的以下详细描述将更好地理解并且认识本专利技术,其中图Ia是根据现有技术,由TCAM条目表示LPM设备条目的示意图;图Ib是根据本专利技术的一个示例性实施方案,由TCAM和附加RAM条目表示图Ia的 LPM条目的示意图;图加是根据现有技术的另一个实施例,由TCAM条目表示LPM设备条目的示意图;图2b是根据本专利技术的另一个示例性实施方案,由TCAM和附加RAM条目表示图加的LPM条目的示意图;图3a是根据现有技术的另一个实施例,由TCAM条目表示LPM设备条目的示意图;图北是根据本专利技术的另一个示例性实施方案,由TCAM和附加RAM条目表示图3a 的LPM条目的示意图。具体实施例方式本专利技术涉及一种使用三态内容可寻址存储器(TCAM)(其相关联的随机访问存储器(RAM)用作结果存储器)和附加RAM来执行最长前缀匹配(LPM)以实现比基于TCAM的标准技术方案更好的可扩展性(对于条目的数量)的方法和装置。该方法通过存储与该 TCAM相关联的RAM中的一部分结果数据和该附加RAM中的一部分数据,并且向代表该附加 RAM中的多个条目的TCAM插入条目来改善LPM可扩展性,从而使得在基于TCAM的常规设备中占用的该TCAM条目中可用。在基于TCAM的常规LPM技术方案中,由一个TCAM条目表示每个LPM条目,其中该 TCAM条目指向相关联的结果存储器(该相关联的RAM)中的结果。在本专利技术中,可以由单个TCAM条目表示LPM条目的组群,其中该单个TCAM条目的前缀是该组群中的全部条目的公共前缀。在该情况中,该相关联的RAM中的相应结果指向附加RAM中的结果数组,其中该附加RAM包含该LPM条目组群中的每个条目的结果。然后可以使用查找密钥的狭窄部分来搜索附加RAM中的条目,从而可以在单个 RAM访问中获得多个结果。这样,在TCAM的查找期间将找到该结果存储器中的一些结果,并且在该附加RAM的后续查找期间将找到其中一些结果。将要认识到,如果需要,则可以提供一个(或多个)其他附加RAM访问,即可以实现多层的RAM数组,每层RAM数组指向持有其结果的一层RAM数组。使用多层RAM的算法可以对于特定尺寸的TCAM和RAM实现LPM条目的更好的可扩展性。该排列的优点在于查找时间,因为将执行多个RAM访问。前缀具有相同的长度M的TCAM条目可以涉及附加RAM中的结果数组,该结果数组包含与该TCAM条目匹配的长度为M+N的全部可能前缀。该数组将包含2N个条目(为与长度为M的特定前缀匹配的长度为M+N的前缀的数量),并且将表示具有长度为M到M+N (含) 的前缀的全部LPM条目,它们与指向该数组的TCAM条目的前缀(长度为M)匹配。当在 TCAM中可以由单个条目来表示LPM条目组群时,结果组群从相关联的结果RAM移动到该附加RAM。其结果在附加RAM中被表示成数组的LPM条目可以从该TCAM去除并且通过指向该相关联的结果RAM中的新的结果的单个条目来替换,其中该新的结果因而指向该附加RAM 中的对应的数组,从而允许用给定的TCAM大小来表示更大的LPM查找表。对应的附加RAM 数组中的后续查找将使用该查找密钥的小得多的部分,即将仅在M至(M+N-1)比特之上,使得可以在附加RAM的单个访问期间获得结果。在相关联的RAM条目中由TCAM查找所指示的结果不再包含原始结果(其现在在附加RAM中)而是包含用于允许真实结果的读取的三个参数——起始比特、步幅大小和基于该查找密钥、起始比特和步幅大小所计算的索引。这些参数指示附加RAM中的该数组的起始位置以及查找本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:V·米丽阿弗斯凯B·施菲
申请(专利权)人:康帕斯电子光学系统有限公司
类型:发明
国别省市:

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

1
相关领域技术