2. Marvell高速以太网芯片架构解析
Marvell在数据中心以太网领域的产品线并不是单一芯片的堆叠,而是围绕不同转发位置、不同速率等级和不同可编程深度形成的三条主线:Prestera面向园区、企业边缘与部分数据中心接入/汇聚,强调灵活ACL、L2/L3转发与可编程流水线;Teralynx面向高密度数据中心Spine/Leaf,强调高带宽、低时延、大表项与可编程转发;Alaska则是物理层(PHY)与SerDes系列,负责电口/光口信号接入、速率适配和链路训练。理解这三者的分工,是后续做平台选型、单板设计和系统集成的基础。
一、三条产品线的定位与关键特性
Prestera的核心价值在于“可编程+多业务接入”。典型型号如Prestera CX/AC系列,支持1G/10G/25G/100G端口组合,内部采用多级流水线,报文进入后依次完成解析、ACL查找、桥接/路由、隧道解封装、计量与调度。它适合需要VXLAN、MPLS、ACL、QoS和镜像等混合功能的场景。Teralynx则更偏向“高容量交换矩阵+可编程转发”,例如Teralynx 7/8/10系列,单芯片可提供数Tbps到数十Tbps交换容量,支持100G/200G/400G/800G端口,重点优化ECMP、大路由表、动态负载均衡和拥塞管理。Alaska系列则位于最前端,负责将铜缆或光模块的模拟信号恢复为数字码流,完成CDR、均衡、FEC和链路训练,再通过XFI/CAUI等接口送给交换芯片。
从系统集成角度看,三者关系可以概括为:Alaska解决“信号能不能进来”,Prestera/Teralynx解决“报文怎么转发”,而缓存与调度决定“拥塞时谁先走、谁被丢”。
二、转发架构:从解析到查表再到调度
无论是Prestera还是Teralynx,转发架构都可以拆成“解析—查表—处理—排队—调度”五段。报文从Alaska恢复出的数字码流进入交换芯片后,首先由Parser提取以太网头、VLAN、IP五元组、隧道外层字段等。以VXLAN场景为例,Parser需要同时识别外层UDP目的端口4789、VNI以及内层原始报文,后续查表才能同时完成外层路由和内层桥接。
查表阶段通常并行执行多张表:ACL表用于安全过滤和重定向,L2表用于MAC桥接,L3表用于最长前缀匹配,ECMP表用于多路径哈希。Teralynx在高密度场景下会强调大表项和哈希稳定性,例如在128个等价下一跳中,通过哈希扰动因子避免极化。Prestera则更强调ACL与策略的灵活组合,适合需要精细流分类的接入场景。
处理阶段会修改报文:加VLAN、压隧道、改TTL、做NAT或镜像。之后报文进入缓存管理,等待调度器按端口队列和优先级出队。这里的关键是:查表决定“去哪里”,缓存与调度决定“什么时候走、丢不丢”。
三、缓存与调度机制:共享缓存、阈值与队列调度
Marvell交换芯片普遍采用共享缓存池架构,所有端口共享同一块片上SRAM/TCAM缓存,而不是每端口固定分配。共享缓存的好处是突发吸收能力强,但必须配合动态阈值(Dynamic Threshold)防止某个端口或队列独占缓存。常见做法是:为每个队列设置最小保证阈值和最大限制阈值,当队列深度超过动态阈值时触发WRED随机丢弃,或对无损队列触发PFC反压。
调度机制通常分两级:第一级是端口内多队列调度,支持SP(严格优先级)、WRR(加权轮询)和DWRR(差额加权轮询);第二级是端口间调度或交换矩阵调度。SP适合语音、控制类流量,WRR/DWRR适合大数据流按权重分配带宽。以4个队列为例,权重配置为Q0:Q1:Q2:Q3=1:2:4:8,则在拥塞时Q3获得约53%的带宽,Q0约6.7%。实际配置中还要结合整形(Shaping)限制端口总速率,避免上游超发。
四、系统集成中的关键判断
做平台设计时,选型不能只看端口速率。若业务需要大量ACL、VXLAN和精细QoS,Prestera的可编程性更合适;若面向Spine/Leaf高密度400G/800G互联,Teralynx的交换容量和ECMP能力更关键;而Alaska的选型则要匹配端口类型、传输距离和FEC模式。例如400G光模块可能使用8×50G PAM4,需要确认Alaska是否支持对应SerDes速率和RS-FEC。
调试时建议按“物理层→链路层→转发层→队列层”顺序排查:先看Alaska链路是否up、FEC计数是否增长;再看交换芯片端口计数、CRC错误;然后查ACL/路由表命中情况;最后看队列丢弃、PFC和ECN统计。只有把信号链、转发表和缓存调度串起来看,才能快速定位是链路问题、转发问题还是拥塞问题。
| 系列 | 主要位置 | 关键能力 | 典型观察指标 |
|---|---|---|---|
| Alaska | PHY/SerDes | CDR、均衡、FEC、链路训练 | 链路状态、FEC纠错计数、误码率 |
| Prestera | 接入/汇聚 | 可编程ACL、VXLAN、QoS | ACL命中、隧道表项、队列深度 |
| Teralynx | Spine/Leaf | 高容量、ECMP、低时延 | ECMP哈希分布、缓存占用、PFC/ECN |
总结来说,Prestera、Teralynx、Alaska分别对应“转发可编程”“交换高容量”“信号高可靠”三个维度。真正做系统集成时,需要把PHY链路、转发流水线和缓存调度当成一条完整信号链来设计,而不是孤立地看某一颗芯片。