3. Nexus平台与Underlay路由特性
在数据中心Underlay路由工程中,选择哪一款Nexus交换机并不是简单的“端口密度”问题,而是直接决定了可用的路由特性集、转发表规格、收敛行为和设计边界。Nexus 3000、5000、7000、9000四个系列虽然都运行NX-OS,但它们的定位、芯片架构和路由能力差异很大。理解这些差异,才能在设计Underlay时做出正确的设备选型和协议决策。
四个系列的定位与路由能力差异
Nexus 9000系列是当前数据中心的主力平台,基于Cisco Cloud Scale ASIC或Silicon One,面向高密度10G/25G/40G/100G/400G接入与Spine场景。它原生支持完整的Layer 3特性集,包括OSPFv2/v3、IS-IS、BGP、PIM、MSDP、Anycast RP、ECMP、BFD等,且转发表规格大,适合作为Underlay的核心路由节点。Nexus 3000系列定位为紧凑型ToR,早期型号(如3048、3064)基于Trident II,路由表规模较小,适合作为Leaf接入层,运行OSPF或BGP与Spine互联,但不适合承担大规模路由聚合。Nexus 5000系列是较早期的统一交换平台,支持FEX架构,路由能力介于3000和7000之间,目前在新数据中心中已逐步被9000替代。Nexus 7000系列是模块化机箱平台,基于早期的F3/M3引擎,支持大表项和丰富的路由特性,常用于传统核心或边界场景,但在新一代Spine设计中逐渐让位于9000系列。
从Underlay设计角度看,关键差异集中在三点:路由表规模、ECMP等价路径数量和收敛加速能力。例如,Nexus 9000系列在典型配置下可支持数万条IPv4路由和数千条IPv6路由,ECMP组可支持64条甚至更多等价路径;而Nexus 3000早期型号的ECMP组通常限制在16条以内。这意味着在Spine-Leaf架构中,如果Leaf需要与多个Spine建立等价路径,必须确认Leaf型号的ECMP规格是否满足设计需求。
NX-OS路由功能集的关键组成
NX-OS的路由功能集可以按“控制平面协议—转发平面表项—高可用机制”三个层次理解。控制平面协议包括OSPF、IS-IS、BGP、EIGRP(部分平台支持)以及RIP;转发平面表项包括FIB、邻接表、ECMP组和隧道接口;高可用机制包括BFD、NSR(Non-Stop Routing)、GR(Graceful Restart)和SSO(Stateful Switchover)。
在Underlay设计中,最常用的组合是OSPF或IS-IS作为IGP,BGP用于Spine-Leaf之间的路由传递。NX-OS对OSPF的支持包括多区域、Stub/NSSA、路由汇总和BFD快速检测;对IS-IS的支持包括Level-1/Level-2、宽度量值和BFD。BGP方面,NX-OS支持eBGP/iBGP、地址族独立配置、路由反射器、最大路径数(maximum-paths)和BFD。需要注意的是,不同Nexus系列的NX-OS版本对同一特性的支持程度不同,例如Nexus 3000早期型号可能不支持IS-IS宽度量值,而Nexus 9000则完整支持。
硬件转发架构对路由设计的影响
Nexus交换机的硬件转发架构决定了路由表如何写入硬件、ECMP如何哈希、以及故障时如何快速切换。以Cloud Scale ASIC为例,它采用统一的FIB表项存储,支持大容量路由前缀和灵活的ECMP组。当控制平面计算出多条等价路径时,ASIC会将流量按五元组哈希分配到不同下一跳。如果ECMP组中的某条路径失效,BFD可以在毫秒级检测到,并触发FIB更新,ASIC随后重新哈希剩余路径。
相比之下,早期Trident II平台的FIB表项和ECMP组规格较小,且哈希算法可能不支持某些字段组合。这会导致两个实际问题:一是路由条目过多时可能触发硬件表项溢出,部分路由无法下发;二是ECMP路径数量受限,无法充分利用Spine层的全部上行链路。因此,在Underlay设计中,如果Leaf采用Nexus 3000早期型号,应控制路由条目数量,并优先使用OSPF区域划分或路由汇总来减少FIB压力。
另一个关键点是分布式转发与集中式转发的区别。Nexus 7000模块化机箱的某些引擎采用集中式转发,路由决策由管理引擎完成后再下发到线卡;而Nexus 9000和3000系列采用分布式转发,每个端口ASIC独立查表。分布式转发在Underlay中更有利于收敛,因为故障检测和重路由可以在本地完成,不必等待管理引擎。这也是为什么现代Spine-Leaf架构几乎全部采用9000系列的原因之一。
选型与设计建议
在实际Underlay工程中,建议按以下逻辑选择平台和路由协议:Spine层优先选用Nexus 9000系列,确保大FIB和ECMP规格满足横向扩展需求;Leaf层如果采用Nexus 3000早期型号,应控制路由条目数量,使用OSPF区域划分或路由汇总减少FIB压力,并确认ECMP组数量是否覆盖所有上行Spine链路。如果Leaf需要运行IS-IS,必须确认NX-OS版本支持宽度量值,否则应改用OSPF。对于Nexus 7000,如果仍在使用,建议将其定位为边界或核心,而不是高密度Leaf。
此外,BFD的部署需要与硬件转发架构匹配。Nexus 9000的BFD可以硬件卸载,检测间隔可配置为50ms甚至更低;而部分早期平台BFD由CPU处理,检测间隔可能只能做到300ms以上。在Underlay收敛要求较高的场景中,应优先选择支持硬件BFD的平台,并在Spine-Leaf链路上启用BFD for OSPF/IS-IS/BGP。
总结来说,Nexus平台的选择不是“越新越好”,而是“越匹配越好”。Underlay路由设计需要同时考虑控制平面协议、FIB规格、ECMP能力和BFD卸载能力。只有把平台差异与路由设计目标对齐,才能构建出收敛快、扩展性好、运维简单的数据中心Underlay网络。