TCAM路由器查表技术分析
    ○ 郭铸文
    为了充分解决路由器查表效率问题,许多高端路由器采用了专用的硬件查找技术TCAM(三进制内容可寻址存储器)方案,以硬件化的路 由表查找和分组转发技术实现对各类数据包的快速分类和路由,同时支持ACL和MPLS的查找。下面将专门对TCAM技术的查找机制进行分析。
    内容可寻址存储器(CAM)是一种专用于进行查表操作的硬件芯片。与其他基于算法的解决方案相比,CAM具有十分卓越的性能,也 更具可扩充性。高速的三进制CAM(TCAM)允许对位域进行0、1或X(忽略)三种方式的屏蔽,因此可以用来确定最长前缀匹配。TCAM的高速性能也使 得它们可以用于IP包的线速转发,而且与基于软件的方式不同,TCAM的查找性能与路由表的大小和内容无关。随着芯片技术的提高,单片可以容纳64K个 64位路由表项的TCAM也已经很普遍了。
    图1显示了一个简单的CAM表,包含4个5位的二进制表项,每个位都是一个比较电路,可以存储内容(1或者0)和进行比较操 作。Search lines 在垂直的方向上向所有的CAM单元广播被查找数据,match lines在水平方向穿过整个行来判断此表项是否匹配。在这个例子里CAM芯片找到两条匹配的行,把它们输入encoder(编码器),encoder选 择了最长的1行作为目标,输出了地址01。在图2里,这个地址01被输入到RAM(内存)里获得了一个对应的端口描述符。以上这些操作全部基于硬件, CAM里两个方向的查找都是比较电路一次输出结果,这个结果输入encoder直接对应一个地址(这个地址是RAM里的实地址),系统只要从这个地址读取 内容,就得到了这个报文应该发往的系统端口标识符。 
TCAM路由器查表技术分析

TCAM路由器查表技术分析
    从这个例子可以看到,TCAM表查找技术和这个表的大小没有关系。

最后再上传一个详细介绍TCAM的文章: