為滿足云業務的需要,網絡逐漸分化為Underlay和Overlay。Underlay網絡就是傳統數據中心的路由交換等物理設備,依然信奉穩定壓倒一切的理念,提供可靠的網絡數據傳輸能力;Overlay則是在其上封裝的業務網絡,與服務更貼近,通過VXLAN 或者GRE等協議封裝,給用戶提供一個易用的網絡服務。Underlay網絡和Ooverlay網絡即關聯又解耦,兩者相互關聯又能獨立演進。
Underlay網絡是網絡的地基,承載網絡不穩,業務便無SLA可言。數據中心網絡架構在經歷三層網絡架構、胖樹(Fat-Tree)型網絡架構后,正過渡到Spine- Leaf架構,迎來了CLOS 網絡模型的第三次應用。
傳統數據中心網絡架構
三層設計
2004-2007年期間,三層網絡結構在數據中心十分盛行。它有三個層次:核心層(網絡的高速交換主干)、匯聚層(提供基于策略的連接)、接入層(將工作站接入網絡),這個模型如下:
|三層網絡結構
核心層(Core Layer):核心交換機為進出數據中心的包提供高速的轉發,為多個匯聚層提供連接性,核心交換機為通常為整個網絡提供一個彈性的L3路由網絡。
匯聚層(Aggregation Layer):匯聚交換機連接接入交換機,同時提供其他的服務,例如防火墻,SSL offload,入侵檢測,網絡分析等。
接入層(Access Layer):接入交換機通常位于機架頂部,所以它們也被稱為ToR(Top of Rack)交換機,它們物理連接服務器。 通常情況下,匯聚交換機是 L2 和 L3 網絡的分界點:匯聚交換機以下的是 L2 網絡,以上是 L3 網絡。每組匯聚交換機管理一個 POD(Point Of Delivery),每個 POD 內都是獨立的 VLAN 網絡。
網絡環路與生成樹協議
環路的形成大都是由于目的路徑不明確導致混亂而造成的。用戶構建網絡時,為了保證可靠性,通常會采用冗余設備和冗余鏈路, 這樣就不可避免的形成環路。而二層網絡處于同一個廣播域下, 廣播報文在環路中會反復持續傳送,形成廣播風暴, 瞬間即可導致端口阻塞和設備癱瘓。因此,為了防止廣播風暴,就必須防止形成環路。
既要防止形成環路,又要保證可靠性,就只能將冗余設備和冗余鏈路變成備份設備和備份鏈路。即冗余的設備端口和鏈路在正常情況下被阻塞掉,不參與數據報文的轉發。只有當前轉發的設備、端口、 鏈路出現故障,導致網絡不通的時候,冗余的設備端口和鏈路才會被打開,使得網絡能夠恢復正常。實現這些自動控制功能的就是 STP(Spanning Tree Protocol ,生成樹協議 )。
生成樹協議在接入層和匯聚層之間運行,核心是在每個啟用 STP 的網橋上運行的生成樹算法,該算法專門設計用于在存在冗余路徑時避免橋接環路。STP 選擇用于轉發消息的最佳數據路徑,并禁用了那些不屬于生成樹的鏈路,在任意兩個網絡節點之間只留下一條活動路徑,其他上行鏈路將被阻塞。
?
STP 有許多好處:簡單,即插即用(plug-and-play),只需很少配置。每個 pod 內的機器都屬于同一個 VLAN, 因此服務器無需修改 IP 地址和網關就可以在 pod 內部任意遷移位置。
但是,STP 無法使用并行轉發路徑(parallel forwarding path),它永遠會禁用 VLAN 內的冗余路徑。STP的缺點:
1、拓撲收斂慢。當網絡拓撲發生改變的時候,生成樹協議需要50-52秒的時間才能完成拓撲收斂。
2、不能提供負載均衡的功能。當網絡中出現環路的時候,生成樹協議只能簡單的將環路進行Block,這樣該鏈路就不能進行數據包的轉發,浪費網絡資源。
虛擬化和東西向流量挑戰
2010年之后,為了提高計算和存儲資源的利用率,數據中心開始采用虛擬化技術,網絡中開始出現了大量的虛擬機。虛擬技術把一臺服務器虛化成了多臺邏輯服務器,每個VM都可以獨立運行,有自己的OS、APP、自己獨立的MAC地址和IP地址,它們通過服務器內部的虛擬交換機(vSwitch)與外部實體進行網絡連接。
虛擬技術有個伴生的需求:虛擬機動態遷移,在保證虛擬機上服務正常運行的同時,將一個虛擬機系統從一個物理服務器移動到另一個物理服務器。這個過程對于最終用戶來說是無感的,管理員能夠在不影響用戶正常使用的情況下,靈活調配服務器資源,或者對物理服務器進行維修和升級。
為了保證遷移時業務不中斷,就要求在遷移時,不僅虛擬機的IP地址不變,而且虛擬機的運行狀態也必須保持原狀(例如TCP會話狀態),所以虛擬機的動態遷移只能在同一個二層域中進行,而不能跨二層域遷移,催生了從接入層到核心層的大二層域(larger L2 domain)的需求。
傳統的大二層網絡架構L2和L3的分界點在核心交換機,核心交換機以下的數據中心是一個完整的廣播域,即L2網絡。這樣可以實現設備部署、位置遷移的任意性,不需要進行IP、網關等配置的修改。不同的L2網絡(VLAN)通過核心交換機進行路由轉發。
不過該架構下的核心交換機需要維護龐大的MAC和ARP表,對核心交換機的能力提出很高的要求 。另外,接入交換機(TOR)也對整個網絡的規模造成一定的限制。這些最終限制了網絡的規模、網絡擴展及彈性能力,跨三層調度的時延問題,不能滿足未來業務的需求。
另一方面,虛擬化技術帶來的東西向流量也給傳統三層網絡帶來了挑戰。數據中心的流量總的來說可以分為以下幾種:
南北向流量:數據中心之外的客戶端到數據中心服務器之間的流量,或者數據中心服務器訪問互聯網的流量。
東西向流量:數據中心內的服務器之間的流量,以及不同數據中心間的流量,例如數據中心之間的災備,私有云和公有云之間的通訊。
虛擬化技術的引入使得應用的部署方式越來越分布式,帶來的“副作用”是東西向流量越來越大。
傳統的三層架構通常是為南北向流量設計的。雖然它可以用于東西向流量,但可能最終無法按要求執行。
| 傳統三層架構vs. Spine-Leaf架構
三層架構中的東西向流量必須經過匯聚層和核心層的設備轉發,不必要地經過許多節點.(Server-> Access-> Aggregation-> CoreSwitch-> Aggregation-> AccessSwitch-> Server)
因此,如果通過傳統三層網絡架構運行大量的東西向流量,連接到同一交換機端口的設備可能會爭奪帶寬,導致最終用戶獲得的響應時間很差。
傳統三層網絡架構缺點
由此可見,傳統三層網絡架構有著不少的缺點:
帶寬浪費:為了防止環路,通常在匯聚層和接入層之間運行STP協議,這樣接入交換機只有一條上行鏈路真正承載流量,其他上行鏈路會被阻塞,造成帶寬的浪費。
大規模網絡布放困難:隨著網絡規模的擴大,數據中心分布在不同的地理位置,虛擬機必須在任何地方創建和遷移,其IP地址、網關等網絡屬性保持不變,這需要fat Layer 2的支持。在傳統結構中,無法進行遷移。
東西向流量不足:三層網絡架構主要是為南北向流量設計的,雖然也支持東西向流量,但不足之處很明顯。當東西向流量較大時,匯聚層和核心層交換機的壓力會大大增加,網絡規模和性能會局限在匯聚層和核心層。
使企業陷入成本和可擴展性的困境:支撐大規模高性能網絡,需要大量的匯聚層和核心層設備,這不僅給企業帶來了高昂的成本,同時也要求網絡建設網絡時必須提前規劃規模。當網絡規模較小時,會造成資源浪費,當網絡規模不斷擴大時,擴容困難。
Spine-Leaf 網絡架構
什么是Spine-Leaf 網絡架構?
針對以上問題,一種新的數據中心設計,Spine-Leaf 網絡架構出現了,也就是我們所說的葉脊網絡。
顧名思義,該架構共有一個脊(Spine)層和一個葉(Leaf)層,包括脊交換機(spine switches)和葉交換機。
| Spine-Leaf架構
每個葉交換機都連接到所有脊交換機,脊交換機不直接相互連接,形成一個 full-mesh 拓撲。
在 Spine-and-Leaf 架構中,任意一個服務器到另一個服務器的連接,都會經過相同數量的設備(Server -> Leaf -> Spine Switch -> Leaf Switch -> Server),這保證了延遲是可預測的,因為一個包只需要經過一個 spine 和另一個 leaf 就可以到達目的端。
Spine-Leaf 的工作原理
Leaf Switch:相當于傳統三層架構中的接入交換機,作為 TOR(Top Of Rack)直接連接物理服務器。與接入交換機的區別在于 L2/L3 網絡的分界點現在在 Leaf 交換機上了。Leaf 交換機之上是三層網絡,Leaf 交換機之下都是個獨立的 L2 廣播域,這就解決了大二層網絡的 BUM 問題。如果說兩個 Leaf 交換機下的服務器需要通訊,需要通過 L3 路由,經由 Spine 交換機進行轉發。
Spine Switch:相當于核心交換機。Spine 和 Leaf 交換機之間通過 ECMP(Equal Cost Multi Path)動態選擇多條路徑。區別在于,Spine 交換機現在只是為 Leaf 交換機提供一個彈性的 L3 路由網絡,數據中心的南北流量可以不用直接從 Spine 交換機發出,一般來說,南北流量可以從與 Leaf 交換機并行的交換機(edge switch)再接到 WAN router 出去。
|Spine/Leaf網絡架構和傳統三層網絡架構對比
Spine-Leaf的優勢
扁平化:扁平化設計縮短服務器之間的通信路徑,從而降低延遲,可以顯著提高應用程序和服務性能。
擴展性好:當帶寬不足時,增加脊交換機數量,可水平擴展帶寬。當服務器數量增加時,如果端口密度不足,我們可以添加葉交換機。
降低成本——南北向流量,可以從葉節點出去,也可從脊節點出去。東西向流量,分布在多條路徑上。這樣一來,葉脊網絡可以使用固定配置的交換機,不需要昂貴的模塊化交換機,進而降低成本。
低延遲和擁塞避免——無論源和目的地如何,葉脊網絡中的數據流在網絡上的跳數都相同,任意兩個服務器之間都是Leaf—>Spine—>Leaf三跳可達的。這建立了一條更直接的流量路徑,從而提高了性能并減少了瓶頸。
安全性和可用性高:傳統的三層網絡架構采用STP協議,當一臺設備故障時就會重新收斂,影響網絡性能甚至發生故障。葉脊架構中,一臺設備故障時,不需重新收斂,流量繼續在其他正常路徑上通過,網絡連通性不受影響,帶寬也只減少一條路徑的帶寬,性能影響微乎其微。
通過ECMP進行負載均衡,非常適合使用 SDN 等集中式網絡管理平臺的環境。
SDN 允許在發生阻塞或鏈路故障時簡化流量的配置,管理和重新分配路由,使得智能負載均衡的全網狀拓撲成為一個相對簡單的配置和管理方式。
不過Spine-Leaf架構也有一定的局限性:
其中一個缺點就是,交換機的增多使得網絡規模變大。葉脊網絡架構的數據中心需要按客戶端的數量,相應比例地增加交換機和網絡設備。隨著主機的增加,需要大量的葉交換機上行連接到脊交換機。
脊交換機和葉交換機直接的互聯需要匹配,一般情況下,葉脊交換機之間的合理帶寬比例不能超過3:1。
例如,有48個10Gbps速率的客戶端在葉交換機上,總端口容量為 480Gb/s。如果將每個葉交換機的 4 個 40G 上行鏈路端口連接到 40G 脊交換機,它將具有 160Gb/s 的上行鏈路容量。
該比例為 480:160,即 3:1。數據中心上行鏈路通常為 40G 或 100G,并且可以隨著時間的推移從 40G (Nx 40G) 的起點遷移到 100G (Nx 100G)。重要的是要注意上行鏈路應始終比下行鏈路運行得更快,以免端口鏈路阻塞。
葉脊網絡也有明確的布線的要求。因為每個葉節點都必須連接到每個脊交換機,我們需要鋪設更多的銅纜或光纖電纜。互連的距離會推高成本。
根據相互連接的交換機之間的距離,葉脊架構所需要的高端光模塊數量高于傳統三層架構數十倍,這會增加整體部署成本。不過也因此帶動了光模塊市場的增長,尤其是100G、400G這樣的高速率光模塊。
Spine-Leaf 網絡架構的應用
Facebook在2014年公開的數據中心架構是最具代表性的葉脊網絡用例,此外谷歌第五代數據中心架構Jupiter也大規模采用了葉脊網絡。
Facebook從14年開始對自己原有的數據中心網絡架構進行改造,原因就在于面對網絡流量2-4倍的未來擴張,現有的三層網絡架構難以勝任。因此,Facebook提出了自己的下一代數據中心網絡——data center fabric網絡架構(也稱為F4網絡),在原始葉脊網絡基礎上進行模塊化組網,能夠承載數據中心內部的大量東西流量的轉發,并且保證了足夠的擴展性。
| F4架構
目前Facebook已經演進到F16架構,將Spine平面增加為16個。單芯片處理能力提升為12.8TBps, 使得Spine交換機由原來的BackPack更新為MiniPark架構,不僅體積更小,所要通過的路徑僅需跨越5個芯片。
| F16架構
谷歌
2015年,谷歌在SIGCOMM會議上發表論文《Jupiter Rising: A Decade of Clos Topologies and Centralized Control in Google’s Datacenter Network》,詳細地闡述了谷歌過去多年在數據中心網絡的創新和演進。
其中第五代的架構叫做Jupiter Network Fabrics,可以視為一個三層Clos。leaf交換機還是作為ToR,向北連接到叫做 Middle Block的spine交換機。
Middle Block和ToR組成一個集群(相當于Facebook的Server Pod,內部是一個二層Clos)叫做Aggregation Block Superblock。MiddleBlock向北還有一層super spine也就是Spine Block。
| Jupiter拓撲
super spine的數量可以一直增長,加入更多super spine交換機。但是每個新加入的super spine都要和原有的Pod全互聯。從Pod的角度看,每加入一個super spine,Pod就要額外增加連接。為了解決這個問題,Google在spine 層和Pod層之間加入了Apollo Fabric。Apollo結構解除了spineblock和superblock的直連,但又能夠動態地調整spineblock和superblock的連接關系,高效實現了全互聯,并且能夠動態地調整網絡流量的分布。感興趣的同學可以繼續閱讀《十年一劍,谷歌數據中心網絡Jupiter的進擊之路》。
總的來說,傳統的三層數據中心架構的設計是為了應付服務客戶端-服務器應用程序的縱向大流量傳輸。而虛擬化(即虛擬機動態遷移)從根本上改變了數據中心網絡架構的需求,從而要求網絡支持大范圍的二層域,這使得數據中心二層網絡的范圍越來越大,甚至出現了大二層網絡這一新領域。這也從根本上改變了傳統三層網絡統治數據中心網絡的局面。
葉脊網絡解決了橫向網絡連接的傳輸瓶頸,而且提供了高度的擴展性,它幾乎能適應所有大中小型數據中心。可以預見,未來企業的IT建設都將走向收斂型和高層次的虛擬化葉脊網絡架構。雖然葉脊網絡為網絡傳輸提供了拓撲的基礎,但是還需要有配套合適的轉發協議才能完全發揮出拓撲的實力。為了實現“大二層”,數據中心網絡技術在近十年間經歷了不斷的迭代與優化,主要包括二層多路徑、數據中心二層互聯、端到端Overlay等幾大類技術。
審核編輯:劉清
-
交換機
+關注
關注
21文章
2640瀏覽量
99640 -
SLA
+關注
關注
1文章
54瀏覽量
18270 -
VLAN技術
+關注
關注
0文章
45瀏覽量
6382 -
GRE
+關注
關注
0文章
19瀏覽量
8577 -
POD
+關注
關注
0文章
16瀏覽量
6025
原文標題:Underlay 網絡之葉脊(Spine- Leaf)網絡
文章出處:【微信號:SDNLAB,微信公眾號:SDNLAB】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論