TCAM (ternary con阳温既约是通啊tent addressable memory)是一种三态内容寻址存储器,主要用于快速查席天增状阻华路伯找ACL、路由等表项。
- 外文名称 ternary content addressable memory
- 简称 TCAM
- 性质 三态内容寻址存储器
- 作用 用于快速查找ACL、路由
简介
它是从CAM的基础上发展而来的。一般的CAM存储器中每个bit位的状态只有两个,"0"或"1",而TCAM中来自每个bit位有三种状态,除掉"0"和"1"外,还有一个"don't care"状态,所以称为"三态",它是通过掩码来实现的,正是TCAM的这个第三种状态特征使其既能进行精确匹配查找,又能进行模糊匹配查找,而CAM没有第三种状态,所以只能进行精确匹配查找。
特点
1、TCAM 表内所有条目都可以并行访问,比360百科如,如果你有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军基。最长掩码位于TC茶问附印经应否走类调批AM顶部,如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和T来自CAM中的Value段对比,如果匹配了某Val360百科ue,则将该Value和对应的Mask关联
4、返回最长匹配结果(值(Value)+掩码(Mask))=结果)
相关组件
FM
(特性管理器)
在创建或配氧孙在探半置访问列表后,FM软件将匹配语句编译(合并)为TCAM表项,这样就可以以帧转发速度查询TCAM
SDM
(交换数据库管理器)
在某些Catelyst交换机中,可以将TCAM划分为不同的功能区域,SDM软件将配置或调整TCAM分乱输青艺陈打区,Catelyst4500 和6500交换机,TCAM是固定的,不能分区。
生产商
主要有:
1.XeL(雄立科技)
2.固候听又宣游药跟而Netlogic
费学跑浓季计 这二家分别将TCAM器件称住松识指作Intelligent 敌紧立次协Search Engine(ISE) 和Knowledge-base市划接压就操烟胜判d Processor(KBP)。
相关用途
主要有:
1).ATM S煤适将面鱼苗牛教witching设备中的VCI/VPI转发和ATM-to-MPLS or ATM-to-TCP-Flow地址映射表项的存储和查找;
2).Ethernet Switching设备中的二层MAC地址、ARP/RARP解析和三层IP路由表项的存储和查找;
3).Emerging Prot西赶纪ocols and functions方面的M终美凯法内国足PLS label表项的存储和查找;
4).Packet Classification业务中的Enforce security、Enforce departmental policies和QOS检测表项的存储和查找;
5).安越千说义球以热化全防护设备中的FIB/LBT、MFIB及ACL表项存储和查找。
应用
传统的表项查找方法有很多,主要有:线型查找法、二叉树查找法、哈希表查找等,这些查找方法都是基于SRAM的软件查找方法,共同特点是查找速度慢。线型查找法需要遍历核范由费之当英值表中的所有表项;二叉树查找法需要遍历树中大多数节点,而且查候下史白意肉征找速度受树的深度影响较大;哈希表查找法是软尼里施永件查找中较快的一种庆石校握关析画常晚方法,它是根据设定的哈希函数H(key)和处理冲突方法将一组良包减哥关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储职教英话击括率水位置,这种表称为哈希表或散列,所得存储位置称为哈希地址或散列地址。虽然哈希表查找法相对来说比较快,但还是满足不了高速实时通信系统(如40G/100G POS)的极速查找需求。 基于硬件的TCAM查找法正你你硫总正是在这种背景下提出的,用此方法进行查找时,整个表项空间的所有数据在同一时刻被查询,查找速度不受表项空间数据大小影响,每个时钟周期完成一次查找,平均查找速度是基于SRAM算法查找的6倍,最好情况下,能达到128倍。
TCAM的硬件设计方式
TCAM器件的硬件设计方式一般有三种,如下图所示:
tcam硬件设计原理图网络处理器NP从报文头中把需要查找的信息提取出来,这个待查找的信息要整理成跟TCAM所存表项的格式一致,称之为KEY。KEY作为TCAM的输入数据,经过与表项对照,如果有匹配的表项,就把该表项所在的地址作为输出,称之为Index。然后将Index作为RAM的地址输入,从RAM里得到所需查找的信息,称之为Data。最后将Data返回给发起查找操作的NP,至此完成一次查找操作。
TCAM在高端路由器中的应用及查找过程
TCAM在高端路由器中的应用
CAM和TCAM的基本存储单元
tcam存储单元图