雲端計算網路,沒那麼簡單
雲端計算網路,沒那麼簡單
——華三通訊在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網路。這個網路可以有效地解決雲端計算對網路的挑戰,是雲端計算網路發展的趨勢。
相關文章
- 阿里雲做雲端計算那麼艱難,為什麼後面其他公司很簡單就有了阿里
- 雲端計算開發學習教程,簡單介紹雲端計算
- 【雲端計算】雲端計算六大優點簡單說明
- 什麼叫做雲端計算?雲端計算基礎學習路線
- [視訊] 雲端計算網路基礎那點事兒
- 小紅書破圈,沒那麼簡單
- 「雲網路」VS「雲端計算」- vecloud伺服器Cloud伺服器
- 簡單介紹雲端計算的容器技術
- 【雲端計算小知識】什麼是雲端計算?雲端計算特點是什麼?
- 學習雲端計算簡單嗎?專科生學習雲端計算就業前景如何?就業
- 小白怎麼學習雲端計算?2020最新雲端計算學習路線圖
- 零基礎雲端計算學習路線,到底什麼是雲端計算?
- 什麼叫雲端計算?雲端計算通俗解釋
- 在遊戲裡新增簡單模式,沒有想象中那麼簡單遊戲模式
- 雲端計算學習路線圖講解:想學雲端計算怎麼入門?
- 雲端計算實現物聯網的核心,雲端計算應該怎麼學?
- 什麼是雲端計算雲端計算能幹什麼?雲端計算學習筆記工具素材筆記
- 雲端計算和大資料那個專業好?雲端計算行業未來發展怎麼樣?大資料行業
- 雲端計算是什麼?新手學習雲端計算的學習路線
- 執行緒池沒你想的那麼簡單(續)執行緒
- 團隊級敏捷真的沒你想的那麼簡單敏捷
- 邊緣雲端計算簡介
- 雲端計算和Linux什麼關係?linux雲端計算Linux
- 雲端計算開發教程,雲端計算能幹什麼?
- 什麼叫做雲端計算?學習雲端計算先要理解
- 零基礎學雲端計算怎麼樣?2020年雲端計算學習路線
- 初學者怎麼入手學習雲端計算?雲端計算學習路線圖分享
- 怎麼進入雲端計算這個行業?雲端計算學習路線推薦行業
- 雲端計算影片教程:2020年雲端計算學習路線圖
- 雲端計算技術是什麼?雲端計算有什麼優勢?
- 計算機網路簡史計算機網路
- 雲端計算素材、課件:雲端計算可以做什麼用?
- 什麼是雲端計算?雲端計算學習方向有哪些?
- 什麼是雲端計算?
- 一週雲事|雲端計算也需要網路安全免疫
- 執行緒的生命週期,真的沒那麼簡單執行緒
- 服務優雅下線,沒你想的那麼簡單?
- 安全開發Java:日誌注入,並沒那麼簡單Java
- 雲端計算:雲端計算是怎麼分類的?