本文我們將討論如何通過軟件定義網絡控制面板整合虛擬和物理交換層。
私有云網絡網絡必須在靈活性和動態性上優于傳統網絡。實際上,私有云必須使用軟件定義網絡,建立一種服務與底層虛擬和物理基礎架構相分離的網絡,最終實現網絡即服務(NaaS)。
然而,除了專有的實現技術,想要在使用多個供應商和多種虛擬機管理程序的私有云中實現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是一個虛擬結構,無法連接到一些物理設備,如防火墻、負載均衡器等。
SDN能否解決私有云網絡的VLAN問題?
除了VXLAN和NVGRE,我們還需要一個強大的控制面板,用于整合虛擬和物理交換機。在開放標準方面,最令人興奮的是開放網絡基金會(ONF)的OpenFlow項目。OpenFlow將控制應用程序(控制器)從底層數據程序(交換機)剝離。
OpenFlow將會采用一種全新方法,實現虛擬和物理交換機之間的數據包轉發,從而不需要封裝、標記和VLAN,但是仍然支持多租賃、VM移動和可擴展性。這將真正成為交付NaaS作為私有云一部分的SDN。
但是,關鍵詞是“將來”,因為OpenFlow實現仍在變化中,而且進展不快。重點在于交換機供應商對SDN/NaaS和OpenFlow的支持。我們需要在私有云網絡中拋棄VLAN。VXLAN和NVGRE是其中關鍵的部分,但是它們不是最終的解決方案。