0 什么是TCAM
在当今网络技术日益发展的背景下,汽车网络、数据中心、企业网络乃至家用路由器等设备对数据处理速度和效率的要求不断提升。为了应对这一挑战,交换机芯片中采用了一项关键技术——TCAM(Ternary Content Addressable Memory,三元内容寻址存储器)。本文将带您深入了解TCAM的工作原理及其在网络设备中的应用。
TCAM简介
与传统的RAM(随机存取存储器)不同,TCAM是一种非常快速的、基于硬件的查找存储器技术,它允许同时对大量数据进行搜索匹配操作。TCAM的核心特征在于它可以存储额外的“无所谓”状态,除了常规的0和1之外,这使得TCAM能够实现更为灵活和快速的数据匹配查找。
TCAM在交换机芯片中的角色
交换机芯片中的TCAM主要用于高速的路由查找、安全策略的实施(如访问控制列表ACL)以及流量管理(如QoS质量服务)。这些功能对于确保数据包正确、快速地在网络中传输至关重要。
路由查找: 在数据包转发过程中,TCAM能够快速匹配目的IP地址,查找到对应的路由信息,确保数据包通过最佳路径发送。
安全策略实施: TCAM可以存储大量的访问控制列表(ACL)规则,并且在收到数据包时,能迅速判断该数据包是否符合这些规则,从而实现安全控制。
流量管理: 通过利用TCAM进行流量分类和优先级标记,网络设备可以根据预定的策略对不同类型的流量进行处理,保证重要数据的传输品质。
TCAM的优势与挑战
优势
高速匹配: TCAM能够提供几乎瞬时的数据匹配,极大地提高了查找效率。
灵活性: 三态的存储能力使得TCAM适用于各种复杂的匹配场景。
挑战
成本: TCAM较传统存储器成本更高,这增加了设备的总体成本。
功耗: TCAM的功耗相对较高,需要特别考虑散热和能耗问题。
5.3.6.0 介绍
Marvell 88Q5072 TCAM 条目的默认大小为 48 字节(所谓的“TCAM 基础条目 TCAM base entry”),但也可以通过第二个 48 字节的 TCAM 条目(所谓的“TCAM 后续条目 TCAM follow-up entry”)扩展到 96 字节。在 88Q51xx(Fir/Fir+)系列交换机上,您可以进一步扩展以匹配多达 144 字节的流量。TCAM 后续条目被组合在一起,允许将同一个 TCAM 基础条目链接到多个 TCAM 后续条目。48 字节的 TCAM 条目将匹配任何长度的数据包。96 字节的条目将匹配 60 字节或更大的数据包(顾及交换机允许的最小值为 60 字节)。144 字节的条目将匹配 97 字节或更大长度的数据包。
交换机有 2 个与 TCAM 相关的新功能:
■ 入站范围比较器 - 范围比较器允许用户匹配 TCP/UDP 端口号或 VLAN ID 的范围。
■ 出站操作 - 出站操作支持第 3 层静态路由操作。
图 24 显示了 TCAM 块的逻辑结构。请注意,第三个匹配阶段(最多 144 字节)仅存在于 88Q51xx 系列交换机中。
图 24 :TCAM流程图
入站操作(Ingress actions)在数据包转发到其他端口之前发生。
操作示例包括:
■ 能够更改 VLAN ID 和数据包优先级。
■ 在拥塞情况下丢弃数据包或将其标记为可丢弃。
■ 将数据包连接到入站限制资源,或 802.1Qci 流。
■ 镜像数据包或覆盖/限制其目的端口。
■ 将数据包标记为用于 L3 静态路由。
出站操作旨在进行第 3 层(Layer 3)静态路由操作:
■ 更改/移除 VLAN ID 和优先级。
■ 从 ARP 表中替换 MAC 地址。
■ 调整 IPv4/v6 头中的“生存时间”或“跳数限制”字段。
要了解 TCAM 的全部功能,请参考功能和寄存器规范。Marvell GUI (此上位机软件)的功能将随着时间的推移而扩展,以包含更多这些功能。TCAM 规则的一些修改也可以作为手动寄存器列表完成。
注意:
一旦发生模式匹配,TCAM 将停止对该帧的比较——结果是,只有为这个首次模式匹配指定的操作会被执行。定义在后续 TCAM 条目中的任何模式将不再被比较。因此,在定义 TCAM 条目时,建议先定义更具体的模式(即,放在 TCAM 条目列表的顶部)。否则,这些模式将永远不会有匹配。