Nexus 9000 交换芯片深度解析:Cloud Scale 架构与报文转发全流程

发布时间:2026/10/30 2:56:16
Nexus 9000 交换芯片深度解析:Cloud Scale 架构与报文转发全流程

简介:面向数据中心网络工程师与思科技术学习者的技术讲座资料,聚焦 Nexus 9000 系列模块化与 TOR 交换机的架构剖析,帮助读者理解云规模 ASIC 的硬件设计逻辑与高性能转发实现路径。内容源自思科杰出工程师 Tim Stevenson 的 2018 年技术分享,涵盖数据中心与硅策略、云规模架构、Cloud Scale ASICs、转发特性、交换平台对比及 Packet Walks 等模块,并对比 X9400、X9600-R 与 X9700、9300-EX/FX 系列的芯片选型差异。资源包共 1 个 PDF 文件,约 3.56MB,以图文幻灯片形式呈现,便于按章节查阅与对照学习。已有 286 人学习,适合希望深入掌握思科数据中心交换机内部运作、硬件加速与故障排查思路的中高级网络从业者参考。

1. 数据中心交换芯片的全局地图:从 Cloud Scale 架构到 Packet Walk

很多人复习数据中心交换时,习惯从端口数量、机箱槽位、转发性能这些“表面参数”入手,背完一圈发现脑子里还是散的。真正能把 Nexus 9000 这一代讲清楚的线索,其实是芯片:Cloud Scale ASIC 怎么切“slice”、flex tile 怎么分配表项、报文从 ingress 到 egress 走了哪几级查表。把这条线拉直,端口密度、多速率、VXLAN 单次封装、智能缓存、流表遥测这些特性就都能挂上去,不再是孤立的名词。这份笔记面向正在系统学数据中心网络、或者备考相关认证的人,按“架构—芯片—转发—平台—报文走查”的顺序梳理,重点标出容易翻车的地方,最后落到一份可以照着自查的复习清单。梳理下来会发现,N9K 这一代的设计逻辑高度统一:一切围绕 slice 和 flex tile 展开,理解了这两个概念,后面全是推论。

2. 硅策略与 Cloud Scale 架构:为什么自研芯片决定了特性边界

2.1 自研 ASIC 与商用硅片的分野

Nexus 9000 产品线里其实并存两条技术路线,复习时最容易混为一谈。一条是商用 Broadcom 硅片:X9400/X9400-S 用 Trident2+ / Tomahawk,X9600-R/RX 用 Jericho(DNX),特点是行业供货广、SDK 公开、多芯片架构、大转发表和深缓存。另一条是 Cisco 自研的 Cloud Scale 系列,覆盖 X9700-EX/FX 线卡和 9300-EX/FX/FX2 这些 TOR,特点是转发特性丰富、智能缓存、高级遥测、在规模/成本/功耗上做了优化。这份资料聚焦的正是后者,复习时如果拿商用硅片的参数去套 Cloud Scale 平台,基本必错。

为什么值得自研?核心在于硬件和软件要能一起设计。ACI 的策略模型加上拥塞感知的 flowlet 交换、灵活的 forwarding tile、单次隧道封装、内置加密(MACsec、CloudSec)、智能缓存(DBP/AFD/DPP)、流表遥测(给分析平台用的 Flow Table、事件通知、SSX 流式统计导出),这些东西靠通用硅片很难同时给到。换句话说,自研芯片不是面子工程,而是把“差异化特性”做进硬件的路径。复习时把这条因果链记住:自研 → 软硬协同 → 特性集合 → 平台选型。

2.2 Cloud Scale 家族成员与 slice 概念

Cloud Scale 家族有四个成员,参数必须背准,这是高频考点:

ASIC总容量slice 结构典型载体
LSE1.8T2 个 slice,每 slice 9×100GX9700-EX 线卡、9300-EX TOR
LS1800FX1.8T1 个 slice,18×100G,带 MACsecX9700-FX 线卡、9300-FX TOR
S64006.4T4 个 slice,每 slice 16×100G9364C TOR、E2 fabric 模块
LS3600FX23.6T2 个 slice,每 slice 18×100G,MACsec + CloudSec9300-FX2 TOR

“slice”是这一代架构的关键词,定义要说得准:它是单颗 ASIC 上控制一部分端口的、自包含的转发复合体,内部再分为 ingress 和 egress 功能;每个 slice 的 ingress 都连到所有 slice 的 egress;slice 之间通过 slice interconnect 做无阻塞的任意到任意互联。理解这一点,就能解释为什么 LSE 是 2 个 9×100G 而不是 1 个 18×100G——切片方式直接决定了端口组织和内部带宽调度。

2.3 slice 内部转发路径

单个 slice 的转发路径可以拆成一条清晰的流水线:报文进来先过 ingress MAC,进 packet parser 解析,然后进 ingress forwarding controller 做分类和查表,查表结果(含负载均衡、AFD/DPP 决策)经 slice interconnect 送到 egress slice,在 egress 做缓存、排队、调度、复制、策略和报文重写,最后过 egress MAC 发出。注意 SSX(流式统计导出)只在 S6400 和 LS3600FX2 上支持,这是个容易记串的细节。

ingress forwarding controller 内部又分几块:ingress classification、forwarding lookup、lookup key 生成、TCAM、flex tile、flow table(仅 LSE/LS1800FX/LS3600FX2 有)、以及负载均衡和 AFD/DPP。复习时建议把“哪些模块是某颗 ASIC 独有的”单独列一张小表,考试和实际排障都用得上。

3. Flex Tile 与转发表:路由模板怎么选、表项怎么放

3.1 flex tile 的本质是“可 fungible 的表项池”

flex tile 是这一代最容易被低估的设计。它提供的是一池可灵活分配的表项,不同 ASIC 的 tile 数量和每 tile 的表项数不同。同一批 tile 可以承担多种功能:IPv4/IPv6 单播最长前缀匹配(LPM)、IPv4/IPv6 主机路由表(HRT)、IPv4/IPv6 组播的 (*,G) 和 (S,G)、MAC 地址/邻接表、ECMP 表、ACI 策略。也就是说,硬件不再把表项按功能硬切死,而是通过模板在初始化时决定怎么分。

这带来一个直接后果:转发规模不是固定的,而是“模板决定”的。复习时如果只记“支持多少条路由”,而不记“在哪个模板下”,答案就是不完整的。

3.2 路由模板与切换代价

模板通过system routing template配置,截至 NX-OS 7.0(3)I7(2) 有以下几种:Default、Dual-stack host scale、Internet peering、LPM heavy、MPLS heavy、Multicast heavy、Multicast NBM。几个约束必须记牢:模板在系统初始化时定义,改模板要重启;带星号的模板不支持 IP 组播;Dual-stack host scale 不支持模块化 Nexus 9500;Multicast NBM 不支持 TOR。

# 查看当前路由模板(不同版本命令可能有差异,以实际平台为准) show system routing template # 配置示例:偏向 LPM 的场景 system routing template LPM-heavy # 注意:该配置在初始化时生效,变更后需重启设备

上面这段的关键不在命令本身,而在“重启才生效”这个代价。实际选型时,模板是部署前就要定下来的事,上线后再改意味着一次计划内中断。复习时把“模板 → 表项分配 → 转发规模 → 是否需要重启”串成一条因果链,比孤立背模板名有效得多。

3.3 IP 单播转发的三级查表

IP 单播转发是 packet walk 的核心,逻辑分三步。第一步,收到报文后先看目的 MAC 是不是 Router MAC,命中才触发 L3 查表。第二步,硬件对 VRF 做精确匹配、对目的 IP 做最长匹配,查 HRT/LPM,结果返回一个 adjacency 指针或者 ECMP 指针。第三步,用指针进 MAC 表拿到输出 BD、重写 MAC 和输出端口;如果是 ECMP 指针,则先进 ECMP 表选出 ECMP 组成员再落到 MAC 表。

IP 前缀在硬件里有三种存法:HRT 是哈希表,专放 IPv4 /32 和 IPv6 /128 主机条目;LPM 放其余前缀长度,可能是传统前缀/掩码条目,也可能是“pivot + trie”组合;TCAM 负责溢出和哈希冲突,位于灵活转发查表的前端。这三者的分工是理解“为什么主机路由和前缀路由规模不一样”的钥匙。

提示:HRT 用哈希,冲突不可避免,所以 TCAM 的存在不是冗余而是兜底。复习时别把 TCAM 只当成 ACL 的载体。

4. 平台与报文走查:模块化与 TOR 的复习重点

4.1 9500 模块化与 9300 TOR 的对应关系

平台这一块,复习的关键是“ASIC 和平台的映射”而不是逐个机型背参数。X9700-EX 线卡对应 LSE,X9700-FX 对应 LS1800FX,9300-EX 用 LSE、9300-FX 用 LS1800FX、9300-FX2 用 LS3600FX2,9364C TOR 和 E2 fabric 模块用 S6400。模块化侧还有一条商用硅片支线(X9400 系列、X9600-R 系列),它们不属于 Cloud Scale,复习时明确划出去,避免混淆。

这种映射关系解释了平台能力的差异来源:FX2 之所以能同时给 MACsec 和 CloudSec,是因为 LS3600FX2 本身带这两个能力;S6400 之所以能做高密度 100G 和 SSX,是因为 6.4T、4 slice 的结构。把“平台特性 = ASIC 特性 + 端口组织”这个等式记住,比死记机型表稳。

4.2 packet walk 的复习方法

packet walk 不是背一条路径,而是练“给定场景推路径”的能力。建议按三个维度练:一是二层还是三层(是否命中 Router MAC);二是单播还是组播(走 HRT/LPM 还是 (*,G)/(S,G));三是有没有走隧道封装(单次 VXLAN 封装在 ingress 侧完成,egress 侧重写)。每换一个维度,查表顺序和涉及的模块都会变。

实际排障时,packet walk 的价值在于定位“在哪一级丢的”。比如路由存在但转发不通,先确认 Router MAC 是否命中,再看 adjacency 指针是否有效,最后看 MAC 表的输出端口和 BD 对不对。这条排查顺序和硬件查表顺序一致,不是玄学,是顺着流水线走。

4.3 遥测与缓存特性的复习定位

智能缓存(DBP/AFD/DPP)和遥测(Flow Table、事件通知、SSX)这两块,复习时容易只记名词。正确的定位是:它们都是“自研芯片带来的差异化能力”,服务于容量规划、安全和调试。AFD/DPP 属于 ingress 侧的负载均衡与丢弃策略决策,出现在 forwarding controller 里;SSX 只在 S6400 和 LS3600FX2 上,属于 egress 侧的统计导出。把特性挂到流水线的具体位置,记忆才牢。

5. 易错点:这五处最容易记混或漏掉

易漏点一:把商用硅片平台当成 Cloud Scale。为什么漏:产品线都叫 Nexus 9000,型号前缀相似。怎么补:按 ASIC 家族画一张二分图,X9400/X9600-R 归商用,X9700-EX/FX 和 9300-EX/FX/FX2 归 Cloud Scale,做题前先问“这颗芯片是谁家的”。

易漏点二:记转发规模不记模板。为什么漏:参数表通常只给一个数字。怎么补:任何规模数字后面都补一句“在 XX 模板下”,并记住改模板要重启、部分模板不支持组播或特定平台。

易漏点三:混淆 HRT 与 LPM 的适用范围。为什么漏:两者都叫“路由表”。怎么补:HRT 只放 /32 和 /128 主机条目且基于哈希,LPM 放其余前缀,TCAM 兜底冲突,三者是分工不是替代。

易漏点四:以为所有 ASIC 都有 flow table 和 SSX。为什么漏:特性列表常被整体描述。怎么补:flow table 只在 LSE/LS1800FX/LS3600FX2,SSX 只在 S6400/LS3600FX2,做成一张“特性 × ASIC”的矩阵贴在笔记首页。

易漏点五:packet walk 只背单播路径。为什么漏:单播最常用,练得最多。怎么补:强制自己练组播和隧道封装两条支线,尤其注意 ingress 侧完成封装、egress 侧重写这个分工。

6. 复习清单:从知识地图到查漏补缺的落地方法

复习到这一步,最有效的做法不是再读一遍,而是拿一张白纸做“反向默写”:先画 slice 结构,再往每个 slice 里填 ingress/egress 模块,然后标出 flex tile、HRT/LPM/TCAM、ECMP、MAC 表的位置,最后用一支笔走三条 packet walk(三层单播、组播、VXLAN 封装)。画不出来的地方就是漏洞,回去只补那一块,不要整章重读。

下面这份清单可以逐项打勾,每项都对应前面章节的具体位置:

检查项达标标准对应章节
硅片路线二分能说出哪些平台用商用硅片、哪些用 Cloud Scale2.1
家族参数四颗 ASIC 的容量、slice 结构、载体全对2.2
slice 定义能解释 ingress 连所有 egress、interconnect 无阻塞2.2
模板约束记得重启生效、组播限制、平台限制3.2
三级查表Router MAC → HRT/LPM → ADJ/ECMP → MAC 表3.3
表项分工HRT/LPM/TCAM 各放什么、为什么需要 TCAM3.3
特性矩阵flow table、SSX 分别在哪几颗 ASIC 上4.3
packet walk三条路径能独立走通并说出每级模块4.2

查漏补缺的另一个技巧是“参数反推”:随便给一个平台型号,反推它用哪颗 ASIC、几个 slice、支持哪些独有特性、适合什么模板。反推得顺,说明映射关系已经内化;卡在哪一步,就回到对应章节。这个方法比顺序复习快,因为它逼你从结果倒推原因,而不是从原因顺背结果。

我自己的血泪经验是:第一遍复习时把四颗 ASIC 的参数背得滚瓜烂熟,结果一做 packet walk 就翻车,因为脑子里只有数字没有流水线。后来改成“先画 slice 再填参数”,参数反而记得更牢。从那以后我每次复习这一块,都强制先默画一遍 slice 结构再动笔答题,画不出来就先不背参数。希望这份梳理能帮到你,少走一遍我走过的弯路。

本文还有配套的精品资源,点击获取