Overlay網絡

1. Overlay 網絡
1.1 Overlay 技術概述
    Overlay 在網絡技術領域,指的是一種網絡架構上疊加的虛擬化技術模式,其大體框架是對基礎網絡不進行大規模修改的條件下,實現應用在網絡上的承載,並能與其它網絡業務分離,並且以基於IP的基礎網絡技術爲主。Overlay 技術是在現有的物理網絡之上構建一個虛擬網絡,上層應用只與虛擬網絡相關。一個Overlay網絡主要由三部分組成:
    邊緣設備:是指與虛擬機直接相連的設備
    控制平面:主要負責虛擬隧道的建立維護以及主機可達性信息的通告

    轉發平面:承載 Overlay 報文的物理網絡


Overlay網絡與物理網絡的關係

在以往IT建設中,硬件服務器上運行的是虛擬層的計算,物理網絡爲了與虛擬服務器對接,需要網絡自己進行調整,以便和新的計算層對接(如圖1所示)。Overlay是在傳統網絡上虛擬出一個虛擬網絡來,傳統網絡不需要在做任何適配,這樣物理層網絡只對應物理層的計算(物理機、虛擬化層管理網),虛擬的網絡只對應虛擬計算(虛擬機的業務IP),如圖2所示。

圖 1 物理網絡引入數據中心技術來適配虛擬計算

圖 2 物理網絡通過承接虛擬網絡來適配虛擬計算

Overlay的技術路線,其實是從架構上對數據中心的建設模式進行了顛覆,對物理設備的要求降至最低,業務完全定義在層疊網絡上。那麼,這是否意味着將來數據中心使用Overlay網絡不需要硬件支持而只需要軟件定義就足夠了呢?答案無疑是否定的。

以下討論Overlay網絡與物理網絡的依存關係。由於VXLAN(Virtual eXtensible LAN)技術是當前最爲主流的Overlay標準,以下VXLAN技術爲代表進行具體描述。

1. 報文的封裝與解封裝

VXLAN的核心在於承載於物理網絡上的隧道技術,這就意味着要對報文進行封裝和解封裝,因此需要硬件來加速處理。

在VXLAN網絡中,用於建立VXLAN隧道的端點設備稱爲VTEP(VXLAN Tunneling End Point,VXLAN隧道終結點),封裝和解封裝在VTEP節點上進行。

在雲數據中心,部分業務是不適合進行虛擬化的(如小機服務器,高性能數據庫服務器),這些服務器會直接與物理交換機互聯,而他們又必須與對應租戶/業務的VXLAN網絡互通,此時就必須要求與其互聯的硬件交換機也能支持VXLAN協議,以接入VXLAN網絡。

圖 3 Overlay網絡的三種構建模式

考慮到服務器接入的可以是虛擬交換機,也可以是物理交換機,因此存在三種不同的構建模式(如圖3所示):其中網絡Overlay方案中,所有終端均採用物理交換機作爲VTEP節點;主機Overlay方案中,所有終端均採用虛擬交換機作爲VTEP節點;混合Overlay方案中,既有物理交換機接入,又有虛擬交換機接入,且軟件VTEP和硬件VTEP之間可以基於標準協議互通。

在網絡Overlay方案和混合Overlay方案中,都需要有物理交換機設備支持VXLAN協議棧,並能與虛擬交換機構建的VTEP互通。由於在實際組網環境中,服務器種類很多,高吞吐高性能要求的業務一般都採用單獨物理服務器甚至小機的硬件環境,而非虛擬化的x86服務器,這就沒法使用vSwitch來接入VXLAN網絡,只能讓支持VXLAN的物理交換機來接入了。

2. 組播協議傳播

VXLAN網絡的MAC表與隧道終端的綁定關係要用組播協議傳播,而大規格組播協議離不開物理網絡設備的支持。

按照VXLAN的標準,每一個VTEP都需要了解其接入的終端MAC地址,同時還需要知道整網(該VXLAN實例中)其他VTEP下所有的終端MAC地址。只有這樣,在本地的VTEP收到報文後需要轉發時,才能根據目的MAC查詢到需要送到遠端的目的VTEP那裏。

按照IETF中對VXLAN網絡的定義,負責在網絡中傳播MAC地址和VTEP對應關係的機制,正是依託於物理網絡中的組播協議。VTEP將本地的MAC地址表利用組播協議在整個組播中傳播,從而使得整網中所有組播成員,也就是其他VTEP都知道本地的MAC地址表。當VTEP下的終端接入情況有所更改,如新增了MAC地址或者減少了MAC地址,也需要利用組播協議通知同一個實例下的所有VTEP。另外,當本地VTEP找不到目的MAC處於哪一個遠端VTEP時,也需要發送組播報文來查找目的MAC主機所屬的遠端VTEP。

圖 4 多個VTEP通過物理網絡組播傳遞MAC表信息

如圖4所示,多個VTEP需要在整網中傳遞VTEP下MAC地址信息,邏輯傳遞路線如綠色虛線所示。由於需要進行邏輯上的Full-Mesh連接,連接邏輯線路會達到N平方量級,因此實際組網中,VXLAN利用了物理網絡的組播組,在建立好的組播組中加入VXLAN中所有VTEP成員,傳遞VTEP變更信息。在多用戶多業務情況下,組播組要求與VXLAN數量息息相關。由於VXLAN網絡規模的不斷拓展(最大可達到16M個VXLAN網絡),所需要的組播條目數會不斷增加,這實際上對於物理網絡承載組播處理能力和規格提出了要求。

由於標準VXLAN架構下使用組播協議,對物理網絡組播數規格要求較大,因此H3C VXLAN解決方案基於SDN架構,通過引入全網的SDN Controller來實現VXLAN的管理和維護,使得VTEP之間的信息可以通過Controller來進行反射(如圖5所示)。這樣,VTEP的MAC地址表映射關係不再通過組播向全網其他VTEP傳達,而是統一上報給控制器,由控制器統一下發給需要接受此消息的其他VTEP,由具體的VTEP執行轉發機制。

圖 5 多個VTEP通過SDN Controller傳遞MAC表信息

可見,在SDN架構下,硬件形態的VTEP需要能夠支持集中控制器下發的業務控制信息,同時基於Openflow進行流錶轉發。而傳統硬件交換機不能支持上述特性,必須由新硬件設備來執行和完成的。

3. VXLAN網絡互通

在傳統L2網絡中,報文跨VLAN轉發,需要藉助三層設備來完成不同VLAN之間的互通問題。VXLAN網絡與傳統網絡、以及VXLAN網絡的互通,必須有網絡設備的支持。

VXLAN網絡框架中定義了兩種網關單元。

¡ VXLAN三層網關。用於終結VXLAN網絡,將VXLAN報文轉換成傳統三層報文送至IP網絡,適用於VXLAN網絡內服務器與遠端終端之間的三層互訪;同時也用作不同VXLAN網絡互通。如圖6所示,當服務器訪問外部網絡時,VXLAN三層網關剝離對應VXLAN報文封裝,送入IP網絡;當外部終端訪問VXLAN內的服務器時,VXLAN根據目的IP地址確定所屬VXLAN及所屬的VTEP,加上對應的VXLAN報文頭封裝進入VXLAN網絡。VXLAN之間的互訪流量與此類似,VXLAN網關剝離VXLAN報文頭,並基於目的IP地址確定所屬VXLAN及所屬的VTEP,重新封裝後送入另外的VXLAN網絡。

圖 6 VXLAN網絡通過三層網關與傳統網絡互連

¡ VXLAN二層網關。用於終結VXLAN網絡,將VXLAN報文轉換成對應的傳統二層網絡送到傳統以太網絡,適用於VXLAN網絡內服務器與遠端終端或遠端服務器的二層互聯。如在不同網絡中做虛擬機遷移時,當業務需要傳統網絡中服務器與VXLAN網絡中服務器在同一個二層中,此時需要使用VXLAN二層網關打通VXLAN網絡和二層網絡。如圖7所示,VXLAN 10網絡中的服務器要和IP網絡中VLAN100的業務二層互通,此時就需要通過VXLAN的二層網關進行互聯。VXLAN10的報文進入IP網絡的流量,剝掉VXLAN的報文頭,根據VXLAN的標籤查詢對應的VLAN網絡(此處對應的是VLAN100),並據此在二層報文中加入VLAN的802.1Q報文送入IP網絡;相反VLAN100的業務流量進入VXLAN也需要根據VLAN獲知對應的VXLAN網絡編號,根據目的MAC獲知遠端VTEP的IP地址,基於以上信息進行VXLAN封裝後送入對應的VXLAN網絡。

圖 7 VXLAN網絡通過二層網關與傳統二層網絡互通

可見,無論是二層還是三層網關,均涉及到查錶轉發、VXLAN報文的解封裝和封裝操作。從轉發效率和執行性能來看,都只能在物理網絡設備上實現,並且傳統設備無法支持,必須通過新的硬件形式來實現。

結束語

Overlay由於其簡單、一致的解決問題方法,加上重新定義的網絡可以進行軟件定義,已經成爲數據中心網絡最炙手可熱的技術方案。然而,它並不是一張完全由軟件定義的網絡,Overlay網絡解決方案必定是一種軟硬結合的方案,無論是從接入層VTEP混合組網的組網要求、組播或SDN控制層協議的支持,還是VXLAN網絡與傳統網絡的互通來看,都需要硬件積極的配合和參與,必須構建在堅實和先進的物理網絡架構基礎上。。




參考:

基於多租戶的雲計算Overlay網絡


1 雲計算虛擬化網絡的挑戰與革新

在雲中,虛擬計算負載的高密度增長及靈活性遷移在一定程度上對網絡產生了壓力,然而當前虛擬機的規模與可遷移性受物理網絡能力約束,雲中的業務負載不能與物理網絡脫離。

ž 虛擬機遷移範圍受到網絡架構限制

由於虛擬機遷移的網絡屬性要求,其從一個物理機上遷移到另一個物理機上,要求虛擬機不間斷業務,則需要其IP地址、MAC地址等參數維保持不變,如此則要求業務網絡是一個二層網絡,且要求網絡本身具備多路徑多鏈路的冗餘和可靠性。傳統的網絡生成樹(STPSpaning Tree Protocol)技術不僅部署繁瑣,且協議複雜,網絡規模不宜過大,限制了虛擬化的網絡擴展性。基於各廠傢俬有的的IRF/vPC等設備級的(網絡N:1)虛擬化技術,雖然可以簡化拓撲簡化、具備高可靠性的能力,但是對於網絡有強制的拓撲形狀限制,在網絡的規模和靈活性上有所欠缺,只適合小規模網絡構建,且一般適用於數據中心內部網絡。而爲了大規模網絡擴展的TRILL/SPB/FabricPath/VPLS等技術,雖然解決了上述技術的不足,但對網絡有特殊要求,即網絡中的設備均要軟硬件升級而支持此類新技術,帶來部署成本的上升。

ž 虛擬機規模受網絡規格限制

在大二層網絡環境下,數據流均需要通過明確的網絡尋址以保證準確到達目的地,因此網絡設備的二層地址表項大小((即MAC地址表)),成爲決定了雲計算環境下虛擬機的規模的上限,並且因爲表項並非百分之百的有效性,使得可用的虛機數量進一步降低,特別是對於低成本的接入設備而言,因其表項一般規格較小,限制了整個雲計算數據中心的虛擬機數量,但如果其地址表項設計爲與核心或網關設備在同一檔次,則會提升網絡建設成本。雖然核心或網關設備的MAC與ARP規格會隨着虛擬機增長也面臨挑戰,但對於此層次設備能力而言,大規格是不可避免的業務支撐要求。減小接入設備規格壓力的做法可以是分離網關能力,如採用多個網關來分擔虛機的終結和承載,但如此也會帶來成本的上升。

ž 網絡隔離/分離能力限制

當前的主流網絡隔離技術爲VLAN(或VPN),在大規模虛擬化環境部署會有兩大限制:一是VLAN數量在標準定義中只有12個比特單位,即可用的數量爲4000個左右,這樣的數量級對於公有云或大型虛擬化雲計算應用而言微不足道,其網絡隔離與分離要求輕而易舉會突破4000;二是VLAN技術當前爲靜態配置型技術(只有EVB/VEPA的802.1Qbg技術可以在接入層動態部署VLAN,但也主要是在交換機接主機的端口爲常規部署,上行口依然爲所有VLAN配置通過),這樣使得整個數據中心的網絡幾乎爲所有VLAN被允許通過(核心設備更是如此),導致任何一個VLAN的未知目的廣播數據會在整網氾濫,無節制消耗網絡交換能力與帶寬。

對於小規模的雲計算虛擬化環境,現有的網絡技術如虛擬機接入感知(VEPA/802.1Qbg)、數據中心二層網絡擴展(IRF/vPC/TRILL/FabricPath)、數據中心間二層技術(OTV/EVI/TRILL)等可以很好的滿足業務需求,上述限制不成爲瓶頸。然而,完全依賴於物理網絡設備本身的技術改良,目前看來並不能完全解決大規模雲計算環境下的問題,一定程度上還需要更大範圍的技術革新來消除這些限制,以滿足雲計算虛擬化的網絡能力需求。在此驅動力基礎上,逐步演化出Overlay的虛擬化網絡技術趨勢。

2 Overlay虛擬化網絡的技術標準及比較

2.1 Overlay技術形態

Overlay在網絡技術領域,指的是一種網絡架構上疊加的虛擬化技術模式,其大體框架是對基礎網絡不進行大規模修改的條件下,實現應用在網絡上的承載,並能與其它網絡業務分離,並且以基於IP的基礎網絡技術爲主(如圖2所示)。其實這種模式是以對傳統技術的優化而形成的。早期的就有標準支持了二層Overlay技術,如RFC3378(Ethernet in IP),就是早期的在IP上的二層Overlay技術。並且基於Ethernet over GRE的技術,H3C與Cisco都在物理網絡基礎上發展了各自的私有二層Overlay技術——EVI(Ethernet Virtual Interconnection)與OTV(Overlay Transport Virtualization)。EVI與OTV都主要用於解決數據中心之間的二層互聯與業務擴展問題,並且對於承載網絡的基本要求是IP可達,部署上簡單且擴展方便。

圖2 Overlay網絡模型.jpg

圖2 Overlay網絡模型

隨着雲計算虛擬化的驅動,基於主機虛擬化的Overlay技術出現,在服務器的Hypervisor內vSwitch上支持了基於IP的二層Overlay技術,從更靠近應用的邊緣來提供網絡虛擬化服務,其目的是使虛擬機的部署與業務活動脫離物理網絡及其限制,使得雲計算的網絡形態不斷完善。(如圖3所示)主機的vSwitch支持基於IP的Overlay之後,虛機的二層訪問直接構建在Overlay之上,物理網不再感知虛機的諸多特性,由此,Overlay可以構建在數據中心內,也可以跨越數據中心之間。

圖3 hypervisor支持的二層Overlay.jpg

圖3 hypervisor支持的二層Overlay

2.2 Overlay如何解決當前的主要問題

針對前文提出的三大技術挑戰,Overlay在很大程度上提供了全新的解決方式。

ž 針對虛機遷移範圍受到網絡架構限制的解決方式

Overlay是一種封裝在IP報文之上的新的數據格式,因此,這種數據可以通過路由的方式在網絡中分發,而路由網絡本身並無特殊網絡結構限制,具備良性大規模擴展能力,並且對設備本身無特殊要求,以高性能路由轉發爲佳,且路由網絡本身具備很強的的故障自愈能力、負載均衡能力。採用Overlay技術後,企業部署的現有網絡便可用於支撐新的雲計算業務,改造難度極低(除性能可能是考量因素外,技術上對於承載網絡並無新的要求)。

ž 針對虛機規模受網絡規格限制的解決方式

虛擬機數據封裝在IP數據包中後,對網絡只表現爲封裝後的的網絡參數,即隧道端點的地址,因此,對於承載網絡(特別是接入交換機),MAC地址規格需求極大降低,最低規格也就是幾十個(每個端口一臺物理服務器的隧道端點MAC)。當然,對於核心/網關處的設備表項(MAC/ARP)要求依然極高,當前的解決方案仍然是採用分散方式,通過多個核心/網關設備來分散表項的處理壓力。(另一種更分散的方式便是虛擬網絡路由服務方式,詳見後文描述)。

ž 針對網絡隔離/分離能力限制的解決方式

針對VLAN數量4000以內的限制,在Overlay技術中引入了類似12比特VLAN ID的用戶標識,支持千萬級以上的用戶標識,並且在Overlay中沿襲了雲計算“租戶”的概念,稱之爲Tenant ID(租戶標識),用24或64比特表示。針對VLAN技術下網絡的TRUANK ALL(VLAN穿透所有設備)的問題,Overlay對網絡的VLAN配置無要求,可以避免網絡本身的無效流量帶寬浪費,同時Overlay的二層連通基於虛機業務需求創建,在雲的環境中全局可控。

2.3 Overlay主要技術標準及比較

目前,IETF在Overlay技術領域有如下三大技術路線正在討論,爲簡單起見,本文只討論基於IPv4的Overlay相關內容(如圖4所示)。

ž VXLAN。VXLAN是將以太網報文封裝在UDP傳輸層上的一種隧道轉發模式,目的UDP端口號爲4798;爲了使VXLAN充分利用承載網絡路由的均衡性,VXLAN通過將原始以太網數據頭(MAC、IP、四層端口號等)的HASH值作爲UDP的號;採用24比特標識二層網絡分段,稱爲VNI(VXLAN Network Identifier),類似於VLAN ID作用;未知目的、廣播、組播等網絡流量均被封裝爲組播轉發,物理網絡要求支持任意源組播(ASM)。

ž NVGRE。NVGRE是將以太網報文封裝在GRE內的一種隧道轉發模式;採用24比特標識二層網絡分段,稱爲VSI(Virtual Subnet Identifier),類似於VLAN ID作用;爲了使NVGRE利用承載網絡路由的均衡性,NVGRE在GRE擴展字段flow ID,這就要求物理網絡能夠識別到GRE隧道的擴展信息,並以flow ID進行流量分擔;未知目的、廣播、組播等網絡流量均被封裝爲組播轉發。

ž STT。STT利用了TCP的數據封裝形式,但改造了TCP的傳輸機制,數據傳輸不遵循TCP狀態機,而是全新定義的無狀態機制,將TCP各字段意義重新定義,無需三次握手建立TCP連接,因此稱爲無狀態TCP;以太網數據封裝在無狀態TCP;採用64比特Context ID標識二層網絡分段;爲了使STT充分利用承載網絡路由的均衡性,通過將原始以太網數據頭(MAC、IP、四層端口號等)的HASH值作爲無狀態TCP的源端口號;未知目的、廣播、組播等網絡流量均被封裝爲組播轉發。

圖片7圖片8圖片9

VXLAN NVGRE SST

圖4 三種數據詳細封裝

這三種二層Overlay技術,大體思路均是將以太網報文承載到某種隧道層面,差異性在於選擇和構造隧道的不同,而底層均是IP轉發。如表1所示爲這三種技術關鍵特性的比較:VXLAN和STT對於現網設備對流量均衡要求較低,即負載鏈路負載分擔適應性好,一般的網絡設備都能對L2-L4的數據內容參數進行鏈路聚合或等價路由的流量均衡,而NVGRE則需要網絡設備對GRE擴展頭感知並對flow ID進行HASH,需要硬件升級;STT對於TCP有較大修改,隧道模式接近UDP性質,隧道構造技術屬於革新性,且複雜度較高,而VXLAN利用了現有通用的UDP傳輸,成熟性極高。總體比較,VLXAN技術相對具有優勢。

表1 IETF三種Overlay技術的總體比較.jpg

表1 IETF三種Overlay技術的總體比較

IETF討論的Overlay技術,主要聚焦在數據轉發層面的實現上,控制層面並無涉及,因此在基本實現上依賴於不同廠家的控制層面設計,IETF討論稿《draft-pfaff-ovsdb-proto-02.pdf》則針對Open vSwitch提供了一種控制管理模型的建議(如圖5所示),但在細節實現上仍不是很明確。

圖5 IETF draft討論的OVS管理方式

3 多租戶的Overlay網絡架構

3.1 數據中心虛擬化網絡的發展階段

隨着虛擬化技術在數據中心、雲計算中的不斷深入應用,伴隨着網絡技術的發展,數據中心的二層組網結構出現了階段性的架構變化(如圖6所示)。

圖6 階段性網絡與虛擬化的匹配.jpg

圖6 階段性網絡與虛擬化的匹配

ž 分層結構化網絡

早期的數據中心網絡,虛擬化需求非常少,並沒有強烈的大二層技術要求,多是面向一定的業務應用系統構建網絡模塊,並且規模一般不大,性能要求也不高。數據中心使用多層架構,網關層面比較低,業務的二層訪問基本可以在網絡模塊內解決,只需要通過基礎的生成樹技術來支撐模塊內的二層網路可靠性運行即可。

ž 扁平化網絡

隨着虛擬化在X86架構服務器上的流行及廣泛部署,模塊化的數據中心網絡結構已經不能滿足虛擬機大範圍遷移要求,而生成樹協議的複雜性也嚴重影響大規模網絡的穩定運行。由此網絡本身技術出現適應虛擬化的變革,包含TRILL/FabricPath/VSS/vPC/IRF等新的技術出現並大量部署,同時爲了使得網絡進一步感知虛讓你因爲機的業務生命週期,IEEE還制訂了802.1Qbg(即VEPA技術)與802.1BR來配合二層網絡技術增強對虛擬機的感知能力。爲了保證網絡的高性能業務要求,出現了應對高密虛擬化雲計算環境的CLOS網絡架構。

ž Overlay網絡虛擬化

當進入雲計算時代,雲的業務需求與網絡之間出現了前文提到的挑戰,網絡技術再次發生變革,以Overlay的虛擬化方式來支撐雲與虛擬化的建設要求,並實現大規模的多租戶能力,網絡進入Overlay虛擬化架構階段。

3.2 Overlay網絡的組成模式

Overlay的本質是L2 Over IP的隧道技術,在服務器的vSwitch、物理網絡上技術框架已經就緒,並且從當前的技術選擇來看,雖然有多種隧道同時實現,但是以L2 over UDP模式實現的VXLAN技術具備較大優勢,並且在ESXi和Open vSwitch、當前網絡的主流芯片已經實現,預計會成爲主流的Overlay技術選擇,因此後文的Overlay網絡均參考VXLAN相關的技術組成描述,其它NVGRE、STT等均類似。

Overlay網絡架構有多種實現,就純大二層的實現,可分爲主機實現方式和網絡實現方式;而在最終實現Overlay與網絡外部數據連通的連接方式上,則更有多種實現模式,並且對於關鍵網絡部件將有不同的技術要求。

3.2.1 基於主機的Overlay虛擬化網絡

(如圖7所示)目前的虛擬化主機軟件在vSwitch內支持VXLAN,使用VTEP(VXLAN Tunnel End Point)封裝和終結VXLAN的隧道。

圖7 基於主機的Overlay虛擬化網絡.jpg

圖7 基於主機的Overlay虛擬化網絡

VXLAN運行在UDP上,物理網絡只要支持IP轉發,則所有IP可達的主機即可構建一個大範圍二層網絡。這種vSwitch的實現,屏蔽了物理網絡的模型與拓撲差異,將物理網絡的技術實現與計算虛擬化的關鍵要求分離開來,幾乎可以支持以太網在任意網絡上的透傳,使得雲的計算資源調度範圍空前擴大。

特別的,爲了使得VXLAN Overlay網絡更加簡化運行管理,便於雲的服務提供,各廠家使用集中控制的模型,將分散在多個物理服務器上的vSwitch構成一個大型的、虛擬化的分佈式Overlay vSwitch(如圖8所示),只要在分佈式vSwitch範圍內,虛擬機在不同物理服務器上的遷移,便被視爲在一個虛擬的設備上遷移,如此大大降低了雲中資源的調度難度和複雜度。

圖8 分佈式Overlay vSwitch.jpg

圖8 分佈式Overlay vSwitch

基於主機的Overlay網絡數據流量出入物理網絡,需要實現VXLAN的Overlay流量與傳統的以太網數據流量之間的封裝與解封裝過程,而執行這個過程操作的功能點,被稱爲Overlay/VXLAN Gateway(如圖9所示)。因爲VXLAN網絡的VTEP功能點本身就是VXLAN的封裝與解封裝隧道點,因此VXLAN Gateway首先需要具備VTEP功能,形態可以是vSwitch、物理交換機等,只是對於網絡中的虛機或其它設備地址表項的處理有所差異。

圖9 Overlay Gateway(VXLAN).jpg

圖9 Overlay Gateway(VXLAN)

VXLAN Ovelay網絡與物理網絡連通有以下三種組網方案(如圖10所示)。

ž 方案一:Overlay虛擬化網絡+vSwitch GW+vRouter

Overlay的vSwitch本身具備隧道的封裝與解封裝能力,因此,H3C提供一種虛擬路由器來配合這種基本方式。將在硬件路由器中運行的軟件vSR(基於H3C Comware平臺的路由軟件包)作爲虛擬機運行在主機中,提供Overlay網絡的虛擬路由功能(即vRouter能力),vRouter的接口同時連接到VXLAN的網絡和VLAN基本功能的物理網絡。從vSwitch接收到的VXLAN數據包被解除封裝後,進入vRouter路由接口,可以被路由到外部網絡;反之,vRouter接收到外部網絡的數據可以進入VXLAN網絡。

該方案的好處是:涉及Overlay的功能均在主機虛擬化環境vSwitch實現,並且虛擬路由功能使得Overlay網絡部署更加靈活,極大降低外部物理網絡要求。

ž 方案二:Overlay虛擬化網絡+vSwitch GW+pRouter

本方案使用服務器中的vSwitch專門用作VXLAN的Gateway功能,而數據的路由功能,則由外部網絡物理路由器承擔。該方案除了不具備虛擬路由能力,Overlay的功能也都在主機虛擬化環境vSwitch實現,同時可以支持虛機與非虛擬化的物理服務器之間的二層數據通信要求。

ž 方案三:Overlay虛擬化網絡+pSwitch GW+pRouter

當物理交換機支持VXLAN功能,則pSwitch與vSwicth可以實現Overlay的統一虛擬化組網,物理交換機執行VXLAN Gateway功能,不僅可以實現Overlay網絡在物理網絡上的終結,也可以支持虛機與非虛擬化服務器的混合組網業務,因爲基於物理實現(物理交換機+物理路由器),整體網絡可以達到極高性能。

圖10 VXLAN Overlay網絡與物理網絡的連通方案.jpg

圖10 VXLAN Overlay網絡與物理網絡的連通方案

3.2.2 基於物理網絡的Overlay虛擬化

(如圖11所示)該方案在網絡架構上與TRILL/FabricPath等技術類似,但是因爲對於非VTEP要求的網絡只需要IP轉發,它比TRILL/FabricPath構建的成本更低,技術要求也更加簡單,同時也容易構建多個數據中心之間的網絡連接。

爲了解決網絡對虛擬機的感知與自動化控制,結合IEEE的802.1Qbg/VEPA技術,可以使得網絡的Overlay與計算虛擬化之間產生關聯,這樣既可以保持服務器內部網絡的簡化,使用基本的VEPA,利用外部網絡強化來保證高能力的控制要求,又在物理網絡Overlay的虛擬化基礎上增強了虛機在雲中大範圍調度的靈活性。

圖11 物理網絡的Overlay+VEPA.jpg

圖11 物理網絡的Overlay+VEPA

3.3 基於Overlay網絡的多租戶與網絡服務——H3Cloud雲網融合路線

對於計算資源豐富的數據中心,Overlay網絡使得虛擬機不再爲物理網絡所限制,但是對於網絡的L4-L7深度服務,在雲計算環境下需求更爲強烈,資源動態調度的計算環境,需要動態可調度的網絡服務支撐。因此將傳統的L4-L7服務轉換爲可雲化的、可動態調度的服務資源,成爲Overlay網絡環境下的必須集成框架(如圖12所示)。H3C基於Comware V7軟件平臺的L4-L7產品系列,可在虛擬化網絡環境下資源化,以虛擬服務單元運行,分別提供對應路由器、防火牆、負載均衡、深度防禦的vSR/vRouter、vFW、vLB、vIPS,利用數據中心計算資源與Overlay網絡集成,提供等同於傳統的L4-L7網絡服務能力。

圖12 Overlay網絡集成服務虛擬化.jpg

圖12 Overlay網絡集成服務虛擬化

在Overlay環境下的虛擬化網絡服務,必須具備靈活的可分配性、可擴展性及可調度性,因此,自動化的編排組織能力顯得非常重要(如圖13所示)。除了將虛擬服務資源化,還要具備業務邏輯的組合關聯,這些與物理網絡L4-L7服務的固定配置管理不同,所有的網絡服務資源也是在計算池中,要實現相應的業務關聯和邏輯,難以通過物理網絡實現,在Overlay網絡的連通與編排下則相對易於實現。這種集成思路也將是H3C服務虛擬化的主要模式。

圖13 基於Overlay虛擬化網絡的服務編排.jpg

圖13 基於Overlay虛擬化網絡的服務編排

H3C雲計算解決方案核心的架構是雲網融合。在當前的特色方案系列均充分利用了雲計算與物理網絡融合、結合的特點,如:

ž VEPA——提供網絡計算自動化的感知關聯與自動化部署;

ž FCoE——統一交換的計算、存儲網絡;

ž DRX——基於H3C LB與虛擬機管理平臺關聯的虛機資源動態擴展;

ž PoC(Point of Cloud)——藉助雲端網絡連通雲計算中心與路由器集成X86虛擬化計算部件的統一雲分支擴展;

ž 分級雲——通過層級化網絡構建縱向層次化雲架構。

針對雲計算即將進入Overlay階段,H3C的技術路線目標是在H3Cloud架構中進一步實現Overlay虛擬化網絡的融合(如圖14所示)。新一階段的雲網融合,不僅包含分佈式的Overlay、多租戶的虛擬化網絡,還將不斷集成逐步產品化的虛擬網絡服務部件(目前已經可提供vSR/vFW的服務部件),而對於原有的VEPA/FCoE/DRX/PoC/分級雲等方案,將在基於Overlay的虛擬化網絡架構下重新構建和集成,實現技術演進和延續的完整性。

圖14 雲網融合:H3Cloud從物理網絡到Overlay虛擬網絡的集成.jpg

圖14 雲網融合:H3Cloud從物理網絡到Overlay虛擬網絡的集成

4 結束語

Overlay的網絡架構是物理網絡向雲和虛擬化的深度延伸,雲的資源化能力可以脫離物理網絡的多種限制,但兩個網絡本身卻是需要連通交互才能實現雲的服務能力,隨着技術的發展,主機的Overlay技術也將向硬件化發展,並逐步會成爲物理網絡的一部分。但Overlay尚沒有深度成熟,還需要較長時間發展和應用,其中的問題會逐步暴露和解決。


百家:雲計算網絡,沒那麼簡單

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

一、 互聯網雲計算對網絡的需求

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

圖1. 互聯網雲計算的業務特點

大容量的MAC表項和ARP表項

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

4K VLAN Trunk問題

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

4K VLAN上限問題

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

虛擬機遷移網絡依賴問題

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網絡。這個網絡可以有效地解決雲計算對網絡的挑戰,是雲計算網絡發展的趨勢。



參考:

1 https://www.zhihu.com/question/24393680

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章