基于TCAM的范围匹配方法——C-TCAM
2012-11-06朱国胜余少华
朱国胜,余少华,2
(1. 华中科技大学 计算机学院,湖北 武汉 430074;
2. 武汉邮电科学研究院 新一代光纤通信技术和网络国家重点实验室,湖北 武汉 430074)
1 引言
互联网路由交换网络设备需要采用分组分类技术,将到达分组的头部信息和分类规则库中的规则条件进行匹配,并根据匹配结果实现规则动作,包括转发、丢弃、队列排队等,从而实现访问控制、安全过滤、带宽控制等。和IP路由查找一样,分组分类功能处在网络设备的数据平面,需要进行每分组处理,对性能要求很高。
目前,业界普遍采用三态内容寻址存储器(TCAM, ternary content-addressable memory)来实现高速分组分类,Cisco的Catalyst 6500高端交换机采用多片TCAM来分别实现3层IP路由、访问控制列表ACL、分组分类以及NETFLOW等功能[1]。TCAM 可配置成 36bit、72bit、144bit、288bit、576bit等宽度,用于存储固定宽度的查找条件。和普通内存通过地址寻找内容不同,TCAM通过内容来定位地址,它将查找关键字和所有TCAM表项进行并行比较来定位关键字匹配的存储地址,根据得到的地址来得到存储在快速SRAM中的规则动作。TCAM的并行特性使得分组分类查找可以在固定的时钟周期内完成,目前TCAM的时钟周期可以做到2ns,可以实现 500MSPS的查找速率[2],TCAM 三态特性需要采用多达 16个晶体管来实现一个比特的存储,导致芯片面积较大而且价格较高,而TCAM的并行比较特性使得功耗很高,一个18Mbit的TCAM功耗高达15W[3]。因此在单板线卡设计中必须考虑TCAM 的成本、功耗和体积,并充分利用 TCAM的每个比特。
有效利用 TCAM 来完成高速分组分类的主要障碍是TCAM不适合实现范……
