天天看點

3分鐘帶你學習VxLAN

VxLAN技術發展的背景:

VxLAN的發展得益于在IDC網絡中存在如下幾個原因:

4094個VLAN在雲計算資料中心有可能不夠;

虛拟化部署帶來的大二層需求;

虛拟機的動态遷移一直限定在二層網絡中,無法在不同網段之間遷移

大二層網絡中的防環路問題,原有的STP顯然不能滿足資料中心大二層的需求,從

而出現了TRILL、SPB等新資料中心技術,但是目前落地情況一般。

多租戶IP位址沖突問題,雲資料中心通過主機虛拟化需要為不同的使用者提供服務,而

使用者可能使用相同的IP位址,為了隔離使用者流量,需要添加額外網關、位址翻譯、vpn等技術,增加了組網的複雜性。

基于IP子網區域劃分極大限制了虛拟機動态遷移功能,在傳統基于IP子網區域劃分,虛拟機如果跨三層遷移後,網關需要發生變化必然會導緻較長時間的業務中斷,這個在傳

統的組網架構中是無法調和的沖突。

如何解決以上問題?

VLAN數量不足問題:

VNI取代VLAN用來表示不同的VxLAN網絡,VNI是一個24位進制表示,可以擴充

到1600萬+個網段

 虛拟化部署帶來的大二層需求:

虛拟機可以跨三層網絡遷移,不在需要大二層

 多租戶IP位址沖突問題:

在VxLAN網絡中根據VM mac位址表轉發(對應VTEP位址的),并非根據VM IP轉發隻需要控制不同VxLAN的互通即可解決

 基于IP子網區域劃分極大限制了虛拟機動态遷移功能:

VxLAN實作了計算資源與實體網絡的無關性和二層網絡在三層網絡的擴充

 VM遷移後Ingress方向上尋址問題:

通過控制平面(擴充協定、SDN controller或者GARP來更新MAC表(對應VTEP

位址的)

 VM遷移後egress方向上的網關不變問題:

VM的IP GW的VTEP IP和GW VMAC 相同,VM在遷移前後無感覺網絡的變化,

對應的網關MAC沒發生變化

VxLAN網絡中的幾個概念:

什麼是VxLAN?

虛拟可擴充區域網路(virtual extensible lan),是overlay技

術的一種,通過隧道機制在現有網絡上建構一個疊加的網絡從

而繞過現有VLAN标簽的限制。

什麼是VNI?

VNI(VxLAN Network Identifier)虛拟擴充本地網絡标示符,VNI取代VLAN用來表示不同的VxLAN網絡,是一個24位進制表示,可以擴充到2的24次方個網段。

什麼是VTEP?

VTEP(VxLAN Tunnel End Point)虛拟擴充本地網絡隧道終結節點,上行方向将虛拟機(伺服器)産生的資料封裝到UDP標頭内發送出去,下行方向将收到的VxLAN封包解封裝後發給虛拟機(伺服器),VTEP之間建立了兩點之間的隧道(VTEP可以為軟體、硬體伺服器或者網路裝置、隧道是無狀态的)。

什麼是overlay網絡疊加技術?

overlay網絡是建立在已有網絡上的虛拟網絡,邏輯節點和邏輯鍊路構成了overlay網絡,overlay網絡是為了解決傳統網絡無法提供的功能和服務。Overlay分為主機overlay、網絡overlay、混合overlay。

3分鐘帶你學習VxLAN

什麼是VxLAN GW和VxLAN IP GW?

3分鐘帶你學習VxLAN

VxLAN IP GW:

網絡裝置支援VXLAN封包的封裝與解封裝,并根據内層封包的IP頭部進行三層轉發 。

 VxLAN GW:

支援VXLAN封包的封裝與解封裝,并根據内層封包的MAC頭部進行二層轉發,實作VxLAN與VLAN的互通。

視訊講解什麼是VxLAN:

視訊加載中...

VxLAN封包封裝架構:

3分鐘帶你學習VxLAN

VxLAN标簽:

标志位(8bits),一個有效的VxLAN網絡ID(VNI),第5個bit的I标

志位必須設定為1;餘下的7個bit的标志位是保留的,必須設定為0,VxLAN網絡ID(VNI),長24bit,用于辨別一個單獨的VxLAN網絡。

UDP標頭:

标準UDP標頭,目的端口号為IANA配置設定的4798,源端口是資料幀本

身的二層桢頭的哈希結構,可以用作為流量負載分擔的依據。

外層三層標頭:

外層IP標頭的IP位址為隧道兩端的VTEP裝置位址,如果Hypervisor承

擔了VTEP工作則了伺服器網卡位址,如果VTEP為接入交換機,則IP地

址為出端口上的 IP位址或者三層接口位址、loopback位址。

外層二層標頭:

外層二層標頭為封包在普通網絡中做二、三層轉發的MAC位址(目的

MAC為目的VTEP裝置的 硬體MAC或者三層網關的MAC)。

VxLAN控制平面實作方式:

自學習模式:利用泛洪/廣播機制來實作VxLAN網絡的建立;指定VxLAN ID映射到一個IP多點傳播組,此VxLAN的VTEP都加入該多點傳播組,通過flooding和learning機制完成學習。

如圖VM Server屬于同一個VxLAN 10,加入特定多點傳播組239.1.1.1。

3分鐘帶你學習VxLAN

自學習方式一

3分鐘帶你學習VxLAN

自學習方式二

 基于SDN控制器的集中式模式:SDN控制器作為控制平面,通過下發流表指導VTEP的轉發;SDN控制器與所有VxLAN ED(Edge Device,邊緣裝置)裝置建立連接配接(通過openflow協定),通過SDN 控制器給各VxLAN ED部署下發流表來進行VxLAN的轉發。

3分鐘帶你學習VxLAN

 路由協定擴充模式:通過擴充isis(類EVI)、bgp協定來實作VxLAN網絡的建立;基于EVI鄰居發現協定,通過isis擴充協定來實作控制平面和mac位址學習;VxLAN網絡啟用ENDP(Enhanced Neighbor DiscoveryProtocol,增強的鄰居發現協定)協定,核心裝置作為ENDS(Enhanced Neighbor DiscoveryServer)裝置、接入裝置作為ENDC(Enhanced Neighbor DiscoveryClient)裝置,ISIS擴充協定來完成mac的釋出和回收。

3分鐘帶你學習VxLAN

Core裝置作為ENDS裝置、接入裝置(VTEP)作為ENDC裝置,ENDC裝置向ENDS裝置發起注冊(包括VxLAN ID、VTEP ID、network ID),ENDS發送應答包括所有ENDC裝置資訊,建立VxLAN控制平面。

3分鐘帶你學習VxLAN
3分鐘帶你學習VxLAN

vtep裝置轉發時需要的封包資訊

VxLAN資料平面實作方式:

隧道機制:

 源和目的VTEP之間建立隧道,負責封包的VxLAN封裝和解封裝,VTEP為虛拟機資料包分裝了層層標頭,這些新標頭隻會在封包到目的VTEP時才會解封裝,中間路徑網絡裝置隻會根據外層標頭的目的位址進行轉發,對于轉發路徑上的網絡裝置,一個VxLAN封包就是一個普通IP封包。

3分鐘帶你學習VxLAN

在VTEP裝置上進行VxLAN的封裝解封裝,根據MAC位址表(對應有對端的VTEP IP位址)轉發,以虛拟機的二層轉發/同一個VxLAN為例。

3分鐘帶你學習VxLAN