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