NVGRE 與 VXLAN有什麼不同?
眾所周知,NVGRE(使用通用路由封裝的網絡虛擬化)和VXVLAN(虛擬可擴展VLAN)都是一種網絡虛擬化技術,旨在擴展虛擬局域網(即VLAN),解決大型數據中心中虛擬網絡不足的問題。但事實上NVGRE和VLAN只是虛擬網絡的一部分,並沒有提供實質性的功能,只是定義了如何在不同的虛擬機之間封裝和轉發數據包。那麼NVGRE和VXLAN到底有什麼不同呢?本文將為您揭曉答案。
NVGRE是什麼?
NVGRE標準是由微軟、Arista、英特爾、惠普、戴爾以及博通等提出,是一種用於網絡虛擬化的方法,通過封裝和隧道技術為子網提供大量的虛擬局域網。NVGRE充分考慮到虛擬局域網可以跨分散的數據中心以及數據鏈路層和網絡層進行擴展,因此通過虛擬局域網提供子網,使多租戶和負載平衡的網絡在本地和雲環境中共享。總而言之,NVGRE旨在解決因虛擬局域網數量無法在複雜的虛擬化環境中工作而導致的一系列問題,以及在分散的數據中心無法進行長距離傳輸時擴展網段。
VXLAN是什麼?
VXLAN規範是由思科、VMware、Citrix、紅帽、Arista以及博通等創建,是一種擴展VLAN的網絡虛擬化技術,旨在解決當前大型數據中心虛擬網絡不足的問題。實際上,網絡工程師曾利用虛擬局域網在雲計算數據中心中分離雲應用程序和租戶,但虛擬局域網僅允許在特定時間分配最多4096個網絡ID,這對於大型雲計算數據中心來說遠遠不夠。因此VXLAN應運而生。VXLAN通過添加24位的段ID擴展虛擬局域網地址空間,從而將可用ID增加到1600萬個,與此同時,在邏輯上分離了雲應用程序和租戶。其中每個幀中的VXLAN段ID可區分租戶的各個邏輯網絡和網絡ID,因此數百萬個獨立的第2層VXLAN網絡可以與一個公共的第3層基礎設施上共存。欲了解更多VXLAN可訪問《QinQ vs VLAN vs VXLAN》。
NVGRE與VXLAN有什麼區別?
由上可知,NVGRE和VXLAN目的相同,實際使用幾乎一樣,但兩者在傳輸協議、數據包格式、傳輸方式、分片等方面也存在些許差異。
傳輸協議的不同
VXLAN採用的是標準傳輸協議,即TCP/UDP協議;而NVGRE採用的是通用路由封裝協議,即GRE協議。此外,前者由思科驅動,後者由微軟支持。
數據包格式的不同
數據包格式是VXLAN和NVGRE最明顯的區別。VXLAN的數據包報頭包含了一個24位的ID段(代表1600萬個唯一的虛擬段),該ID段通常由UDP端口上偽隨機算法生成的(UDP端口是由該幀中的原始MAC Hash生成的)。這將有助於保證基於5元組的負載均衡,並且通過將數據包中的MAC組映射到唯一的UDP端口組,保存虛擬機(VM)之間數據包的順序。VXLAN封裝將數據包的大小擴展到了50 字節,如下圖所示:
NVGRE雖然與VXLAN一樣可以支持1600萬個虛擬網絡,但其數據包使用了GRE報頭的低24位作為租戶網絡識別符(TNI)。為了提供描述帶寬利用率粒度的流,傳輸網絡需要使用GRE頭,這導致NVGRE不能兼容傳統負載均衡,這也是與VXLAN最大的區別,也是最大的不足。
傳輸方式的不同
VXLAN利用傳輸網絡中的組播來進行模擬廣播、未知單播和第2層段中的組播的泛洪行為,這對於MAC地址學習以及VXLAN工作過程中的地址解析協議(ARP)和鄰居發現協議(NDP/ND)等都非常重要。而NVGRE為了提高負載均衡,通常會在每個NVGRE主機使用多個IP地址,確保更多流量能夠被負載均衡。NVGRE不再需要依靠泛洪和IP組播進行學習,而是以一種更為靈活的方式進行廣播。
分片的不同
NVGRE支持分片數據包最大傳輸單元,從而能減少內部虛擬網絡數據包大小,不需要傳輸網絡支持傳輸大型幀。但是VXLAN不支持分片,它需要一個支持大型幀的傳輸網絡來承擔數據包大小的擴展。
總結
總而言之,VXLAN和NVGRE是實現隧道化的高級網絡虛擬化技術,它們將虛擬網絡的規模從4094擴展到了1600萬,並且允許第2層的數據包在第3層的網絡上進行傳輸,因此大型數據中心通常會添加支持NVGRE和VXLAN的網絡設備來擴展網絡,如,使用支持NVGRE和VXLAN的交換機克服虛擬局域網在大型數據中心中的限制,且提供更為敏捷的虛擬機網絡環境。
相關文章推薦
郵箱地址
-
Cat5e、Cat6、Cat6a和Cat7網線有什麼區別?哪個更好?
2020年08月21日
-
一文帶你了解SFP、SFP+、SFP28、QSFP+和QSFP28之間的區別
2024年04月13日
-
OM1、OM2、OM3、OM4和OM5多模光纖有什麼區別?
2021年11月24日
-
SFP端口是什麼?有什麼作用?可以接RJ45嗎?
2020年09月15日
-
PCIe卡知識掃盲:你想了解的都在這裡
2020年03月24日