葉脊(Spine-Leaf)網(wǎng)絡(luò)拓?fù)湎氯龑泳W(wǎng)絡(luò)設(shè)計(jì)與實(shí)踐(一) - 葉脊網(wǎng)絡(luò)架構(gòu)簡介

1. 葉脊網(wǎng)絡(luò)架構(gòu)簡介

天地萬物,應(yīng)運(yùn)而生。傳統(tǒng)的三層網(wǎng)絡(luò)架構(gòu),在發(fā)展了多年后,終于也命數(shù)將盡了,替代它的,將是葉脊網(wǎng)絡(luò)架構(gòu)。究其原因,是因?yàn)閭鹘y(tǒng)三層網(wǎng)絡(luò)架構(gòu)自身存在一些無法突破的限制與弊端,在當(dāng)今云計(jì)算風(fēng)起云涌,虛擬化如火如荼,數(shù)據(jù)中心越來越大,網(wǎng)絡(luò)規(guī)模需要無限擴(kuò)展的時(shí)代,葉脊網(wǎng)絡(luò)架構(gòu)應(yīng)運(yùn)而生。

1.1 傳統(tǒng)三層網(wǎng)絡(luò)的弊端


如上圖是傳統(tǒng)三成網(wǎng)絡(luò)架構(gòu)的典型拓?fù)浣Y(jié)構(gòu):

接入層:接入交換機(jī)通常位于機(jī)架頂部,所以它們也被稱為ToR(Top of Rack)交換機(jī),它們物理連接服務(wù)器。

匯聚層:匯聚交換機(jī)連接同一個(gè)二層網(wǎng)絡(luò)(VLAN)下的接入交換機(jī),同時(shí)提供其他的服務(wù),例如防火墻,SSL offload,入侵檢測(cè),網(wǎng)絡(luò)分析等, 它可以是二層交換機(jī)也可以是三層交換機(jī)。

核心層: 核心交換機(jī)為進(jìn)出數(shù)據(jù)中心的包提供高速的轉(zhuǎn)發(fā),為多個(gè)二層局域網(wǎng)(VLAN)提供連接性,核心交換機(jī)為通常為整個(gè)網(wǎng)絡(luò)提供一個(gè)彈性的三層網(wǎng)絡(luò)。

在這種網(wǎng)絡(luò)架構(gòu)下,存在如下的一些弊端:

帶寬的浪費(fèi):為了防止環(huán)路,匯聚層和接入層之間通常會(huì)運(yùn)行STP協(xié)議,使得接入交換機(jī)的上聯(lián)鏈路中實(shí)際承載流量的只有一條,而其他上行鏈路將被阻塞(如圖中虛線所示),造成了帶寬的浪費(fèi);

故障域較大:STP協(xié)議由于其本身的算法,在網(wǎng)絡(luò)拓?fù)浒l(fā)生變更時(shí)需要重新收斂,容易發(fā)生故障,從而影響整個(gè)VLAN的網(wǎng)絡(luò);

難以適應(yīng)超大規(guī)模網(wǎng)絡(luò):在云計(jì)算領(lǐng)域,網(wǎng)絡(luò)規(guī)模擴(kuò)大,數(shù)據(jù)中心也分布在不同的地理位置,虛擬機(jī)要求能在任意地點(diǎn)創(chuàng)建,遷移,而保持其網(wǎng)絡(luò)屬性(IP, 網(wǎng)關(guān)等)保持不變,需要支持大二層網(wǎng)絡(luò),在上圖的拓?fù)渲?,無法在VLAN10和VLAN20之間作上述遷移;

對(duì)于上述帶寬浪費(fèi)的問題,思科提出的解決方案是vPC(virtual Port Channel)協(xié)議,可以將接入交換機(jī)的兩條上行鏈路做成一個(gè)vPC,同時(shí)承載流量,從而避免了帶寬的浪費(fèi),提升了帶寬的利用率,然而,一方面,這種方案仍然無法做到水平擴(kuò)展,因?yàn)関PC只支持最多兩個(gè)上行鏈路,上行鏈路增多時(shí),無法線性增加帶寬;另一方面,vPC是思科的私有協(xié)議,對(duì)于廠商的依賴性強(qiáng),成本上不具有優(yōu)勢(shì),下圖為vPC的架構(gòu)圖:


上圖的方案提高了帶寬利用率,但仍沒有解決大二層的問題,解決方案是將核心層以下的部分全部放在同一個(gè)二層網(wǎng)絡(luò)中,但是,同一個(gè)二層網(wǎng)絡(luò)中容納如此多的設(shè)備,二層網(wǎng)絡(luò)中的廣播風(fēng)暴將隨著設(shè)備的增加而越來越嚴(yán)重,最終給交換機(jī)帶來沉重的負(fù)載,從而影響流量,下圖為傳統(tǒng)網(wǎng)絡(luò)大二層的解決方案示意圖:


在過去的業(yè)務(wù)模式中,分布式還沒有興起,一個(gè)服務(wù)通常需要訪問的資源在同一個(gè)服務(wù)器上,因此東西向流量較少,主要需要關(guān)注的是南北向流量,以一個(gè)web服務(wù)為例,后端服務(wù)也許只位于一個(gè)服務(wù)器上,這個(gè)服務(wù)處理請(qǐng)求時(shí)不需要向別的服務(wù)器發(fā)起請(qǐng)求,在本機(jī)上就可以完成處理,處理完成后將結(jié)果返回給瀏覽器,如果訪問請(qǐng)求增多,則南北向流量增大,對(duì)單個(gè)服務(wù)器的運(yùn)算能力也要求較大,然而東西向流量并不會(huì)變多。

然而由于技術(shù)的發(fā)展,如今的數(shù)據(jù)中心對(duì)網(wǎng)絡(luò)的需求早已發(fā)生了變化:

虛擬化的興起:為了提高計(jì)算和存儲(chǔ)資源的利用率,如今的數(shù)據(jù)中心幾乎都會(huì)采用虛擬化技術(shù),而虛機(jī)資源的遷移會(huì)大大增加網(wǎng)絡(luò)中的東西向流量;

軟件架構(gòu)的解耦:當(dāng)今的一個(gè)服務(wù)可能會(huì)拆分成多個(gè)服務(wù)部署在不通的虛擬機(jī)上,可能位于不通的位置,這些服務(wù)之間會(huì)頻繁的通信,會(huì)大大增加?xùn)|西向流量;

分布式應(yīng)用的興起:數(shù)據(jù)和應(yīng)用如今會(huì)分布在成千上萬個(gè)服務(wù)器上,任務(wù)需要在這些服務(wù)起上進(jìn)行分發(fā),計(jì)算,匯總,返回,會(huì)大大增加?xùn)|西向流量;

傳統(tǒng)架構(gòu)下,當(dāng)存在大量東西向流量時(shí),匯聚交換機(jī)和核心交換機(jī)的壓力會(huì)大大增加,網(wǎng)絡(luò)規(guī)模和性能也就限制在了匯聚層和核心層。要支持大規(guī)模的網(wǎng)絡(luò),就必須有性能最好,端口密度最大的匯聚層核心層設(shè)備,這樣的設(shè)備成本高,不是所有企業(yè)都買得起,且必須在建設(shè)網(wǎng)絡(luò)時(shí)就預(yù)先規(guī)劃好網(wǎng)絡(luò)規(guī)模,在網(wǎng)絡(luò)規(guī)模小時(shí),會(huì)造成資源的浪費(fèi),在網(wǎng)絡(luò)規(guī)模繼續(xù)擴(kuò)大時(shí),擴(kuò)容也比較困難,因而讓企業(yè)陷入了成本和可擴(kuò)展性的兩難選擇之中。

1.2 葉脊網(wǎng)絡(luò)架構(gòu)的優(yōu)勢(shì)


如上圖所示為葉脊網(wǎng)絡(luò)架構(gòu)的簡單模型,SPINE和LEAF之間為全網(wǎng)狀連接(Full Mesh),具有如下優(yōu)勢(shì):

帶寬利用率高:每個(gè)LEAF到SPINE的多條上行鏈路以負(fù)載均衡方式工作,充分的利用了帶寬;

網(wǎng)絡(luò)延遲可預(yù)測(cè):在以上模型中,各LEAF之間的連通路徑的條數(shù)可確定,均只需經(jīng)過一個(gè)SPINE,東西向網(wǎng)絡(luò)延時(shí)可預(yù)測(cè);

可水平擴(kuò)展帶寬:帶寬不足時(shí),增加SPINE交換機(jī)數(shù)量,可水平擴(kuò)展帶寬;

服務(wù)器數(shù)量水平擴(kuò)展:服務(wù)器數(shù)量增加時(shí),增加LEAF交換機(jī),擴(kuò)大數(shù)據(jù)中心規(guī)模

單個(gè)交換機(jī)要求低:南北向流量可以從LEAF節(jié)點(diǎn)出去,也可從SPINE節(jié)點(diǎn)出去,東西向流量會(huì)分布在多條路徑上,對(duì)單個(gè)交換機(jī)的性能要求不高;

高可用性強(qiáng)大:傳統(tǒng)網(wǎng)絡(luò)采用STP協(xié)議,當(dāng)一臺(tái)設(shè)備故障時(shí)就會(huì)重新收斂,影響網(wǎng)絡(luò)性能甚至發(fā)生故障,SPINE LEAF架構(gòu)中一臺(tái)設(shè)備故障時(shí),不需重新收斂,流量繼續(xù)在其他正常路徑上通過,網(wǎng)絡(luò)連通性不受影響,帶寬也只減少一條路徑的帶寬,性能影響微乎其微;

可擴(kuò)展性好:無需提前規(guī)劃網(wǎng)絡(luò)規(guī)模,按需擴(kuò)容,小規(guī)模啟用,大規(guī)模適用。

接下來我們可以根據(jù)交換機(jī)的端口數(shù)量和帶寬,對(duì)SPINE LEAF架構(gòu)的網(wǎng)絡(luò)適用的規(guī)模進(jìn)行簡單的估計(jì),如下圖所示的拓?fù)洌?/p>


估算基于以下假設(shè):

SPINE數(shù)量:16臺(tái)

每個(gè)SPINE的下聯(lián)端口:48個(gè) × 100G

SPINE上聯(lián)端口:16個(gè) × 100G

LEAF數(shù)量:48臺(tái)

每個(gè)LEAF的下聯(lián)端口:64個(gè) × 25G

LEAF的上聯(lián)端口: 16個(gè) × 25G

SPINE的下聯(lián)端口數(shù)量和LEAF的上聯(lián)端口數(shù)量相同,以充分利用端口,在考慮鏈路SPINE LEAF之間的帶寬全部跑滿的情況下,每個(gè)LEAF下聯(lián)的服務(wù)器數(shù)量最多為:

即剛好等于LEAF的下聯(lián)端口數(shù)量,總共可支持的服務(wù)器數(shù)量為:

也就是說,在上述假設(shè)下,一組SPINE LEAF網(wǎng)絡(luò)可以支持3072臺(tái)服務(wù)器,這是相當(dāng)于一個(gè)中大型規(guī)模的數(shù)據(jù)中心,那么如果仍有擴(kuò)展的需求該怎么辦呢?根據(jù)上述的計(jì)算,LEAF和SPINE的下聯(lián)端口都已經(jīng)耗盡,在這個(gè)網(wǎng)絡(luò)中已無法增加SPINE,LEAF或服務(wù)器。讓我們繼續(xù)深入一下,看看Facebook的Fabric網(wǎng)絡(luò)架構(gòu):


在這種架構(gòu)中,我們的SPINE LEAF網(wǎng)絡(luò)是其中的一個(gè)POD, 我們的SPINE是圖中的Fabric Switches,我們的LEAF是圖中的Rack Switches,最上面的Spine Switches把各個(gè)POD連通起來。當(dāng)一個(gè)POD的容量已滿時(shí),可以增加POD,并用SPINE將這些POD連通起來,實(shí)現(xiàn)了網(wǎng)絡(luò)的繼續(xù)擴(kuò)展。除了前面描述的POD和SPINE,上圖中還有黃色的Edge Plane,這是為數(shù)據(jù)中心提供南北向流量的模塊。它們與SPINE交換機(jī)的連接方式,與前文中簡單的的SPINE LEAF架構(gòu)一樣。并且它們也是可以水平擴(kuò)展的。

SPINE LEAF網(wǎng)絡(luò)架構(gòu)只是一種網(wǎng)絡(luò)部署的拓?fù)浞绞剑唧w的實(shí)現(xiàn)方法與配置多種多樣,有的廠商根據(jù)這種拓?fù)浣Y(jié)構(gòu)定義了特定的網(wǎng)絡(luò)協(xié)議,如思科的Fabric Path等。接下來,筆者將要介紹的是利用SPINE LEAF網(wǎng)絡(luò)架構(gòu)構(gòu)建一個(gè)全三層的網(wǎng)絡(luò)的設(shè)計(jì)思路與實(shí)踐方案。

————————————————

版權(quán)聲明:本文為CSDN博主「eponia」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/m0_37904728/article/details/97940745

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容