不論我們在討論SDN,NFV或者其他的虛擬網絡技術,有一點需要明確,網絡數據包最終都是跑在物理網絡上。物理網絡的特性,例如帶寬,MTU,延時等,最終直接或者間接決定了虛擬虛擬網絡的特性。可以說物理網絡決定了虛擬網絡的“天花板”。在Mirantis對OpenStack Neutron的性能測試報告中可以看出,網絡設備的升級和調整,例如采用高速網卡,配置MTU9000,可以明顯提高虛擬網絡的傳輸效率。在對網絡性能進行優化時,有些物理網絡特性可以通過升級設備或線路來提升,但是有些與網絡架構有關。升級或者改動網絡架構帶來的風險和成本是巨大的,因此在架設數據中心初始,網絡架構的選擇和設計尤其需要謹慎。另一方面,在設計虛擬網絡時,不可避免的需要考慮實際的物理網絡架構,理解物理網絡架構對於最終理解虛擬網絡是不可缺少的。
接下來我將分幾次說一說自己對數據中心網絡架構的認識,想到哪說到哪,不對的地方請大家指正。
傳統數據中心網絡架構
在傳統的大型數據中心,網絡通常是三層結構。Cisco稱之為:分級的互連網絡模型(hierarchical inter-networking model)。這個模型包含了以下三層:
- Access Layer(接入層):有時也稱為Edge Layer。接入交換機通常位於機架頂部,所以它們也被稱為ToR(Top of Rack)交換機,它們物理連接服務器。
- Aggregation Layer(匯聚層):有時候也稱為Distribution Layer。匯聚交換機連接Access交換機,同時提供其他的服務,例如防火牆,SSL offload,入侵檢測,網絡分析等。
- Core Layer(核心層):核心交換機為進出數據中心的包提供高速的轉發,為多個匯聚層提供連接性,核心交換機為通常為整個網絡提供一個彈性的L3路由網絡。
一個三層網絡架構示意圖如下所示:
通常情況下,匯聚交換機是L2和L3網絡的分界點,匯聚交換機以下的是L2網絡,以上是L3網絡。每組匯聚交換機管理一個POD(Point Of Delivery),每個POD內都是獨立的VLAN網絡。服務器在POD內遷移不必修改IP地址和默認網關,因為一個POD對應一個L2廣播域。
匯聚交換機和接入交換機之間通常使用STP(Spanning Tree Protocol)。STP使得對於一個VLAN網絡只有一個匯聚層交換機可用,其他的匯聚層交換機在出現故障時才被使用(上圖中的虛線)。也就是說匯聚層是一個active-passive的HA模式。這樣在匯聚層,做不到水平擴展,因為就算加入多個匯聚層交換機,仍然只有一個在工作。一些私有的協議,例如Cisco的vPC(Virtual Port Channel)可以提升匯聚層交換機的利用率,但是一方面,這是私有協議,另一方面,vPC也不能真正做到完全的水平擴展。下圖是一個匯聚層作為L2/L3分界線,且采用vPC的網絡架構。
隨着雲計算的發展,計算資源被池化,為了使得計算資源可以任意分配,需要一個大二層的網絡架構。即整個數據中心網絡都是一個L2廣播域,這樣,服務器可以在任意地點創建,遷移,而不需要對IP地址或者默認網關做修改。大二層網絡架構,L2/L3分界在核心交換機,核心交換機以下,也就是整個數據中心,是L2網絡(當然,可以包含多個VLAN,VLAN之間通過核心交換機做路由進行連通)。大二層的網絡架構如下圖所示:
大二層網絡架構雖然使得虛機網絡能夠靈活創建,但是帶來的問題也是明顯的。共享的L2廣播域帶來的BUM(Broadcast·,Unknown Unicast,Multicast)風暴隨着網絡規模的增加而明顯增加,最終將影響正常的網絡流量。
傳統三層網絡架構已經存在幾十年,並且現在有些數據中心中仍然使用這種架構。這種架構提出的最初原因是什么?一方面是因為早期L3路由設備比L2橋接設備貴得多。即使是現在,核心交換機也比匯聚接入層設備貴不少。采用這種架構,使用一組核心交換機可以連接多個匯聚層POD,例如上面的圖中,一對核心交換機連接了多個匯聚層POD。另一方面,早期的數據中心,大部分流量是南北向流量。例如,一個服務器上部署了WEB應用,供數據中心之外的客戶端使用。使用這種架構可以在核心交換機統一控制數據的流入流出,添加負載均衡器,為數據流量做負載均衡等。
技術發展對網絡架構的影響
數據中心是為了數據服務。隨着技術的發展,數據的內容和形式也發生了變化。
- 虛擬化的流行。傳統的數據中心中,服務器的利用率並不高,采用三層網絡架構配合一定的超占比(oversubscription),能夠有效的共享利用核心交換機和一些其他網絡設備的性能。但是虛擬化的流行使得服務器的利用率變高,一個物理服務器可以虛擬出多個虛擬機,分別運行各自的任務,走自己的網絡路徑。因此,高的服務器利用率要求更小的超占比。Gartner的一份報告:Forecast: x86 Server Virtualization, Worldwide, 2012-2018, 2014 Update指出,在2018年,82%的服務器將是虛擬服務器。虛擬化對數據中心網絡架構的影響是巨大的。
- 軟件架構的解耦。傳統的軟件架構,采用專用模式進行部署,軟件系統通常跑在一個物理服務器,與其他的系統做物理隔離。但是,模塊化,分層的軟件架構設計已經成為了現在的主流。一個系統的多個組件通常分布在多個虛機/容器中。最典型的就是三層WEB應用,包含了Client/Application/DB。一次請求,不再是由一個虛機/物理機完成,而是由多個服務器協同完成。這對網絡的影響是,東西向流量變多了。
- 新的應用的興起。傳統數據中心是為.com應用設計的,這些流量大多是客戶端和服務器之間的通信。而分布式計算,大數據漸漸興起,這些應用會在數據中心的服務器之間產生大量的流量。例如Hadoop,將數據分布在數據中心中成百上千個服務器中,進行並行計算。據說Facebook的一個Hadoop集群有着超過100 petabytes的數據。可見對於某些應用,數據中心的東西向流量是巨大的。
- 軟件定義數據中心(SDDC,Software Defined Data Center)的提出。SDDC提出軟件定義的數據中心,這要求數據中心的計算存儲網絡都是可以軟件定義的。對應於網絡,就是SDN。傳統的三層網絡架構在設計之初並沒有考慮SDN。
總結起來,技術發展要求新的數據中心有更小的超占比,甚至沒有超占比;更高的東西向流量帶寬;支持SDN。
在這些需求里面,更高的東西向流量支持尤為重要。前面說了南北向流量,東西向流量,這些分別是什么東東?數據中心的流量總的來說可以分為以下幾種:
- 南北向流量:數據中心之外的客戶端到數據中心服務器之間的流量,或者數據中心服務器訪問互聯網的流量。
- 東西向流量:數據中心內的服務器之間的流量。
- 跨數據中心流量:跨數據中心的流量,例如數據中心之間的災備,私有雲和公有雲之間的通訊。
根據Cisco Global Cloud Index: Forecast and Methodology, 2015–2020,到2020年77%的數據中心流量將會是數據中心內部的流量,也就是東西向流量,這與上面的技術發展對網絡架構的影響分析相符,這也是為什么東西向流量尤其重要。
那傳統三層網絡架構下的東西向流量是怎么樣的?
前面說過傳統三層網絡架構的誕生是在.com時代,主要是也為了南北向流量設計的。但是傳統的網絡架構並非不支持東西向流量,下面來分析一下傳統三層網絡架構中東西向流量走向。
首先,東西向流量分為L2和L3流量。
東西向的L2流量,如果源和目的主機都在同一個接入層交換機下,那么可以達到全速,因為接入交換機就能完成轉發。
如果需要跨機架,但仍然是在一個匯聚層POD內,則需要通過匯聚層交換機進行轉發,帶寬取決於匯聚層交換機的轉發速率,端口帶寬和同時有多少個接入層交換機共享匯聚層交換機。前面說過匯聚層和接入層之間一般使用STP,這使得一個匯聚層POD只能有一個匯聚層交換機在工作。為了滿足跨機架的L2轉發,匯聚層交換機的性能,例如帶寬,轉發速率必然要大於接入層交換機。
如果L2流量需要跨匯聚層POD(大二層架構),那必須經過核心交換機。同樣的問題仍然存在,對核心交換機的要求會更高。
東西向的L3流量,不論是不是在一個接入層交換機下,都需要走到具有L3功能的核心交換機才能完成轉發。如下圖所示:
這是一種發卡(hair-pin)流量,它不僅浪費了寶貴的核心交換機資源,而且多層的轉發增加了網絡傳輸的延時。同樣,由於超占比的存在,它也不能保證全速的L3流量。
總的來說,為了保證任意的東西向流量帶寬,勢必需要更高性能的匯聚層交換機和核心交換機。另一方面,也可以小心的進行設計,盡量將有東西向流量的服務器置於同一個接入交換機下。不管怎么樣,這都增加了成本,降低了可用性。
市場需求變化對網絡架構的影響
由於成本和運維因素,數據中心一般是大企業才有能力部署。但是隨着技術的發展,一些中小型企業也需要部署數據中心。不同的是,中小型企業的需求一般是,以一個小規模啟動,隨着自身業務的增長再逐步的擴展數據中心。數據中心的規模很大程度上取決於網絡的規模,對應網絡的需求就是,以一個低成本,小規模的網絡架構啟動,但是要能夠水平擴展到較大規模。
傳統三層網絡架構的規模取決於核心層設備的性能和規模,取決於交換機的端口密度。最大的數據中心對應着體積最大和性能最高的網絡設備,這種規模的設備並非所有的網絡設備商都能提供,並且對應的資金成本和運維成本也較高。采用傳統三層網絡架構,企業將面臨成本和可擴展性的兩難選擇。
最后
傳統的三層網絡架構必然不會在短期內消失,但是由於技術和市場的發展,其短板也越來越明顯。基於現有網絡架構的改進顯得非常有必要,新的網絡架構最好是:由相對較小規模的交換機構成,可以方便的水平擴展,較好的支持HA(active-active模式),支持全速的東西向流量,不采購高性能的核心交換機也能去除超占比,支持SDN等等。
上一篇說了傳統三層網絡架構,這一次來看看近些年開始流行的Fabric網絡架構。
Fabric
Fabric一詞來源於網絡交換機。網絡交換機就是將輸入端口的數據,經過判斷,轉發到輸出端口。其架構大體如下圖所示:
交換機內部連接輸入輸出端口的是Switch Fabric。最簡單的Switch Fabric架構是crossbar模型,這是一個開關矩陣,每一個crosspoint(交點)都是一個開關,交換機通過控制開關來完成輸入到特定輸出的轉發。一個crossbar模型如下所示:
可以看出,這里的開關矩陣類似於一塊布的纖維,所以交換機內的架構被稱為Switch Fabric(纖維)。這是Fabric一詞在網絡中的起源。
Clos架構
Charles Clos曾經是貝爾實驗室的研究員。他在1953年發表了一篇名為“A Study of Non-blocking Switching Networks”的文章。文章里介紹了一種用多級設備來實現無阻塞電話交換的方法,這是Clos架構的起源。
簡單的Clos架構是一個三級互連架構,包含了輸入級,中間級,輸出級,如下圖所示:
圖中的矩形是規模小得多的轉發單元,相應的成本小得多。Clos架構的核心思想是:用多個小規模、低成本的單元構建復雜,大規模的架構。上圖中,m是每個子模塊的輸入端口數,n是每個子模塊的輸出端口數,r是每一級的子模塊數,經過合理的重排,只要滿足r2≥max(m1,n3),那么,對於任意的輸入到輸出,總是能找到一條無阻塞的通路。
回到交換機架構,隨着網絡規模的發展,交換機的端口數量逐漸增多。crossbar模型的交換機的開關密度,隨着交換機端口數量N呈 增長。相應的功耗,尺寸,成本也急劇增長。在高密度端口的交換機上,繼續采用crossbar模型性價比越來越低。大約在1990年代,Clos架構被應用到Switch Fabric。應用Clos架構的交換機的開關密度,與交換機端口數量N的關系是
,所以在N較大時,Clos模型能降低交換機內部的開關密度。這是Clos架構的第二次應用。
Clos網絡架構
由於傳統三層網絡架構存在的問題,在2008年一篇文章A scalable, commodity data center network architecture,提出將Clos架構應用在網絡架構中。2014年,在Juniper的白皮書中,也提到了Clos架構。這一回,Clos架構應用到了數據中心網絡架構中來。這是Clos架構的第三次應用。
現在流行的Clos網絡架構是一個二層的spine/leaf架構,如下圖所示。spine交換機之間或者leaf交換機之間不需要鏈接同步數據(不像三層網絡架構中的匯聚層交換機之間需要同步數據)。每個leaf交換機的上行鏈路數等於spine交換機數量,同樣的每個spine交換機的下行鏈路數等於leaf交換機的數量。可以這樣說,spine交換機和leaf交換機之間是以full-mesh方式連接。
可前面不是說Clos架構是三級設備架構嗎?為什么這里只有兩層網絡設備?這是因為前面討論Clos架構的時候,都是討論輸入到輸出的單向流量。網絡架構中的設備基本都是雙向流量,輸入設備同時也是輸出設備。因此三級Clos架構沿着中間層對折,就得到了二層spine/leaf網絡架構。由於這種網絡架構來源於交換機內部的Switch Fabric,因此這種網絡架構也被稱為Fabric網絡架構。
在spine/leaf架構中,每一層的作用分別是:
- leaf switch:相當於傳統三層架構中的接入交換機,作為TOR(Top Of Rack)直接連接物理服務器。與接入交換機的區別在於,L2/L3網絡的分界點現在在leaf交換機上了。leaf交換機之上是三層網絡。
- spine switch:相當於核心交換機。spine和leaf交換機之間通過ECMP(Equal Cost Multi Path)動態選擇多條路徑。區別在於,spine交換機現在只是為leaf交換機提供一個彈性的L3路由網絡,數據中心的南北流量可以不用直接從spine交換機發出,一般來說,南北流量可以從與leaf交換機並行的交換機(edge switch)再接到WAN router出去。
對比spine/leaf網絡架構和傳統三層網絡架構
可以看出傳統的三層網絡架構是垂直的結構,而spine/leaf網絡架構是扁平的結構,從結構上看,spine/leaf架構更易於水平擴展。
Facebook Fabric Datacenter
Fabric網絡架構最具有代表性的就是Facebook在2014年公開的其數據中心架構:Introducing data center fabric, the next-generation Facebook data center network。Facebook使用了一個五級Clos架構,前面說過實際的網絡設備即是輸入又是輸出,因此五級Clos架構對折之后是一個三層網絡架構,雖然這里也是三層,但是跟傳統的三層網絡架構完全是兩回事。對應於上面介紹的架構,Facebook將leaf交換機叫做TOR,間添加了一層交換機稱為fabric交換機。fabric交換機和TOR構成了一個三級Clos結構,如下圖所示,這與前面介紹的spine/leaf架構是一樣的。Facebook將一組fabric交換機,TOR和對應的服務器組成的集群稱為一個POD(Point Of Delivery)。POD是Facebook數據中心的最小組成單位,每個POD由48個TOR和4個fabric交換機組成,下圖就是一個POD的示意圖。
在Facebook的Fabric架構中,spine交換機與多個fabric交換機連接,為多個POD提供連通性。其整體網絡架構如下圖所示。下圖中用三種方式表示了同一種網絡架構。最上層是spine交換機,中間是fabric交換機,最下面是TOR。
在Fabric架構中,存在着兩個切面,左右切面是一個個POD,前后切面被稱為Spine Plane。總共有4個Spine Plane,每個Spine Plane也是一個三級Clos架構。在Spine Plane中,leaf是Fabric交換機,Spine就是Spine交換機。每個Spine Plane中,由48個spine交換機和N個fabric交換機相連組成,N等於當前數據中心接入的POD數。Spine Plane的三級Clos架構和POD的三級Clos架構,共同構成了數據中心的五級Clos架構。因為在POD內,fabric交換機通過48個口與TOR連接,所以在Spine Plane的Clos架構中,fabric交換機的輸入輸出端口數都是48,對應上面的公式,m1=n3=48。根據Clos架構的特性,在Spine plane中,Spine交換機只要大於等於48個,不論N(POD數)等於多少,都可以保證網絡架構無阻塞。當然實際中N還受限於spine交換機的端口密度。
由於每個POD有4個fabric交換機,所以總共有4個Spine Plane。完整的架構如下圖所示:
除了前面描述的POD和Spine Plane,上圖中還有黃色的Edge Plane,這是為數據中心提供南北向流量的模塊。它們與Spine交換機的連接方式,與二層的spine/leaf架構一樣。並且它們也是可以水平擴展的。
采用Clos架構的數據中心網絡架構的優勢:
- 彈性可擴展。數據中心可以以POD為單位構建,隨着規模的增加,增加相應的POD即可。在Spine交換機端口數可承受的范圍內,增刪POD並不需要修改網絡架構。
- 模塊化設計。不論是POD,Spine Plane還是Edge Plane,都是一個個相同的模塊,在水平擴展的時候,不需要新的設計,只是將原有的結構復制一份即可。
- 靈活。當對網絡帶寬要求不高的時候,Spine交換機和Edge交換機可以適當減少。例如Facebook表示,在數據中心的初期,只提供4:1的東西向流量超占比,這樣每個Spine Plane只需要12個Spine交換機。當需要更多帶寬時,再增加相應的Spine交換機即可。同樣的模式也適用於Edge交換機。這符合“小規模啟動,最終適用大規模”的思想。
- 硬件依賴性小。傳統三層網絡架構中,大的網絡規模意味着高端的核心匯聚交換機。但是在Fabric架構中,交換機都是中等交換機,例如所有的fabric交換機只需要96個端口,中等規模的交換機簡單,穩定,成本低,並且大多數網絡廠商都能制造。
- 高度高可用。傳統三層網絡架構中,盡管匯聚層和核心層都做了高可用,但是匯聚層的高可用由於是基於STP(Spanning Tree Protocol),並不能充分利用多個交換機的性能,並且,如果所有的匯聚層交換機(一般是兩個)都出現故障,那么整個匯聚層POD網絡就癱瘓。但是在Fabric架構中,跨POD的兩個服務器之間有多條通道(4*48=192),除非192條通道都出現故障,否則網絡能一直保持連通,下圖是一個跨POD服務器之間多通道示意圖。
需要指出的是,這種網絡架構並非Facebook獨有(是不是原創無從考證),例如Cisco的Massively Scalable Data Center (MSDC),Brocade的Optimized 5-Stage L3 Clos Topology都是類似的5級Clos架構。其中一些組成元素,各家叫法不一樣,不過原理都是類似的。
最后
技術發展的過程中,有一些技術提出,應用,流行,消逝,過了一段時間,在新的領域,被人又重新提出,應用,流行,這本身就是一種非常有意思的現象。Clos架構就是這么一種技術,從最開始的電話交換架構,到交換機內部模型,到現在的網絡架構,它在不同的領域解決着同樣的問題。
構建一個數據中心網絡時,除了考慮網絡硬件設備的架構,2-7層網絡設計也需要考慮。這兩者其實不能完全分開,硬件架構有時候決定了網絡設計,網絡設計有時候又限制了硬件架構。從應用場景,例如SDN/NFV來看,網絡設計是最直接需要考慮的。所以這部分說說網絡設計。
傳統三層網絡架構中的網絡設計
L3架構
前面幾部分說過,傳統的三層網絡架構中,通常是在匯聚層做L2/L3的分隔。這樣可以在每個匯聚層POD構建一個L2廣播域,跨匯聚層的通信通過核心交換機做L3路由完成。例如,在划分VLAN時,將VLAN200划分在POD A,VLAN300划分在POD B,VLAN400划分在POD C。這樣設計的好處是BUM(Broadcase,Unknown Unicast,Multicast)被限制在每個POD。
由於L2廣播域被限制了在匯聚層POD,所以服務器的遷移一般在POD內部完成。因為跨POD遷移,對應二層網絡會變化,相應的服務器需要做一些變化,例如IP地址,默認網關。也就是說,服務器所在的網絡,限制了服務器的部署范圍(只能在POD內)。
大二層架構
為了更靈活的管理服務器,需要服務器可以部署在數據中心任意位置,在任意位置做遷移,可以使用大二層架構。在這種架構下,整個核心交換機以下都是一個L2廣播域,L2廣播域中的不同L2網絡,通過核心交換機的路由功能轉發,同一個L2網絡,服務器可以任意遷移部署。
這種架構的缺點就是,BUM會在整個數據中心傳播,這最終限制了網絡的規模。因為網絡規模大到一定程度,BUM會嚴重影響正常的網絡通訊。
Spine/Leaf架構中的網絡設計
Spine/Leaf網絡架構中,L2/L3的分隔通常在Leaf交換機。也就是說每個Leaf交換機下面都是個獨立的L2廣播域。如果說兩個Leaf交換機下的服務器需要通訊,需要通過L3路由,經由Spine交換機轉發。
與傳統三層網絡架構類似,這樣的設計,能分隔L2廣播域,適用的網絡規模更大。但是對應的問題就是,服務器的部署不能在數據中心的任意位置。我們來進一步看這個問題。
當服務器(虛擬的或者物理的)需要被部署在數據中心時,一般需要指定特定的網絡分段(Segment)中,或者說特定的L2廣播域。如果Segment被局限在了某些特定的交換機下,那么服務器只能在這些交換機的管理范圍內部署。也就是說,網絡限制了計算資源的部署和分配。但是實際中,真正與計算資源相關的資源,例如對於物理服務器來說,機架的空間,電源,散熱等,或者對於虛擬服務器來說,服務器的CPU,內存,硬盤等,這些因素才應該是決定服務器是否部署的因素。如果說對應的機架或者計算資源已經被使用了80%,而其他的機架或者計算資源還基本是空置的,但是網絡只在這個高負荷的位置可用,服務器再向這個高負荷的位置進行部署明顯不合適。
有什么解決辦法能打破網絡的限制?例如給空置的機架對應的交換機也配置上相應的網絡,讓新的服務器部署在它們之上,這樣可行嗎?舉個例子,看一個最簡單的spine/leaf架構:
例如左邊的leaf配置了VLAN200,管理的CIDR是192.168.1.0/24,右邊的leaf交換機配置VLAN300,管理的CIDR是10.11.11.0/24。左右的服務器可以通過L3路由進行轉發,這沒問題。但是這種情況下,服務器的部署需要考慮網絡的可用性。VLAN200的服務器只能在左邊,VLAN300的服務器只能在右邊,這部分上面說過。
那直接給右邊leaf交換機也配上VLAN200,IP地址也配上192.168.1.0/24。看起來似乎可以打破網絡的限制,但是實際上,這會導致:
- 兩邊的服務器的廣播域是不通的,左邊發出來的廣播,Spine上的L3路由不會轉發,所以右邊是收不到的。
- 左邊的服務器不能到達右邊的服務器,因為從IP地址來看,左右服務器在一個二層網絡,但是實際上兩邊服務器又不在一個L2廣播域中,數據不會發向L3路由,本地也找不到。
- Spine交換機會感到困惑,因為當它收到目的地址是192.168.1.0/24的數據包時,它不知道該路由給左邊還是右邊。
實際效果如下圖所示:
這里相當於,在左右兩個Leaf交換機上,創建了兩個(而不是一個)VLAN200的網絡。而由於CIDR重復,這兩個網絡之間還不能路由。
Overlay網絡
Overlay網絡技術可以很好的解決上面的問題。Overlay技術有很多中,GRE,NVGRE,Geneva,VXLAN。這里就不說誰好誰不好,只以VXLAN為例說明,但是大部分內容其他的Overlay技術同樣適用。
Overlay網絡是在現有的網絡(Underlay網絡)基礎上構建的一個虛擬網絡。所謂的現有網絡,就是之前的交換機所在的網絡,只要是IP網絡就行。而新構建的Overlay網絡,用來作為服務器通訊的網絡。Overlay網絡是一個在L3之上的L2網絡。也就是說,只要L3網絡能覆蓋的地方,那Overlay的L2網絡也能覆蓋。例如下圖中,原有的交換機網絡不變,服務器之間通過Overlay網絡實現了跨Leaf交換機的L2網絡。這樣,在Overlay網絡中,服務器可以任意部署,而不用考慮現有網絡的架構。
當提起VXLAN解決了什么問題時,很多人想到的是解決了VLAN ID數量有限的問題,這的確也是VXLAN RFC7348明確說明的。但是現實中解決VLAN ID數量不夠還有別的方法,例如QinQ。以VXLAN為代表的Overlay技術解決的,更多是(個人觀點)提供了一個不受物理網絡限制的,可軟件定義的網絡環境。
一個完整的Spine/Leaf網絡架構配合VXLAN示意圖如下所示,這個圖里面以虛擬服務器(VM)為例說明,但是實際上並不局限於虛擬的服務器。對於VM來說,並不知道什么VXLAN,VM只是把Ethernet Frame發出來。Leaf交換機(或者說VTEP)將VM的Ethernet Frame封裝成VXLAN(也就是一個UDP包),在原有的Spine/Leaf的Underlay網絡傳輸。因為是一個UDP包,所以可以在原有的L3網絡中任意傳輸。
采用Overlay,需要在Leaf交換機上集成VTEP。有時候,將這種網絡架構稱為VXLAN Fabric。為什么是Fabric,上一篇說過了。
VXLAN Fabric網絡架構通常有兩種實現,一種是基於Flood-Learn的模式,與傳統的L2網絡類似,另一種是基於MP-BGP EVPN作為控制層。有關數據中心內的EVPN,我在之前的多篇文章有介紹,感興趣可以去看看,這里就不再重復了。
最后
Overlay技術並非為Spine/Leaf網絡架構設計,早在傳統的三層網絡架構中,也有應用Overlay技術構建虛擬網絡。只是說Spine/Leaf架構作為一種相對較新的網絡架構,配合VXLAN或者其他Overlay技術,能夠設計出更靈活的數據中心網絡。在SDDC(Software Defined Data Center)架構或者SDN中,這種Overlay更是非常重要的一個部分。
最后的最后,這個系列的淺談就先說到這里了。這個系列有一部分是受到
同學的數據中心網絡架構演進(一)和數據中心網絡架構演進(二)的啟發,在此感謝。之所以也寫一次,是想提供一個非網工的,雲計算從業人員的視角,希望對大家有幫助。