请输入您要查询的百科知识:

 

词条 TCAM
释义

一、简介

TCAM (ternary content addressable memory)是一种三态内容寻址存储器,主要用于快速查找ACL、路由等表项。

它是从CAM的基础上发展而来的。一般的CAM存储器中每个bit位的状态只有两个,“0”或“1”,而TCAM中每个bit位有三种状态,除掉“0”和“1”外,还有一个“don’t care”状态,所以称为“三态”,它是通过掩码来实现的,正是TCAM的这个第三种状态特征使其既能进行精确匹配查找,又能进行模糊匹配查找,而CAM没有第三种状态,所以只能进行精确匹配查找。

TCAM具有查找速度快、操作简单的优点,但同时它也具有3个明显的缺点:成本高、功耗大和路由更新复杂。路由器为了实现负载平衡以及策略路由,在路由表中保存着相当数量的具有多个下一跳的路由表项。基于TCAM技术,提出一种支持多下一跳的高速路由查找方案。方案通过两级索引表实现了多下一跳路由的存储和快速访问。为了提高TCAM的更新效率,方案还提出了一个N子空间TCAM更新算法。该算法对目前实际网络中的路由表,可达到近似O(1)的更新复杂度。为了减少TCAM的成本和功耗,方案中还使用了有效的路由压缩技术。压缩技术基于Trie树结构,实现简单。应用压缩技术,对于实际网络中的路由表,可减少20%的路由。该查找方案可以很容易地应用到未来的IPv6网络中。

二、特点

1、TCAM 表内所有条目都可以并行访问,比如,如果你有100条ACL,TCAM能一次就能对比这100条ACL进行对比操作,过去如果有100条ACL的话,需要第一条ACL对比完后再对比第二条,然后第三条,直至N条,效率很明显没有TCAM高。

2、TCAM得结构已经经过了优化,支持更抽象的操作,通常是基于二进制关键字匹配,查询相当快

如FIB TCAM中每个表项都有对应的下一条,而每个下一条有维护了下一条邻居的MAC。

2、正因为有上边的这些特性,所以无论表内有多少条数目,性能都不会减弱。

3、TCAM 包含多组的Mask 与Value 对应关系,对应比例为1:8,一个Mask可对应8个Value。最长掩码位于TCAM顶部,如255.255.255.255位于最顶部,用于最长匹配,提升查找速率。

4、Mask 用于表示Value 的匹配方法,1 为必须比较并匹配,0 为不用比较。

5、TCAM的可用掩码、值模式、LOU表项有限,如果访问列表很大或需要很多第四层运算,TCAM表和寄存器很可能溢出。

6、TCAM成本比较高,存储空间的单位价格高于普通的sram,而且耗能也远远高于sram

7、由于TCAM的并行查找特性和三态,存储必须以前缀形式来存储,比如一个range需要拆分成几个更小的可以表示成前缀形式的range才可以存储在TCAM中

三、查找操作

1、从包的内容中读取相关字段(如,前缀、掩码等)

2、创建查找关键字(lookup key)

3、用lookup key和TCAM中的Value段对比,如果匹配了某Value,则将该Value和对应的Mask关联

4、返回最长匹配结果(值(Value)+掩码(Mask))=结果)

四、TCAM操作相关组件

1、FM(特性管理器)

在创建或配置访问列表后,FM软件将匹配语句编译(合并)为TCAM表项,这样就可以以帧转发速度查询TCAM

2、SDM(交换数据库管理器)

在某些Catelyst交换机中,可以将TCAM划分为不同的功能区域,SDM软件将配置或调整TCAM分区,Catelyst4500 和6500交换机,TCAM是固定的,不能分区。

五、TCAM生产商

主要有:

1.Cypress

2.IDT

3.Netlogic

这三家分别将TCAM器件称作Network Search Engine(NSE)、Network Search Accelerator(NSA)和Knowledge-based Processor(KBP)。

六、TCAM在通信领域的用途

主要有:

1).ATM Switching设备中的VCI/VPI转发和ATM-to-MPLS or ATM-to-TCP-Flow地址映射表项的存储和查找;

2).Ethernet Switching设备中的二层MAC地址、ARP/RARP解析和三层IP路由表项的存储和查找;

3).Emerging Protocols and functions方面的MPLS label表项的存储和查找;

4).Packet Classification业务中的Enforce security、Enforce departmental policies和QOS检测表项的存储和查找;

5).安全防护设备中的FIB/LBT、MFIB及ACL表项存储和查找。

七、TCAM技术产生的背景及其原理与应用

传统的表项查找方法有很多,主要有:线型查找法、二叉树查找法、哈希表查找等,这些查找方法都是基于SRAM的软件查找方法,共同特点是查找速度慢。线型查找法需要遍历表中的所有表项;二叉树查找法需要遍历树中大多数节点,而且查找速度受树的深度影响较大;哈希表查找法是软件查找中计较快的一种方法,它是根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地址或散列地址。虽然哈希表查找法相对来说比较快,但还是满足不了高速实时通信系统(如40G/100G POS)的极速查找需求。 基于硬件的TCAM查找法正是在这种背景下提出的,用此方法进行查找时,整个表项空间的所有数据在同一时刻被查询,查找速度不受表项空间数据大小影响,每个时钟周期完成一次查找,平均查找速度是基于SRAM算法查找的6倍,最坏情况下,能达到128倍。

1.TCAM的硬件设计方式

TCAM器件的硬件设计方式一般有三种,如下图所示:

......................................................................................................................................................................................

网络处理器NP从报文头中把需要查找的信息提取出来,这个待查找的信息要整理成跟TCAM所存表项的格式一致,称之为KEY。KEY作为TCAM的输入数据,经过与表项对照,如果有匹配的表项,就把该表项所在的地址作为输出,称之为Index。然后将Index作为RAM的地址输入,从RAM里得到所需查找的信息,称之为Data。最后将Data返回给发起查找操作的NP,至此完成一次查找操作。

.........................................................................................................................

2.TCAM在高端路由器中的应用及查找过程

..........................................................................................................................................................

3.CAM和TCAM的基本存储单元

.......................................................................................................................................................................

cam存储单元图

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/31 1:55:55