每一个数据包如何处理,都始于报文分类。无论是路由器、防火墙、SmartNIC、安全网关还是业务边缘平台,都需要先判断适用的策略规则,才能进一步决定是对其进行转发、阻断、检测、重定向,还是进行优先处理。
凭借提供可预测的查找特性,以及对 ACL 和 LPM 所需三态匹配的原生支持,TCAM 在这些网络设备和平台中得到了广泛应用。
但随着策略数据库不断扩大、查找键值越来越宽以及规则更新愈加频繁,传统的专用三态存储器扩展方式越来越难以兼顾容量、功耗、资源利用率和系统集成等多方面的需求。
Altera Stellar 方案则采用了另一种思路。它不再通过构建规模越来越大的三态存储结构来提升报文分类能力,而是将报文分类转化为搜索任务,并利用 FPGA 的可配置资源对其进行优化。由此,Stellar 提供了一条基于 FPGA 原生架构的实现路径,既能支撑大规模、动态的报文分类表,又能保留 TCAM 原有的策略匹配语义。

TCAM 依靠扩展存储容量实现规模化,Stellar 则通过优化搜索实现扩展。
保留 TCAM 语义,重构扩展模式
相比传统 TCAM,Stellar 保留了 ACL、LPM 和多字段分类原有的策略逻辑,但改变了这些规则的组织和搜索方式。其软件栈会基于这些策略构建经过优化的图结构,对规则数据库进行分区,并随着数据库的动态变化,持续管理相应的搜索结构。
随后,硬件通过 FPGA 中可配置的搜索引擎执行搜索,而规则信息则存储在常规存储资源中。根据具体配置,Stellar 可使用片上 M20K 存储器、eSRAM、DDR 或 HBM。这样,系统设计人员可以根据实际系统需求,更灵活地平衡吞吐量、容量、时延、功耗和 FPGA 资源占用。
按需使用高密度存储,并在关键环节发挥智能搜索优势
传统 TCAM 将存储与比较电路集成在专用的三态存储阵列中。这种架构能够提供确定性的匹配能力,但是随着表容量不断扩大,就必须同步扩展专用的比较结构。
Stellar 将规则存储与搜索执行相分离。三态信息以“值(Value)+ 掩码(Mask)”的形式存储在常规内存中,并通过经过优化的图结构和软件管理机制,引导每次搜索定位到数据库中的相关部分。随着表项规模从数千条增长到数十万甚至数百万条,这种架构能够以不同于传统 TCAM 的方式扩展容量,同时兼顾功耗优化。
将报文分类能力融入可编程数据通路
Stellar 的价值远不止搜索引擎本身。它可以与报文解析、遥测、加密、流量管理、主机接口逻辑以及客户自定义的报文处理 RTL 共同部署在 FPGA 中。
对于系统架构师而言,这意味着报文分类可以直接融入现有的可编程数据通路平台。比如防火墙可以在处理大规模动态 ACL 的同时,完成其他流量处理;路由器可以将 LPM 和策略执行融入可编程网络功能;SmartNIC 则可以将流量分类、卸载及客户定制的加速功能进行整合。
这种系统级灵活性对于 100GE 到 400GE 设计尤为重要,因为报文分类能力需要在不断扩展的同时避免过多占用平台资源。
阅读完整白皮书,深入了解更多技术细节!
白皮书涵盖 TCAM 的基本原理与扩展瓶颈、Stellar 基于图结构的搜索机制与软件分区、存储层次结构选项、配置示例、架构层面的量化对比、动态更新机制,以及在网络和安全领域的部署用例。
点击深入了解 Stellar 方案背后的架构设计及差异化思路,获取白皮书:《Altera TCAM 替代方案:将网络设备的报文分类扩展至数百万条规则》。
文章来源:Altera