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