​雲端計算網路,沒那麼簡單

lionzl發表於2016-10-21

​雲端計算網路,沒那麼簡單

——華三通訊在2014年GITC(全球網際網路技術大會)的演講節選

文/李蔚

資料中心虛擬化成為了趨勢,通過伺服器虛擬化提高資源利用率,同時降低單位能耗。但是,隨著資料中心虛擬化程度的不斷提高、虛擬化伺服器規模的不斷擴大,帶來了巨大的管理壓力。這就孕育了雲端計算誕生的條件。在大規模虛擬化的基礎上,實現了自動化管理和集中化管理,就是雲端計算的基本模型。這一點在網際網路行業尤其重要。

一、        網際網路雲端計算對網路的需求

       網際網路行業資料中心的基本特徵就是伺服器的規模偏大。進入雲端計算時代後,其業務特徵變得更加複雜,包括:虛擬化支援、多業務承載、資源靈活排程等(如圖1所示)。與此同時,網際網路雲端計算的規模不但沒有縮減,反而更加龐大。這就給雲端計算的網路帶來了巨大的壓力。


圖1. 網際網路雲端計算的業務特點

l  大容量的MAC表項和ARP表項

虛擬化會導致更大的MAC表項。假設一個網際網路雲端計算中心的伺服器有5000臺,按照1:20的比例進行虛擬化,則有10萬個虛擬機器。通常每個虛擬機器會配置兩個業務網口,這樣這個雲端計算中心就有20萬個虛擬網口,對應的就是需要20萬個MAC地址和IP地址。雲端計算要求資源靈活排程,業務資源任意遷移。也就是說任意一個虛擬機器可以在整個雲端計算網路中任意遷移。這就要求全網在一個統一的二層網路中。全網任意交換機都有可能學習到全網所有的MAC表項。與此對應的則是,目前業界主流的接入交換機的MAC表項只有32K,基本無法滿足網際網路雲端計算的需求。另外,閘道器需要記錄全網所有主機、所有網口的ARP資訊。這就需要閘道器裝置的有效ARP表項超過20萬。大部分的閘道器裝置晶片都不具備這種能力。

l  4K VLAN Trunk問題

傳統的大二層網路支援任意VLAN的虛擬機器遷移到網路的任意位置,一般有兩種方式。方式一:虛擬機器遷移後,通過自動化網路管理平臺動態的在虛擬機器對應的所有埠上下發VLAN配置;同時,還需要動態刪除遷移前虛擬機器對應所有埠上的VLAN配置。這種方式的缺點是實現非常複雜,同時自動化管理平臺對多廠商裝置還面臨相容性的問題,所以很難實現。方式二:在雲端計算網路上靜態配置VLAN,在所有埠上配置VLAN trunk all。這種方式的優點是非常簡單,是目前主流的應用方式。但這也帶來了巨大的問題:任一VLAN內如果出現廣播風暴,則全網所有VLAN內的虛擬機器都會受到風暴影響,出現業務中斷。

l  4K VLAN上限問題

雲端計算網路中有可能出現多租戶需求。如果租戶及業務的數量規模超出VLAN的上限(4K),則無法支撐客戶的需求。

l  虛擬機器遷移網路依賴問題

VM遷移需要在同一個二層域內,基於IP子網的區域劃分限制了二層網路連通性的規模。

二、        網際網路雲端計算網路為什麼選擇Overlay

針對網際網路雲端計算對網路提出的這些挑戰,H3C選擇了基於VXLAN技術的Overlay網路架構來構建自己的雲端計算網路解決方案。

1.   Overlay如何應對雲端計算網路的挑戰

首先,Overlay的核心是重新構建一個邏輯網路平面,其技術手段的關鍵是採用隧道技術實現L2oIP的封裝。通過隧道實現各虛擬機器之間的二層直連。這樣網路只看見Overlay邊緣節點的MAC地址,物理網路學習到的MAC表項非常有限,現有接入交換機32K的MAC表項足以滿足需求(如圖2所示)。對應的Overlay邊緣節點實現基於會話的地址學習機制,也就是說只學習有互動流量的虛擬機器MAC地址。這樣也嚴格限制了邊緣節點的地址表項。


圖2. Overlay網路如何應對雲端計算網路的挑戰

其次,Overlay網路僅僅是一個邏輯上的二層直連網路。其依賴的物理網路,是一個傳統的路由網路。這個路由網路是一個三層到邊緣的網路。也就是說二層廣播域被縮小到極致。這樣,網路風暴潛在的風險大幅度降低。同時,對於一些需要依賴二層廣播的協議報文,例如:ARP報文,Overlay網路通過ARP代理等方式實現協議的內容透傳,不會影響協議報文的正常運作。

再次,針對4K VLAN上限問題,Overlay網路通過L2oIP的封裝欄位,提供24bits長度的隔離ID,最大可以支援16M租戶或業務。

最後,針對網路虛擬化問題。Overlay網路本身就是一個從物理網路中抽離的邏輯網路,通過名址分離使得內層IP地址完全作為一個定址標籤,不再具備路由功能,可以實現不同subnet之間二層互通,保證二層網路的連通性不受IP地址段的限制。

2.   H3C為什麼選擇VXLAN

從Overlay網路出現開始,業界陸續定義了多種實現Overlay網路的技術,主流技術包括:VXLAN、NVGRE、STT、Dove等(如圖3所示)。


圖3  Overlay主流技術概覽

從標準化程度進行分析,DOVE和STT到目前為止,標準化進展緩慢,基本上可以看作是IBM和VMware的私有協議。因此,從H3C的角度來看無法選擇這兩種技術。

從技術的實用性來看,XLAN和NVGRE兩種技術基本相當。其主要的差別在於鏈路Hash能力。由於NVGRE採用了GRE的封裝報頭,需要在標準GRE報頭中修改部分位元組來進行Hash實現鏈路負載分擔。這就需要對物理網路上的裝置進行升級改造,以支援基於GRE的負載分擔。這種改造大部分客戶很難接受。相對而言,VXLAN技術是基於UDP報頭的封裝,傳統網路裝置可以根據UDP的源埠號進行Hash實現鏈路負載分擔。這樣VXLAN網路的部署就對物理網路沒有特殊要求。這是最符合客戶要求的部署方案,所以VXLAN技術是目前業界主流的實現方式。

3.   VXLAN為什麼選擇SDN

VXLAN的標準協議目前只定義了轉發平面流程,對於控制平面目前還沒有協議規範,所以目前業界有三種定義VXLAN控制平面的方式。

¡  方式1:組播。由物理網路的組播協議形成組播表項,通過手工將不同的VXLAN與組播組一一繫結。VXLAN的報文通過繫結的組播組在組播對應的範圍內進行泛洪。簡單來說,和VLAN方式的組播泛洪和MAC地址自學習基本一致。區別只是前者在三層網路中預定義的組播範圍內泛洪,而後者是在二層網路中指定VLAN範圍內泛洪。這種方式的優點是非常簡單,不需要做協議擴充套件。但缺點也是顯而易見的,需要大量的三層組播表項,需要複雜的組播協議控制。顯然,這兩者對於傳統物理網路的交換機而言,都是巨大的負荷和挑戰,基本很難實現。同時,這種方式還給網路帶來大量的組播泛洪流量,對網路效能有很大的影響。

¡  方式2:自定義協議。通過自定義的鄰居發現協議學習Overlay網路的拓撲結構並建立隧道管理機制。通過自定義(或擴充套件)的路由協議透傳Overlay網路的MAC地址(或IP地址)。通過這些自定義的協議可以實現VXLAN控制平面轉發表項的學習機制。這種方式的優點是不依賴組播,不存在大量的組播泛洪報文,對網路效能影響很小。缺點是通過鄰居發現協議和路由協議控制所有網路節點,這樣網路節點的數量就受到協議的限制。換句話說,如果網路節點的數量超過一定範圍,就會導致對應的協議(例如路由協議)執行出現異常。這一點在網際網路行業更加明顯,因為網際網路行業雲端計算的基本特徵就是大規模甚至超大規模。尤其是在vSwitch上執行VXLAN自定義路由協議,其網路節點數量可以達到幾千甚至上萬個,沒有路由協議可以支援這種規模的網路。

¡  方式3:SDN控制器。通過SDN控制器集中控制VXLAN的轉發,經由Openflow協議下發表項是目前業界的主流方式。這種方式的優點是不依賴組播,不對網路造成負荷;另外,控制器通過叢集技術可以實現動態的擴容,所以可以支援大規模甚至超大規模的VXLAN網路。當然,SDN控制器本身的效能和可靠性決定了全網的效能和可靠性,所以如何能夠提高控制器的效能和可靠性就是核心要素。

三、        VXLAN Fabric網路架構的優勢

雲端計算網路一直都有一個理念:Network as a Fabric,即整網可以看作是一個交換機。通過VXLAN Overlay可以很好地實現這一理念——VXLAN Fabric(如圖4所示)。


圖4 VXLAN Fabric網路架構

Spine和Leaf節點共同構建了Fabric的兩層網路架構,通過VXLAN實現Spine和Leaf之間的互聯,可以看做是交換機的背板交換鏈路。Spine節點數量可以擴容,最大可以達到16臺。Leaf節點數量也可以平滑擴容。理論上只要Spine節點的埠密度足夠高,這個Fabric可以接入數萬臺物理伺服器。

另外,通過VXLAN隧道可以實現安全伺服器節點的靈活接入。這些安全服務節點可以集中部署在一個指定區域,也可以靈活部署在任意Leaf節點下。通過Service Chain技術實現任意兩個虛擬機器之間可以通過任意安全服務節點互聯。保證網路中虛擬機器業務的安全隔離和控制訪問。同理,Fabric的出口節點也可以部署在任意位置,可以靈活擴充套件。

簡而言之,VXLAN Fabric構建了一個靈活的、穩定的、可擴充套件的Overlay網路。這個網路可以有效地解決雲端計算對網路的挑戰,是雲端計算網路發展的趨勢。

 

相關文章