OCP的開源網(wǎng)絡(luò)項(xiàng)目會引發(fā)網(wǎng)絡(luò)變革嗎?
開源項(xiàng)目在過去十幾年里,已經(jīng)在諸多領(lǐng)域取得了突破,包括硬件和軟件,但是唯獨(dú)在網(wǎng)絡(luò)設(shè)備領(lǐng)域,一直未能有效穿透傳統(tǒng)設(shè)備廠商的層層壁壘,一臺臺的網(wǎng)絡(luò)設(shè)備都是一個個的黑盒,對用戶來說,無法復(fù)制,也無法完全控制,只能使用,OCP現(xiàn)在想突破這個領(lǐng)域。
解讀OCP項(xiàng)目發(fā)展 Facebook全力主導(dǎo)
OCP全稱是Open Computer Project,是Facebook發(fā)起并主導(dǎo)的一個硬件開源組織,這個組織使命是致力于服務(wù)器、存儲和數(shù)據(jù)中心基礎(chǔ)架構(gòu)的創(chuàng)新,以便更好地滿足高性能可擴(kuò)展計(jì)算的需求,但是實(shí)際上遠(yuǎn)不止于此。
如果深入了解一下OCP,會發(fā)現(xiàn)他們的關(guān)注點(diǎn)主要在這些方面:存儲設(shè)備、服務(wù)器主板、服務(wù)器機(jī)柜、虛擬I/O、硬件驅(qū)動管理、數(shù)據(jù)中心基礎(chǔ)架構(gòu)設(shè)計(jì),他們期望能夠把涉及其中的硬件盡量標(biāo)準(zhǔn)化,訂單交出去,隨便一個代工廠都可以生產(chǎn),在這些領(lǐng)域,他們早已經(jīng)有了很多成果。
現(xiàn)在輪到了網(wǎng)絡(luò)交換機(jī),今年上半年的時(shí)候他們就開始了這方面的工作,隨著Cumulus公司的ONIE(Open Network Install Environment)的清晰化和各個公司相繼宣布支持ONIE, OCP的開源網(wǎng)絡(luò)項(xiàng)目也變得清晰了,讓我們來看看他們干了些什么。
跟開源服務(wù)器、存儲一樣,OCP的開源交換機(jī)項(xiàng)目也主要是開源硬件,但也包括部分軟件,他們試圖定義一套標(biāo)準(zhǔn)化的硬件設(shè)計(jì),標(biāo)準(zhǔn)化包括:交換機(jī)硬件電路板中都要用哪些類型的器件,CPU跟各種器件之間用什么樣的接口,芯片接口類型和數(shù)量,各個器件地址空間,鏡像文件在flash中存放的位置等等很多,基于這樣的硬件規(guī)范,各個廠商或者代工廠可以生產(chǎn)符合OCP標(biāo)準(zhǔn)的硬件交換機(jī)。目前OCP針對的主要是數(shù)據(jù)中心TOR交換機(jī),后面會擴(kuò)展到匯聚層交換機(jī)(Spine/leaf架構(gòu)中的Spine),但是實(shí)際上它們也都適應(yīng)于企業(yè)網(wǎng)交換機(jī)。
美國的創(chuàng)業(yè)公司Cumulus是Facebook的親密合作伙伴,一直緊跟Facebook的腳步,他們一方面做了一套自己的交換機(jī)系統(tǒng)軟件,另外一方面,他們研發(fā)了一個叫做ONIE的軟件,它其實(shí)是一個比較智能的bootloader(相當(dāng)于PC中的BIOS,但是比BIOS功能更多一些),用來安裝和啟動符合要求的交換機(jī)軟件系統(tǒng)。只要軟件廠商或者交換機(jī)廠商開發(fā)的交換機(jī)系統(tǒng)軟件能夠適配OCP硬件,那就可以通過ONIE啟動。這樣一來,交換機(jī)軟件和硬件就徹底分離了,OCP組織負(fù)責(zé)硬件規(guī)范設(shè)計(jì),代工廠,比如廣達(dá)、天弘之類(或者傳統(tǒng)設(shè)備商)負(fù)責(zé)提供生產(chǎn)硬件(所用的ASIC芯片并不局限于一家,而是有多家的,比如Intel, Broadcom, Marvel, Mellanox、蘇州盛科網(wǎng)絡(luò)目前也已經(jīng)加入了OCP)。另外的廠商提供交換機(jī)軟件系統(tǒng)(哪些廠商提供,我們后面再談)。這些交換機(jī),就可以稱之為符合OCP要求的白牌交換機(jī)(WhiteBox Switch),目前OCP已經(jīng)組織幾個廠商生產(chǎn)出了幾臺符合要求的樣機(jī),都宣稱支持ONIE。
OCP宣稱他們的交換機(jī)開源包含三個層次:第一個層次是硬件開源且標(biāo)準(zhǔn)化;第二個層次是硬件驅(qū)動,bootloader, linux OS的開源;第三個層次包括各種開發(fā)和管理工具的開源,Rest API,還提到了SDN的開源,他們明確地宣稱,交換機(jī)系統(tǒng)協(xié)議棧的開源不在OCP工作范圍之內(nèi),但是他們鼓勵廠商在這方面的開源。
OCP白牌交換機(jī)面臨的挑戰(zhàn)
那么接下來一個問題就是,誰來提供能夠運(yùn)行在OCP白牌交換機(jī)之上的系統(tǒng)協(xié)議軟件呢?OCP首先是期望白牌交換機(jī)提供商,比如Cumulus,比如廣達(dá),甚至Intel, BCM, Mellanox,盛科這樣的芯片商能夠提供,還有他們也歡迎傳統(tǒng)交換機(jī)廠商能夠改造他們的系統(tǒng),讓他們的系統(tǒng)跑在這些白牌機(jī)上,比如Cisco的IOS。當(dāng)然,不要求他們開源。
假設(shè)OCP的目的可以達(dá)到,那么未來的網(wǎng)絡(luò)交換機(jī)領(lǐng)域會是什么樣子呢?各個用戶可以在市場上買符合OCP要求的白牌交換機(jī),然后購買符合要求的交換機(jī)系統(tǒng),自行通過ONIE安裝進(jìn)去并啟動設(shè)備。
關(guān)于受益討論一:誰會從這個事情受益呢?如果把所有用戶看作是一個群體,那么首先的受益者是用戶,因?yàn)檫@種機(jī)器的成本肯定會大大降低,而且用戶不必被鎖定在某個廠商身上;其次是白牌設(shè)備提供商,比如廣達(dá)、智邦、天弘這樣的代工廠,另外芯片商也沒損失,特別后來者也許可以靠白牌交換機(jī)多獲取一些份額,那誰會受損失呢?毫無疑問,傳統(tǒng)設(shè)備商!
關(guān)于受益討論二:這個事情的阻力在哪里?第一個阻力是很顯然的,在傳統(tǒng)設(shè)備商,傳統(tǒng)設(shè)備商肯定不會配合,他們會允許自己的交換機(jī)軟件運(yùn)行在別人生產(chǎn)的設(shè)備上讓別人來蠶食他們的市場嗎?或者換個問法,用戶會為純粹的交換機(jī)軟件額外付一大筆錢嗎?很難,肯付這個錢的用戶,估計(jì)也不會介意連他們的硬件一起買了。
如果傳統(tǒng)設(shè)備商不做這個事情,那最終誰來提供交換機(jī)協(xié)議軟件呢?新興的創(chuàng)業(yè)公司已經(jīng)有人在做這個事情,美國的Cumulus公司,向他們的客戶提供開源的傳統(tǒng)二三層交換機(jī)軟件,采取License收費(fèi)的模式。另外,BigSwitch也向客戶提供開源的Openflow軟件,對特定模塊進(jìn)行收費(fèi),此外,Intel, Broadcom, Mellanox等都有自己的軟件。
但是上面還不是唯一的阻力,OCP的開放網(wǎng)絡(luò)項(xiàng)目如果只是供Facebook幾個廠商自己用一下,一點(diǎn)問題都沒有,但是如果要推廣開來,一定還要解決另外一個問題,如果用戶從一個公司買了硬件,從另外一個公司買了軟件(或者用了開源的),出了問題的時(shí)候,應(yīng)該找誰?或者說誰提供支持?這涉及到利益分成,涉及到商業(yè)模式。也許最終會演變成硬件廠商跟軟件廠商合作,由硬件廠商出面做第一線支持,或者說每個硬件提供商都同時(shí)有自己的配套軟件。
講到現(xiàn)在,我們有沒有發(fā)現(xiàn)好像OCP的這個開放網(wǎng)絡(luò)項(xiàng)目還少了一環(huán),很重要的一環(huán),就是缺乏一個真正開源的交換機(jī)軟件,就像OpenStack一樣,從上到下,里里外外,全部開源,完全免費(fèi),只有走到這一步,網(wǎng)絡(luò)才算真正開放。國內(nèi)的盛科網(wǎng)絡(luò)近期在這個方面先行一步,他們率先發(fā)布了世界上第一個完全開源的硬件交換機(jī)項(xiàng)目Lantern,目前先是只針對SDN交換機(jī),將來會擴(kuò)展到傳統(tǒng)二三層交換機(jī)。該項(xiàng)目是從管理界面,協(xié)議棧,操作系統(tǒng)(Linux)到硬件適配層,到芯片SDK,完全開源,完全免費(fèi),可以直接在Github上下載。盛科的這種模式,芯片廠商可以玩,ODM廠商(代工廠)也可以玩,但是唯獨(dú)Cumulus, BigSwitch這樣的軟件提供商不能玩,因?yàn)樗麄儽旧頉]有任何載體,軟件是他們的立命之本,軟件開源了,他們就收不到錢了,除非他們能提供比開源軟件強(qiáng)大得多的軟件系統(tǒng),能夠吸引用戶付錢,OCP已經(jīng)對該項(xiàng)目表示出了很大的興趣。
無論是開源也好,閉源也好,白牌交換機(jī)目前還面臨第三個也是最大一個挑戰(zhàn),就是用戶的接受度,用戶下意識會問的一個問題,白牌交換機(jī)穩(wěn)定嗎?能滿足需求嗎?因?yàn)閷芏嘤脩魜碚f,購買網(wǎng)絡(luò)設(shè)備首先考慮的并不是價(jià)格,而是穩(wěn)定性。就我的經(jīng)驗(yàn)來看,白牌交換機(jī)肯定沒法滿足所有應(yīng)用場景,但是在當(dāng)前的大多數(shù)場景下,絕對可以勝任。我們看看現(xiàn)在數(shù)據(jù)中心的TOR交換機(jī),都運(yùn)行了什么功能?三層就是一個OSPF,二層就是LACP,VLAN,F(xiàn)DB,然后就是一些管理功能,比如Mirror, SNMP等,其它就基本沒有了。這些都是非常非常成熟的技術(shù),一點(diǎn)技術(shù)含量都沒有。要做穩(wěn)定是很容易的。盡管如此,要讓用戶接受白牌交換機(jī),會是一個漫長的過程。
另外,我們還要注意到,OCP的項(xiàng)目都是開源硬件,但是在開放網(wǎng)絡(luò)項(xiàng)目中,提到了第三個層次的開放,包含了Rest API以及SDN。這是什么意思?ONF的執(zhí)行總監(jiān)Dan Pitt今年8月底來中國的時(shí)候,我跟他聊過OCP的事情,他表示ONF正在跟OCP緊密合作,力爭做出支持SDN的開源交換機(jī),所以這可以理解為OCP想在開源硬件之外,在SDN軟件開源方面做出的一些努力。
OCP的開往網(wǎng)絡(luò)項(xiàng)目最終會攪動網(wǎng)絡(luò)交換機(jī)領(lǐng)域,甚至引發(fā)一場變革嗎?目前尚無法下結(jié)論,但是我們必須看到的是,這個項(xiàng)目,技術(shù)難度并不高,能給用戶帶來的價(jià)值卻很大,就看OCP如何將這個市場培育起來了,我對此保持謹(jǐn)慎的樂觀。