虛擬化和云有各種各樣的網絡問題,但是最令人沮喪的是在復雜的虛擬環(huán)境里缺乏有效的VLAN,造成數據中心之間延伸遠距離網絡片段也困難重重。
要解決這些問題,VMware和微軟采取了封裝和隧道2大策略,分別是:VXLAN和NVGRE。
VXLAN和NVGRE都使用封裝和隧道方式來創(chuàng)建大量的VLAN子網,這些子網可以擴展到2層和3層網絡。這是為了解決IEEE802.1Q定義的數量有限的VLAN,實現云和專有網絡中共享負載均衡的多租賃網絡。
如果VXLAN和NVGRE都采取相同的措施,哪個更好?或者它們都能正常使用嗎?這沒有統(tǒng)一答案。
VXLAN標準:擴展VLAN,支持遠距離VM遷移
VMware的VXLAN是為了實現多租戶云網絡所需要的遠距離分割支持, 它使用一個名為VXLAN網絡標識符(VNI)的24位標識符,將與應用程序關聯(lián)的VLAN分組到一個片段中,來分離應用程序數據。這可以使虛擬機在多租戶的數據中心間進行遷移。
虛擬機軟件不需要修改就能夠在VXLAN環(huán)境中運行。虛擬機會創(chuàng)建與非VXLAN和非虛擬環(huán)境相同的數據包。在VXLAN環(huán)境里,數據包被封裝在一個外在以太網數據包中,它帶有目標服務器或轉發(fā)數據包的路由器的目標MAC 。然而,在VXLAN環(huán)境里,虛擬機間通信需要將廣播數據包用通信虛擬機所在的VXLAN片段發(fā)到關聯(lián)IP多路廣播分組。
虛擬機也需要進行VXLAN環(huán)境以外的通信,這種情況不需要對源虛擬機或目標設備做修改。VXLAN網關會取下VXLAN和UDP的頭信息,將這個數據包轉發(fā)到虛擬機所發(fā)數據包的目標MAC上。
VXLAN標準看起來代表著虛擬網絡天堂,但是SearchNetworking.com的Fast Packet博主Ivan Pepelnjak持懷疑態(tài)度。在他的Fast Packet 博客中,Pepelnjak提出了嚴肅的問題,網絡專業(yè)人員在承認這項技術前應該先問下自己:是否真正需要VXLAN,他建議很多人根本不需要VXLAN。
Pepelnjak還指出了VXLAN的不足之處,包括它在如交換機,負載均衡器或防火墻等物理設備的環(huán)境內缺乏有效通信。在任何IP網絡的VXLAN里, IP多路廣播的2層網絡洪泛都必須進行這類通信。
和VXLAN標準一樣,微軟的NVGRE標準提案都使用封裝策略來創(chuàng)建大量的VLAN子網,這些子網可以擴展到分散的數據中心和2、3層網絡。二者都旨在實現在云和專有網絡中共享負載均衡的多租賃網絡。然而它們還是有一些區(qū)別的。
一些NVGRE標準的重要特點包括指定24位的租賃網絡標識符(TNI),NVGRE解決了一些和多租戶網絡相關的問題。并且使用GRE來創(chuàng)建一個獨立的虛擬2層網絡,限制物理2層網絡或擴展超過子網邊界。NVGRE終端通過在GRE頭插入INT指示符的方式分隔各個TNI。
兩個標準的不同之處在于存儲目標地址的位置。VXLAN標準描述了數據包是如何通過通道尋找到目標終端。而NVGRE標準將定位目標的方法延遲到后續(xù)版本。
兩種提案都認為負載均衡是實現有效運營的必要條件,但是VXLAN可以隨機分配端口號來分散負載,而NVGRE使用GRE關鍵域中的保留8位。
關于NVGRE、VXLAN,微軟做了什么?
Martn Casado認為,VXLAN和NVGRE還是有發(fā)展空間的。但他同時指出沒有哪個標準完全成熟——網絡虛擬化沒有完整的答案。目前兩種標準的多點傳送功能有限,并且只支持2層的邏輯網絡。隨著標準的成熟,它們非常有可能提高控制能力。
相關新聞:【更多新聞】