傳統的 VLAN 技術由于最多只能支持 4096 個 VLAN 已經無法滿足云提供商的嚴格要求,但 VXLAN 技術因為可以通過將二層網絡擴展到三層網絡來構建大型多租戶數據中心而受到青睞,該技術可以有效克服了VLAN帶來的擴展限制。
什么是vlan?
VLAN(Virtual Local Area Network)即虛擬局域網,是交換機實現中涉及的概念,由802.1Q標準定義。
由于交換機是工作在鏈路層的網絡設備,因此與同一臺交換機相連的終端處于同一個三層網絡中,也處于同一個廣播域中。當交換機連接了很多終端時,當任何一個終端發送廣播包(例如:ARP請求)時,該包都會傳遍整個網絡。Vlan分為靜態和動態兩種。 VLAN管理員最初配置交換機端口和VLAN ID的對應關系時,靜態vlan已經固定了對應關系,即端口只能對應這個VLAN ID,以后不能更改,除非管理員重新配置它。動態vlan是指交換機自動將端口配置為主機所屬的VLAN。這里分為三類:基于 MAC、基于 IP 和基于用戶。
對于大規模組網場景,廣播包的泛濫會對網絡通信產生較大的影響。 VLAN 技術為這個問題提供了解決方案。 VLAN將同一個網絡劃分為多個邏輯虛擬子網,并規定當接收到一個廣播包時,只在其所在的VLAN內廣播,以防止廣播包泛濫。 . VLAN技術在鏈路層實現了廣播域的隔離。
虛擬化技術的發展促使大數據和云計算技術公司使用單個物理設備虛擬化多個虛擬機進行組網。所以對支持的VLAN數量的要求也越來越高,而VLAN技術支持最多的4094個VLAN,已經不夠用了求。
什么是 Vxlan?
VXLAN(Virtual eXtensible Local Area Network,虛擬擴展局域網)是IETF定義的NVO3(Network Virtualization over Layer 3)標準技術之一,采用L2 over L4(MAC-in-UDP)包封裝方式,采用三層協議封裝二層報文,實現三層內的二層網絡擴展,滿足數據中心大型二層虛擬遷移和多租戶的需求。
VXLAN技術可以在三層網絡結構的基礎上構建二層虛擬網絡。通過VLAN技術,可以將不同網段的網絡設備集成到同一個邏輯鏈路層網絡中。對于最終用戶來說,這些網絡設備似乎“真的”部署在同一個鏈路層網絡中。
NVO3是基于三層IP覆蓋網絡構建虛擬網絡的技術的總稱。 VXLAN 只是 NVO3 技術之一。此外,比較具有代表性的還有NVGRE和STT。
與VLAN技術相比,VXLAN技術具有以下優勢:
24位的VNI字段值可以支持更大數量的虛擬網絡,解決了VLAN最大數量限制為4094的問題。
VXLAN 技術通過隧道技術在物理三層網絡中虛擬化二層網絡。 VXLAN網絡上的終端無法感知VXLAN通信過程,這使得邏輯網絡拓撲和物理網絡拓撲達到一定程度的了解。網絡拓撲的配置較少依賴物理設備的配置,配置更加靈活方便。
VLAN技術只解決了二層網絡廣播域的分割問題,而VXLAN技術還具有支持多租戶的特點。通過VXLAN拆分,每個租戶可以獨立組成組網、通信、地址分配和多租戶。地址沖突問題也已解決。
確保 VXLAN機制的通信過程的正確性,rfc7348標準規定涉及VXLAN通信的IP包不允許分片。這就要求物理網絡的鏈路層實現必須提供足夠大的MTU值來保證VXLAN報文。這可以理解為當前VXLAN技術的局限。
一般來說,虛擬機的默認 MTU 是 1500 Bytes,也就是說原始以太網數據包的最大大小是 1500 字節。該報文經過VTEP時,會封裝一個新的50字節頭(VXLAN頭8字節+UDP頭8字節+外部IP頭20字節+外部MAC頭14字節),這樣,整個報文長度達到1550字節.
現有的VTEP設備在解封裝VXLAN報文時一般要求VXLAN報文不能分片,否則無法正確解封裝VXLAN報文。這要求 VTEP 之間的所有網絡設備的最小 MTU 為 1550 字節。
如果中間設備的MTU值不方便更改,將虛擬機的MTU值設置為1450也可以暫時解決這個問題。