• 正在加载中...
  • TCAM

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

    编辑摘要
    本词条内容尚未完善,欢迎各位编辑词条,贡献自己的专业知识!

    目录

    一、简介/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网络中。

    二、特点/TCAM 编辑

      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中

    三、查找操作/TCAM 编辑

      1、从包的内容中读取相关字段(如,前缀、掩码等)
      2、创建查找关键字(lookup key)
      3、用lookup key和TCAM中的Value段对比,如果匹配了某Value,则将该Value和对应的Mask关联
      4、返回最长匹配结果(值(Value)+掩码(Mask))=结果)

    四、TCAM操作相关组件/TCAM 编辑

    1、FM(特性管理器)

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

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

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

    五、TCAM生产商/TCAM 编辑

      主要有:
      1.XEL(雄立科技)
      2..Netlogic
      这两家分别将TCAM器件称作Intelligent Search Engine(ISE)和Knowledge-based Processor(KBP)。

    六、TCAM在通信领域的用途/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技术产生的背景及其原理与应用/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存储单元图

    添加视频 | 添加图册相关影像

    互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于www.baike.com。

    登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。

    互动百科用户登录注册
    此词条还可添加  信息模块
    编辑摘要

    WIKI热度

    1. 编辑次数:10次 历史版本
    2. 参与编辑人数:8
    3. 最近更新时间:2015-02-03 09:16:43

    互动百科

    扫码下载APP