軟件定義數據中心

1 概述

1.1 產生背景

隨著企業業務的快速擴展,IT作為基礎設施,其快速部署和高利用率成為主要需求。云計算可以為之提供可用的、便捷的、按需的資源提供,成為當前企業IT建設的常規形態,而在云計算中大量采用和部署的虛擬化幾乎成為一個基本的技術模式。部署虛擬機需要在網絡中無限制地遷移到目的物理位置,虛機增長的快速性以及虛機遷移成為一個常態性業務。傳統的網絡已經不能很好滿足企業的這種需求,面臨著如下挑戰:

· 虛擬機遷移范圍受到網絡架構限制

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

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

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

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

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

上述的三大挑戰,完全依賴于物理網絡設備本身的技術改良,目前看來并不能完全解決大規模云計算環境下的問題,一定程度上還需要更大范圍的技術革新來消除這些限制,以滿足云計算虛擬化的網絡能力需求。在此驅動力基礎上,逐步演化出Overlay網絡技術。

1.2 技術優點

Overlay是一種疊加虛擬化技術,主要具有以下優點:

· 基于IP網絡構建Fabric。無特殊拓撲限制,IP可達即可;承載網絡和業務網絡分離;對現有網絡改動較小,保護用戶現有投資。

· 16M多租戶共享,極大擴展了隔離數量。

· 網絡簡化、安全。虛擬網絡支持L2、L3等,無需運行LAN協議,骨干網絡無需大量VLAN Trunk。

· 支持多樣化的組網部署方式,支持跨域互訪。

· 支持虛擬機靈活遷移,安全策略動態跟隨。

· 轉發優化和表項容量增大。消除了MAC表項學習泛濫,ARP等泛洪流量可達范圍可控,且東西向流量無需經過網關。

2 Overlay技術介紹

2.1 Overlay的概念介紹

Overlay在網絡技術領域,是一種網絡架構上疊加的虛擬化技術模式,其大體框架是對基礎網絡不進行大規模修改的條件下,實現應用在網絡上的承載,并能與其它網絡業務分離,并且以基于IP的基礎網絡技術為主(如圖1所示)。

· Overlay網絡是指建立在已有網絡上的虛擬網,邏輯節點和邏輯鏈路構成了Overlay網絡。

· Overlay網絡是具有獨立的控制和轉發平面,對于連接在overlay邊緣設備之外的終端系統來說,物理網絡是透明的。

· Overlay網絡是物理網絡向云和虛擬化的深度延伸,使云資源池化能力可以擺脫物理網絡的重重限制,是實現云網融合的關鍵。

圖1 Overlay網絡概念圖

2.2 Overlay的解決方法

針對前文提到的三大挑戰,Overlay給出了完美的解決方法。

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

Overlay把二層報文封裝在IP報文之上,因此,只要網絡支持IP路由可達就可以部署Overlay網絡,而IP路由網絡本身已經非常成熟,且在網絡結構上沒有特殊要求。而且路由網絡本身具備良好的擴展能力,很強的故障自愈能力和負載均衡能力。采用Overlay技術后,企業不用改變現有網絡架構即可用于支撐新的云計算業務,極方便用戶部署。

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

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

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

針對VLAN只能支持數量4K以內的限制,在Overlay技術中擴展了隔離標識的位數,可以支持高達16M的用戶,極大擴展了隔離數量。

2.3 Overlay的技術標準

IETF在Overlay技術領域提出VXLAN、NVGRE、STT三大技術方案。大體思路均是將以太網報文承載到某種隧道層面,差異性在于選擇和構造隧道的不同,而底層均是IP轉發。VXLAN和STT對于現網設備而言對流量均衡要求較低,即負載鏈路負載分擔適應性好,一般的網絡設備都能對L2-L4的數據內容參數進行鏈路聚合或等價路由的流量均衡,而NVGRE則需要網絡設備對GRE擴展頭感知并對flow ID進行HASH,需要硬件升級;STT對于TCP有較大修改,隧道模式接近UDP性質,隧道構造技術屬于革新性,且復雜度較高,而VXLAN利用了現有通用的UDP傳輸,成熟性極高。

所以總體比較,VLXAN技術具有更大優勢,而且當前VLXAN也得到了更多廠家和客戶的支持,已經成為Overlay技術的主流標準,所以本文的后續介紹均以VXLAN技術作為標準進行介紹,NVGRE、STT則不再贅述。

VXLAN(Virtual eXtensible LAN,可擴展虛擬局域網絡)是基于IP網絡、采用“MAC in UDP”封裝形式的二層VPN技術,具體封裝的報文格式如圖2所示。VXLAN可以基于已有的服務提供商或企業IP網絡,為分散的物理站點提供二層互聯功能,主要應用于數據中心網絡。

圖2 VXLAN報文

VXLAN在原始二層數據幀外添加:

· 20字節IP頭,目的IP為隧道對端VTEP地址或組播地址。

· 8字節UDP頭,UDP頭的目的端口號缺省為4789。源端口可按流分配;為了使VXLAN充分利用承載網絡路由的均衡性,VXLAN通過將原始以太網數據頭(MAC、IP、四層端口號等)的HASH值作為UDP的號。

· 8字節VXLAN頭:

Flags:“I”位為1時,表示VXLAN頭中的VXLAN ID有效;

“I”位為0時,表示VXLAN ID無效。其他位保留未用(為0)。

VXLAN ID:用來標識一個VXLAN網絡,長度為24比特。

VXLAN具有如下特點:

· 使用24位的標識符,最多可支持16M個VXLAN,解決了傳統二層網絡VLAN資源不足的問題。

· 基于IP網絡組建大二層網絡,使得網絡部署和維護更加容易,并且可以好地利用現有的IP網絡技術,例如利用等價路由負載分擔。

· 只有邊緣設備需要進行VXLAN處理,VXLAN業務對網絡中間設備透明,只需根據IP頭轉發報文,降低了網絡部署的難度和費用。

根據客戶不同組網需求,Overlay的網絡部署分為以下三種組網模型,如圖3所示。

圖3 Overlay的網絡部署圖

網絡Overlay的隧道封裝在物理交換機完成。這種Overlay的優勢在于物理網絡設備性能轉發性能比較高,可以支持非虛擬化的物理服務器之間的組網互通。它的缺點就是現網設備大都不支持VXLAN, 需要大批量更換設備。

主機Overlay隧道封裝由虛擬設備完成,不用增加新的網絡設備即可完成Overlay部署,可以支持虛擬化的服務器之間的組網互通。它純粹由服務器實現Overlay功能,對現有網絡改動不大,但是可能存在轉發瓶頸。

混合Overlay是Network Overlay和Host Overlay的混合組網,可以支持物理服務器和虛擬服務器之間的組網互通。它融合了兩種Overlay方案的優點,既可以發揮硬件GW的轉發性能,又盡可能的減少對于現有網絡的改動。

3 Overlay技術實現

3.1 Overlay網絡基礎架構

Overlay網絡的基礎架構如圖4所示:

圖4 Overlay網絡的基礎架構

· VM(Virtual Machine,虛擬機)

在一臺服務器上可以創建多臺虛擬機,不同的虛擬機可以屬于不同的VXLAN。屬于相同VXLAN的虛擬機處于同一個邏輯二層網絡,彼此之間二層互通。

兩個VXLAN 可以具有相同的MAC地址,但一個段不能有一個重復的MAC地址。

· VTEP(VXLAN Tunnel End Point,VXLAN隧道端點)

VXLAN的邊緣設備,進行VXLAN業務處理:識別以太網數據幀所屬的VXLAN、基于VXLAN對數據幀進行二層轉發、封裝/解封裝VXLAN報文等。

VXLAN通過在物理網絡的邊緣設置智能實體VTEP,實現了虛擬網絡和物理網絡的隔離。VTEP之間建立隧道,在物理網絡上傳輸虛擬網絡的數據幀,物理網絡不感知虛擬網絡。VTEP將從虛擬機發出/接受的幀封裝/解封裝,而虛擬機并不區分VNI和VXLAN隧道。

· VNI(VXLAN Network Identifier,VXLAN網絡標識符)

VXLAN采用24比特標識二層網絡分段,使用VNI來標識二層網絡分段,每個VNI標識一個VXLAN,類似于VLAN ID作用。VNI占用24比特,這就提供了近16M可以使用的VXLANs。VNI將內部的幀封裝(幀起源在虛擬機)。使用VNI封裝有助于VXLAN建立隧道,該隧道在第3層網絡之上覆蓋率第二層網絡。

· VXLAN隧道

在兩個VTEP之間完成VXLAN封裝報文傳輸的邏輯隧道。業務入隧道進行VXLAN頭、UDP頭、IP頭封裝后,通過三層轉發透明地將封裝后的報文轉發給遠端VTEP,遠端VTEP對其進行出隧道解封裝處理。

· VSI(Virtual Switching Instance,虛擬交換實例)

VTEP上為一個VXLAN提供二層交換服務的虛擬交換實例。

3.2 Overlay網絡部署需求

3.2.1 VXLAN 對基礎承載網絡的需求

· MTU

VXLAN需要增加50字節用于封裝VM發出的報文,需要更大的IP網絡端到端的MTU。

· VXLAN 卸載

由于VXLAN加入了新的VXLAN報文頭,VXLAN網絡報文不能再利用網卡的硬件卸載能力,這會導致支持VXLAN的vSwitch進一步占用CPU。

3.2.2 VXLAN 網絡和傳統網絡互通的需求

為了實現VLAN和VXLAN之間互通,VXLAN定義了VXLAN網關。VXLAN上同時存在VXLAN端口和普通端口兩種類型端口,它可以把VXLAN網絡和外部網絡進行橋接和完成VXLAN ID和VLAN ID之間的映射和路由,和VLAN一樣,VXLAN網絡之間的通信也需要三層設備的支持,即VXLAN路由的支持。同樣VXLAN網關可由硬件和軟件來實現。

當收到從VXLAN網絡到普通網絡的數據時,VXLAN網關去掉外層包頭,根據內層的原始幀頭轉發到普通端口上;當有數據從普通網絡進入到VXLAN網絡時,VXLAN網關負責打上外層包頭,并根據原始VLAN ID對應到一個VNI,同時去掉內層包頭的VLAN ID信息。相應的如果VXLAN網關發現一個VXLAN包的內層幀頭上還帶有原始的二層VLAN ID,會直接將這個包丟棄。

如圖5所示。VXLAN網關最簡單的實現應該是一個Bridge設備,僅僅完成VXLAN到VLAN的轉換,包含VXLAN到VLAN的1:1、N:1轉換,復雜的實現可以包含VXLAN Mapping功能實現跨VXLAN轉發,實體形態可以是vSwitch、TOR交換機。

如圖5所示。VXLAN路由器最簡單的實現可以是一個Switch設備,支持類似VLAN Mapping的功能,實現VXLAN ID之間的Mapping,復雜的實現可以是一個Router設備,支持跨VXLAN轉發,實體形態可以是vRouter、TOR交換機、路由器。

圖5 VXLAN網關和VXLAN路由簡單實現

3.2.3 VXLAN 網絡安全需求

同傳統網絡一樣,VXLAN網絡同樣需要進行安全防護。

VXLAN網絡的安全資源部署需要考慮兩個需求:

· VXLAN和VLAN之間互通的安全控制

傳統網絡和Overlay網絡中存在流量互通,需要對進出互通的網絡流量進行安全控制,防止網絡間的安全問題。針對這種情況,可以在網絡互通的位置部署VXLAN防火墻等安全資源,VXLAN防火墻可以兼具VXLAN網關和VXLAN路由器的功能。

· VXLAN ID對應的不同VXLAN域之間互通的安全控制

VM之間的橫向流量安全是在虛擬化環境下產生的特有問題,在這種情況下,同一個服務器的不同VM之間的流量可能直接在服務器內部實現交換,導致外部安全資源失效。針對這種情況,可以考慮使用重定向的引流方法進行防護,又或者直接基于虛擬機進行防護。

網絡部署中的安全資源可以是硬件安全資源,也可以是軟件安全資源,還可以是虛擬化的安全資源。

3.3 Overlay網絡虛機位置無關性

通過使用MAC-in-UDP封裝技術,VXLAN為虛擬機提供了位置無關的二層抽象,Underlay網絡和Overlay網絡解耦合。終端能看到的只是虛擬的二層連接關系,完全意識不到物理網絡限制。

更重要的是,這種技術支持跨傳統網絡邊界的虛擬化,由此支持虛擬機可以自由遷移,甚至可以跨越不同地理位置數據中心進行遷移。如此以來,可以支持虛擬機隨時隨地接入,不受實際所在物理位置的限制。

所以VXLAN的位置無關性,不僅使得業務可在任意位置靈活部署,緩解了服務器虛擬化后相關的網絡擴展問題;而且使得虛擬機可以隨時隨地接入、遷移,是網絡資源池化的最佳解決方式,可以有力地支持云業務、大數據、虛擬化的迅猛發展。

3.4 分布式網關

分布式網關把分布在多臺主機的單一OVS邏輯上組成一個“大”交換機,原來每個OVS需要分別配置,而現在OVS分布式網關可在控制器管理界面集中配置、管理。

分布式網關通過控制器創建和維護,當一個OVS分布式網關被創建時,每一個主機會創建一個隱藏的OVS與分布式網關連接。

分布式網關主要具備以下幾個功能:

· 可以實現OVS集中管理的功能,在控制器管理界面對OVS集中配置管理,無需對每個OVS單獨配置、管理。

· OVS分布式網關可以通過流表實現VXLAN的二三層轉發。

· 虛擬機遷移時可以使得虛擬機網絡端口狀態在從一個主機移到另一個主機時保持不變,這樣就能支持對虛擬機持續地統計監控并促進安全性監控。

· 虛擬機遷移后,不需要重新配置網關等網絡參數,部署簡單、靈活。

OVS分布式網關通過流表實現VXLAN二三層轉發的流程如下:

3.4.1 VXLAN上行

在OVS上送packet in報文到控制器,控制器通過packet in報文生成上行轉發流表,并下到OVS主機上,詳細步驟如下:

1. 控制器通過OpenFlow通道收到packet in報文。

2. 判斷上送的IP 報文的IP-MAC為真實的;若非真實,丟包,不進行后續處理。

3. 報文中源端口在全局端口表中為vport端口;報文中源端口在全局端口表中配置為隧道口,進行VXLAN下行轉發處理,不進行后續處理。

4. 報文中源端口所在vNetwork的類型為VXLAN;源端口所在vNetwork的類型為VLAN,進行VLAN轉發,不進行后續處理。

5. 根據目的IP查詢目的端口。

6. a)查詢到目的端口,目的端口在同一主機上的VXLAN二層轉發,根據源端口IP和MAC,目的端口的IP和MAC,以及入端口,生成主機內轉發流表;

b)查詢到目的端口,目的端口在同一主機上的VXLAN三層轉發,根據源端口IP和MAC,目的端口的IP和MAC,替換源MAC為虛MAC,目的MAC為目的端口真實MAC,以及入端口,生成主機內轉發流表;

c)查詢到目的端口,目的端口在不同主機上的VXLAN二層轉發,根據源端口IP和MAC,目的端口的IP和MAC,目的端口所在主機的VTEP IP,以及入端口,生成主機內轉發流表;

d)查詢到目的端口,目的端口在不同主機上的VXLAN三層轉發,根據源端口IP和MAC,目的端口的IP和MAC,替換源MAC為虛MAC,目的MAC為目的端口真實MAC,目的端口所在主機的VTEP IP,以及入端口,生成主機內轉發流表。

e)在源端口所在的Router內,查詢目的IP,所在的子網網段屬于Router,則進行丟表處理;

f)沒有查詢到目的端口,曾查詢物理網關的MAC 和VTEP IP,把目的MAC替換成網關MAC,源MAC替換成虛MAC,生成轉發流表。

7. 下發流表到OVS上。

8. 把首包直接發送到目的端口上。

3.4.2 VXLAN下行

在OVS上送packet in報文到控制器,控制器通過packet in報文生成下行轉發流表,并下到OVS主機上,詳細步驟如下:

1. 控制器通過OpenFlow通道收到packet in報文.

2. 判斷上送的IP 報文的IP-MAC為真實的;IP-MAC不是真實的,丟包不進行后續處理。

3. 收取端口不是vport類型;若報文中源端口在全局端口表中配置為vport,進行上行轉發處理,不進行后續處理。

4. 入端口類型為隧道口;若入端口類型為uplink,進行VLAN下行流處理,不進行后續處理。

5. 根據目的IP查找目的端口。

6. 查找到目的端口,把目的MAC替換為真實MAC。目的MAC、VNI和OUTPUT,生成轉發流表;沒有查詢到目的端口,丟包不進行后續處理。

7. 下發流表到OVS上。

8. 把首包直接發送到目的端口上。

3.5 Overlay網絡流表路由

· ARP代答

對于虛擬化環境來說,當一個虛擬機需要和另一個虛擬機進行通信時,首先需要通過ARP的廣播請求獲得對方的MAC地址。由于VXLAN網絡復雜,廣播流量浪費帶寬,所以需要在控制器上實現ARP代答功能。即由控制器對ARP請求報文統一進行應答,而不創建廣播流表。

ARP代答的大致流程:控制器收到OVS上送的ARP請求報文,做IP-MAC防欺騙處理確認報文合法后,從ARP請求報文中獲取目的IP,以目的IP為索引查找全局表獲取對應MAC,以查到的MAC作為源MAC構建ARP應答報文,通過Packetout下發給OVS。

3.5.1 Overlay網絡到非Overlay網絡

Overlay網絡到非Overlay網絡的流表建立和路由發布如圖6所示:

圖6 Overlay網絡到非Overlay網絡的流表建立和路由發布

創建VM的時候,會同時分配IP和MAC信息。然后VM發送ARP請求報文,該報文會通過Packet-in被上送到控制器。控制器做IP-MAC防欺騙處理確認報文合法后,通過ARP代答功能構建ARP應答報文并通過Packet-out下發。

VM收到從ARP應答報文后,封裝并發送IP首包。OVS收到IP首報后發現沒有對應流表,就將該IP首包通過Packet-in上送控制器。控制器通過OpenFlow通道收到Packet-in報文后,判斷上送的IP 報文的IP-MAC為真實的。然后根據報文中的目的IP查詢目的端口,將IP首包直接發送到目的端口,同時生成相應流表下發OVS。若沒有查詢到目的端口,曾查詢物理網關的MAC 和VTEP IP,把目的MAC替換成網關MAC,源MAC替換成虛機MAC,生成轉發流表下發OVS, IP首包也同時被packet out到OVS匹配流表轉發。

流表下發到OVS后,而后續的IP報文就會根據OVS上的流表進行轉發,而不再需要上送控制器。

從overlay網絡到非overlay網絡的路由處理需要用戶首先在網管上預配置路由協議引入靜態路由,然后控制器創建subnet并通過Netconf將subnet靜態路由下發到GW,最終由GW將overlay子網路由發布到非overlay網絡。

3.5.2 非Overlay網絡到Overlay網絡

非Overlay網絡到Overlay網絡的流表建立和路由發布如圖7所示:

圖7 非Overlay網絡到Overlay網絡的流表建立和路由發布

創建VM的時候,會同時分配IP、 MAC和UUID等信息。VM上線時會觸發OVS發送Port Status消息上送控制器,該消息攜帶VM MAC信息。控制器根據VM MAC查找IP等相關信息,然后攜帶VM的相關信息通知GW虛機上線,VM的相關信息主要包括:VM的IP地址,VM在虛擬網絡中所屬的VXLAN,VM連接的OVS IP,OVS的datapath ID。

GW首先根據OVS IP檢查OVS和GW之間是否已經存在一條可用的隧道。如果已存在,則直接使用找到的隧道,并修改隧道上的VM引用計數。如果不存在,則在預創建的隧道中選擇一條可用的隧道,并根據OVS IP修改隧道的目的地址。

控制器根據VM上線消息中攜帶的數據,構造物理機向VM轉發報文時使用的流表表項,并下發到VM所在VNI對應網關分組中的所有GW。流表表項的內容如下:

Match Field:入接口VM所屬VNI對應的VPN綁定的三層口,目的IP為VM的IP

Action:Remark 目的MAC為OVS MAC,Remark源MAC為GW的MAC,指定出接口為GW與OVS之間的隧道口

從非overlay網絡到overlay網絡的路由處理是通過傳統路由協議,將非虛擬化網絡服務器對應子網發布到VXLAN-GW。此路由不引入到虛擬化網絡。路由協議由用戶手動配置。

3.6 Overlay網絡轉發流程

· 報文所屬VXLAN識別

VTEP只有識別出接收到的報文所屬的VXLAN,才能對該報文進行正確地處理。

VXLAN隧道上接收報文的識別:對于從VXLAN隧道上接收到的VXLAN報文,VTEP根據報文

中攜帶的VNI判斷該報文所屬的VXLAN。

本地站點內接收到數據幀的識別:對于從本地站點中接收到的二層數據幀,VTEP通過以太網服務實例(Service Instance)將數據幀映射到對應的VSI, VSI內創建的VXLAN即為該數據幀所屬的VXLAN。

· MAC地址學習

本地MAC地址學習:指本地VTEP連接的本地站點內虛擬機MAC地址的學習。本地MAC地址通過接收到數據幀中的源MAC地址動態學習,即VTEP接收到本地虛擬機發送的數據幀后,判斷該數據幀所屬的VSI,并將數據幀中的源MAC地址(本地虛擬機的MAC地址)添加到該VSI的MAC地址表中,該MAC地址對應的出接口為接收到數據幀的接口。

遠端MAC地址學習:指遠端VTEP連接的遠端站點內虛擬機MAC地址的學習。遠端MAC學習時,VTEP從VXLAN隧道上接收到遠端VTEP發送的VXLAN報文后,根據VXLAN ID判斷報文所屬的VXLAN,對報文進行解封裝,還原二層數據幀,并將數據幀中的源MAC地址(遠端虛擬機的MAC地址)添加到所屬VXLAN對應VSI的MAC地址表中,該MAC地址對應的出接口為VXLAN隧道接口。

3.6.1 Overlay網絡到非Overlay網絡

Overlay網絡到非Overlay網絡的轉發流程如圖8所示:

圖8 Overlay網絡到非Overlay網絡的轉發流程

虛擬機構造發送到物理機的報文,目的MAC為OVS的MAC,目的IP為要訪問的物理機的IP,報文從虛擬機的虛擬接口發出。

OVS接收到虛擬機發送的報文,根據報文中的目的IP匹配OVS上的流表表項。匹配到流表表項后,修改報文的目的MAC為VX-GW的MAC,源MAC為OVS的MAC,并從指定的隧道接口發送。從指定的隧道接口發送報文時,會在報文中添加VXLAN頭信息,并封裝隧道外層報文頭信息。

VX-GW從隧道口接收到VXLAN隧道封裝報文,隧道自動終結,得到內層報文。在VX-GW上已配置VNI和VPN的映射關系,根據隧道報文的VNI信息,確定對應的VPN。在指定的VPN中,根據內層報文的目的IP按照FIB(非流表)進行報文三層轉發,從出接口發送的報文為普通報文,其目的MAC為物理機MAC,源MAC為GW MAC,源IP為虛擬機IP,目的IP為物理機IP。

報文按照傳統網絡的轉發方式繼續轉發。物理機接收到VX-GW轉發的報文,實現虛擬機到物理機的訪問。

3.6.2 非Overlay網絡到Overlay網絡

非Overlay網絡到Overlay網絡的轉發流程如圖9所示:

圖9 非Overlay網絡到Overlay網絡的轉發流程

物理機構造發送到虛擬機的報文,在傳統網絡中通過傳統轉發方式將報文轉發到VX-GW。VX-GW接收該報文時,報文的目的MAC為VX-GW的MAC,目的IP為虛擬機的IP地址,從物理機發送出去的報文為普通報文。

VX-GW接收報文,根據報文的入接口VPN,目的IP和目的MAC匹配轉發流表。匹配到流表后,修改報文的目的MAC為OVS的對應全局MAC(00163FAAAAA),源MAC為GW的MAC,并從指定的VXLAN隧道口發送。從隧道口發送報文時,根據流表中的信息添加VXLAN頭信息,并對報文進行隧道封裝。從GW發送報文為封裝后的Overlay報文。

OVS接收到報文后,隧道自動終結。根據報文VNI和目的IP匹配轉發流表。匹配到流表后,修改報文目的MAC為虛擬機MAC,修改報文源MAC為OVS的MAC,并從指定的端口發送。從OVS發送的報文為普通報文。

根據報文的目的MAC,虛擬機接收到物理機發送的報文,實現物理機到虛擬機的訪問。

3.7 Overlay網絡虛機遷移

在虛擬化環境中,虛擬機故障、動態資源調度功能、服務器主機故障或計劃內停機等都會造成虛擬機遷移動作的發生。虛擬機的遷移,需要保證遷移虛擬機和其他虛擬機直接的業務不能中斷,而且虛擬機對應的網絡策略也必須同步遷移。

虛擬機遷移及網絡策略如圖11所示:

圖10 虛擬機遷移及網絡策略跟隨

網絡管理員通過虛擬機管理平臺下發虛擬機遷移指令,虛擬機管理平臺通知控制器預遷移,控制器標記遷移端口,并向源主機和目的主機對應的主備控制器分布發送同步消息,通知遷移的VPort,增加遷移標記。同步完成后,控制器通知虛擬機管理平臺可以進行遷移了。

虛擬機管理平臺收到控制器的通知后,開始遷移,創建VM分配IP等資源并啟動VM。啟動后目的主機上報端口添加事件,通知給控制器,控制器判斷遷移標記,遷移端口,保存新上報端口和舊端口信息。然后控制器向目的主機下發網絡策略。

源VM和目的執行內存拷貝,內存拷貝結束后,源VM關機,目的VM上線。源VM關機后,遷移源主機上報端口刪除事件,通知給控制器,控制器判斷遷移標記,控制器根據信息刪除舊端口信息并同時刪除遷移前舊端口對應的流表信息。

主控制器完成上述操作后在控制器集群內進行刪除端口消息的通知。其他控制器收到刪除端口信息后,也刪除本控制器的端口信息,同時刪除對應端的流表信息。源控制器需要把遷移后新端口通知控制器集群的其他控制器。其他控制器收到遷移后的端口信息,更新端口信息。當控制器重新收到Packet-in報文后,重新觸發新的流表生成。

3.8 Overlay網關高可靠性

Overlay網關的高可靠性原理如圖11所示:

圖11 Overlay網關高可靠性

網關組中網關的VTEP IP和GW VMAC 相同,均通過路由協議對內網發布VTEP IP對應路由。

網關組內部,采用無狀態轉發設計,所有網關信息同步。

在處理OVS發往GW的流量時,動態選擇GW組中的一個GW,可以很好地起到負載分擔的作用。

網關故障后,流量切換到分組內其它網關,保證業務平滑遷移。

網關與內外網設備連接,采用聚合或ECMP方式,某鏈路故障,網關自動切換鏈路,無需人工干預。單個網關設備采用雙主控,原主控故障,新主控接管設備管理,所有處理網關自動完成。轉發層面和控制層面分離, VCF Controller不感知,網關上流量轉發不受影響。

3.9 Overlay網關彈性擴展升級

受制于芯片的限制,單個網關設備支持的租戶數量有限,控制器能夠動態的將不同租戶的隧道建立在不同的Overlay網關上,支持Overlay網關的無狀態分布,實現租戶流量的負載分擔。

如圖12所示,Overlay網絡可以支持Overlay網關隨著租戶數量增加的擴充,當前最大可以支持超過64K個租戶數量,從而提供一個具有彈性擴展能力的Overlay網絡架構。

圖12 Overlay網絡彈性擴展

3.10 Overlay網絡安全部署

如圖13所示,Overlay網絡的安全部署有三種模式,這三種模式既可以獨立部署,也可以配合部署:

圖13 Overlay網絡的安全部署

· 旁掛部署

主要形態:硬件安全資源。

安全資源旁掛在核心/匯聚設備旁側(部分安全資源也可選作為L3網關)。

安全資源關注VXLAN<->VLAN的安全訪問控制。

· 服務器側部署

主要形態:軟件安全資源。

安全資源以VM形態部署在服務器內部,可以作為其他VM的網關。

如果安全資源支持VXLAN,可以完成VXLAN<->VLAN的安全訪問控制。

全硬件VXLAN方案不推薦使用。

· 專用安全區部署

主要形態:軟件或硬件安全資源。

安全資源集中部署在某一個TOR設備下,重點關注不同VXLAN ID之間互訪的安全控制。

如果安全資源支持VXLAN,就直接配置VXLAN ID的互訪策略。

如果安全資源不支持VXLAN,需要TOR完成VXLAN到VLAN的轉換,然后安全資源上配置不同VLAN互訪的安全策略。

4 Overlay典型應用

Overlay控制平面架構可以有多種實現方案,例如網絡設備之間通過協議分布式交互的方式。而基于VCF控制器的集中式控制的實現方案,以其易于與計算功能整合的優勢,能夠更好地使網絡與業務目標保持一致,實現Overlay業務全流程的動態部署,在業界逐步成為主流的Overlay部署方案。

H3C的VCF架構同時支持網絡Overlay、主機Overlay和混合Overlay三種組網模型。

4.1 Overlay網絡組網策略

現實組網部署的時候,需要針對客戶需求以及客戶已有資源進行針對性、差異化的Overlay網絡部署。下文將對三種Overlay網絡的部署策略進行簡要的介紹說明,以供讀者參考。

4.1.1 網絡Overlay

· 定位

網絡Overlay組網里的服務器可以是多形態也無需支持Overlay功能,所以網絡Overlay的定位主要是網絡高性能、與Hypervisor平臺無關的Overlay方案。

· 面向客戶

網絡Overlay主要面向對性能敏感而又對虛擬化平臺無特別傾向的客戶群。該類客戶群的網絡管理團隊和服務器管理團隊的界限一般比較明顯。

· 交付產品

交付產品主要有:多形態的Overlay Gateway、H3C Overlay Controller(可選)。

4.1.2 主機Overlay

· 定位

主機Overlay不能接入非虛擬化服務器,所以主機Overlay主要定位是配合VMAWRE、Microsoft等主流Hypervisor平臺的overlay方案。

· 面向客戶

主機Overlay主要面向已經選擇了商用虛擬化平臺并且希望部署主機Overlay的客戶。

· 交付產品

交付產品主要有:多形態的Overlay Gateway和H3C Overlay Controller(可選)。

4.1.3 混合Overlay

· 定位

混合Overlay組網靈活,既可接入多形態的服務器,還可以兼顧高性能,所以混合Overlay的主要定位是Overlay整體解決方案,它可以為客戶提供自主化、多樣化的選擇。

· 面向客戶

混合Overlay主要面向愿意接受部署H3C vSwitch,同時又希望部署網絡廠商的專業網絡管理和Overlay Controller管理系統的客戶。

· 交付產品

交付產品主要有:H3C vSwitch、多形態的Overlay Gateway和H3C Overlay Controller。

4.2 網絡Overlay典型組網

網絡Overlay將硬件設備作為Overlay網絡的邊緣設備和網關設備,Overlay功能純粹由硬件進行實現,通過控制協議來實現網絡構建和擴展

當前網絡Overlay大多通過使用SR-IOV技術來滿足客戶的高性能和硬件資源高利用率的需求,同時還可以借此達到不依賴虛擬化平臺的目的。

4.2.1 SR-IOV技術簡介

SR-IOV (Single-Root I/O Virtualization)技術是一種基于硬件的虛擬化解決方案,可提高性能和可伸縮性。SR-IOV規范的目標是在繞過虛擬機參與數據遷移過程中實施標準化,為每個虛擬機提供獨立內存空間、中斷和Direct Memory Access (DMA)流。SR-IOV架構的設計允許一個I/O設備支持多個虛擬功能,同時將每個功能的硬件成本降至最低。

使用SR-IOV技術的設備具有以下優點:

· 高性能

VM的網絡IO性能等效物理網卡,同時可以降低CPU和延遲,提高網絡吞吐量。

· 硬件利用率高

通過SR-IOV技術可以將一個硬件設備虛擬化大量VF網卡,可以大大提高硬件資源的利用率。

· 不依賴虛擬化平臺

從虛擬機環境直接訪問硬件,流量可以繞過vSwitch,VXLAN網絡不再依賴于虛擬化平臺廠商,可以由網絡廠商主導。

4.2.2 典型組網

網絡Overlay的交換機和路由器等物理設備作為Overlay網絡的邊緣設備和網關設備,它的隧道封裝在物理設備完成,同時還可以通過部署VCF Controller來實現集中控制的功能。它的典型組網如圖14所示:

圖14 網絡Overlay典型組網

該組網方案:

· 使用全硬件VXLAN網絡方案,TOR交換機實現VXLAN網絡VTEP。

· 利用SR-IOV網卡,讓虛擬機直接綁定物理網卡虛擬化出來的VF,網絡IO繞過vSwitch直接到TOR交換機,不再依賴于虛擬化平臺。

· VXLAN VTEP/GW可以自由選擇分布式控制或集中式控制,若選擇集中式控制方案需部署VCF Controller。

該組網方案有以下優點:

· 更高的網卡和VXLAN性能。

· 通過TOR實現QOS、ACL,比軟件vSwitch具備更高的性能。

· 不依賴虛擬化平臺,客戶可以有更高的組網自由度。

· 可以根據需要自由選擇部署分布式或者集中式控制方案。

· 控制面實現可以由H3C高可靠的SDN Controller集群實現,提高了可靠性和可擴展性,避免了大規模的復雜部署。

· 網關組部署可以實現流量的負載分擔和高可靠性傳輸。

· 支持分布式網關功能,使虛機遷移后不需要重新配置網關等網絡參數,部署簡單、靈活。

4.3 主機Overlay典型組網

主機Overlay主要利用泛洪或廣播機制實現網絡構建和擴展,它將虛擬設備作為Overlay網絡的邊緣設備和網關設備,Overlay功能純粹由服務器來實現,它的典型組網如圖15所示:

圖15 主機Overlay典型組網

該組網方案:

· 使用物理服務器的vSwitch實現VXLAN網絡VTEP。

· VXLAN VTEP/GW可以自由選擇分布式控制或集中式控制,若選擇集中式控制方案需部署VCF Controller。

· 客戶已有VMware、Microsoft等主流Hypervisor平臺,vSwitch由原Hypervisor平臺管理,VCF Controller配合Hypervisor平臺管理多形態Gateway。

該組網方案有以下優點:

· 適用于服務器虛擬化的場景,成本較低。

· 可以配合客戶已有的VMware、Microsoft等主流Hypervisor平臺,保護客戶已有投資。

· 可以根據需要自由選擇部署分布式或者集中式控制方案。

· 控制面實現可以由H3C高可靠的SDN Controller集群實現,提高了可靠性和可擴展性,避免了大規模的復雜部署。

· 網關組部署可以實現流量的負載分擔和高可靠性傳輸。

· 支持分布式網關功能,使虛機遷移后不需要重新配置網關等網絡參數,部署簡單、靈活。

4.4 混合Overlay典型組網

混合Overlay將虛擬設備作為Overlay網絡的邊緣設備,將物理設備作為Overlay網絡的網關設備,它的典型組網如圖16所示:

圖16 混合Overlay典型組網

該組網方案:

· 部署H3C 自主vSwitch。 H3C vSwitch也可以根據客戶需求基于Linux KVM、VMware vSphere、Microsoft Hyper-V等平臺部署。

· VXLAN VTEP和GW統一集中管理。

· 核心設備主要提供VXLAN網關功能,支持VXLAN報文的封裝與解封裝,并根據內層報文的IP頭部進行三層轉發,支持跨VXLAN之間的轉發,支持VXLAN和傳統VLAN之間的互通。

· vSwitch主要提供虛擬化VXLAN隧道封裝功能,支持VM接入Overlay網絡,支持VXLAN報文的封裝與解封裝,支持跨VXLAN之間的轉發。此時vSwitch連接的物理交換機無需支持VXLAN功能。

· 物理接入網絡設備主要提供VXLAN隧道封裝功能,支撐物理服務器接入Overlay網絡,支持VXLAN報文的封裝與解封裝,并根據內層報文的MAC頭部進行二層轉發。

該方案具有如下優點:

· 支持軟硬件形態的邊緣設備,靈活組網部署。

· 可以支持虛機與非虛擬化的物理服務器之間的二層數據互通。

· 高性能物理設備,提升了網絡的整體性能。

· 控制面實現由H3C高可靠的SDN Controller集群實現,提高了可靠性和可擴展性,避免了大規模的復雜部署。

· 支持分布式網關功能,使虛機遷移后不需要重新配置網關等網絡參數,部署簡單、靈活。

吉林十一选五走势图表