隨著互聯(lián)網(wǎng)+、云計算以及大數(shù)據(jù)等業(yè)務應用的規(guī)模落地,以云計算、虛擬化等技術(shù)為基礎(chǔ)的各種規(guī)模化運營的云數(shù)據(jù)中心如雨后春筍般悄然崛起,虛擬化是云數(shù)據(jù)中心的關(guān)鍵技術(shù),除了已經(jīng)發(fā)展成熟的服務器虛擬化外,網(wǎng)絡虛擬化的需求也逐漸在增加。然而,傳統(tǒng)的虛擬局域網(wǎng)(VLAN)技術(shù)已經(jīng)不能滿足現(xiàn)在云數(shù)據(jù)中心規(guī)模化運營發(fā)展的需求;因此,各大IT廠商聯(lián)合推出了能夠解決這種需求的VXLAN技術(shù),受到了各大型云數(shù)據(jù)中心建設者重點關(guān)注。
傳統(tǒng)vlan技術(shù)的局限性
首先,傳統(tǒng)的VLAN技術(shù)基于IEEE的802.1Q協(xié)議,在該協(xié)議的幀格式里面定義了VLAN ID的位數(shù)為12比特,最多只能支持4094個VLAN;隨著云數(shù)據(jù)中心的各種業(yè)務應用的規(guī)模落地,業(yè)務量不斷增長,就可能需要成千上萬個VLAN,傳統(tǒng)VLAN的數(shù)量不能滿足云數(shù)據(jù)中心日后業(yè)務規(guī)模發(fā)展的需求。
其次,物理服務器被虛擬化以后,云數(shù)據(jù)中心內(nèi)部虛擬機的數(shù)量比原有的物理機發(fā)生了數(shù)量級的增加,與之對應的虛擬機虛擬網(wǎng)卡的MAC地址數(shù)量也相應的增加,這對云數(shù)據(jù)中心與物理服務器相連接的交換機地址容量能力產(chǎn)生了很大沖擊,當虛擬機數(shù)量很多時,會導致交換機的MAC地址表溢出,從而導致數(shù)據(jù)幀的丟棄或者產(chǎn)生大量的廣播幀,嚴重影響網(wǎng)絡的性能。
最后,云數(shù)據(jù)中心中虛擬機通常需要在一定范圍內(nèi)遷移,在傳統(tǒng)的VLAN網(wǎng)絡下,虛擬機只能在二層網(wǎng)絡下遷移,并且為了能夠支持虛擬機的遷移,需要在二層網(wǎng)絡中,對VLAN進行預配置,造成VLAN配置混亂,影響VLAN廣播域的隔離,降低了網(wǎng)絡的效率。
VXLAN(Virtual eXtensible Local Area Network)虛擬擴展局域網(wǎng)是一種進行大二層虛擬網(wǎng)絡擴展的隧道封裝技術(shù),可以很好地解決上述問題,目前這個技術(shù)已經(jīng)成為各種規(guī)?;\營的云數(shù)據(jù)中心不可忽視的關(guān)鍵應用技術(shù)。
VXLAN技術(shù)原理
VXLAN是一種隧道封裝技術(shù),能在三層網(wǎng)絡的基礎(chǔ)上建立二層網(wǎng)絡隧道,從而實現(xiàn)跨地域的二層互連,VXLAN通過引入一個UDP格式的外層隧道,使得原有數(shù)據(jù)報文內(nèi)容作為凈荷來傳輸,可以讓凈荷數(shù)據(jù)輕而易舉的在二三層網(wǎng)絡中傳送,VXLAN的報文封裝結(jié)構(gòu)如下圖所示,VXLAN報文包括外層封裝和內(nèi)層的原始凈荷兩部分。
VXLAN報文中,F(xiàn)lags(8b)其中I必須被設置為1,R需設為0,才是有效的;Reservedfields(24b and 8b)必須被設置為0,VXLAN外層隧道的目的端口號為4789;引入了一個VXLAN ID(VNI-VXLAN Network Identifier)作為虛擬網(wǎng)絡的標識,長度為24bits,與原有的VLAN 12bits長度相比,VXLAN ID長度增加了一倍,可以支持16M個虛擬網(wǎng)絡;在VXLAN技術(shù)標準中,在物理網(wǎng)絡的邊緣引入了一個VTEP(Vxlan Tunnel End Point)的邏輯體,實現(xiàn)物理網(wǎng)絡和虛擬網(wǎng)絡的隔離,完成VXLAN報文的封裝和解封裝;VXLAN標準還定義了一個VXLAN網(wǎng)關(guān)實體(VXLAN Gateway),負責VXLAN之間以及同傳統(tǒng)VLAN之間報文的映射和轉(zhuǎn)發(fā),VXLAN與傳統(tǒng)VLAN及不同VXLAN的虛擬機之間互訪。
VXLAN技術(shù)優(yōu)勢
首先,具有更大的靈活性,原來虛擬機的遷移只能在同網(wǎng)段的二層網(wǎng)絡上進行,受到地理位置的嚴重限制。VXLAN通過隧道技術(shù)來構(gòu)建可以跨越多個3層網(wǎng)絡的虛擬2層網(wǎng)絡,虛擬機可以在物理位置分散的數(shù)據(jù)中心之間進行遷移,這使得虛擬機的部署更加靈活和方便
其次,VXLAN數(shù)據(jù)包是在標準第3層IP網(wǎng)絡上運行,L2-4層鏈路HASH能力強,不再需要構(gòu)建和管理龐大的第2層基礎(chǔ)傳輸層,不需要對現(xiàn)有網(wǎng)絡進行改造;除VXLAN網(wǎng)絡邊緣設備,網(wǎng)絡中的其他設備不需要識別虛擬機的MAC地址,減輕了設備的MAC地址學習壓力,提升了設備性能。
第三,VXLAN可以在業(yè)界標準的交換機硬件上運行,交換機上無需進行軟件升級,也不必采用特殊的代碼版本;商用網(wǎng)絡芯片大部分支持VXLAN技術(shù)的運行;VXLAN通過采用MAC in UDP封裝來延伸二層網(wǎng)絡,實現(xiàn)了物理網(wǎng)絡和虛擬網(wǎng)絡解耦,租戶可以按需規(guī)劃自己的虛擬網(wǎng)絡,不需要考慮物理網(wǎng)絡IP地址和廣播域的限制,大大降低了網(wǎng)絡管理的難度。
最后,極大的擴充了二層網(wǎng)段的數(shù)量,VXLAN技術(shù)通過24比特的VNI可以支持多達16M的VXLAN段的網(wǎng)絡隔離,對用戶進行隔離和標識不再受到限制,可以滿足云數(shù)據(jù)中心海量多租戶的邏輯網(wǎng)段分隔的需求。
VXLAN部署方法
如上圖,VXLAN網(wǎng)絡設備主要有三種角色,分別是VTEP(VXLAN Tunnel End Point)、VXLAN網(wǎng)關(guān)、VXLAN IP網(wǎng)關(guān),對于應用系統(tǒng)來說,只與這三種設備相關(guān),而與底層傳統(tǒng)三層IP網(wǎng)絡無關(guān)。
VTEP、VXLAN網(wǎng)關(guān)、VXLAN IP網(wǎng)關(guān)、形態(tài)可以是虛擬交換機,也可以是物理交換機。根據(jù)VTEP、VXLAN網(wǎng)關(guān)、VXLAN IP網(wǎng)關(guān)是虛擬交換機還是物理交換機,VXLAN網(wǎng)絡的部署方法主要分三種。
(1) 第一種是VTEP、VXLAN網(wǎng)關(guān)、VXLAN IP網(wǎng)關(guān)均通過安裝在服務器上的軟件實現(xiàn)。
(2) 第二種是VTEP、VXLAN網(wǎng)關(guān)、VXLAN IP網(wǎng)關(guān)均由物理交換機承擔,物理服務器支持SR-IOV功能,使虛擬機通過SR-IOV技術(shù)直接與物理交換機相連,虛擬機的流量在接入交換機上進行VXLAN報文的封裝和解封裝。
(3)第三種是VTEP由安裝在服務器上的軟件實現(xiàn),VXLAN網(wǎng)關(guān)、VXLAN IP網(wǎng)關(guān)由物理交換機承擔。
對于第一種部署方法,由于所有VXLAN報文的封裝解封裝都通過軟件實現(xiàn),會占用部分服務器資源,特別是VXLAN IP網(wǎng)關(guān),當訪問量大時,將會成為系統(tǒng)瓶頸。對于第二種部署方法,由于需要通過一些特殊的要求或技術(shù)實現(xiàn)虛擬機與VTEP的對接,組網(wǎng)不夠靈活。第三種部署方法通過安裝在服務器上的軟件實現(xiàn)虛擬機的VTEP,通過物理交換機實現(xiàn)物理服務器的VTEP,通過專業(yè)的硬件交換機實現(xiàn)VXLAN IP網(wǎng)關(guān),從而可承載超大規(guī)模的流量轉(zhuǎn)發(fā),避免成為系統(tǒng)瓶頸,第三種部署方法結(jié)合了第一種和第二種方法的優(yōu)勢,相對而言是目前最優(yōu)的部署方法。
VXLAN應用場景
VXLAN在云數(shù)據(jù)中心之間虛擬機遷移中的應用,如某個企業(yè)在不同的數(shù)據(jù)中心有不同業(yè)務應用的虛擬機,數(shù)據(jù)中心之間虛擬機遷移是經(jīng)常會遇到的,為了保證虛擬機遷移過程中業(yè)務不中斷,則需要保證遷移虛擬機的IP地址、MAC地址等參數(shù)保持不變,這就要求虛擬機遷移前后屬于統(tǒng)一個二層網(wǎng)絡。如果使用傳統(tǒng)方法解決此問題,可能需要購買新的物理設備以分離流量,并可能導致諸如VLAN散亂、網(wǎng)絡成環(huán)以及系統(tǒng)和管理開銷等問題。
為了成功實現(xiàn)虛擬機在業(yè)務不中斷情況下的遷移,可通過VXLAN技術(shù)實現(xiàn)。VXLAN是MAC in UDP的網(wǎng)絡虛擬化技術(shù),只要物理網(wǎng)絡支持IP轉(zhuǎn)發(fā),所有IP路由可達的終端用戶即可建立一個大范圍二層網(wǎng)絡;在虛擬機上聯(lián)的交換機上配置VXLAN相關(guān)信息,虛擬機上聯(lián)交換機之間建立VXLAN隧道和VXLAN網(wǎng)關(guān),通過VXLAN隧道和VXLAN網(wǎng)關(guān),可實現(xiàn)在不同數(shù)據(jù)中心之間虛擬機成功遷移,并且可保證虛擬機遷移過程中網(wǎng)絡無感知、業(yè)務不中斷。
VXLAN在SDN環(huán)境下的應用,SDN環(huán)境下,可以通過SDN控制器來實現(xiàn)VXLAN的IP和VID之間相關(guān)信息的對應關(guān)系,SDN控制器可以作為ARP代答設備,這樣大大提高了VXLAN的靈活性與擴展性。所以VXLAN技術(shù)在SDN環(huán)境中可以被廣泛應用。
對于同一VXLAN內(nèi)不同的虛擬機互通,虛擬機上線后將在SDN上進行相關(guān)虛擬機地址和VXLAN隧道終端信息的對應,后續(xù)虛擬機之間的互通,通過SDN控制器進行ARP的代答,并直接下發(fā)流表,從而在虛擬機之間建立通信隧道。
對于不同VXLAN之間的虛擬機互通,由于云數(shù)據(jù)中心SDN控制器包含所有數(shù)據(jù)中心內(nèi)的相關(guān)虛擬機信息,可以將SDN控制器作為VXLAN網(wǎng)關(guān),不同云數(shù)據(jù)中心之間的SDN控制器可以通過相關(guān)路由協(xié)議交換相關(guān)虛擬機信息,實現(xiàn)不同VXLAN及同傳統(tǒng)網(wǎng)絡的虛擬機之間互通。
VXLAN應用前景分析
在互聯(lián)網(wǎng)+、云計算、大數(shù)據(jù)等應用和服務快速發(fā)展的時代,云數(shù)據(jù)中心需要的邏輯虛擬網(wǎng)絡數(shù)急劇增加,VXLAN技術(shù)能有效解決云數(shù)據(jù)中心邏輯網(wǎng)段不足、虛擬機上聯(lián)交換機MAC地址溢出等問題,主要應用于大型的云計算服務運營商或者超大型企業(yè)的云數(shù)據(jù)中心,對于中小型企業(yè)或機構(gòu)的數(shù)據(jù)中心,傳統(tǒng)的VLAN技術(shù)已經(jīng)足夠。另外,VXLAN技術(shù)本身還未完善,還有很多需要改進的地方。隨著VXLAN技術(shù)的逐步完善,將會成為網(wǎng)絡虛擬化技術(shù)當中的主流技術(shù),在規(guī)?;脑茢?shù)據(jù)中心必將得到廣泛應用。