TCAM概念

发布时间:   来源:文档文库   
字号:
百度知道
一、简介
TCAM(ternarycontentaddressablememory是一种三态内容寻址存储器,主要用于快速查找ACL、路由等表项。
TCAM具有查找速度快、操作简单的优点,但同时它也具有3个明显的缺点:成本高、功耗大和路由更新复杂。路由器为了实现负载平衡以及策略路由,在路由表中保存着相当数量的具有多个下一跳的路由表项。基于TCAM技术,提出一种支持多下一跳的高速路由查找方案。方案通过两级索引表实现了多下一跳路由的存储和快速访问。为了提高TCAM更新效率,方案还提出了一个N子空间TCAM更新算法。该算法对目前实际网络中的路由表,可达到近似O(1的更新复杂度。为了减少TCAM的成本和功耗,方案中还使用了有效的路由压缩技术。压缩技术基于Trie树结构,实现简单。应用压缩技术,对于实际网络中的路由表,可减少20%的路由。该查找方案可以很容易地应用到未来的IPv6网络中。
二、特点
1TCAM表内所有条目都可以并行访问,比如,如果你有100ACLTCAM能一次就能对比这100ACL进行对比操作,过去如果有100ACL的话,需要第一条ACL对比完后再对比第二条,然后第三条,直至N条,效率很明显没有TCAM高。
2TCAM得结构已经经过了优化,支持更抽象的操作,通常是基于二进制关键字匹配,查询相当快.FIBTCAM中每个表项都有对应的下一条,而每个下一条有维护了下一条邻居MAC
正因为有上边的这些特性,所以无论表内有多少条数目,性能都不会减弱。
3TCAM包含多组的MaskValue对应关系,对应比例为1:8,一个Mask可对应8Value。最长掩码位于TCAM顶部,如255.255.255.255位于最顶部,用于最长匹配,提升查找速率。
4Mask用于表示Value的匹配方法,1为必须比较并匹配,0为不用比较5TCAM的可用掩码、值模式、LOU表项有限,如果访问列表很大或需要很多第四层运算,TCAM表和寄存器很可能溢出。
三、查找操作
1、从包的内容中读取相关字段(如,前缀、掩码等)2、创建查找关键字(lookupkey
3lookupkeyTCAM中的Value段对比,如果匹配了某Value则将该Value和对应的Mask关联
4、返回最长匹配结果(值(Value+掩码(Mask=结果)
四、TCAM操作相关组件

1FM(特性管理器)
在创建或配置访问列表后,FM软件将匹配语句编译(合并)为TCAM表项,这样就可以以帧转发速度查询TCAM
2SDM(交换数据库管理器)
在某些Catelyst交换机中,可以将TCAM划分为不同的功能区域,SDM软件将配置或调整TCAM分区,Catelyst45006500交换机,TCAM是固定的,不能分区。

网络随意
ACL(访问控制列表是一个有序的语句集,在路由器的业务处理中广泛应用。它是一个基于将规则与报文进行匹配,用来允许或拒绝报文流的排序表。在传统的ACL匹配过程中,当路由器处理某种业务时,根据报文的某种特征,去到ACL表中逐一匹配,如果命中,则执行相应规则中指定的动作;如果报文不匹配,则继续匹配下一个语句。
在路由器中,多业务处理带来的频繁的对ACL表的访问,使得路由器性能大大下降。为使路由器在某些特定复杂的应用环境中表现出更优越的性能,需要一种高效实用的方法来实现对访问控制列表(ACL)的访问,TCAM正好满足了这种需求。TCAMACL中的应用放弃了原来对ACL表项的逐条查找匹配算法,使用特定硬件搜索,可以在极短时间(一般几个cycle)即可完成对每条语句高达几百比特位的ACL列表的搜索,从而大大提高了对ACL表的查找速度。
高速的三进制CAMTCAM)不同于CAM,它允许对位域进行01X(忽略)三种方式的屏蔽,因此使用起来又为方便,广泛应用于路由器ACL匹配及路由查找时的最长前缀匹配。TCAM的优越的内容查找性能配合网络处理器的对报文的高速处理能力,满足了路由器对IP报文的线速转发能力。

在传统的基于软件的查找方式中,查找性能取决于ACL表的深度以及匹配规则在表中的地址,而基于TCAM的查找性能与ACL表的大小和内容无关。尤其是在ACL表项越多,所匹配的规则在表中的地址越靠后时,性能提高越为明显。使用TCAM实现ACL管理及搜索,一改传统方法的逐条匹配原则,采用先进的硬件搜索引擎实现并行匹配,一次匹配既可以得出结果(范围匹配除外,从而大大提高了路由器查找ACL表项的速度,在高端核心路由器中得到越来越广泛的应用。
目前业界知名设备厂商的中高端路由器无一例外地采用NSE(网络搜索引擎来加速ACL路由表地查找速度,其核心技术就是TCAM。现在世界上知名TCAM成产厂商,诸如CYPRESSIDT等,都针对不同地网络处理器推出了自己的不同产品,可以为业界先进的网络处理器提供无缝接口,从而大大简化了网络设备的硬件设计。
随着高速发展的网络市场对网络设备不断地提出更新、更多的需求,TCAM一定会在高端网络设备中得到越来越广泛的应用。


ACL占用TACM测试
交换机TCAM原始状态:


添加acl,但是不使用,即不配置到对应的接口后的tcam状态:

绑定到相应的接口后:


类似如下的ace可以汇总的:ipaccess-listextendedtest1
permittcpany172.17.2.25255.255.255.255eq5189permittcpany172.17.2.25255.255.255.255eq22permittcpany172.17.2.25255.255.255.255eq8080permittcpany172.17.2.25255.255.255.255eq23可以汇总为:
ipaccess-listextendedtest1
permittcpany172.17.2.25255.255.255.255eq518922808023
但是这样类似的汇总不会减少tcam的占用,仅能将4ACE汇总为1ACE而已,方便书写。总结:
1ACL不匹配相应的接口,即不调用的时候,不会占用TCAM条目;
2多条ACE除了端口不同外其他都相同,则可以使用eq跟多个端口来汇总成一条ACE以方便管理,减少ACE的条目使用。但是不能减少TCAM的占用数目。


本文来源:https://www.2haoxitong.net/k/doc/cf2ac4ec0975f46527d3e1c5.html

《TCAM概念.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式