1、概述
(1)VXLAN是建立在物理IP(overlay)網絡之上的虛擬以太網
使用UDP封裝完整的內層以太幀,封裝報文頭共五十個字節
(2)VXLAN使用24位VXLAN網絡標識符(VLAN爲12位)
最大支持16,000,000個邏輯網絡
(3)VXLAN可跨越物理三層網絡
使用UDP封裝能在三層物理網絡上建立二層邏輯網絡
(4)VXLAN利用ip多播封裝廣播和多播報文
在VXLAN網內廣播或多播的報文被封裝在ip多播中,如ARP報文
(5)VXLAN利用ECMP(等價多路徑負載均衡)
對不同數據流使用不同UDP源端口
(6)VXLAN已提交到ITEF,啓動標準化進程
與Cisco, Citrix, Red Hat, Broadcom,Arista等廠商協作
2、VXLAN解決的具體技術問題
(1)VLAN的數量限制:4094個VLAN遠不能滿足大規模雲計算中心的需求,XVLAN最大支持 16,000,000個邏輯網絡
(2)物理網絡基礎設施的限制:基於IP子網的區域劃分限制了需要二層網絡連通性的應用負載 的部署
(3)ToR交換機MAC表耗盡:虛擬化以及東西向流量導致更多的MAC表項
(4)匯聚層STP(生成樹協議)高負荷:由於大量VLAN配置在大量接口,匯聚層交換機的壓力大
增。
3、VXLAN報文格式
Outer header:封裝VXLAN的UDP報文頭,VXLAN封裝在UDP報文的數據部分。
VXLAN Header:VXLAN報文頭,包括:
F:未使用
I:表示VXLAN Network ID有效
Reserved:未使用
VXLAN Network ID:24bit,標識VXLAN網絡標識,類似VLAN的ID,
只是必VLAN所表示的範圍大很多
4、VXLAN網絡的初始化
VTEP :VXLAN隧道終端 (VXLAN Tunneling End Point),用於多VXLAN報文進行封裝/解封 裝,包括mac請求報文和正常VXLAN數據報文,在一端封裝報文後通過隧道向另一端VTEP發送封裝報文,另一端VTEP接收到封裝的報文解封裝後根 據被封裝的MAC地址進行轉發。VTEP可由支持VXLAN的硬件設備或軟件來實現。
VM1及VM2連接到VXLAN網絡100, 兩個VXLAN主機加入IP多播組239.119.1.1
5、VXLAN網絡交互過程
以ARP交互爲例,其他數據報的交互類似
ARP請求:
(1)VM1以廣播的形式發送ARP請求
(2)VTEP1把ARP請求報文被封裝在IP多播報文中,並打上VXLAN標識爲100
(3)VTEP1在ip多播組內裏進行多播
(4)VTEP2接收到ip多播報文後對內層MAC地址到外層ip地址的映射進行學習,並解封裝後在
本地VXLAN標識爲100的虛擬局域內廣播(這也是VXLAN ID的用武之地)
(5)VM2接收到請求自己MAC的ARP請求後做出響應
ARP響應:
(1)VM2準備ARP響應報文後向VM1發送響應報文
(2)VTEP2接收到VM2的響應報文後把它封裝在ip單播報文中(VXLAN標識依然爲100),然 後向VM1發送單播
(3)VTEP1接收到單播報文後,學習內層MAC到外層ip地址的映射,解封裝並根據被封裝內容 的目的MAC地址轉發給VM1
(4)VM1接收到ARP應答報文,ARP交互結束
6、VXLAN網絡和非VXLAN網絡連接
必須使用VXLAN的網關才能把VXLAN網絡和外部網絡進行橋接和完成VXLAN ID和VLAN ID之間的映射和路由,和VLAN一樣,虛擬局域網之間的通信需要三層設備的支持,即VXLAN虛擬局域網之間的通信也需要VXLAN路由的支持。同樣, 網關可由硬件或軟件來實現。