以一個(gè)高性能的數(shù)據(jù)中心交換機(jī)為例簸州,如何DIY一個(gè)端口為10G/40G/100G的TOR交換機(jī)鉴竭。做一個(gè)高技術(shù)的交換機(jī)似乎很難,其實(shí)只要跟芯片供應(yīng)商簽訂NDA之后岸浑,芯片供應(yīng)商就會(huì)有提供大量的datasheet搏存、原理圖、軟件規(guī)范和驅(qū)動(dòng)等設(shè)計(jì)材料矢洲。
硬件:
首先從硬件開始璧眠,一個(gè)完整的以太網(wǎng)交換機(jī)應(yīng)該包含下面一些組件:
Chassis(這個(gè)應(yīng)該是基礎(chǔ))
電源(一般需要兩個(gè)冗余,很多代工廠能夠提供)
風(fēng)扇(冷卻系統(tǒng),低噪音)
風(fēng)扇控制PCBA
CPU PCBA(CPU可以選擇x86/Power PC/ARM蛆橡,包含相對(duì)應(yīng)的RAM, FLASH和PCIe舌界,上面跑控制OS)
主板PCBA(包含交換芯片,接口泰演,CPLD呻拌,PHY,一般來(lái)說(shuō)睦焕,PCB是16~22層)
下面是臺(tái)灣鈺登科技一款基于Broadcom Trident 2交換芯片的交換機(jī)(Edge-Core AS5712 48 x 10G , 6 x 40G)
中間那個(gè)冷卻器下面就是Broadcom Trident 2芯片藐握,跟其他CPU不同,交換芯片體型要大得多垃喊,這是因?yàn)榻粨Q芯片要出很多端口猾普,因此有很多引腳。
CPLD采用Altera MAX系列的本谜,主要功能是系統(tǒng)啟動(dòng)初家,管理LED和風(fēng)扇以及溫度傳感器等。CPLD通過(guò)UART 或者I2C 總線跟主機(jī)CPU相連乌助。
總體架構(gòu):
上圖中CPU采用Intel C2538 (Atom)溜在,C2538通過(guò)PCIe跟Trident 2對(duì)接,Broadcom向不同NOS提供了SDK他托,SDK包括了driver掖肋,一般NOS已經(jīng)包含在內(nèi)了。如果NOS采用了ONL (Open Network Linux)赏参,也可以使用OFDPA來(lái)驅(qū)動(dòng)Trident 2志笼。Broadcom宣稱通過(guò)OFDPA已經(jīng)在交換芯片上支持了openflow
1.3協(xié)議。
總共使用了3個(gè)Altera MAX CPLD把篓,第一個(gè)CPLD用來(lái)控制風(fēng)扇纫溃,溫度和LED,通過(guò)I2C跟CPU相連纸俭。第2/3個(gè)CPLD用來(lái)控制SFP皇耗,交換機(jī)沒(méi)有板內(nèi)提供PHY,都是使用10G / 1G SFP來(lái)出接口的揍很,每一個(gè)CPLD分別控制24個(gè)SFP郎楼。主要控制TXFaults, TXDisable, RXLoss和Mode。
OS
白盒交換機(jī)都是使用ONIE(Open Network Install Environment)作為啟動(dòng)程序窒悔,ONIE是一個(gè)輕量級(jí)的boot
loader呜袁,裝載小內(nèi)核和驅(qū)動(dòng)好管理網(wǎng)口。現(xiàn)在ONIE已經(jīng)支持一些開源的網(wǎng)絡(luò)操作系統(tǒng)比如ONL和OpenSwitch简珠。
安裝ONIE非常簡(jiǎn)單阶界,只要求主板支持ONIE USB啟動(dòng)虹钮。ONIE會(huì)自動(dòng)安裝到flash,然后通過(guò)ONIE啟動(dòng)膘融。
然后就可以從NOS提供商(Cumulus, IPinfusion, Pica8, ONL, BigSwitch, OpenSwitch)獲取相應(yīng)的NOS芙粱,并且通過(guò)ONIE安裝上去。NOS一旦安裝成功氧映,一個(gè)10G/40G/100G線速交換機(jī)就完成了春畔。
成本:
主要成本是Broadcom芯片價(jià)格。
關(guān)注微信公眾號(hào):ICT大融合岛都,了解更多精彩文章律姨。