VXLAN標準初探:擴展VLAN 支持遠距離VM遷移

本文摘要

VXLAN標準將創建一個邏輯網絡,支持地理分散的數據中心之間實現遠距離虛擬機(VM)遷移。VXLAN最終會實現多租戶雲網絡所需要的遠距離分割支持。

  思科與VMware在本月提出的虛擬可擴展VLAN(Virtual Extensible VLAN,VXLAN)標準將創建一個邏輯網絡(或擴展VLAN),支持地理分散的數據中心之間實現遠距離虛擬機(VM)遷移。VXLAN最終會實現多租戶雲網絡所需要的遠距離分割支持。

  思科與VMware已經合作將VXLAN標準整合到產品中,但是這個由思科、VMware、Arista網絡、Broadcom公司、Citrix系統和紅帽等公司共同制定的VXLAN草案仍然有待互聯網工程工作小組(IETF)標準化。

  爲什麼需要VXLAN標準?

  VLAN很早就被用來分隔數據流,但是IEEE 802.1Q VLAN規範僅支持4,094個VLAN標識符。一個頂級機架交換機可能會連接40多臺服務器。每一臺服務器可能運行多個VM,每一個VM都會與多個VLAN通信。而數據中心可能包含許多個機架交換機,所以VLAN總數可能會超過4,094。此外,由一個應用程序組成的VM可能位於地理位置不同的數據中心。這些VM必須通過2層網絡連接,所以VLAN標識符必須在地理上保證唯一性。

  VXLAN標準實現應用程序數據分離

  這個RFC草案所描述的VXLAN標準使用一個名爲VXLAN網絡標識符(VNI)的24位標識符,將與應用程序關聯的VLAN分組到一個片段中。每一個管理域能夠定義多達1600萬個VNI,而每一個VNI可能最多包含4,094個VLAN。客戶數據會保證分離,因爲只有運行在同一個VNI的VM可以進行通信。

  對VM可見的2層網絡是通過3層網絡的UDP數據報文進行傳輸的。這使數據中心可以在不同的IP子網中運行。VM只能訪問2層網絡,所以應用程序中的VM可以從一個數據中心遷移到另一個數據中心,而不需要對重新分配VM或者其他應用程序的VM可見。

  VXLAN環境中的VM通信

  VM軟件不需要修改就能夠在一個VXLAN環境中運行。通過一個虛擬通道終端(VTEP),就可以將VNI分配給服務器上所運行的VM。VTEP位於服務器的虛擬機管理程序上,負責生成指定VNI及進行3層網絡通信的頭信息。

  爲了與片段中其他的VM進行通信,VM會創建與非VXLAN和非虛擬環境相同的數據包。數據包由標準MAC幀及以太網頭信息、源與目標MAC地址和以太網類型構成。如果VM使用多個VLAN,則會加入一個VLAN標記。

  然後,支持VM的VTEP將數據包封閉在一個8位VXLAN頭信息中。這個頭信息包含一位VXLAN標記,而24位VNI以及另外39位則保留爲將來使用。返回的數據包會封裝在一個UDP數據包中。目標IP地址是一個VTEP地址,數據包可以到達這個地址。源IP是發送端VTEP的地址。

  最後,數據包被封裝在一個外在以太網數據包中,它帶有目標服務器或轉發數據包的路由器的目標MAC。

  VM之間的通信需要IP多路廣播技術支持

  當VM與其他VM進行通信時,它運行的環境與非VXLAN環境類似。如果目標子網位於同一個子網,它會爲目標生成一個ARP請求廣播。如果它們位於不同的子網,它會向第一跳路由器發出一個ARP。VTEP在VXLAN和UDP頭信息封裝了ARP請求,然後將廣播數據包發到通信VM所在的VXLAN片段的關聯IP多路廣播分組。

  支持目標VM的VTEP會去掉UDP和VXLAN頭信息。將這個ARP請求發送到VM,然後由它響應這個請求。當響應到達源VTEP和VM時,VTEP和VM都會獲得需要進行通信的IP和MAC地址。後續的通信會在VTEP之間進行傳輸,而不需要使用多路廣播。

  在其他一些情況下,VM需要進行VXLAN環境以外的通信。VXLAN網關會取下VXLAN和UDP的頭信息,將這個數據包轉發到VM所發數據包的目標MAC上。無論是源VM或是目標設備都需要在修改之後纔可參與這個交互。而VXLAN網站可以在軟件、交換機或路由器上實現。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章