隨著互聯(lián)網(wǎng)行業(yè)的蓬勃發(fā)展,數(shù)據(jù)和流量開始向數(shù)據(jù)中心聚集,同時,公有云的興起以及對成本的極度敏感,都使得數(shù)據(jù)中心的規(guī)?;б孀兊糜l(fā)重要。近年來數(shù)據(jù)中心網(wǎng)絡規(guī)模越來越大,從大型/超大型數(shù)據(jù)中心的建設中就可見一斑。進入5G時代,數(shù)據(jù)匯聚情況將進一步加劇,在這個大背景下,如何繼續(xù)提高數(shù)據(jù)中心規(guī)模化效益,以及如何解決超大型云計算中心異構(gòu)網(wǎng)絡的運維、排障及自動化問題,是每個數(shù)據(jù)中心架構(gòu)設計師都要面對的挑戰(zhàn)。
為了應對上述挑戰(zhàn),SDN/NFV等技術(shù)被廣泛使用,同時也帶動了白盒交換機的發(fā)展機遇。白盒交換機與傳統(tǒng)交換機的區(qū)別在于:白盒交換機采用開放的架構(gòu),致力于實現(xiàn)軟件與硬件的解耦,具備可編程能力,此外,軟件功能可按需增刪,在降低成本的同時,還能縮短開發(fā)周期,加速軟硬件技術(shù)的創(chuàng)新。
白盒交換機的系統(tǒng)架構(gòu)
在傳統(tǒng)交換機的架構(gòu)下,NOS由各設備廠商自行開發(fā),芯片廠商負責提供ASIC芯片和SDK,設備廠商在此基礎上進行二次開發(fā)以適配各自的NOS系統(tǒng),并開發(fā)各類APP用于實現(xiàn)具體的網(wǎng)絡功能。同時,傳統(tǒng)交換機的軟硬件開發(fā)均由設備廠商提供,致使系統(tǒng)完全封閉,無法適應新功能快速開發(fā)部署的需求,且采購成本久高不下。如圖1所示。
為解決以上問題,需要將傳統(tǒng)交換機的架構(gòu)進行分層開放,并推動標準化進程。
首先,推動硬件開源和標準化。開放計算項目(Open Compute Project,以下簡稱OCP)通過定義一系列硬件設計標準,其中包括部分推薦或參考設計,如硬件框圖、原理圖、走線圖、物料BOM清單等,以便于更多的網(wǎng)絡設備供應商通過開放的設計,能更快更好地推出符合OCP規(guī)格的硬件產(chǎn)品。
其次,推動Booloader的開源,用來安裝和啟動符合要求的交換機軟件系統(tǒng)。ONIE由Cumulus在2013年孵化并開源,基于Linux的小型操作系統(tǒng),可以在交換機上啟動并發(fā)現(xiàn)本地網(wǎng)絡上可用的安裝程序映像,同時能夠?qū)⒑线m的映像傳輸?shù)浇粨Q機,然后提供一個安裝環(huán)境,以便安裝程序可以將網(wǎng)絡操作系統(tǒng)加載到交換機,使得交換機和網(wǎng)絡操作系統(tǒng)供應商專注于交換機和操作系統(tǒng)的開放工作,而不需要在BootLoader上投入過多的研發(fā)資源。
最后,推動NOS的開源和標準化。一方面南向適配不同ASIC平臺,另一方面北向為APP提供統(tǒng)一的API,從而實現(xiàn)軟硬件的解耦。微軟在2017年向OCP貢獻了交換機抽象接口(SAI),并正式發(fā)布了SONiC,SONiC的所有軟件功能模塊都開源,這極大地推動了OCP社區(qū)以及其他廠商/用戶在開放網(wǎng)絡方面的創(chuàng)新。SONiC通過將SAI作為南北向互聯(lián)的中間件,屏蔽不同ASIC之間的驅(qū)動差異,也正是由于SAI的存在,SONiC的網(wǎng)絡功能應用才能夠支持多個廠家的ASIC。
SONiC自推出后,迅速得到了產(chǎn)業(yè)界的支持,大部分網(wǎng)絡芯片供應商都在其SDK上支持SAI,并配合微軟為SAI版本添加新的擴展功能:如博通、Marvell、Barefoot正在推動SAI的監(jiān)控和遙測功能發(fā)展,以深入挖掘ASIC特性并提供強大的網(wǎng)絡分析功能;Mellanox、Cavium、戴爾、盛科為SAI提供協(xié)議通知,包括MPLS、增強ACL模式、橋接模式、L2/L3組播、Segment Routing和802.1BR等,以支持更豐富的協(xié)議和大規(guī)模網(wǎng)絡應用;戴爾和Metaswitch通過添加L3快速重路由和BFD,為SAI帶來了故障彈性和性能。
SONiC架構(gòu)的新技術(shù)特性
SAI是SONiC的核心,并為SONiC提供了統(tǒng)一的API。網(wǎng)絡硬件供應商可以在能夠匹配該編程接口的前提下,提供更高速、更低功耗、更低成本、更高端口密度等特性的硬件,且無需軟件進行特定的適配,這種方式使得供應商在硬件產(chǎn)品開發(fā)方面能夠快速迭代、創(chuàng)新。
在數(shù)據(jù)架構(gòu)方面,SONiC使用數(shù)據(jù)庫架構(gòu)代替原有的模塊化耦合架構(gòu),將應用模塊之間的傳遞數(shù)據(jù)模式變成應用模塊之間通過數(shù)據(jù)庫進行數(shù)據(jù)交換的模式,從關注流程轉(zhuǎn)變?yōu)殛P注數(shù)據(jù),實現(xiàn)了功能模塊之間的解耦。
采用數(shù)據(jù)庫架構(gòu),不僅為新功能開發(fā)提供了環(huán)境基礎,同時能夠提供在不影響轉(zhuǎn)發(fā)面的前提下解決進程級別故障及功能升級的能力。當進程發(fā)生故障或升級時,由于數(shù)據(jù)庫中的信息可以保持不變,而ASIC當前的轉(zhuǎn)發(fā)面信息是通過數(shù)據(jù)庫變更觸發(fā)的,所以只要數(shù)據(jù)庫信息沒有變化,ASIC就能夠繼續(xù)保持正確的轉(zhuǎn)發(fā)狀態(tài),直至進程恢復后從數(shù)據(jù)庫中重新獲取狀態(tài)繼續(xù)運行(基于數(shù)據(jù)庫當前內(nèi)容以及最新的狀態(tài)計算是否需要更新數(shù)據(jù)庫),在整個切換過程中轉(zhuǎn)發(fā)面不受到影響。
在模塊化方案設計上,SONiC是首個將交換機軟件拆分為多個容器化組件的解決方案。SONiC的核心是針對云網(wǎng)絡場景,存在強烈的擴展性和規(guī)?;芾淼男枨蟆H萜骰沟肧ONiC具有極高的可擴展性,網(wǎng)絡運營管理人員能夠快速引入第三方、專有或開源組件,而不對原有業(yè)務造成影響。
除此以外,SONiC還大量使用了現(xiàn)有的開源項目和開源技術(shù),如Redis、Quagga、LLDPD以及自動化配置工具Ansible、Puppet和Chef等,使得SONiC獲得了更強大的技術(shù)演進能力。
銳捷在白盒領域表現(xiàn)卓越
網(wǎng)絡設備廠商的能力是制約白盒交換機應用能否實現(xiàn)的主要因素。白盒交換機的開發(fā)取決于設備廠商的3個關鍵架構(gòu)(可靠性、可擴展性和開放性)選擇和2個關鍵能力(芯片/SDK BUG修復能力和網(wǎng)絡軟件功能支持能力)。而銳捷網(wǎng)絡在數(shù)據(jù)通信領域具有二十年軟硬件自主研發(fā)能力,恰好匹配了當前的這些能力訴求。銳捷網(wǎng)絡以主動擁抱變化的態(tài)度參與白盒交換機的標準制定和商用落地,已經(jīng)成為了SONiC生態(tài)的主要合作伙伴之一。
銳捷網(wǎng)絡在白盒交換機產(chǎn)品設計方面,CPU采用標準的x86架構(gòu),配合博通數(shù)據(jù)中心專用ASIC構(gòu)建了開放化白盒交換機的基礎,同時支持ONIE安裝環(huán)境、提供支持SAI的BSP+SDK包,并提供基于SONiC的軟件開發(fā)、咨詢服務。同時,銳捷網(wǎng)絡基于多年商用交換機的開發(fā)及規(guī)模商用經(jīng)驗,積累了完整的軟、硬件測試案例及全自動化測試套件、測試方法以及專業(yè)的測試人員,可以提供專業(yè)的硬件、軟件定制化服務,同時為白盒交換機的品質(zhì)提供了強有力的支撐和保障。
目前,銳捷網(wǎng)絡已經(jīng)推出了25G/100G/400G三款白盒交換機平臺,并且已經(jīng)在互聯(lián)網(wǎng)頭部公司大規(guī)模部署。銳捷網(wǎng)絡已經(jīng)成為互聯(lián)網(wǎng)和運營商白盒交換機產(chǎn)品的首選合作伙伴,隨著云計算行業(yè)的發(fā)展,銳捷網(wǎng)絡將在網(wǎng)絡開放領域發(fā)揮越來越大的作用。