啟迪雲|解決方案

VXLAN概述

顧名思義,VXLAN(Virtual eXtensible Local Area Network)提供了類似VLAN的二層網路服務,並且比VLAN更具備擴展性和靈活性,該技術將數據中心物理網路架構(underlay)與數據中心邏輯網路架構(overlay)解耦,滿足了雲計算對數據中心網路架構靈活部署和彈性擴展的需求。

VXLAN優勢

業務靈活部署:VXLAN可以在共享的數據中心物理網路架構之上提供邏輯的大二層擴展,用戶或者管理員可以實現業務的靈活按需部署。

優良的彈性:VXLAN使用24-bit VNI(VXLAN Network Identifier),允許多達1600萬的VXLAN段(segment)在相同的管理域中共存。

更佳的底層網路利用率:VLAN為避免環路,使用STP阻斷(block)冗餘鏈路。VXLAN採用UDP封裝,利用第三層IP路由、等成本路徑(ECMP)和鏈路聚合(LACP)技術使用了全部可用路徑。

VXLAN數據包格式

VXLAN是一種承載協議,定義了MAC-over-UDP的封裝方案,由內(inner)到外(outer)分別增加了8位元組VXLAN頭部,8位元組UDP頭部,20位元組IP頭部和14位元組乙太網頭部,合計增加了50位元組封裝。

VXLAN包格式

VXLAN術語

VXLAN隧道端點(VTEP):VTEP(VXLAN Tunnel Endpoint )負責VXLAN報文的封裝與解封裝。每個VTEP具備兩個介面:一個是本地橋接介面,負責原始以太幀接收和發送,另一個是IP介面,負責VXLAN數據幀接收和發送。VTEP可以是物理交換機或軟體交換機。

VTEP如圖

VXLAN IP網關:VXLAN IP網關(VXLAN IP Gateway)負責VXLAN和非VXLAN之間、不同VXLAN之間的網路通訊。

VXLAN網關如圖

VXLAN組播:VXLAN組播(multicast)用於減小VXLAN主機的廣播洪泛範圍,實現遠程VTEP發現、完成遠程主機MAC地址與MAC-to-VTEP映射學習。每個VXLAN段可被映射到一個組播組,VTEP設備通過Internet Group Management Protocol(IGMP)協議加入這個組播組。

VXLAN組播組部署

VXLAN技術

遠程VTEP發現和MAC地址學習

本文僅討論經典模式的遠程VTEP發現和MAC地址學習機制。圖5中顯示了VTEP發現和MAC地址學習過程。有三個VTEP參與VXLAN 10,使用組播239.1.1.1,終端設備A(使用IP-A,MAC-A)與終端設備B(使用IP-B,MAC-B)通訊。


① 終端設備A發送ARP請求,請求終端設備B的MAC地址;

② VTEP-1收到終端設備A發送的ARP請求,此時VTEP-1還沒有終端設備B對應的地址映射表項,VTEP-1將ARP請求進行VXLAN封裝,VNI設置為10,outer-src-ip是VTEP-1的IP,outer-dst-ip是加入的組播地址,封裝完成後轉發至VXLAN組播組;

③ VTEP-2、VTEP3加入相同的組播組,所有組成員都會收到VTEP-1發送的組播報文,解封裝後檢查VNI與本地VNI是否匹配,如匹配則將ARP請求發送至本地網路,同時記錄終端設備A的VNI、inner MAC、outer IP的對應關係,構建控制平面地址映射表項。如VNI不匹配則丟棄數據包。

④ 終端設備B通過VTEP-2收到ARP請求後,以單播方式發送ARP響應,並且記錄IP-A-to-MAC-A映射。

⑤ VTEP-2收到終端設備B的ARP響應後進行VXLAN封裝,此時VTEP-2已經構建控制平面地址映射表項,通過VXLAN封裝後以UDP單播方式發送。Outer-src-ip是VTEP-2的IP地址,outer-dst-ip是VTEP-1的IP地址;

⑥ VTEP-1收到封裝後的ARP響應後,解封裝比對VNI,如匹配將ARP響應發送至終端設備A,同時記錄VNI、inner MAC、outer IP的對應關係,構建控制平面表項;

⑦ 此時VTEP-1、VTEP-2均已成功構建控制平面地址映射信息,後續VXLAN數據使用單播在VTEP-1和VTEP-2之間傳輸。


小貼士:VTEP可以配置ARP proxy,減少ARP組播請求。

VXLAN數據轉發

VTEP為原始數據幀增加UDP報頭,新的報頭到達目的VTEP後才會被去掉,中間路徑的網路設備只會根據外層(outer)包頭內的目的地址進行數據轉發。在圖6中,VXLAN 10中的Host-A和Host-B通過VTEP-1和VTEP-2之間的VXLAN隧道相互通信。這個例子假設在兩邊都已經完成了地址學習,並且在兩個VTEP上都有相應的MAC-to-VTEP映射。


① 當Host-A向Host-B發送流量時,它會將主機的MAC-B地址作為目標MAC地址,並將其發送到VTEP-1。

② VTEP-1在其映射表中映射了MAC-B到VTEP-2,通過在數據包中添加VXLAN、UDP和外部IP地址頭來執行VXLAN封裝。在外部IP地址頭中,源IP地址是VTEP-1的IP地址,目標IP地址是VTEP-2的IP地址。VTEP-1對VTEP-2的IP地址進行IP地址查找,找到傳輸網路中的下一個跳,然後使用下一跳設備的MAC地址進一步封裝數據幀,發送到下一跳設備。

③ ROUTER-1和ROUTER-2通過查找路由表,依據外部IP地址頭信息進行轉發。

④ 這些信息包基於其外部IP地址頭信息被路由到VTEP-2,後者的IP地址為VTEP-2。

⑤ VTEP-2接收數據包之後,它會去掉外部乙太網、IP、UDP和VXLAN頭信息,並根據乙太網幀中原始的目標MAC地址將數據包轉發給Host-B。


結論

數據中心的雲計算網路架構規劃、部署和配置是一項複雜的工作。啟迪雲本著「貼心繪雲、隨心上雲、省心管雲、安心用雲」的產品願景,為客戶在雲規劃、雲部署、雲管理和運營,以及雲安全等領域提供專業化的服務和適用的產品。

啟迪雲TCP(Tus Cloud Platform):平台對物理網路進行邏輯抽象,構架彈性可擴展的多租戶虛擬私有網路,適用於私有雲、公有雲和混合雲。虛擬網路抽象不但隱藏了底層網路部署的複雜性,而且能夠更好的管理網路資源,最大程度減少了網路部署耗時和配置錯誤。TCP平台將虛擬網路(overlay)承載在數據中心傳統網路(underlay)之上,允許用戶像定義傳統L2/L3網路那樣定義自己的虛擬網路,一旦虛擬網路完成定義,TCP平台會將此邏輯虛擬網路通過overlay 技術映射到underlay網路並自動分配網路資源。

後續我們還將分享:VXLAN在雲計算中心的部署實踐、服務鏈(SFC)在雲計算基礎架構中的應用、NFV在雲計算基礎架構中的應用,以及雲計算安全等話題,敬請期待。

推薦閱讀:

相关文章