到底什么是葉脊網(wǎng)絡(luò)(Spine-Leaf)?
今天這個故事,要從67年前開始說起。
1953年,貝爾實驗室有一位名叫Charles Clos的研究員,發(fā)表了一篇名為《A Study of Non-blocking Switching Networks》的文章,介紹了一種“用多級設(shè)備來實現(xiàn)無阻塞電話交換”的方法。
自從1876年電話被發(fā)明之后,電話交換網(wǎng)絡(luò)歷經(jīng)了人工交換機(jī)、步進(jìn)制交換機(jī)、縱橫制交換機(jī)等多個階段。20世紀(jì)50年代,縱橫制交換機(jī)處于鼎盛時期。
縱橫交換機(jī)的核心,是縱橫連接器。如下圖所示:
縱橫制接線器
縱橫連接器交叉點示意圖
這種交換架構(gòu),是一種開關(guān)矩陣,每個交點(Crosspoint)都是一個開關(guān)。交換機(jī)通過控制開關(guān),來完成從輸入到輸出的轉(zhuǎn)發(fā)。
開關(guān)矩陣(交點數(shù)量=N2)
可以看出,開關(guān)矩陣很像一塊布的纖維。所以,交換機(jī)的內(nèi)部架構(gòu),被稱為Switch Fabric。Fabric,就是“纖維、布料”的意思。
Fabric這個詞,我相信所有核心網(wǎng)工程師和數(shù)通工程師都非常熟悉?!癋abric平面”、“Fabric總線”等概念,經(jīng)常出現(xiàn)在工作中。
隨著電話用戶數(shù)量急劇增加,網(wǎng)絡(luò)規(guī)??焖贁U(kuò)大,基于crossbar模型的交換機(jī)在能力和成本上都無法滿足要求。于是,才有了文章開頭Charles Clos的那篇研究文章。
Charles?Clos(右一)
Charles?Clos提出的網(wǎng)絡(luò)模型,核心思想是:用多個小規(guī)模、低成本的單元,構(gòu)建復(fù)雜、大規(guī)模的網(wǎng)絡(luò)。例如下圖:
圖中的矩形,都是低成本的轉(zhuǎn)發(fā)單元。當(dāng)輸入和輸出增加時,中間的交叉點并不需要增加很多。
這種模型,就是后來產(chǎn)生深遠(yuǎn)影響的CLOS網(wǎng)絡(luò)模型。
到了80年代,隨著計算機(jī)網(wǎng)絡(luò)的興起,開始出現(xiàn)了各種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),例如星型、鏈型、環(huán)型、樹型。
樹型網(wǎng)絡(luò)逐漸成為主流,大家也非常熟悉。
樹型網(wǎng)絡(luò)
傳統(tǒng)的樹型網(wǎng)絡(luò),帶寬是逐級收斂的。什么是收斂呢?物理端口帶寬一致,二進(jìn)一出,不就1:2的收斂了嘛。
2000年之后,互聯(lián)網(wǎng)從經(jīng)濟(jì)危機(jī)中復(fù)蘇,以谷歌和亞馬遜為代表的互聯(lián)網(wǎng)巨頭開始崛起。他們開始推行云計算技術(shù),建設(shè)大量的數(shù)據(jù)中心(IDC),甚至超級數(shù)據(jù)中心。
面對日益龐大的計算規(guī)模,傳統(tǒng)樹型網(wǎng)絡(luò)肯定是不行的了。于是,一種改進(jìn)型樹型網(wǎng)絡(luò)開始出現(xiàn),它就是胖樹(Fat-Tree)架構(gòu)。
胖樹(Fat-Tree)就是一種CLOS網(wǎng)絡(luò)架構(gòu)。
相比于傳統(tǒng)樹型,胖樹(Fat-Tree)更像是真實的樹,越到樹根,枝干越粗。從葉子到樹根,網(wǎng)絡(luò)帶寬不收斂。
胖樹架構(gòu)的基本理念是:使用大量的低性能交換機(jī),構(gòu)建出大規(guī)模的無阻塞網(wǎng)絡(luò)。對于任意的通信模式,總有路徑讓他們的通信帶寬達(dá)到網(wǎng)卡帶寬。
胖樹架構(gòu)被引入到數(shù)據(jù)中心之后,數(shù)據(jù)中心變成了傳統(tǒng)的三層結(jié)構(gòu):
接入層:用于連接所有的計算節(jié)點。通常以機(jī)柜交換機(jī)(TOR,Top of Rack,柜頂交換機(jī))的形式存在。
匯聚層:用于接入層的互聯(lián),并作為該匯聚區(qū)域二三層的邊界。各種防火墻、負(fù)載均衡等業(yè)務(wù)也部署于此。
核心層:用于匯聚層的的互聯(lián),并實現(xiàn)整個數(shù)據(jù)中心與外部網(wǎng)絡(luò)的三層通信。
在很長的一段時間里,三層網(wǎng)絡(luò)結(jié)構(gòu)在數(shù)據(jù)中心十分盛行。在這種架構(gòu)中,銅纜布線是主要的布線方式,使用率達(dá)到了80%。而光纜,只占了20%。
用著用著,人們發(fā)現(xiàn),傳統(tǒng)三層架構(gòu)有很多的缺點。
首先,是資源的浪費。
傳統(tǒng)三層結(jié)構(gòu)中,一臺下層交換機(jī)會通過兩條鏈路與兩臺上層交換機(jī)互連。
由于采用的是STP協(xié)議( Spanning Tree Protocol,生成樹協(xié)議),實際承載流量的只有一條。其它上行鏈路,是被阻塞的(只用于備份)。這就造成了帶寬的浪費。
其次,是故障域比較大。
STP協(xié)議由于其本身的算法,在網(wǎng)絡(luò)拓?fù)浒l(fā)生變更時需要重新收斂,容易發(fā)生故障,從而影響整個VLAN的網(wǎng)絡(luò)。
第三點,也是最重要的一點——隨著時間推移,數(shù)據(jù)中心的流量走向發(fā)生了巨大變化。
2010年之后,為了提高計算和存儲資源的利用率,所有的數(shù)據(jù)中心都開始采用虛擬化技術(shù)。網(wǎng)絡(luò)中開始出現(xiàn)了大量的虛擬機(jī)(VM,Virtual Machine)。
與此同時,微服務(wù)架構(gòu)開始流行,很多軟件開始推行功能解耦,單個服務(wù)變成了多個服務(wù),部署在不同的虛擬機(jī)上。虛擬機(jī)之間的流量,大幅增加。
這種平級設(shè)備之間的數(shù)據(jù)流動,我們稱之為“東西向流量”。
相對應(yīng)的,那種上上下下的垂直數(shù)據(jù)流動,稱為“南北向流量”。這個很容易理解,“上北下南,左西右東”嘛。
東西向流量,其實也就是一種“內(nèi)部流量”。這種數(shù)據(jù)流量的大幅增加,給傳統(tǒng)三層架構(gòu)帶來了很大的麻煩——因為服務(wù)器和服務(wù)器之間的通信,需要經(jīng)過接入交換機(jī)、匯聚交換機(jī)和核心交換機(jī)。
數(shù)據(jù)流向舉例
這意味著,核心交換機(jī)和匯聚交換機(jī)的工作壓力不斷增加。要支持大規(guī)模的網(wǎng)絡(luò),就必須有性能最好、端口密度最大的匯聚層核心層設(shè)備。這樣的設(shè)備成本高,價格非常昂貴。
于是乎,網(wǎng)絡(luò)工程師們提出了“Spine-Leaf網(wǎng)絡(luò)架構(gòu)”,也就是我們今天的主角——葉脊網(wǎng)絡(luò)(有時候也被稱為脊葉網(wǎng)絡(luò))。Spine的中文意思是脊柱,Leaf是葉子。
葉脊網(wǎng)絡(luò)架構(gòu),和胖樹結(jié)構(gòu)一樣,同屬于CLOS網(wǎng)絡(luò)模型。
相比于傳統(tǒng)網(wǎng)絡(luò)的三層架構(gòu),葉脊網(wǎng)絡(luò)進(jìn)行了扁平化,變成了兩層架構(gòu)。如下圖所示:
葉交換機(jī),相當(dāng)于傳統(tǒng)三層架構(gòu)中的接入交換機(jī),作為 TOR(Top Of Rack)直接連接物理服務(wù)器。葉交換機(jī)之上是三層網(wǎng)絡(luò),之下都是個獨立的 L2 廣播域。如果說兩個葉交換機(jī)下的服務(wù)器需要通信,需要經(jīng)由脊交換機(jī)進(jìn)行轉(zhuǎn)發(fā)。
脊交換機(jī),相當(dāng)于核心交換機(jī)。葉和脊交換機(jī)之間通過ECMP(Equal Cost Multi Path)動態(tài)選擇多條路徑。
脊交換機(jī)下行端口數(shù)量,決定了葉交換機(jī)的數(shù)量。而葉交換機(jī)上行端口數(shù)量,決定了脊交換機(jī)的數(shù)量。它們共同決定了葉脊網(wǎng)絡(luò)的規(guī)模。
葉脊網(wǎng)絡(luò)的優(yōu)勢非常明顯:
1、帶寬利用率高每個葉交換機(jī)的上行鏈路,以負(fù)載均衡方式工作,充分的利用了帶寬。
2、網(wǎng)絡(luò)延遲可預(yù)測在以上模型中,葉交換機(jī)之間的連通路徑的條數(shù)可確定,均只需經(jīng)過一個脊交換機(jī),東西向網(wǎng)絡(luò)延時可預(yù)測。
3、擴(kuò)展性好當(dāng)帶寬不足時,增加脊交換機(jī)數(shù)量,可水平擴(kuò)展帶寬。當(dāng)服務(wù)器數(shù)量增加時,增加脊交換機(jī)數(shù)量,也可以擴(kuò)大數(shù)據(jù)中心規(guī)模??傊?guī)劃和擴(kuò)容非常方便。
4、降低對交換機(jī)的要求南北向流量,可以從葉節(jié)點出去,也可從脊節(jié)點出去。東西向流量,分布在多條路徑上。這樣一來,不需要昂貴的高性能高帶寬交換機(jī)。
5、安全性和可用性高傳統(tǒng)網(wǎng)絡(luò)采用STP協(xié)議,當(dāng)一臺設(shè)備故障時就會重新收斂,影響網(wǎng)絡(luò)性能甚至發(fā)生故障。葉脊架構(gòu)中,一臺設(shè)備故障時,不需重新收斂,流量繼續(xù)在其他正常路徑上通過,網(wǎng)絡(luò)連通性不受影響,帶寬也只減少一條路徑的帶寬,性能影響微乎其微。
思科的Nexus?9396PX,適合作為葉交換機(jī)
我們來結(jié)合一個案例模型,分析一下葉脊網(wǎng)絡(luò)的支持能力。
假設(shè)一個這樣的資源條件:
脊交換機(jī)數(shù)量:16臺?每個脊交換機(jī)的上聯(lián)端口:8個 × 100G每個脊交換機(jī)的下聯(lián)端口:48個 × 25G葉交換機(jī)數(shù)量:48臺每個葉交換機(jī)的上聯(lián)端口:16個 × 25G每個葉交換機(jī)的下聯(lián)端口:64個 × 10G
在理想情況下,這樣的葉脊網(wǎng)絡(luò)總共可支持的服務(wù)器數(shù)量為:48×64=3072臺。(注意,葉脊交換機(jī)北向總帶寬一般不會和南向總帶寬一致,通常大于1:3即可。上例為400:640,有點奢侈了。)
從這個例子也可以看出,葉脊網(wǎng)絡(luò)帶來了一個趨勢,那就是對光模塊的數(shù)量需求大幅增加。
下圖就是傳統(tǒng)三層架構(gòu)和葉脊架構(gòu)所使用光模塊數(shù)量的對比案例,差別可能達(dá)到15-30倍之多。
(來自國泰君安證券研究)
正因為如此,資本市場對葉脊網(wǎng)絡(luò)非常關(guān)注,希望借此帶動光模塊市場的增長,尤其是100G、400G這樣的高速率光模塊。
葉脊拓?fù)渚W(wǎng)絡(luò)從2013年左右開始出現(xiàn),發(fā)展速度驚人,很快就取代了大量的傳統(tǒng)三層網(wǎng)絡(luò)架構(gòu),成為現(xiàn)代數(shù)據(jù)中心的新寵。
最具有代表性的,是Facebook在2014年公開的數(shù)據(jù)中心架構(gòu)。Facebook使用了一個五級CLOS架構(gòu),甚至是一個立體的架構(gòu)。大家有興趣可以研究一下。
Facebook數(shù)據(jù)中心架構(gòu)
除了Facebook之外,谷歌公司的第五代數(shù)據(jù)中心架構(gòu)Jupiter也大規(guī)模采用了葉脊網(wǎng)絡(luò),其可以支持的網(wǎng)絡(luò)帶寬已經(jīng)達(dá)到Pbps級。谷歌數(shù)據(jù)中心中10萬臺服務(wù)器的每一個,都可以用任意模式以每秒10千兆比特的速度互相通信。
谷歌數(shù)據(jù)中心
好啦,關(guān)于葉脊網(wǎng)絡(luò)的介紹,今天就到這里。
感謝大家的耐心觀看,我們下期再見!
參考文獻(xiàn):
1、葉脊網(wǎng)絡(luò)拓?fù)湎氯龑泳W(wǎng)絡(luò)設(shè)計與實踐,eponia,CSDN2、光通信的再思考:5G流量爆發(fā)下的數(shù)據(jù)密度革命,國盛證券3、數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)淺談,肖宏輝,知乎4、葉脊架構(gòu)如何滿足新型數(shù)據(jù)中心流量需求,Paul Korzeniowski5、是時候考慮葉脊網(wǎng)絡(luò)架構(gòu),Andrew Froehlich6、IDC葉脊架構(gòu)如何推動高端光模塊爆發(fā),國君通信7、數(shù)據(jù)中心spine leaf網(wǎng)絡(luò)架構(gòu),云宏大講壇