從ServerSwitch到SONiC Chassis:數(shù)據(jù)中心交換機技術(shù)的十年_第1頁
從ServerSwitch到SONiC Chassis:數(shù)據(jù)中心交換機技術(shù)的十年_第2頁
從ServerSwitch到SONiC Chassis:數(shù)據(jù)中心交換機技術(shù)的十年_第3頁
從ServerSwitch到SONiC Chassis:數(shù)據(jù)中心交換機技術(shù)的十年_第4頁
從ServerSwitch到SONiC Chassis:數(shù)據(jù)中心交換機技術(shù)的十年_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

-7-從ServerSwitch到SONiCChassis:數(shù)據(jù)中心交換機技術(shù)的十年在數(shù)據(jù)中心里,數(shù)以萬計的服務器由很多的交換機連接起來,構(gòu)成了一個高帶寬、低延遲的網(wǎng)絡。眾所周知,云計算業(yè)務對于牢靠性有特別高的要求,這要求網(wǎng)絡的運維人員,必需對交換機做到高度的可掌握、可管理,能夠時刻了解網(wǎng)絡發(fā)生了什么,在消失故障的時候必需快速定位和排解故障。編者按:微軟交換機操作系統(tǒng)開源項目SONiC(SoftwareforOpenNetworkingintheCloud)在微軟Azure數(shù)據(jù)中心里已經(jīng)大規(guī)模部署,但如何在高層的ChassisSwitch上部署SONiC仍舊是一個挑戰(zhàn)。為此,微軟亞洲討論院和Azure網(wǎng)絡產(chǎn)品部門合作,勝利構(gòu)建了第一個SONiCChassis原型系統(tǒng),它的背后隱藏著討論者們歷經(jīng)十年的不懈探究。

隨著云計算時代的到來,各大公司在全球不斷建設數(shù)據(jù)中心,來支撐飛速增長的云計算業(yè)務。2022年,由Facebook等公司發(fā)起了一個非營利組織開放計算項目(OpenComputeProject,OCP),旨在通過開源的方式,重構(gòu)數(shù)據(jù)中心的下一代硬件,進展面對下一代數(shù)據(jù)中心的服務器、存儲、網(wǎng)絡、基礎設施等創(chuàng)新硬件。

OCP是目前世界上計算基礎硬件方向掩蓋范圍最廣、影響力最大的組織之一,成員包括Facebook、微軟、谷歌、英特爾、AMD、阿里巴巴、騰訊、百度和華為等公司。

在數(shù)據(jù)中心里,數(shù)以萬計的服務器由很多的交換機連接起來,構(gòu)成了一個高帶寬、低延遲的網(wǎng)絡。眾所周知,云計算業(yè)務對于牢靠性有特別高的要求,這要求網(wǎng)絡的運維人員,必需對交換機做到高度的可掌握、可管理,能夠時刻了解網(wǎng)絡發(fā)生了什么,在消失故障的時候必需快速定位和排解故障。

此外,新的云計算業(yè)務,也對交換機不斷提出新的功能需求,這就要求網(wǎng)絡的開發(fā)人員能在短時內(nèi)實現(xiàn)新的交換機功能并部署上線。在這些新的挑戰(zhàn)和要求面前,傳統(tǒng)交換機廠商的設備已經(jīng)顯得越來越力不從心,因此,各大云計算廠商紛紛開頭了自己的交換機自研之旅。

SONiCChassis

作為OCP合作項目的一部分,微軟在2022年OCP峰會上發(fā)布了交換機操作系統(tǒng)開源項目SONiC(SoftwareforOpenNetworkingintheCloud)。該項目利用交換機抽象接口(SwitchAbstractionInterface,SAI)為不同的交換芯片供應了統(tǒng)一的管理和操作接口,并將交換機軟件分解為多個容器模塊,來加速軟件的迭代開發(fā),如圖1。SONiC得到了許多云計算、交換機和芯片廠商的響應,目前的開源社區(qū)成員包括微軟、阿里巴巴、騰訊這樣的云計算廠商以及Mellanox、思科、Arista這樣的交換機和芯片廠商。

圖1:SONiC系統(tǒng)架構(gòu)

目前,SONiC在微軟Azure數(shù)據(jù)中心里已經(jīng)得到了大規(guī)模的部署(如圖2所示)。然而,目前SONiC的部署局限在T0和T1這兩層的交換機(Switch)上,如何在高層(T2/T3)的ChassisSwitch上部署SONiC仍舊是一個巨大的挑戰(zhàn)。因此,微軟Azure網(wǎng)絡產(chǎn)品部門和微軟亞洲討論院系統(tǒng)與網(wǎng)絡組于2022年9月啟動了SONiCChassis的合作討論項目,來設計支持SONiC的ChassisSwitch。

圖2:SONiC在微軟的數(shù)據(jù)中心內(nèi)的部署狀況

傳統(tǒng)的ChassisSwitch架構(gòu)其實是由多個交換機芯片構(gòu)成的(見圖3示例)。前端芯片和后端芯片是靠一個特別的基于Cell(交換機芯片內(nèi)部一種固定長度的數(shù)據(jù)單元)交換(CellSwitching)的無損(Lossless)網(wǎng)絡連接起來的。

目前,ChassisSwitch內(nèi)部的Cell網(wǎng)絡并沒有公開的拓撲和路由標準。不同芯片廠商的ChassisSwitch內(nèi)部Cell網(wǎng)絡的實現(xiàn)也不盡相同,且細節(jié)并不公開,可以說是不折不扣的黑盒子。在這種不透亮?????的狀況下,網(wǎng)管們很難用SONiC來管理ChassisSwitch,也無法發(fā)覺和診斷Chassis內(nèi)部消失的網(wǎng)絡問題。

圖3:傳統(tǒng)ChassisSwitch的內(nèi)部架構(gòu)

為了讓SONiC能夠運行在ChassisSwitch上,我們首先要把ChassisSwitch變成網(wǎng)管們熟識的白盒子。和傳統(tǒng)ChassisSwitch一樣,SONiCChassis依舊由多塊交換芯片構(gòu)成。但不同的是,我們用標準的(二層)Clos以太網(wǎng)(EthernetNetwork)來連接這些芯片(如圖4所示)。

Clos以太網(wǎng)是當今數(shù)據(jù)中心的標準架構(gòu)。這樣,網(wǎng)管們可以輕松地把數(shù)據(jù)中心網(wǎng)絡的大量成熟技術(shù)(比如掌握平面協(xié)議、流控機制和故障診斷技術(shù))和運維管理閱歷直接移植到Chassis內(nèi)部網(wǎng)絡上來。

圖4:SONiCChassis的內(nèi)部網(wǎng)絡拓撲

在拓撲打算了后,下一個挑戰(zhàn)是Chassis內(nèi)部的掌握平面(ControlPlane)。SONiCChassis的每個芯片上都運行了一個SONiC實例(Instance),并采納了BGP-EVPN作為掌握平面協(xié)議。前端芯片上的SONiC通過BGP-EVPN直接相互交換外部的路由信息,而不涉及后端芯片上的SONiC。這樣,我們僅需要在前端采納比較昂貴的大路由表芯片,而可以在后端芯片的選擇上擁有更多的選擇。比如,后端可以選擇高端口密度(HighPortDensity)小路由表的芯片,來提升整個SONICChassisSwitch的端口密度。

為了協(xié)作BGP-EVPN,SONiCChassis內(nèi)部采納一種標準的網(wǎng)絡虛擬化技術(shù)LAN(VirtualeXtensibleLocalAreaNetwork)。每一個前端芯片都是一個LAN隧道節(jié)點(LANTunnelEndPoint,VTEP),進出Chassis的數(shù)據(jù)包會被前端芯片添加/挪走LAN頭。在不知道外部的路由信息的狀況下,后端芯片只需要依據(jù)數(shù)據(jù)包的LAN頭部信息,將數(shù)據(jù)包轉(zhuǎn)發(fā)至正確的前端芯片即可,如圖5所示。

圖5:SONiCChassis的掌握平面,在這個例子里,VTEP1上的SONiC直接把10.0.1.0/24的路由信息發(fā)送給了VTEP6上的SONiC。

經(jīng)過歷時近半年的緊密合作,微軟亞洲討論院和Azure網(wǎng)絡產(chǎn)品部門在今年2月聯(lián)合構(gòu)建了第一個SONiCChassis的原型系統(tǒng),并且在3月的OCP全球峰會上進行了展現(xiàn),得到了工業(yè)界的廣泛關(guān)注。

目前,我們正在連續(xù)解決SONiCChassis中的一些關(guān)鍵技術(shù)問題(比如Chassis內(nèi)部的擁塞掌握以及故障監(jiān)控診斷機制),爭取早日將SONiCChassis部署到微軟的數(shù)據(jù)中心中。

圖6:SONiCChassis的原型系統(tǒng),展現(xiàn)于2022年3月OCP全球峰會上

從ServerSwitch到SONiCChassis:十年如一日的堅持

"在SONiCChassis項目的背后,其實是我們在數(shù)據(jù)中心交換機技術(shù)上十年的曲折探究歷程。'已經(jīng)在微軟亞洲討論院工作了16年的資深討論員熊勇強介紹道。"早在十年前,我們盼望為BCube和DCell這樣以服務器為核心的數(shù)據(jù)中心架構(gòu)實現(xiàn)高性能的轉(zhuǎn)發(fā)引擎,所以我們啟動了ServerSwitch項目。'

圖7:ServerSwitch架構(gòu)

ServerSwitch將商用的交換機芯片和服務器通過高帶寬的PCI-E接口連接起來,充分挖掘了交換機芯片和CPU的可編程力量,實現(xiàn)了一個高性能可編程的平臺。在2022年,ServerSwitch論文發(fā)表在計算機系統(tǒng)和網(wǎng)絡的頂級會議USENIXSymposiumonNetworkedSystemsDesignandImplementation(NSDI)上,并獲得最佳論文獎。

然而,這樣一個在學術(shù)界大受歡迎的工作,在微軟內(nèi)部的落地卻幾經(jīng)波折。"我們雖然基于ServerSwitch做了一些新奇的應用,比如利用主機的大內(nèi)存來緩存交換機芯片無法汲取的數(shù)據(jù)包,但是離生產(chǎn)環(huán)境的需求還是有不小的距離。'熊勇強不無感慨地說。"在2022年和2022年的時候,我們盼望可以把Azure網(wǎng)絡的GenericFlowTable(GFT)卸載到ServerSwitch平臺上,并且做了許多努力,設計并實現(xiàn)了40GServerSwitch系統(tǒng)。然而由于交換機芯片的流表資源的限制以及功耗問題,產(chǎn)品部門最終還是選擇了FPGA'。

轉(zhuǎn)機發(fā)生在2022年,ServerSwitch的核心開發(fā)者呂國晗(現(xiàn)微軟SONiC項目首席開發(fā)經(jīng)理)加入了Azure網(wǎng)絡產(chǎn)品部門。于是微軟亞洲討論院和Azure網(wǎng)絡產(chǎn)品部門開啟了AzureCloudSwitch(ACS)的合作項目,旨在設計一個跨平臺模塊化的交換機操作系統(tǒng)。這可能也是微軟在自研交換機操作系統(tǒng)上最早的嘗試。

圖8:ServerSwitch

就在大家滿心高興的時候,命運卻開了一個不大不小的玩笑。ACS最初是基于微軟公司的Windows平臺開發(fā)的,就在ACSWindows原型系統(tǒng)即將大功告成之際,微軟開頭樂觀擁抱Linux和開源系統(tǒng),而Windows并非是開源網(wǎng)絡系統(tǒng)中的主流操作系統(tǒng),因此Azure網(wǎng)絡產(chǎn)品部門的負責人AlbertGreenberg立即叫停ACSWindows開發(fā),轉(zhuǎn)向Linux,也就是今日的SONiC項目。

"那個時候,大家在ACSWindows上已經(jīng)投入了巨大的心血,突然知道項目被叫停,都非常無奈和懊喪。'熊勇強回憶到。"但是不得不說,投身Linux的確是一個非常明智的打算。Linux的開源

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論