以一个高性能的数据中心交换机为例,如何DIY一个端口为10G/40G/100G的TOR交换机。
硬件:
首先从硬件开始,一个完整的以太网交换机应该包含下面一些组件:
Chassis(这个应该是基础)
电源(一般需要两个冗余,很多代工厂能够提供)
风扇(冷却系统,低噪音)
风扇控制PCBA
CPU PCBA(CPU可以选择x86/Power PC/ARM,包含相对应的RAM, FLASH和PCIe,上面跑控制OS)
主板PCBA(包含交换芯片,接口,CPLD,PHY,一般来说,PCB是16~22层)
下面是中国台湾鈺登科技一款基于Broadcom Trident 2交换芯片的交换机(Edge-Core AS5712 48 x 10G , 6 x 40G)
中间那个冷却器下面就是Broadcom Trident 2芯片,跟其他CPU不同,交换芯片体型要大得多,这是因为交换芯片要出很多端口,因此有很多引脚。
CPLD采用Altera MAX系列的,主要功能是系统启动,管理LED和风扇以及温度传感器等。CPLD通过UART 或者I2C 总线跟主机CPU相连。
总体架构:
上图中CPU采用Intel C2538 (Atom),C2538通过PCIe跟Trident 2对接,Broadcom向不同NOS提供了SDK,SDK包括了driver,一般NOS已经包含在内了。如果NOS采用了ONL (Open Network Linux),也可以使用OFDPA来驱动Trident 2。Broadcom宣称通过OFDPA已经在交换芯片上支持了openflow
1.3协议。
总共使用了3个Altera MAX CPLD,第一个CPLD用来控制风扇,温度和LED,通过I2C跟CPU相连。第2/3个CPLD用来控制SFP,交换机没有板内提供PHY,都是使用10G / 1G SFP来出接口的,每一个CPLD分别控制24个SFP。主要控制TXFaults, TXDisable, RXLoss和Mode。
OS
白盒交换机都是使用ONIE(Open Network Install Environment)作为启动程序,ONIE是一个轻量级的boot
loader,装载小内核和驱动好管理网口。现在ONIE已经支持一些开源的网络操作系统比如ONL和OpenSwitch。
安装ONIE非常简单,只要求主板支持ONIE USB启动。ONIE会自动安装到flash,然后通过ONIE启动。
然后就可以从NOS提供商(Cumulus, IPinfusion, Pica8, ONL, BigSwitch, OpenSwitch)获取相应的NOS,并且通过ONIE安装上去。NOS一旦安装成功,一个10G/40G/100G线速交换机就完成了。
成本:
主要成本是Broadcom芯片价格。
领取专属 10元无门槛券
私享最新 技术干货