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