# Cisco Catalyst 9500 架构白皮书中文译注

**Source:** Cisco Catalyst 9500 Series Architecture White Paper
**URL:** https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-9500-series-switches/nb-06-cat9500-architecture-cte-en.html
**Cisco page updated:** 2025-12-19
**Notes date:** 2026-04-28

本文是面向 OpenUSim / UBody 建模讨论的中文译注和要点整理，不是 Cisco 原文的逐字全译。重点保留公开架构事实、术语和对 `UBody` 有参考价值的 packet walk 信息。

---

## 1. 文档定位

Cisco 这篇白皮书介绍 Catalyst 9500 系列固定式核心 / 汇聚交换机的系统架构。内容覆盖平台型号、板级设计、电源、散热、ASIC 组织、CPU、前面板端口、存储和 packet walk。

对 `UBody` 调研最有价值的部分是：

- `Cisco Silicon One ASIC complex`
- `Front-panel interfaces`
- `Packet walks`
- `C9500X series (Silicon One Q200) - unicast forwarding`
- `C9500X series (Silicon One Q200) - multicast forwarding`

白皮书中还包含 UADP 3.0 相关架构和跨 ASIC packet walk，这些不是 `UBody` 的最强依据，但可以作为“同一平台里既有单 ASIC multislice，也有多 ASIC / 多 core / interconnect”的对照材料。

---

## 2. 引言和平台概览

Catalyst 9500 系列面向企业园区网络的核心和汇聚层。Cisco 在文档中强调，随着接入层从 1 Gbps 提升到 2.5 / 5 Gbps，核心和汇聚层需要更高的 25 / 40 / 100 / 400 Gbps 端口能力来维持类似的 oversubscription ratio。

平台定位：

- 固定配置、1RU 形态的企业级核心 / 汇聚交换机。
- 支持较大的 MAC、IP route、ACL 表项规模。
- 支持较强的 packet buffering 能力。
- 最高可提供 12 Tbps switching capacity 和 8 Bpps forwarding performance。
- 覆盖 400GE QSFP-DD、100GE QSFP28、40GE QSFP+、25GE SFP28、10/1GE SFP+/SFP 等端口形态。

平台可以基于不同 ASIC：

- Cisco Silicon One Q200 ASIC。
- Cisco UADP 2.0XL ASIC。
- Cisco UADP 3.0 ASIC。

其中，和 `UBody` 关系最强的是 Catalyst 9500X 使用的 Silicon One Q200。

---

## 3. Catalyst 9500X 与 Silicon One Q200

Catalyst 9500X 使用 Cisco Silicon One Q200 ASIC。Cisco 将 9500X 描述为高带宽、高 buffer、较大表项规模的平台。

9500X 相关型号包括：

- `C9500X-28C8D`：1 个 Silicon One Q200 ASIC，28 个 100GE QSFP28 端口，8 个 400GE QSFP-DD 端口。
- `C9500X-60L4D`：1 个 Silicon One Q200 ASIC，60 个 10/25/50G SFP56 端口，4 个 400GE QSFP-DD 端口。

Cisco 明确说 9500X 使用带 VOQ forwarding engine 的新 ASIC，但仍运行同一套 Cisco IOS XE binary image。对建模而言，这说明不同 ASIC 后端可以承接同一软件 / 控制平面接口，但底层转发和排队结构可以不同。

---

## 4. 交换机系统结构

白皮书把 Catalyst 9500 的系统结构分成几类主要组件：

- ASIC complex
- X86 CPU complex
- ASIC interconnect
- Front-panel interfaces
- 10GE CPU ports

从建模角度看，可以把它理解为：

- ASIC complex 是数据面主体。
- X86 CPU complex 是控制、管理、应用承载和系统服务主体。
- Front-panel interfaces 负责端口侧物理连接和 PHY / SerDes 相关能力。
- ASIC interconnect 在多 ASIC 版本中用于 ASIC 间通信。

这个分层对 OpenUSim 的启发是：公开交换机架构通常清晰区分 host CPU / control plane、ASIC data plane、front-panel PHY / I/O、以及 ASIC 内部或 ASIC 间互联。

---

## 5. Cisco Silicon One ASIC complex

这是本文最关键的部分。

Cisco 说明 Catalyst 9500X 建在 Cisco Silicon One Q200 ASIC 上。Q200 使用 7 nm 工艺，并采用 multislice architecture。这个架构用于获得较高处理性能、较低功耗、较高 switching capability、较大 IP route / MAC scale，以及更深的 buffer。

Cisco 还说明 Silicon One ASIC 支持 P4 programmable NPL/SDK microcode。

### 5.1 multislice 架构

Cisco 对 multislice ASIC 的解释可以概括为：

- multislice 类似 multicore / multi-ASIC 的扩展思想。
- 它把多个 network processing units，也就是 NPU，组合到一个 single die package 上。
- 每个 ASIC NPU 被称为一个 `slice`。
- 每个 slice 独立运行。
- 每个 slice 拥有完整的 forwarding I/O resources。
- slice 之间通过集成的 crossbar fabric 连接。
- multislice ASIC 使用集成的 VOQ buffer architecture 管理 slice 之间的数据流。
- 这种方法用于绕开 NPU clock speed 和 cooling 方面的限制，同时提升整体 ASIC throughput。

这段是 `UBody` 可以公开解释为 body-local datapath/network slice 的最强公开依据。

### 5.2 Q200 能力数据

白皮书列出的 Q200 关键能力包括：

- full-duplex switching throughput: 12.8 Tbps。
- forwarding performance: 6 slices, 8 Bpps。
- FIB entries: IPv4 最多 10M，IPv6 最多 5M。
- low-latency packet buffer: 80 MB Shared Memory System, 即 SMS。
- unified deep packet buffer: 最多 8 GB HBM。

对建模而言，这些数字不应直接作为 OpenUSim 默认参数，因为它们是 Cisco 产品公开参数，不等于 UB 目标参数。但这些信息能说明 multislice 架构确实与高吞吐、深 buffer、VOQ / shared memory 等机制同时出现。

---

## 6. UADP ASIC complex 对照

Catalyst 9500 非 X 系列还使用 UADP 2.0XL / UADP 3.0 ASIC。Cisco 将它们描述为 programmable SoC architecture。

UADP 3.0 的公开能力包括：

- 每 ASIC 1.6 Tbps packet bandwidth / switching throughput。
- 每 ASIC 2 cores，共 1 Bpps。
- 两条 ASIC interconnect，总 800 Gbps。
- 36 MB unified packet buffer，在两个 core 间共享。

Q200 与 UADP 3.0 的对照价值在于：

- UADP 路径强调 core、PBC、EQS、IQS 和 ASIC interconnect。
- Q200 路径强调 slice、SMS、VOQ、OQ 和 slice crossbar。
- 两者都把 packet forwarding 拆成 ingress decision、packet buffer、queue scheduling、egress processing 等阶段。

因此，`UBody` 后续细化时，不必绑定某一种具体 ASIC，而可以保留公开交换 ASIC 中通用的阶段性建模：ingress classification、descriptor、queueing、fabric、egress scheduling、rewrite / transmit。

---

## 7. X86 CPU complex

Catalyst 9500 系列包含 Intel x86 CPU、系统内存和 flash storage。9500X-28C8D 使用 8-core Intel Xeon-D NS CPU，并配置 32 GB DDR4 RAM；其他 9500 系列使用不同 core 数和内存规格。

CPU complex 支持：

- console / management。
- USB / eUSB flash。
- SSD 模块。
- application hosting。
- system reset。

对 OpenUSim 的启发有限，但可以作为控制面与数据面分离的公开系统架构例子：CPU complex 不等同于 ASIC data plane。

---

## 8. ASIC interconnect

白皮书指出，C9500X-28C8D 和 C9500X-60L4D 都基于单个 Q200 ASIC，因此没有 ASIC interconnect。

对于 Catalyst 9500 / 9500 high-performance 多 ASIC 型号，ASIC interconnect 用于多个 UADP ASIC 之间的数据移动。文档说明：

- 同一 ASIC 内部的本地端口通信不使用 ASIC interconnect。
- UADP 3.0 有两条 ASIC interconnect，总 packet bandwidth 为 800 Gbps。
- interconnect 基于最多 16 条 25G NRZ SerDes。
- interconnect 支持 packet type-agnostic、header compression、无 fragmentation / reordering，且 interconnect link 上无 buffering。

这对 `UBody` 的边界判断有用：Cisco 文档清楚地区分了 intra-ASIC local switching、inter-ASIC communication 和 Q200 的 intra-ASIC multislice fabric。`UBody` 更应该类比 Q200 slice / internal fabric，而不是直接类比多 ASIC interconnect。

---

## 9. Front-panel interfaces

Cisco 说明 Catalyst 9500 的 PHY 连接 link-layer device 和物理介质，支持根据前面板光模块实现 10 / 25 / 40 / 100 / 400GE 等速率。

对 9500X 两个型号，白皮书都写到端口映射：

- `C9500X-28C8D`：所有端口通过 multislice design 映射到同一个 ASIC。
- `C9500X-60L4D`：所有端口通过 multislice design 映射到同一个 ASIC。

这点对 `UBody` 的启发是：

- 公开资料支持“端口侧 I/O 资源与 single ASIC multislice design 绑定”的说法。
- 但白皮书没有公开每个端口到每个 slice 的精细映射。
- 因此，不应把 Cisco 的 port mapping 等同于我们的 `body -> ports` 规则。

保守表述可以是：

```text
Public multislice switch ASICs partition forwarding I/O resources across slices.
OpenUSim models this idea with UBody-owned local ports and body-local resources.
```

---

## 10. Storage 和应用承载

Catalyst 9500 支持 SSD 模块，用于第三方应用、packet capture、OS trace log、GIR snapshot 等。Cisco IOS XE 通过 Cisco IOx 支持 KVM VM、LXC 或 Docker 容器，并为应用承载保留独立 memory 和 CPU resources。

这部分对 `UBody` 依据不是核心，但说明该平台同时支持交换数据面和本地应用承载，控制 / 管理 / 应用运行环境与 ASIC 数据面分离。

---

## 11. Packet walks 总览

白皮书的 packet walks 分两大类：

- UADP 3.0 packet walk：覆盖 same ASIC unicast、cross ASIC unicast、multicast。
- Silicon One Q200 packet walk：覆盖 Q200 single ASIC 内部的 unicast 和 multicast。

对 `UBody` 最有价值的是 Q200 packet walk，因为它直接涉及 slice crossbar、VOQ、OQ、SMS 和 Rx / Tx NPU。

---

## 12. UADP 3.0 unicast within ASIC

UADP 3.0 同 ASIC内 unicast 转发流程可以概括为：

1. packet 从 ingress port 到达，PHY 转换信号并序列化 bit。
2. packet 进入 NIF，再进入 ingress MACsec engine。
3. MACsec 如需解密则 line-rate 解密，然后进入 Ingress FIFO。
4. Ingress FIFO 并行把 packet 送到 IFC 和 PBC。
5. IFC 做 L2 / L3 / ACL / QoS 等 lookup，并把 forwarding result，也就是 frame descriptor header，返回给 PBC。
6. PBC 根据 descriptor 判断 egress port。
7. 如果 egress port 在同一个 ASIC，PBC 把结果发送给同 ASIC 的 EQS。
8. EQS 调度 packet 做 egress processing。
9. EQS 通知 PBC 将 packet 和 descriptor 发给 EFC 和 RWE。
10. EFC 完成 egress function，RWE 做 packet rewrite。
11. packet 经 Egress FIFO、Egress MACsec 和 NIF 发出。

对建模的启发：

- ingress lookup 与 packet storage / buffering 可以并行或解耦。
- descriptor 是连接 lookup result 和 buffer / queue / rewrite 的关键元数据。
- egress queueing system 决定何时进入 egress processing。

---

## 13. UADP 3.0 unicast across ASIC

跨 ASIC unicast 流程与同 ASIC 类似，但关键差异是：

- PBC 判断 egress port 位于另一个 ASIC。
- IQS 调度 packet 通过 inter-ASIC connection 发送到目的 ASIC。
- 目的 ASIC 的 PBC 接收 packet。
- 目的 ASIC 再把 descriptor 送入 EQS，继续 egress scheduling 和 rewrite。

对 `UBody` 的间接启发：

- 当 destination 不在本地边界内时，需要一个显式跨边界调度 / 传输步骤。
- 这和 `ForwardToBody` 的抽象相容，但 Cisco 这里讲的是 ASIC 间通信，不是 Q200 slice 间通信。

---

## 14. UADP 3.0 multicast

UADP 3.0 multicast 流程中，IFC 返回的 frame descriptor 是 replication table pointer。PBC 根据 descriptor 找到 egress ports；如果接收者在其他 ASIC，IQS 会通过 inter-ASIC connection 调度到目的 ASIC；本地接收者走 EQS。AQM 根据结果生成 egress port list，并对每个 egress port 重复 egress 处理。

对建模的启发：

- multicast 可以用 replication table / descriptor 表达，而不是在 ingress 处立即复制完整 packet。
- local receiver 和 remote receiver 可以走不同调度路径。

---

## 15. Silicon One Q200 unicast packet walk

这是本文最重要的建模参考。

Q200 unicast packet walk 可以概括为：

1. packet 从 ingress port 到达，PHY 转换信号并序列化 bit，然后送入 Rx IFG。
2. packet 的 SOP fragment 由 Rx NPU 处理，用于判断 destination port；非 SOP fragment 直接进入 SMS。
3. packet 存入 SMS，同时生成对应 PD。
4. PD 根据 destination port 存入 VOQ。
5. VOQ 向 destination OQ 请求 credit。
6. destination OQ 授予 credit 后，VOQ 把 PD 送入 slice crossbar。
7. PD 被 crossbar 交换后存入 destination OQ。
8. OQ 调度 PD，并把 PD 提交给 SMS；随后 packet 从 SMS 读出到 Tx NPU。
9. Tx NPU 处理 packet，编辑 SOP elements。
10. packet 从 Tx IFG 内的某个 interface 发出。

关键术语中文解释：

- `Rx IFG`：接收接口组，可理解为端口侧 ingress 接口集合。
- `Rx NPU`：接收侧网络处理单元，处理 SOP 并决定目的端口。
- `SOP`：Start-of-Packet，包起始片段。
- `SMS`：Shared Memory Packet Buffer / Shared Memory System，负责存放 packet。
- `PD`：Packet Descriptor，描述 packet 和转发结果的元数据。
- `VOQ`：Virtual Output Queue，按 destination port 组织的虚拟输出队列。
- `OQ`：Output Queue，目的输出队列。
- `slice crossbar`：slice 之间的片上 crossbar fabric。
- `Tx NPU`：发送侧网络处理单元。
- `Tx IFG`：发送接口组。

对 `UBody` 的直接映射：

| Q200 packet walk | OpenUSim / UBody 建模方向 |
| --- | --- |
| Rx NPU | body-local ingress network processing |
| destination port decision | `LocalSink / ForwardToBody / ForwardToExternalPort` 判定 |
| SMS | future shared/local packet storage abstraction |
| PD | packet metadata / descriptor |
| VOQ by destination port | destination-aware body / fabric queue |
| credit from destination OQ | body-to-body backpressure / admission control |
| slice crossbar | `UbNetworkOnChip` / future body fabric |
| destination OQ | egress-side queue |
| Tx NPU | body-local egress processing |

当前 OpenUSim 只实现了 fixed-delay `UbNetworkOnChip`，尚未建模 VOQ、OQ、credit 和 crossbar arbitration。Cisco 这段可以作为后续细化方向的公开依据。

---

## 16. Silicon One Q200 multicast packet walk

Q200 multicast packet walk 与 unicast 类似，但多了 ingress replication 和 egress replication：

1. packet 从 ingress port 到达，经 PHY 后送入 Rx IFG。
2. SOP fragment 由 Rx NPU 处理，非 SOP fragment 直接进入 SMS。
3. packet 存入 SMS，并生成 PD。
4. RXPDR 处理 ingress replication；每个复制结果都会 enqueue 到 VOQ。
5. replicated PDs 按 destination ports 存入 VOQ。
6. VOQ 向 destination OQ 请求 credit。
7. OQ 授予 credit 后，VOQ 把 PD 送入 slice crossbar。
8. PD 经 crossbar 交换后送到 TXPDR，执行 egress multicast replication。
9. 复制后的 packet 存入 destination OQs。
10. OQ 调度 PD 并提交给 SMS，packet 从 SMS 读出到 Tx NPU。
11. Tx NPU 编辑 SOP elements。
12. packet 从 Tx IFG 的 interface 发出。

对建模的启发：

- multicast 不必在 ingress 处简单复制完整 packet。
- 可先复制 / 调度 descriptor，再在适当阶段做 egress replication。
- 如果 OpenUSim 后续支持一对多 `ForwardToBody` 或 multicast-like traffic，descriptor-based replication 是公开架构中可解释的方向。

---

## 17. Cisco 文档对 UBody 的支撑点

这篇文档对 `UBody` 的支撑主要有三条：

1. `slice` 是公开术语。

Cisco 官方明确使用 multislice ASIC 和 slice 来描述 Q200 内部结构。每个 slice 是独立运行的 ASIC NPU，并带完整 forwarding I/O resources。这支撑 `UBody` 可以公开解释为 body-local datapath/network slice。

2. slice 间有显式 fabric 和 queueing。

Cisco 描述 slice 之间通过 integrated crossbar fabric 连接，并使用 VOQ buffer architecture 管理 slice 间 traffic。Q200 packet walk 进一步显示 PD 通过 VOQ、credit、slice crossbar、destination OQ 流转。这支撑 `ForwardToBody` 不应被建模成免费共享访问，而应是显式内部互联路径。

3. packet body 与 descriptor 分离。

Q200 packet walk 中，packet 存在 SMS 中，而 PD 在 VOQ / crossbar / OQ 中流转。这对 OpenUSim 后续做 metadata-driven forwarding、replication、queueing 有参考价值。

---

## 18. 不能从该文档推出的结论

这篇 Cisco 文档不能支撑以下说法：

- `UBody` 等同于 Cisco Silicon One Q200 的 slice。
- `UBody` 是 chiplet 或 sub-chip。
- Cisco Q200 的端口到 slice 映射等同于 OpenUSim 的 body-port mapping。
- OpenUSim 可以复用 Cisco 的 buffer 深度、credit 算法、crossbar 仲裁策略或内部参数。
- Cisco 的图可以直接复制到 OpenUSim 文档中。
- `BD / UBody` 这个命名来自公开 Cisco 架构。

因此，对外表述应聚焦“公开 multislice ASIC 架构与 multi-pipeline / NoC-like 建模思想”，而不是“复刻某个商业 ASIC 微架构”。

---

## 19. 建议写入 OpenUSim 公开文档的中文表述

```text
UBody 是 OpenUSim 中的 body-local 数据路径 / 网络切片抽象。公开交换 ASIC
中已有类似 multislice 设计：多个独立 NPU slice 可集成在同一个 ASIC package 内，
每个 slice 拥有本地 forwarding I/O resources，slice 间通过内部 fabric、VOQ、
credit 和输出队列等机制管理流量。因此，OpenUSim 将 UBody 建模为拥有本地端口
和本地资源的 datapath/network slice，并通过显式 body-to-body path 表达跨 body
转发。
```

更保守的英文表述：

```text
UBody is an OpenUSim simulation abstraction for a body-local datapath/network slice.
It is similar in spirit to public multislice switch ASIC architectures, where slices
own local forwarding resources and inter-slice traffic is handled through explicit
fabric and queueing mechanisms.
```

---

## 20. 对 OpenUSim 后续建模的具体建议

短期保持：

- `UBody` 继续作为 body-local `NetworkUnit` 边界。
- `ForwardToBody` 继续通过 `UbNetworkOnChip` 表达显式 body-to-body hop。
- 文档中避免将 fixed-delay hop 说成完整 fabric / crossbar / VOQ。

中期可细化：

- `body-local ingress queue`：对应 ingress-side enqueue / VOQ 前置。
- `packet descriptor`：把 packet data 与 forwarding metadata 分离。
- `destination-aware VOQ`：按目标 body / port 建 queue。
- `destination OQ credit`：表达跨 body backpressure。
- `body fabric arbitration`：把 fixed-delay hop 扩展为 bandwidth + arbitration + queue delay。

公开风险控制：

- 使用 synthetic 参数。
- 不使用 Cisco 图、私有字段名或真实产品微架构参数。
- 把 Cisco 只作为公开 prior art / analogy 引用。

---

## 21. 一句话结论

Cisco 这篇白皮书足以支撑 `UBody` 作为 body-local datapath/network slice 的公开建模依据；它最强的公开证据是 Silicon One Q200 的 multislice ASIC、independent slice、forwarding I/O resources、integrated crossbar fabric、VOQ、SMS、OQ 和 packet descriptor based packet walk。
