然而,除了專有的實現技術,想要在使用多個供應商和多種虛擬機管理程序的私有雲中實現NaaS/SDN,我們還需要解決很多問題。
私有雲網絡:管理覆蓋虛擬和物理設備的VLAN
首先,私有雲網絡具有兩個交換層:虛擬交換層和物理交換層。物理交換機是我們20多年來壹直使用的以太網交換機。虛擬交換層是各種虛擬機管理程序的組件。大多數虛擬機管理程序架構都通過壹個通用控制面板連接虛擬交換機,構成壹個大型的分布式虛擬交換機。市面上現有的壹些改進的虛擬交換機,以及仍在不斷發展的開放系統虛擬交換機都是:Open vSwitch。
虛擬和物理交換機仍然是兩個不同的網絡實體,它們必須壹同實現私有雲。大多數網絡架構師使用VLAN連接這兩種設備,但是這要求物理和虛擬交換機處於鎖步狀態。
壹種可行的方法是,在配置數據中心的所有線路和端口上配置所有可能的VLAN。然而,這種萬能方法可擴展性很差,而且具有非常大的配置錯誤風險,以及可能存在安全性和合規性問題。另壹個方法是實現壹種VLAN學習解決方案,動態管理虛擬和物理網絡的VLAN,特別是在VM發生遷移的時候。有壹些解決方案很好用,但是它們是私有的。邊緣虛擬橋接(EVB) IEEE 802.1qbg是壹個正在開發的VLAN學習和映射標準。
NVGRE和VXLAN:支持3層協議VLAN
私有雲網絡VLAN必須使用大規模橋接技術,才能支持VM遷移和通信。這種方法可擴展性差,也不支持3層協議負載分發。為了解決這些VLAN問題,目前有兩個得到多個供應商支持的協議可以使用:VXLAN (Virtual Extensible LAN)和NVGRE (Network Virtualization using Generic Routing Encapsulation)。VXLAN和NVGRE是IFTF草案協議,支持在IP層中封裝MAC層流量。通過利用更高層協議,我們就能夠在3層協議上分發負載,而VM仍然保留在2層網絡上。這種技術非常不錯,因為它打破了位置與身份之間的固有聯系。這意味著,即使VM移動了另壹個子網,它仍然能夠保留原來的IP地址。這種方法可行,但是性能可能會受到壹些影響。
VXLAN和NVGRE在私有雲網絡中應用的缺點
對於實現更為動態和更具可擴展性的私有雲網絡而言,VXLAN和NVGRE的出現是壹個很大的進步,但是它們也不是完整的解決方案。它們是封裝的協議,還不具備控制面板。相反,它們還依賴於其他的網絡功能。例如,VXLAN依賴於與協議無關的多路廣播(UDP PIM),而且建立VM之間的通信必須通過2層淹沒和動態MAC地址學習實現。
而且,VXLAN和NVGRE還無法解決在核心網絡擴展2層域所面對的基礎問題:“網絡長號”。即使兩個VM位於同壹個交換機上,流量仍然需要先轉發到核心網絡,然後到達目的地,感覺就像是樂器長號的管子壹樣。這就像是在使用學生火車優惠票壹樣,原先住在城市A,後來搬家到城市B,但是如果壹定要享受優惠,您也只能先買到城市A的票,然後再去新家所在的城市B。這樣的架構效率很低,而且無法擴展。最後,VXLAN是壹個虛擬結構,無法連接到壹些物理設備,如防火墻、負載均衡器等。
除了VXLAN和NVGRE,我們還需要壹個強大的控制面板,用於整合虛擬和物理交換機。在開放標準方面,最令人興奮的是開放網絡基金會(ONF)的OpenFlow項目。OpenFlow將控制應用程序(控制器)從底層數據程序(交換機)剝離。
OpenFlow將會采用壹種全新方法,實現虛擬和物理交換機之間的數據包轉發,從而不需要封裝、標記和VLAN,但是仍然支持多租賃、VM移動和可擴展性。這將真正成為交付NaaS作為私有雲壹部分的SDN。
但是,關鍵詞是“將來”,因為OpenFlow實現仍在變化中,而且進展不快。重點在於交換機供應商對SDN/NaaS和OpenFlow的支持。我們需要在私有雲網絡中拋棄VLAN。