VXLAN (Virtual Extensible LAN) 是現代資料中心和大規模虛擬化環境中,用來取代傳統 VLAN 的關鍵隧道技術。它標誌著網路從傳統硬體限制轉向軟體定義網路 (SDN) 的趨勢。
- 為什麼傳統 VLAN 在雲端時代不夠用?
傳統的 VLAN 在面對超大規模虛擬化環境時,存在兩個根本性的限制:
隔離數量限制 (4K 限制): 傳統 VLAN ID 使用 12 位元,最多只能支援 4094 個隔離網段。這遠遠無法滿足大型雲端運營商或資料中心(可能需要為數十萬個虛擬機或客戶提供隔離)的需求。
L2 擴展性差: 傳統 L2 網路的擴展依賴 STP 和 MAC 地址表。隨著虛擬機數量暴增,底層交換器的 MAC 地址表容易溢出,並且 L2 網路的泛洪 (Flooding) 訊務會嚴重拖累效能。
- VXLAN 的核心原理:隧道與擴展
VXLAN 的解決方案是建立在現有的 IP 網路(稱為 Underlay)之上的邏輯覆蓋網路 (Overlay)。
A. 擴展隔離:VNI
VXLAN 使用 24 位元 的 VNI (VXLAN Network Identifier) 取代了傳統的 12 位元 VLAN ID。這將可用的隔離網段數量擴展到約 1600 萬個 (2的24次方 ),徹底解決了 ID 數量不足的問題。
B. 隧道技術:L2 over L3
VXLAN 是一種隧道 (Tunneling) 技術,允許 L2 網路(乙太網路幀)在 L3 IP 網路上傳輸。
封裝 (Encapsulation): VXLAN 會將完整的原始 L2 乙太網路幀封裝在一個新的 UDP 封包 內傳輸。
關鍵埠號: VXLAN 流量使用標準的 UDP Port 4789。
VTEP (VXLAN Tunnel Endpoint): 這是運行 VXLAN 協定並負責封裝/解封裝 VXLAN 流量的設備。VTEP 可以是實體交換器(如資料中心邊界交換器)或虛擬交換器(如在伺服器 hypervisor 上的 vSwitch)。
- VXLAN 的控制平面:從泛洪到 BGP
VXLAN 本身只定義了數據的封裝方式(數據平面),它還需要一個機制來告知 VTEP 目的地在哪裡(控制平面)。
A. 傳統控制平面:Flood-and-Learn
在早期的 VXLAN 部署中,VTEP 透過多播 (Multicast) 或泛洪 (Flood) 來尋找遠端的 MAC 地址。這延續了傳統 L2 網路的缺點,擴展性差且效率低。
B. 現代標準:EVPN (Ethernet VPN)
現代大規模部署幾乎都使用 EVPN 作為 VXLAN 的控制平面:
EVPN 使用 BGP:EVPN 將 BGP 協定(我們在前一篇討論的廣域網骨幹)引入資料中心,作為控制平面的交換機制。
核心功能: BGP 負責在所有 VTEP 之間交換 L2 MAC 地址、IP 地址和 VNI 的映射資訊。
優勢: 這種方式消除了 L2 泛洪的需求,提供了卓越的擴展性、更快的收斂速度,並且能更有效地整合 L2 和 L3 網路。
- VXLAN 故障排查思維
由於 VXLAN 隧道是建立在底層 IP 網路之上的,故障排查的重點必須分層進行:
Underlay (底層 IP 網路):
排查: 使用 ping 或 traceroute 確保所有 VTEP 之間的 IP 連線是完整的。如果底層 IP 路由不通,VXLAN 隧道絕對無法建立。
控制平面 (EVPN/BGP):
排查: 檢查 BGP 鄰居關係是否正常建立 (show ip bgp summary)。檢查 BGP 是否正確地學習到了遠端 VTEP 的 MAC 地址和 VNI 資訊。
數據平面 (VXLAN 封裝):
排查: 檢查防火牆或 ACL 是否阻擋了 UDP Port 4789。檢查兩端配置的 VNI 號碼 是否完全匹配,這是 L2 隔離成功的基礎。
VXLAN 與 EVPN 的結合是現代資料中心和雲端網路的標準架構,代表了網路虛擬化和自動化的未來。