思科N3K交换机的芯路历程
2018-08-10 SDNLAB 编辑:佚名
注: 本文由本网站邀请原作者扩充自公众号“云深知网络”,成文基于思科公司公开演讲资料。作者非思科员工,言论不代表思科或任何公司,不尽之处敬请斧正。
思科的Nexus 3000 交换机是一系列架顶式(ToR)交换机,产品配置支持 24 至 128 个端口。该系列交换机 采用NX-OS 操作系统,性能出色而且具有丰富完善的功能。
众所周知思科独步武林的一大秘诀是采用了大量的自研交换芯片,但是在Nexus3000定位的数据中心接入交换机产品上思科越来越多的考虑商用芯片,Nexus3000交换机的芯路历程也反映了思科产品思路的逐步转变。
图1 思科数据中心交换机产品及芯片系列
思科的Nexus 3000主要包括N3000,N3100/N9300,N3200/N3100V/9500-R,N3600R和N3100Z/N3200E/N3400系列,从最早的N3000就开始使用StrataXGS系列商用交换芯片,最新N3400系列甚至采用了初创公司Barefoot的可编程交换芯片,要知道思科的芯片团队足以抗衡芯片巨头博通,以往只有Arista喜欢支持多家芯片,那是因为Arista自家尚未染指芯片业务。现如今Cisco能够与Arista同期推出一款基于初创公司芯片的交换机产品,这里面有几点原因值得关注,首先就是成本,ToR级别的交换机采用商用芯片的成本已经拉平甚至低于采用自研芯片;其次就是研发周期,据称Cisco采用商用芯片后研发周期也有了大幅缩减;另外不得不说商用芯片丰富的产品线加上一些初创公司诚意十足的创意足以满足当前接入级交换机产品的特性需求。
下文将介绍思科Nexus 3000系列交换机采用的典型芯片以及硬件平台的架构。
1、 Nexus 3100系列交换机
Nexus 3100最早采用的是Trident2系列芯片,然后沿着Trident芯片的演进路标又推出了3100-V(Trident 2+)和3100-Z(Trident3)交换机。最新3100-Z采用的Trident3芯片的架构如下图所示。芯片的总带宽为3.2Tbps,也就是最多可以提供32个100G的接口。芯片支持Cut-Through和Store-and-forward两种转发模式,在时延敏感场景中通常选择CT模式。除了带宽的提升,Trident3的另一个亮点就是它支持FleXGS,具有可编程的能力,不过遗憾的是它并不支持Barefoot等公司支持的P4可编程语言,所以未来博通的可编程之路如何继续还是个未知数,或者说是光脚脚踢霸主,还是霸主拳打光脚还是个未知数。
图2 Trident3芯片架构
基于Trident3芯片的N3K-C3132C交换机的框图如下所示,
交换机的大脑部分也就是CPU是来自Intel公司的强劲Xeon处理器,如此高端的CPU为NX-OS的运行提供了最佳物理环境,相信这也是思科交换机价格坚挺的一个原因,如同iOS至於苹果,无论软件怎么改变世界,一款让人赏心悦目的硬件总是值得客户期待的。交换机芯片通过PCIe接口挂接在CPU之上,然后由交换芯片对外提供32xQSPF28接口;
2、 Nexus 3200系列交换机
Nexus 3200交换机采用的是Tomahawk系列芯片,3200最早采用了3.2T的Tomahawk一代芯片,后续3200-E又采用了Tomahawk2二代芯片,带宽翻倍。目前博通公司已经推出了Tomahawk3第三代芯片,在单个芯片中实现了前所未有的12.8 Tb/s的吞吐性能。有理由相信思科公司正在开发基于Tomahawk3的交换机产品,不过在本文成文时3200系列交换机的最高端型号仍然是基于Tomahawk2芯片。
Trident和Tomahawk同属于StrataXGS架构系列,两者的区别在于应用场景略有不同,Trident系列适用于数据中心、园区及无线交换等场景;Tomahawk系列则适用于超大规模云网络,存储网络及HPC等场景。市场定位涉及到产品规格的定制比如内存/表项大小,从Tomahawk的发展来看这系列的芯片主要追求速度。
Nexus 3200-E交换机的硬件设计与其他设计没有太大不同,所以不再赘述。唯一值得注意的是作为一款高达6.4T的接入交换机,它支持以下三种配置模式:96x50G+16x100G/96x25G+ 32x100G/128x25G。
3、 Nexus 3400系列交换机
Nexus 3400交换机采用的是业界焦点Barefoot的Tofino ASIC芯片。Tofino系列芯片最高带宽可达6.5Tbps,思科选用的是下面这颗1.8Tbps的芯片。从下面的框图就可以明显看出与上面博通交换芯片在架构上有巨大的不同。Barefoot的创始团队在当年提出OpenFlow概念后改变了整个网络行业的格局,但是苦于没有硬件芯片可以非常完美的支持OpenFlow对流表的需求,所以SDN之父Nick教授联合芯片行业的几位大咖发表了著名的P4论文: P4: Programming Protocol-Independent Packet Processors。P4从某种意义上讲是第一代基于OpenFlow的SDN实现的升级版,所以Nick在公开场合多次提到SDN 2.0的概念。P4强调了可编程的能力,它既可以兼容早先的OpenFlow,又进一步打开了Match-Action这个架构的想象空间。不过现实一点讲,P4作为一种全新的高级语言就面临着编译器/代码效率/语言升级等软件行业必须面临的问题,P4的最终成功还需要业界生态的支持。
同上,我们不再赘述N3K-C3264C交换机的硬件架构。这款交换机的最大亮点自然就是它可以通过可编程性支持更丰富的用户场景,同时它的Telemetry能力与其他交换机相比有长足的进展。
4、 Nexus 3500系列交换机
Nexus 3500交换机采用的是思科自研的Monticello ASIC芯片。这颗芯片的带宽只有480Gbps,但是它有一个最大的亮点就是低延时,普通模式下为250ns,Warp模式下为190ns,而通常一颗交换芯片的延时在450nm。因此这款交换机最主要的一个应用场景就是所谓的金融高频交易,分秒千金。另外这颗芯片的ACL在L2/L3处理模块的前面。
N3K-C3548P-XL交换机的硬件架构不再赘述。这款交换机的CPU采用了主频高达2.5G的Intel i3,主要是因为这款设备的潜在用户都不差钱,只选贵的。
5、 Nexus 3600系列交换机
Nexus 3600系列交换机基于博通公司的Jericho+系列芯片,根据芯片数量的不同(2/4颗)分为两个型号。Jericho芯片虽然也出自博通,但是和Trident和Tomahawk所属的StratsXGS系列不同,Jericho所属的StrataDNX系列是博通早期花了1.78亿美元收购另外一家竞争对手而得来的,因此两个系列芯片的架构/软件开发包等都不一样。StrataDNX相对高端,多用于框式设备,适合于设计核心设备或者电信级设备。也正因为相对高端的定位,StrataDNX在普通客户的普及率不高,但是Arista/Cisco等大户需要差异化竞争,都有基于这个系列芯片的交换机设计。
Jecicho+芯片的架构如下图所示,它不以带宽见长,只有900Gbps,架构上也不是常见的交换芯片架构,而是网络处理器的架构,内置了报文处理器,流量管理单元,支持外部挂接DRAM。这颗芯片的大学问在于支持96k虚拟输出队列VoQ(Virtual Output Queues),VoQ是网络设备防止HOL阻塞(Head of Line Blocking)的队列技术。
N3K-C3636C-R交换机的硬件架构如图,它采用4颗Jericho+芯片形成crossbar,crossbar也是StrataDNX系列芯片用来搭建机架式设备的基础技术。
结语:大部分人都认为思科只采用自研芯片,肥水不留外人田。但实际上思科近几年来越来越多采用商用芯片,有时会通过定制的方式领先其它客户得到某颗芯片,但是总体趋势还是走在开放的路上。思科的口号就是:Cisco delivers the best-in-class hardware。