2. Marvell DPU硬件架构解析

Marvell OCTEON系列DPU(数据处理器)之所以能承担安全隔离与基础设施卸载任务,根本原因在于其硬件架构并非"通用CPU加网卡"的简单叠加,而是一套围绕"多核并行处理+专用加速+独立内存域+标准PCIe呈现"构建的异构计算平台。理解这套架构,是判断它能否把控制面、数据面、安全域真正隔离开来的前提。本节以OCTEON TX2与CN10K两代产品为主线,拆解处理器核、网络接口、加速引擎、内存子系统与PCIe拓扑五个部分,并说明每一部分对安全隔离的具体支撑方式。

一、处理器核:OCTEON TX2与CN10K的核群组织

OCTEON TX2(如CN96xx、CN98xx)采用ARMv8.2-A 64位核心,典型配置从8核到24核不等,核心按"核群(core group)"组织,每个核群共享L2缓存,核群之间通过一致性互连(CCPI/CCN)连接。CN10K(如CN106xx、CN103xx)进一步演进,核心数量可达36核以上,并强化了每核的乱序执行能力与向量处理能力,同时引入更细粒度的功耗与频率域控制。

对安全隔离而言,核群结构提供了天然的"物理分区"基础:可以把控制面(管理、配置、日志)固定在一组核上,把数据面(报文转发、加解密)绑定到另一组核,把安全审计或第三方VNF再放到第三组核。由于不同核群拥有独立的L2和可分配的L3 slice,一个域内的缓存污染或侧信道压力不容易直接穿透到另一个域。配合ARM的异常等级(EL0/EL1/EL2/EL3)与TrustZone,还可以在同一颗芯片内划分出安全世界与普通世界,让密钥管理、固件校验等敏感操作运行在隔离的执行环境中。

二、网络接口:从MAC到可编程包处理

OCTEON TX2/CN10K集成了多路以太网MAC(常见为100G/50G/25G/10G组合),并配套Packet Input/Output单元、调度器、流量管理器和可编程的包解析引擎。报文进入MAC后,由硬件完成初步解析、分类和队列分配,再交由指定核群处理。CN10K还支持更灵活的端口聚合与精确时间戳,便于做带内安全策略和流量镜像。

安全隔离在这里体现为"入口即分流":可以在硬件层按端口、VLAN、五元组或自定义标签把流量导向不同的核群和队列,使加密隧道流量、管理流量、审计镜像流量在进入软件之前就已经物理分离。即使某个数据面核被恶意流量打满,管理面核仍能通过独立队列获得CPU与缓存资源,保证带外管理通道可用。

三、加速引擎:把安全运算从通用核上卸下来

这是DPU区别于普通服务器网卡的关键。OCTEON TX2/CN10K内置了多类加速单元:

  • 加解密引擎:支持AES-GCM、AES-CBC、SHA、HMAC、RSA/ECC公钥运算,可对IPsec、MACsec、TLS记录层做线速处理;
  • 压缩/解压引擎:用于存储卸载与日志压缩;
  • 正则匹配与DPI引擎:用于入侵检测、URL过滤等安全策略匹配;
  • RAID与DMA引擎:承担存储与数据搬运,减少核的介入。

加速引擎的价值不只是性能。把密钥运算放进专用硬件,意味着密钥材料不必进入通用核的寄存器与缓存,降低了被内存抓取或侧信道攻击的风险;同时,加速引擎可按队列或VF分配给不同安全域,实现"一个域一套密钥上下文",域间互不可见。

四、内存子系统:独立域与带宽保障

OCTEON TX2/CN10K支持DDR4/DDR5多通道内存控制器,并配有片上缓存层级(L1/L2/L3)与IOMMU/SMMU。内存子系统对安全隔离的支撑体现在三点:一是通过SMMU对DMA访问做地址翻译与权限检查,防止某个加速引擎或VF越权读写其他域的内存;二是通过缓存与内存控制器的分区(如L3 slice、内存通道绑定),让不同安全域获得可预期的带宽,避免"吵闹邻居"拖垮关键业务;三是支持内存加密与ECC,保护静态数据完整性。

五、PCIe拓扑:DPU如何"呈现"给主机

DPU通常以PCIe Endpoint或Root Complex组合的形式接入服务器。OCTEON TX2/CN10K提供多路PCIe Gen4/Gen5控制器,可配置为EP模式向主机暴露多个物理功能(PF)与虚拟功能(VF),也可作为RC连接下游设备。SR-IOV与MR-IOV让一台主机或虚拟机看到的是独立的VF,每个VF拥有自己的队列、中断和地址空间。

这正是安全隔离的落点:主机侧的不同租户或不同业务,各自绑定一个VF,DPU内部再把VF映射到特定核群、加速引擎队列和内存域。主机即使被攻破,也只能影响自己那个VF对应的资源,无法直接触达DPU的管理面或其他租户的数据面。管理面则通过独立的PF或带外通道(如BMC、独立管理口)与数据面隔离。

OCTEON TX2 / CN10K 硬件架构与安全隔离支撑关系 网络接口 100G/50G/25G MAC 包解析 / 分类 / 队列 端口聚合 / 时间戳 入口即分流 处理器核群 ARMv8.2-A 64位 · 8~36核 核群共享L2 · CCPI互连 EL0~EL3 / TrustZone 控制面 / 数据面 / 安全域分区 加速引擎 AES-GCM / SHA / RSA 压缩 / DPI / 正则匹配 RAID / DMA 密钥不出硬件 · 按队列分配 内存子系统 DDR4/DDR5 多通道 L1/L2/L3 缓存 SMMU / IOMMU 域隔离 · 带宽保障 一致性互连总线(CCPI / CCN) · 硬件队列与调度器 PCIe Gen4/Gen5 拓扑(EP / RC 可配置) PF0 管理面 带外 / BMC 通道 VF1 租户A 独立队列 / 中断 VF2 租户B 独立队列 / 中断 VF3 安全审计 镜像 / 日志通道 RC 下游 扩展设备 安全隔离映射:VF → 核群 → 加速队列 → 内存域 VF1 → 核群0 AES队列0 · 内存域0 VF2 → 核群1 AES队列1 · 内存域1 VF3 → 核群2 DPI队列 · 只读镜像 PF0 → 管理核群 独立内存 · 带外通道 隔离边界 隔离边界 隔离边界

六、五部分如何协同支撑安全隔离

把上述五部分串起来看,安全隔离不是某一个模块单独完成的,而是一条从入口到出口的完整链路。以一台运行多租户安全网关的服务器为例:主机侧租户A绑定VF1,租户B绑定VF2,管理面走PF0。报文从100G端口进入后,硬件按VLAN和五元组把租户A的流量送入核群0的队列,租户B的送入核群1的队列。核群0调用AES队列0完成IPsec解密,核群1调用AES队列1完成另一套密钥的解密,两套密钥上下文在加速引擎内部互不可见。解密后的数据通过SMMU翻译写入各自的内存域,L3 slice和内存通道按域分配,保证租户A的突发流量不会挤占租户B的带宽。管理面的PF0拥有独立核群和独立内存,即使数据面被打满,管理员仍能通过带外通道登录并下发策略。

需要特别注意的是,这套隔离能力依赖正确的配置才能生效。SMMU的stream ID与VF的对应关系、加速引擎队列与核群的绑定、内存域的划分,都需要在固件和驱动层显式设置。如果只启用SR-IOV而忽略SMMU映射,VF之间仍可能通过DMA越权访问;如果加速队列未按域隔离,密钥上下文可能被其他域复用。因此在实际部署中,应把"VF—核群—加速队列—内存域—SMMU stream"作为一组绑定关系来验证,而不是只看单个模块是否开启。

在评估一颗DPU是否满足安全隔离要求时,可以按以下顺序核查:①是否支持SR-IOV且VF数量满足租户规模;②SMMU/IOMMU是否对每个VF启用独立地址空间;③加速引擎队列能否按VF或核群分配;④内存控制器是否支持带宽分区或至少可观测;⑤管理面是否有独立于数据面的物理或逻辑通道。五项中任何一项缺失,隔离强度都会明显下降。