您好,登錄后才能下訂單哦!
VXLAN原理以及基礎應用介紹
VXLAN介紹:
我聽說VXLAN的時候是IDC大舉建設的時候,主要是用于處理云平臺VLAN資源耗盡的問題。
等真正接觸到這個技術是在城域網,用來做跨越三層設備的OverLay,其實本質上沒什么區別。
為什么要在IDC上使用VXLAN呢?有三點原因:
1. 原先二層技術資源不夠,加上STP技術的老舊,跟不上現在的需求。現在都是虛擬機組網,要求的是遷移機器IP、MAC不變,傳統很難實現。
2. 小網絡、私有網絡的驅使。現在虛擬化廠商IRF/VPC等等的,各搞各的也不兼容,關鍵是對于網絡架構還自己有要求。所以,打消了不同技術共同組網的念頭。
3. 其他的新技術不是太貴,就是太復雜。要用,好,先買線卡,之后升級軟件。這是用戶和運維人員最頭疼的,也是最根本的原因。VXLAN好就好在對設備兼容性高,升級軟件即可支持,代價小。
VXLAN是怎么實現他的價值的?
1. 添加了8字節的vxlan header,其中24bit的VNI,擴展了’VLAN’的數量
2. 使用了UDP作為穿越三層的頭部,打通三層組建泛二層不是夢
3. 作為一個三層隧道技術,它肯定要知道對應三層的IP,將打包好的數據發送給對端解析
//其他也沒什么了,看起來挺簡潔一技術
VXLAN數據包格式:
數據包格式就截圖了:
這些圖都不是很明晰,看起來不方便,我就從原來是什么包,到怎么加工的后來的包,做個簡單闡述:
原先的包——
[目的MAC]|[源MAC]|[VLAN tag]|[目的IP]|[源IP]|[數據]
接入設備拿到這個包的處理過程:
1. PE根據MAC流表查找此設備屬于哪個VNI
2. 確定需要送達的VTEP IP地址和MAC地址
3. 根據獲得的信息分別壓入:VXLAN頭部、UDP頭部、IP頭部、Eth頭部
[目的MAC-VTEP][源MAC-PE][VLAN-PE到Vtep] | [源IP-PE][目的IP-VTEP] | [UDP-4798] | [Vxlan flag-8bit][Vxlan VNI-24bit] | [原包變payload]
Vxlan隧道建立和維護:
Vxlan的功能類似于VPLS和GRE,都可歸類為隧道技術。隧道嘛,必須是兩端都有意而且能接頭才能搭上話,那么Vxlan技術是怎么進行對話和溝通的呢?
1. 組播學習對端的VTEP IP/VNI/MAC
2. 如果收到了Vxlan的包,解包的時候自動學習
3. 通過其他路由協議擴展協議來學習,其他協議當做馬車,拉過來信息
a) ISIS擴展,需要配置ENDS/ENDC,私有,復雜
b) BGP擴展,需要配置RR/client,私有,簡單,成熟
c) SDN controller,標準協議,調用Netconf/Openflow,第一個包上送中間人controller,對控制器吞吐量要求略高
//可以看到,Vxlan在沒有三層協議幫助的時候,和vlan學習極為相似。
文字很難理解,來看看圖示(圖C過來的)
(1).數據發起
a. 一個用戶一個VNI,客戶配置了VNI(100),想去VM2
b. VTEP1查找到本VNI(100),使用的組播是239.119.1.1
//注意:此時,VM1是不知道VM2的MAC的;VTEP1也是不知道哪個VTEP有VM2。
(2).尋找VM2
a. VTEP1將VM1的ARP包封裝為組播包,目的地址就是239.119.1.1
b. 因為VTEP2頁有VNI100,理所當然收到了這個組播包
c. VTEP拆包,發現這個客戶就在自己名下,立即將VM1(MAC)和VTEP1(IP)記錄在案
d. 拆包轉發,VM2收到這個ARP包
(3).VM2反饋自己信息
a. VM2 收到了ARP包,和正常包一樣,返回ARP回應
b. VTEP2收到了去往VM1的數據包
c. 因為VM1和VTEP1已經在流表里,發送單播給VTEP1
d. VTEP1收到了回復,也知道了VTEP2是VM2的PE
e. VTEP1將VTEP2(IP)和VM2(MAC)記錄在流表
f. 拆包,將VM2的答復發送給VM1
//此時此后,VM1知曉了VM2的MAC,VTEP1和VTEP2也知道了彼此的對應關系
//所以,以后VM1和VM2之間的對話,全部由VTEP1和VTEP2單播轉發!
補充:各個廠商是如何實現Vxlan的建立的?
CISCO:定義了兩種接口,Switch interface和IP interface,switch接口接客戶,IP接口對外,尋找VTEP。添加了NVE接口(Network Virtualization Edge,網絡虛擬邊緣節點),類似于隧道(類似PW),關聯IP、組播group地址、Vxlan
H3C:ENDP(Enhanced Neighbor Discovery Protocol,增強的鄰居發現協議),發現VTEP后,用這個協議建立Vxlan隧道
Vxlan網關:
真實的IDC server對通信的需求為:
1, 相同VNI內,VM到VM
2, 不同VNI內,VM到VM
3, VM到外網服務器
相同VNI內VM通信,可以通過組播直接聯系;不同VNI之間的溝通,需要借助Vxlan網關;VM和外網互通,需要用到三層路由。
Vxlan網關是什么?
1. 很多人都聽說過多段PW(mspw),這Vxlan的網關就類似于多段PW的中間節點
2. 它的功能是和不同VNI建立Vxlan隧道,解決跨VNI的溝通
3. 它還同時兼任Border,當有需要訪問外網的時候,它提供三層路由。
Vxlan網關的知識還涉及到網絡的組網,畢竟所有的都要網關來處理它也處理不過來。
而且從安全的角度來看,也需要對網關進行備份和冗余。
這部分知識不少,下一章介紹。
2018/4/30
By Lukas
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。