2. 数据中心交换芯片架构基础
Broadcom 数据中心交换芯片(如 Trident、Tomahawk、Jericho 系列)之所以能支撑 25G/100G/400G 乃至 800G 的高密度端口,核心在于其内部高度并行的流水线架构。理解这套架构,是后续做平台选型、缓存调优、可编程卸载和性能评估的基础。本节从流水线、转发模型、缓存机制、可编程性(OF-DPA 与 P4)以及关键性能指标五个维度展开。
一、流水线架构:从入端口到出端口的固定级数处理
Broadcom 芯片的转发路径是一条多级流水线(Pipeline)。以典型的 Trident 系列为例,报文从入端口进入后,依次经过解析器(Parser)、入站处理(Ingress Pipeline)、流量管理器(Traffic Manager, TM)、出站处理(Egress Pipeline)和修改器(Editor),最后从出端口发出。每一级流水线由若干“Stage”组成,每个 Stage 内部包含多个并行的匹配-动作单元(Match-Action Unit)。
解析器负责把报文的头部字段(以太网、VLAN、IPv4/IPv6、TCP/UDP、MPLS、VXLAN 等)提取成内部统一的键值(Key)。入站流水线根据这些 Key 做查表、ACL、路由、隧道解封装等决策,并生成一个内部转发描述符(Forwarding Descriptor)。流量管理器负责队列调度、缓存分配、拥塞管理(如 WRED、PFC)。出站流水线再做一次策略检查与封装,最后由 Editor 修改报文头部并发出。
关键点在于:流水线的级数是固定的,但每一级可执行的动作由表项和可编程逻辑决定。这意味着芯片的转发行为不是“软件逐包处理”,而是“硬件按级并行匹配”,因此能做到线速转发。
二、转发模型:Match-Action 与表驱动
Broadcom 芯片的转发模型本质上是“表驱动 + 匹配-动作”。每个流水线 Stage 包含若干张表(Table),每张表有匹配字段(Key)和对应的动作(Action)。报文进入 Stage 后,硬件并行查找所有表,命中后执行动作,可能修改报文、更新计数器、设置下一跳或跳转到其他表。
这种模型与 OpenFlow 的流表非常相似。实际上,OF-DPA(OpenFlow Data Plane Abstraction)就是 Broadcom 为 OpenFlow 提供的硬件抽象层,它把芯片内部的表资源映射成 OpenFlow 的流表、组表和 Meter 表。OF-DPA 定义了多个流水线阶段(Ingress Port、VLAN、Termination MAC、Unicast Routing、Multicast Routing、ACL、Egress 等),每个阶段有固定的表 ID 和匹配字段。控制器通过 OpenFlow 协议下发流表,OF-DPA 负责翻译成芯片表项。
对于更灵活的场景,Broadcom 支持 P4 可编程流水线(如 Trident 4、Tomahawk 4 之后的版本)。P4 允许用户自定义解析器、匹配字段和动作,编译后生成芯片配置。相比 OF-DPA 的固定表结构,P4 提供了更大的灵活性,但也会消耗更多的表资源(TCAM/SRAM)。
三、缓存机制:共享缓存与动态阈值
数据中心交换芯片普遍采用共享缓存(Shared Buffer)架构。所有端口共享一块片上 SRAM,通常为几十 MB 到上百 MB。缓存被划分为多个 Cell(如 256 字节或 512 字节),按队列进行管理。每个队列有一个动态阈值(Dynamic Threshold),根据当前空闲缓存和端口速率动态调整。当队列长度超过阈值时,触发 WRED 或 PFC。
以典型配置为例:假设芯片总缓存为 32 MB,端口为 100G,RTT 为 10 微秒。为了吸收突发,通常需要配置足够的共享缓存。如果每个队列的静态阈值设得太低,会导致丢包;设得太高,则可能影响其他端口的公平性。实际调优时,需要结合流量模型(如 incast、burst)和 PFC 死锁风险来设定阈值。
四、可编程性:OF-DPA 与 P4 的取舍
OF-DPA 的优势是成熟、稳定,与 OpenFlow 控制器生态兼容好,适合需要快速部署 SDN 的场景。它的表结构固定,但覆盖了绝大多数数据中心转发需求(VLAN、L2/L3、ACL、组播、隧道)。缺点是灵活性有限,无法自定义新的协议头或匹配逻辑。
P4 的优势是灵活,可以定义新的协议、新的匹配字段和新的动作。例如,可以在 P4 中实现自定义的负载均衡算法、带内遥测(INT)或新的隧道封装。缺点是开发门槛高,需要 P4 编译器支持,且表资源消耗大,调试复杂。
实际选型时,如果只是做标准的 VXLAN 网关、ACL 或路由,OF-DPA 足够;如果需要做自定义遥测、新协议支持或特殊转发逻辑,则考虑 P4。
五、关键性能指标
评估交换芯片时,需要关注以下指标:
- 交换容量:芯片总带宽,如 3.2 Tbps、6.4 Tbps、12.8 Tbps。
- 包转发率:以 Mpps 为单位,通常与端口数量和最小包长有关。
- 缓存大小:共享缓存总量,直接影响突发吸收能力。
- 表项资源:TCAM 表项数、SRAM 表项数、ECMP 组数、ACL 规则数。
- 时延:端口到端口的转发时延,通常在几百纳秒到几微秒。
- 可编程性:是否支持 P4、OF-DPA 版本、可自定义的解析深度。
以 Trident 4 为例,其交换容量为 12.8 Tbps,支持 256 个 50G 端口或 128 个 100G 端口,共享缓存约 64 MB,支持 P4 可编程。这些参数在选型时需要与机箱、电源、散热和软件生态一起考虑。