◆曾憲力 梁永堂
VXLAN控制層面與數(shù)據(jù)層面的優(yōu)化
◆曾憲力 梁永堂
(廣東睿江云計(jì)算股份有限公司 廣東 528000)
隨著互聯(lián)網(wǎng)的發(fā)展,SDN概念&思維部署網(wǎng)絡(luò)開(kāi)始逐步進(jìn)駐行業(yè),先進(jìn)的互聯(lián)網(wǎng)企業(yè)逐步往傳統(tǒng)的運(yùn)營(yíng)商落地。SDN的好處在于更加智能,更加靈活調(diào)度資源負(fù)載。SDN和VXLAN沒(méi)有太大的關(guān)系,但是從行業(yè)的發(fā)展來(lái)看,VXLAN是新興的2層overlayer技術(shù),SDN可以在這么靈活的架構(gòu)下使用,更加方便,通過(guò)開(kāi)源的架構(gòu)可以不依賴(lài)傳統(tǒng)的設(shè)備廠家,讓行業(yè)發(fā)展更加健康。本文從SDN興起去思考VXLAN的應(yīng)用優(yōu)化。
VXLAN;由來(lái);用途;分層;優(yōu)化思考
隨著云計(jì)算(公有云、私有云、混合云等)的發(fā)展,企業(yè)的計(jì)算資源按需按時(shí)地提供服務(wù),但客戶的需求組網(wǎng)復(fù)雜,同時(shí)涉及安全性等問(wèn)題。傳統(tǒng)的VLAN隔離也只是4096個(gè)VLAN號(hào),限制了租戶的發(fā)展;同時(shí),復(fù)用VLAN號(hào)給不同的租戶帶來(lái)安全的隱患。
為解決云計(jì)算帶來(lái)海量的用戶群體,然后出現(xiàn)了VXLAN的機(jī)遇,當(dāng)然不是只有VXLAN一種方法才能完成海量的隔離,但是其合理性卻得到眾多互聯(lián)網(wǎng)企業(yè)與傳統(tǒng)企業(yè)的支持;還實(shí)現(xiàn)了橫跨網(wǎng)絡(luò)路由設(shè)備,跨地域的overlayer大2層網(wǎng)絡(luò)。
VXLAN(Virtual Extensible LAN),是一種網(wǎng)絡(luò)虛擬化技術(shù),也是基于IP網(wǎng)絡(luò)且采用“MAC in UDP”封裝形式的二層VPN技術(shù)。
VXLAN可以為網(wǎng)絡(luò)提供以下作用:
突破VLAN號(hào)的數(shù)量限制,以滿足大規(guī)模云計(jì)算數(shù)據(jù)中心的需求。當(dāng)前,由于虛擬化技術(shù)的發(fā)展,數(shù)據(jù)中心里的服務(wù)器都模擬成虛擬機(jī)(VM),而且VM一般都會(huì)需要分割成不同的組以實(shí)現(xiàn)二層隔離,大多是透過(guò)VLAN技術(shù)實(shí)現(xiàn)。但是,VLAN技術(shù)的缺陷是VLAN Header預(yù)留的長(zhǎng)度只有12 bit,最多只能支持4096個(gè),無(wú)法滿足日益增長(zhǎng)的需求。當(dāng)前,VXLAN的報(bào)文Header內(nèi)有24 bit,可以支持2的24次方的VNI個(gè)數(shù)(VXLAN中透過(guò)VNI來(lái)識(shí)別,相當(dāng)于VLAN ID)。
如北京跟廣州IDC機(jī)房的租戶需要自行組網(wǎng),傳統(tǒng)的做法是申請(qǐng)MPLS專(zhuān)線,從成本、時(shí)間與銷(xiāo)量來(lái)說(shuō),VXLAN靈活且快速交付。
優(yōu)勢(shì):靈活性,施工周期短,依賴(lài)于現(xiàn)網(wǎng)的overlay。
傳統(tǒng)的2層網(wǎng)絡(luò)通過(guò)VLAN的透?jìng)?,延展租戶的局域網(wǎng)范圍,而且沒(méi)有風(fēng)險(xiǎn)的時(shí)候,眾多的VLAN穿透、數(shù)據(jù)配置錯(cuò)誤就會(huì)帶來(lái)致命的影響,可能會(huì)采用STP技術(shù)來(lái)規(guī)避環(huán)路風(fēng)險(xiǎn),但是STP是有級(jí)聯(lián)半徑的限制,并不能無(wú)限延展,但是VXLAN大二層可以實(shí)現(xiàn)。
優(yōu)勢(shì):建立VXLAN網(wǎng)絡(luò),沒(méi)有環(huán)路概念,因?yàn)樗莖verlay UDP協(xié)議建立的通道,人員學(xué)習(xí)入手成本更低。
VXLAN技術(shù)的設(shè)計(jì)優(yōu)勢(shì)非常巨大,跟BGP協(xié)議一樣,分2個(gè)層次,兩者相互配合,相互獨(dú)立,但是相輔相成,發(fā)揮最大化。
該層負(fù)責(zé)鏈路的建立,大2層網(wǎng)絡(luò)的延伸,鏈路維護(hù)。
控制層是底層的建筑架構(gòu),負(fù)責(zé)節(jié)點(diǎn)之間的相互鏈路,建立隧道的基本保證。VXLAN控制層通過(guò)配置鏈路維護(hù)配置指令,即可構(gòu)成VXLAN的基本溝通。
除負(fù)責(zé)VTEP設(shè)備角色之間的鏈路建立外,控制層還要負(fù)責(zé)VTEP之間VNI的封裝與解封裝。VTEP對(duì)終端設(shè)備的流入數(shù)據(jù)(需進(jìn)行遠(yuǎn)端投遞)進(jìn)行封裝;對(duì)終端設(shè)備的接口流出數(shù)據(jù)進(jìn)行解封裝,發(fā)送數(shù)據(jù)包是透明的,客戶跨網(wǎng)跨地域的大2層局域網(wǎng),就在不知不覺(jué)中建立完成。
該層負(fù)責(zé)租戶具體的數(shù)據(jù)傳輸,在建立的隧道之上
數(shù)據(jù)層就是終端客戶設(shè)備,實(shí)際的業(yè)務(wù)數(shù)據(jù)在VXLAN隧道中,進(jìn)行傳輸投遞,對(duì)終端客戶/設(shè)備來(lái)說(shuō),就是一個(gè)2層的局域網(wǎng),與傳統(tǒng)的局域網(wǎng)判斷問(wèn)題基本保持一致,導(dǎo)致客戶使用VXLAN隧道非常清晰并且方便上手。由于通過(guò)控制層的VNI進(jìn)行隔離,從而不知不覺(jué)地增強(qiáng)對(duì)租戶局域網(wǎng)。
總之,控制層面與數(shù)據(jù)層面就像一個(gè)生產(chǎn)車(chē)間,每一個(gè)工序都有它自己的要求與作用,各自獨(dú)立工作,但又相輔相成地把最終的產(chǎn)品實(shí)現(xiàn)完整構(gòu)成一個(gè)缺一不可的整體。
通常,行業(yè)中有3種常見(jiàn)的解決方法:
(1)使用硬件網(wǎng)卡芯片實(shí)現(xiàn)判斷是否經(jīng)過(guò)遠(yuǎn)程的投遞,判斷流入的數(shù)據(jù)包是否需要送至遠(yuǎn)端,對(duì)數(shù)據(jù)包進(jìn)行VNI封裝判斷。
(2)傳統(tǒng)的通信設(shè)備提供商為了這份市場(chǎng)份額也紛紛支持開(kāi)放式的協(xié)議,在交換機(jī)接口上實(shí)現(xiàn)方法1的操作,只是把終端的硬件功能放到交換機(jī)端,降低終端投入成本。
(3)通過(guò)開(kāi)放開(kāi)源的協(xié)議技術(shù),像openvswitch可以部署在終端服務(wù)器中,進(jìn)行VXLAN的控制層操作內(nèi)容,硬件投入成本降低了,但是損耗設(shè)備性能,過(guò)大的并發(fā)業(yè)務(wù)必然會(huì)對(duì)客戶體驗(yàn)帶來(lái)一定的影響。對(duì)系統(tǒng)管理員、網(wǎng)絡(luò)管理員、綜合解決方案的人員提出對(duì)設(shè)備監(jiān)控告警、業(yè)務(wù)調(diào)優(yōu)提出更高的要求。
以上3種方法都不同程度地提出了VXLAN技術(shù)的解決方案,用戶根據(jù)自身成本效益進(jìn)行選擇,但是我們提出局域網(wǎng)更優(yōu)秀的解決方案,針對(duì)不需要跨網(wǎng)跨地域的用戶始終都需要被以上3種方法中進(jìn)行數(shù)據(jù)句包的判斷,若設(shè)備性能較高對(duì)響應(yīng)延時(shí)會(huì)有影響,我們這里提出VTEP設(shè)備與TOR分類(lèi)的方式:
VTEP設(shè)備仍然是負(fù)責(zé)控制層的工作、隧道鏈路維護(hù)、VNI的封裝與解封裝,但不需要通過(guò)隧道的局域網(wǎng)數(shù)據(jù)投遞直接在TOR交換機(jī)進(jìn)行直接投遞,通過(guò)VLAN或QinQ技術(shù)進(jìn)行不同租戶之間的隔離,讓局域網(wǎng)的不需要遠(yuǎn)程投遞的數(shù)據(jù)包得到最快的響應(yīng)與轉(zhuǎn)發(fā)。
(4)VTEP角色設(shè)備冗余優(yōu)化。
通常,傳統(tǒng)的通信設(shè)備廠家都是建立網(wǎng)狀并且可調(diào)度的架構(gòu)保證VXLAN鏈路冗余。
從開(kāi)源與靈活自主的架構(gòu)考慮,我們可通過(guò)多臺(tái)x86的設(shè)備進(jìn)行VRRP組通過(guò)VIP去負(fù)責(zé)鏈路建立,一旦出現(xiàn)設(shè)備故障VRRP進(jìn)行自主的切換,保證業(yè)務(wù)正常;
其次,通過(guò)建立環(huán)路的VXLAN隧道環(huán)網(wǎng)環(huán)境,我們通過(guò)使用STP協(xié)議對(duì)VXLAN隧道環(huán)網(wǎng)進(jìn)行閉環(huán)與冗余切換,保證業(yè)務(wù)網(wǎng)出現(xiàn)故障的時(shí)候進(jìn)行無(wú)縫切換。
(5)回收長(zhǎng)時(shí)間不利用的VXLAN隧道。
建立了熱備余鏈路環(huán)網(wǎng),但如果鏈路長(zhǎng)時(shí)間不用,也需要數(shù)據(jù)包進(jìn)行鏈路維護(hù)或保持心跳檢測(cè)隧道的存活性,通過(guò)判斷與心跳檢測(cè)隧道長(zhǎng)時(shí)間沒(méi)有數(shù)據(jù)暫停隧道建立降低帶寬使用,同時(shí)一旦有新數(shù)據(jù)發(fā)送優(yōu)先觸發(fā)鏈路建立,隧道鏈路重新得到建立,然后終端設(shè)備重新發(fā)送業(yè)務(wù)數(shù)據(jù)包。
用戶數(shù)據(jù)通常依賴(lài)租戶的大2層局域網(wǎng)ARP表,進(jìn)行終端設(shè)備之間的數(shù)據(jù)包投遞,與交換機(jī)MAC表進(jìn)行交換機(jī)端口的轉(zhuǎn)發(fā)投遞,完成這個(gè)數(shù)據(jù)包轉(zhuǎn)發(fā)過(guò)程。
傳統(tǒng)的通信廠家,為了VXLAN隧道更加優(yōu)化,通過(guò)優(yōu)化ARP的維護(hù)降低租戶的終端設(shè)備不斷廣播的數(shù)據(jù)包。我們可以通過(guò)延長(zhǎng)ARP表的老化時(shí)間,通過(guò)VTEP設(shè)備建立租戶的局域網(wǎng)關(guān)地址,定時(shí)主動(dòng)去收集與廣播租戶存活設(shè)備的arp信息,同時(shí)延長(zhǎng)MAC地址表的老化時(shí)間。
本文通過(guò)控制層面的鏈路熱備冗余方案與數(shù)據(jù)層面的存活數(shù)據(jù)包延長(zhǎng)老化壽命增強(qiáng)的方法,進(jìn)行了VXLAN控制層面與數(shù)據(jù)層面的優(yōu)化,實(shí)現(xiàn)穩(wěn)定、可靠的VXLAN隧道與優(yōu)化業(yè)務(wù)數(shù)據(jù)可用性。
[1]袁珍.面向云計(jì)算的控制層面與數(shù)據(jù)層面的柔性分離理論與方法研究[D].東北大學(xué),2014