摘要:為了應對傳統數據中心網絡對服務器虛擬化技術的限制,VXLAN技術應運而生。
1 概述
傳統數據中心網絡面臨的問題
- 虛擬機規模受設備表項規格限制
在傳統二層網絡中,交換機通過查詢MAC地址表來轉發數據幀,虛擬機的數量受限於MAC地址表的容量。
服務器虛擬化后,VM的數量比原有的物理機發生了數量級的增長,而接入側二層設備的MAC地址表規格較小,無法滿足快速增長的VM數量。
- 網絡隔離能力限制
VLAN Tag只有12bit。對於大型虛擬化雲計算服務的場景而言,VLAN的隔離能力無法滿足。
傳統二層網絡中的VLAN無法滿足網絡動態調整的需求。
- 虛擬機遷移范圍受限
虛擬機遷移必須發生在一個二層網絡中。
傳統的二層網絡將虛擬機遷移限制在了一個較小的局部范圍內。
VXLAN簡介
- VXLAN(Virtual eXtensible Local Area Network,虛擬擴展局域網)在本質上屬於一種VPN技術,能夠在任意路由可達的網絡上疊加二層虛擬網絡,通過VXLAN網關實現VXLAN網絡內部的互通,同時,也可以實現與傳統的非VXLAN網絡的互通。
- VXLAN通過采用MAC in UDP封裝來延伸二層網絡,將以太報文封裝在IP報文之上,通過路由在網絡中傳輸,中間的傳輸網絡無需關注虛擬機的MAC地址,且路由網絡無網絡結構限制,具備大規模擴展能力。通過路由網絡,虛擬機遷移不受網絡架構限制。
VXLAN在數據中心的應用
服務器虛擬化技術的廣泛部署,極大地增加了數據中心的計算密度;同時,為了實現業務的靈活變更,虛擬機VM(Virtual Machine)需要能夠在網絡中不受限遷移,這給傳統的“二層+三層”數據中心網絡帶來了新的挑戰。為了應對傳統數據中心網絡對服務器虛擬化技術的限制,VXLAN技術應運而生,其能夠很好地解決如下問題:
- 針對虛擬機規模受設備表項規格限制
- 服務器虛擬化后,VM的數量比原有的物理機發生了數量級的增長,而接入側二層設備的MAC地址表規格較小,無法滿足快速增長的VM數量。
- VXLAN將管理員規划的同一區域內的VM發出的原始報文封裝成新的UDP報文,並使用物理網絡的IP和MAC地址作為外層頭,這樣報文對網絡中的其他設備只表現為封裝后的參數。因此,極大降低了大二層網絡對MAC地址規格的需求。
- 針對網絡隔離能力限制
- VLAN作為當前主流的網絡隔離技術,在標准定義中只有12bit,因此可用的VLAN數量僅4096個。對於公有雲或其它大型虛擬化雲計算服務這種動輒上萬甚至更多租戶的場景而言,VLAN的隔離能力無法滿足。
- VXLAN引入了類似VLAN ID的用戶標識,稱為VXLAN網絡標識VNI(VXLAN Network Identifier),由24比特組成,支持多達16M的VXLAN段,有效地解決了雲計算中海量租戶隔離的問題。
- 虛擬機遷移范圍受限
- 虛擬機遷移是指將虛擬機從一個物理機遷移到另一個物理機。為了保證虛擬機遷移過程中業務不中斷,則需要保證虛擬機的IP地址保持不變,這就要求虛擬機遷移必須發生在一個二層網絡中。而傳統的二層網絡,將虛擬機遷移限制在了一個較小的局部范圍內。
- VXLAN將VM發出的原始報文進行封裝后通過VXLAN隧道進行傳輸,隧道兩端的VM不需感知傳輸網絡的物理架構。這樣,對於具有同一網段IP地址的VM而言,即使其物理位置不在同一個二層網絡中,但從邏輯上看,相當於處於同一個二層域。即VXLAN技術在三層網絡之上,構建出了一個虛擬的大二層網絡,只要虛擬機路由可達,就可以將其規划到同一個大二層網絡中。這就解決了虛擬機遷移范圍受限問題。
在園區網絡中使用VXLAN實現“一網多用”
- 通過引入虛擬化技術,在園區網絡中基於一張物理網絡創建多張虛擬網絡(VN,Virtual Network)。不同的虛擬網絡應用於不同的業務,例如辦公、研發或物聯網等。
- 通過iMaster NCE(華為園區網絡SDN控制器)實現全網設備集中管理,管理員通過圖形化界面實現網絡配置。
- iMaster NCE將管理員的網絡業務配置意圖“翻譯”成設備命令,通過NETCONF協議將配置下發到各台設備,實現網絡的自動駕駛。
2 VXLAN的基本概念
VXLAN的報文格式
NVE(Network Virtualization Edge,網絡虛擬邊緣)
NVE是實現網絡虛擬化功能的網絡實體,可以是硬件交換機也可以是軟件交換機。NVE在三層網絡上構建二層虛擬網絡,是運行VXLAN的設備。圖中SW1和SW2都是NVE。
VTEP(VXLAN Tunnel Endpoints, VXLAN隧道端點)
- VTEP是VXLAN隧道端點,位於NVE中,用於VXLAN報文的封裝和解封裝。
- VXLAN報文(的外層IP頭部)中源IP地址為源端VTEP的IP地址,目的IP地址為目的端VTEP的IP地址。
- 一對VTEP地址就對應着一條VXLAN隧道。
- 在源端封裝報文后通過隧道向目的端VTEP發送封裝報文,目的端VTEP對接收到的封裝報文進行解封裝。
- 通常情況下使用設備的Loopback接口地址作為VTEP地址。
VNI(VXLAN Network Identifier,VXLAN網絡標識)
- 類似VLAN ID,用於區分VXLAN段。不同VXLAN段的虛擬機不能直接二層相互通信。
- 一個租戶可以有一個或多個VNI,VNI長度為24bit。
BD(Bridge Domain)
- 類似傳統網絡中采用VLAN划分廣播域,在VXLAN網絡中一個BD就標識一個大二層廣播域。
- VNI以1:1方式映射到廣播域BD,同一個BD內的終端可以進行二層互通。
VAP(Virtual Access Point,虛擬接入點)
實現VXLAN的業務接入。VAP有兩種配置方式,二層子接口方式或者VLAN綁定方式:
- 二層子接口方式接入,例如本例在SW1創建二層子接口關聯BD 10,表示僅這個接口下的特定流量注入到BD 10。
- VLAN綁定方式接入,例如本例在SW2配置VLAN 10與廣播域BD 10關聯,表示所有VLAN10的流量注入到BD 10。
3 VXLAN二層網關、三層網關
二層(L2)網關:實現流量進入VXLAN虛擬網絡,也可用於同一VXLAN虛擬網絡的同子網通信。例如下圖中的Edge1和Edge2。
三層(L3)網關:用於VXLAN虛擬網絡的跨子網通信以及外部網絡(非VXLAN網絡)的訪問。例如下圖中的Border。
4 VBDIF
- 類似於傳統網絡中采用VLANIF解決不同廣播域互通的方法,在VXLAN中引入了VBDIF的概念。
- VBDIF接口在VXLAN三層網關上配置,是基於BD創建的三層邏輯接口。
- 通過VBDIF接口配置IP地址可實現不同網段的VXLAN間,及VXLAN和非VXLAN的通信,也可實現二層網絡接入三層網絡。
5 分布式與集中式網關
集中式網關
L3網關部署在一台設備上。所有跨子網的流量都通過網關轉發,實現流量的集中管理。
優點:跨子網流量集中管理,簡化網關部署和管理。
缺點:轉發路徑並非最優。
分布式網關
L3網關部署在多台設備上,VTEP節點既是L2網關,又是L3網關。
優點:跨子網流量轉發路徑更優。
缺點:網關部署、故障定位及網絡運維相對集中式網關復雜。VTEP節點之間需交互及維護主機路由。
6 VXLAN隧道的建立方式
VXLAN隧道由一對VTEP IP地址確定,報文在VTEP設備進行封裝之后在VXLAN隧道中依靠路由進行傳輸。在進行VXLAN隧道的配置之后,只要VXLAN隧道的兩端VTEP IP是三層路由可達的,VXLAN隧道就可以建立成功。
靜態VXLAN:隧道建立
VXLAN隧道由一對VTEP IP地址確定;靜態VXLAN隧道的創建通過手工配置本端和遠端的VNI、VTEP IP地址來完成,只要VXLAN隧道的兩端VTEP IP是三層路由可達的,VXLAN隧道就可以建立成功。
使用BGP EVPN作為控制面協議
最初的VXLAN方案(RFC 7348)中沒有定義控制平面,即用戶需手工配置VXLAN隧道,然后通過流量泛洪的方式學習主機地址,這種方式會導致網絡中存在很多泛洪流量,並且網絡擴展起來困難。
為了解決上述問題,VXLAN引入了EVPN(Ethernet Virtual Private Network,以太網虛擬專用網)作為VXLAN的控制平面。EVPN可視為BGP協議的一種擴展,定義了幾種新的路由類型來實現VTEP的自動發現、主機地址學習等。
7 VXLAN在CloudCampus解決方案中的典型應用
需求
Fabric需求:
- 基於物理網絡構建一個Fabric。
- 采用分布式網關方案。
VN需求:
- 創建2個VN,分別為辦公(OA)及研發(RD)。
- 缺省時,2個VN完全隔離,VN內可實現同子網、跨子網互訪。
- 2個VN均可訪問FW所上聯的外部網絡。
- 2個VN內的終端均可通過DHCP Server獲取IP地址。
Fabric管理
Fabric創建及配置:
- 用戶根據業務需求,將物理設備(核心交換機、匯聚交換機及接入交換機)添加到Fabric中。
- 用戶指定交換機的角色:Border節點及Edge節點。
- iMaster NCE自動將Border指定為RR,優化網絡邏輯架構、BGP對等體關系模型。
- 用戶預定義2個“外部網絡”,用於供2個VN到達外部網絡。
- 用戶定義1個“網絡服務資源”,用於后續終端通過該資源(中的DHCP Server)獲取IP地址。
Fabric及Underlay網絡自動化部署:
- iMaster NCE根據已發現的物理網絡拓撲,結合用戶所定義的Fabric網絡,自動進行網絡編排(用戶可選擇OSPF多區域或單區域,是否針對OSPF報文進行認證等)。
- iMaster NCE根據網絡編排結果將Underlay網絡配置自動下發到設備,使得設備之間IP可達。完成本步驟后,交換機便自動獲得互聯IP地址、VLAN配置,以及OSPF配置,交換機之間實現了路由可達。
- iMaster NCE將Fabric配置自動下發到設備,設備之間建立BGP EVPN對等體關系,完成控制面的准備工作。
VN管理
創建VN:
- 用戶分別創建OA及RD虛擬網絡,指定虛擬網絡的IP網段/VLAN、網關地址、所關聯的外部網絡及網絡服務資源,以及終端接入點位。
- iMaster NCE將用戶意圖翻譯成配置下發到網絡設備上。
VXLAN隧道自動建立
- BGP EVPN將用於建立VXLAN隧道的相關信息在對等體之間通告。
- 設備之間建立VXLAN隧道,為后續的數據轉發做准備。
終端獲取地址
- 銷售員工A接入網絡,首先完成用戶認證,認證成功后,認證點Edge1獲得該用戶的授權結果,將用戶划分到對應VLAN。
- A發起DHCP請求,該請求到達網關設備Edge1后,后者將DHCP請求進行中繼,中繼報文通過VXLAN隧道轉發給Border。
- Border將VXLAN解封裝,並將DHCP中繼報文轉發給DHCP Server。
- DHCP Server為A分配IP地址。
相同VN內的同子網互訪
- 銷售員工A與B通過准入認證,接入園區網絡。
- 以銷售員工B為例,Edge2將其MAC地址通過BGP更新報文通告給Border,后者將其反射給Edge1。
- Edge1學習到MAC地址0000.0002。
- 當A發送數據給B時,流量到達Edge1后,Edge1將其執行VXLAN封裝,然后轉發到Edge2。后者VXLAN解封裝后送達目的地。
相同VN內的跨子網互訪
- 銷售員工C通過准入認證,接入園區網絡。
- Edge2將其主機路由通過BGP更新報文通告給Border,后者將其反射給Edge1。
- Edge1學習到1.20.1/32路由,路由下一跳為2.2.2.2,出接口為VXLAN隧道接口。
- 當A發送數據給C時,流量到達Edge1后,Edge1將其執行VXLAN封裝,然后轉發到Edge2。后者VXLAN解封裝后送達目的地。
訪問外部網絡
- 當用戶將外部網絡(目的網段為2.3.0/24)關聯到OA虛擬網絡后,iMaster NCE會將路由信息下發至Border,並由Border將上述外部路由重分發到BGP,通告給Edge1和Edge2。
- 當A發送數據到2.3.0/24時,流量送達Edge1后,由其進行VXLAN封裝,然后送至Border,后者將VXLAN解封裝,然后將IP報文轉發給FW。
本文分享自華為雲社區《新HCIE知識點:VXLAN與園區網絡虛擬化》,原文作者:迷圖小書童 。