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