以SDN為基礎 打造商用網路虛擬化
伺服器虛擬化以及雲端運算概念仍在持續發展中,近來更進一步朝向網路環境延伸,網路虛擬化(Network Virtualization)逐漸成為新一代資料中心的組成架構之一。
只是,一向強調穩定性與可用性的網路為什麼要被虛擬化?VMware網路虛擬化平台技術顧問陳建民解釋,對於欲實現雲端運算概念,以提供雲端服務的企業,像是多租戶(Multi-Tenancy)的應用,傳統網路架構已不足以因應,開始出現瓶頸。「相信很少人遭遇過Layer 2 VLAN的可配置上限。在傳統網路部署環境中,可用VLAN的上限是4,094個ID,然而,這對於以雲端運算服務為業務核心的資料中心而言,是遠遠不夠的。」
以現在的技術來看,可能會採用VLAN的Trunking來解決,但接下來卻會面臨Trunking打通後,全部的網路設備不論是否為所屬管轄範圍,皆必須要彼此同步學習訊息,很快的就會造成存放MAC位址的TCAM記憶體發生Overflow,導致網路出現不穩定的狀況,即使是TCAM被加大仍有其應用上限。而近年來被稱為是新一代網路架構的軟體定義網路(Software Defined Network,SDN),即可讓VLAN數量不足等問題獲得解決,因為SDN架構本身就已具備橫向擴展(Scale-Out)、大量部署的能力。
OpenFlow潛在瓶頸
SDN這個透過軟體來定義的網路環境,實現方式是由控制器(Controller)來定義運作程序,再發佈到交換器依據指示來執行,因此架構上需具備兩個基本組件:控制器軟體安裝在x86平台,以及可支援OpenFlow協定的交換器(或稱為Edge端)。
陳建民提到,目前市場上已有許多廠商提供控制器軟體,包括Big Switch、NEC、HP,以及剛被VMware買下的Nicira。而交換器只要可支援主流協定OpenFlow,即可跟控制器溝通,讓SDN架構開始運作。
▲OpenFlow的兩種運作模式:Hop-by-hop與Overlay,其中Overlay透過建立Layer 2 over Layer 3通道,取代Hop-by-hop以VLAN為基礎的傳輸。(資料來源:NTT Technical Review) |
OpenFlow是一個基於Layer 2運作的開放標準協定,將封包傳送的路徑稱為Flow。目前被區分為Hop-by-hop與Overlay(又稱Network Hypervisor)兩種模式。陳建民解釋,Hop-by-hop是OpenFlow最早採用的模式,每當OpenFlow交換器收到一個新的Flow產生時,必須把每一個新的Flow的第一個封包(Packet)發給控制器,再由控制器去指示交換器應有的動作,如此來回,控制器必須要去承受資料流的壓力,較容易造成效能瓶頸。因為控制器在SDN架構中的角色只是一個軟體處理程序,而不是一個硬體,就算是被設計成交換器的高速硬體式架構,但由於全部資料流都得經過它,不僅要解析封包、發佈,還要做修正,都得依賴CPU進行,若規模小的架構還可行,但若是大型資料中心則很容易就不堪負荷。
此外,Hop-by-hop運作模式下還會存在擴充方面的問題,就算控制器本身具備叢集(Cluster)能力,伴隨著網路逐漸增大,相對所承受的流量壓力也會變重。「因此企業運作環境要導入這種新興技術,除了交換器全部要改成可支援OpenFlow才可運作,另一個隱憂即是效能瓶頸問題。有一個較具指標性的觀察,就是全球企業營運環境,應該還找不到採用Hop-by-hop模式的SDN架構,至今仍是學術研究階段。」陳建民觀察。
可商轉Overlay模式
OpenFlow的另外一種Overlay模式,也是Nicira採用的方式,配置上的差異在於Edge端的交換器可以是傳統硬體設備或軟體式,而軟體式即為Nicira自行研發的OVS(Open vSwitch)。OVS是Nicira主導的開放原始碼專案,像是KVM、Xen等開放平台皆有提供支援,因為這些平台缺乏網路的堆疊(Stack),無法提供較進階的網路功能,因此OVS即可讓這些開放平台也可以做到類似傳統交換器的功能。
而OVS區分為開放原始碼版與商業版,Nicira中採用的OVS即是商業版,當中包含VMware針對驅動層、運算資源等方面的強化,以及技術支援,才能確保企業運用環境的穩定度。在Nicira架構中的OVS,並不只是一個軟體式交換器裝在Hypervisor上,而是一個混合型,也就是同時可擔任OpenFlow的代理程式。
安裝在Hypervisor上的OVS,具有標準交換器與OpenFlow Agent功能,目前支援VMware的VSA(vSphere Storage Appliance)、Citrix XenServer、KVM等虛擬化技術。一旦有新增加的虛擬主機產生,OVS會自動通知控制器,因此控制器所用來記錄的OpenFlow路由表(Flow Table)中,就會增加這一筆資料。若要去定義這些網路,只要透過API指令,控制器就會從資料庫中建立SDN架構的條件。
用VXLAN串聯網路層
陳建民舉例,在交換器資料表記載Network Virtualization 1有VM1與VM3虛擬主機,Network Virtualization 2有VM2,該紀錄會回報給控制器,以便IT人員根據現有的資源去定義網路,可能Network Virtualization 1含有安全、QoS控管政策、Network Virtualization 2則只有一般Layer2/Layer3政策而已。定義完成後,控制器會發佈到每一個OVS,於是在OVS中就會擁有各自的資料表,之後就可以根據這份資料表的規則,去建立Layer 2 over Layer 3通道(Tunnel),透過VXLAN(Virtual Extensible LAN)協定,未來在Layer 3還可進一步串起生態系統,像是防火牆、網路安全設備等廠商,即可在IP環境中的任何位置交換彼此的訊息。
如此一來,以後任何新產生的Flow,不需要再回報控制器,只有當新的虛擬主機產生時,才會跟控制器通報以存入OpenFlow路由表,但虛擬主機要不要啟用網路、如何應用,則是依據IT人員給予定義才會有作用。至於控制器本身則採用平行運算,叢集(Cluster)機制是三台Active/Active架構,來維持網路運作的穩定性。
「這也就是Nicira得以商業化,且在全球已經有應用案例的重要因素。為了實現SDN概念,Nicira花了四年研發Overlay的運作模式,所提供的並非是傳統網路硬體,而是網路作業系統,而這也就是VMware肯花12.6億美金買下Nicira的主因。」陳建民強調。
就實務面來看SDN架構,現階段除非像是電信等級的資料中心才能發揮其效益,目前距離多數企業的應用環境還很遙遠,但畢竟是多數網路解決方案供應商未來的發展方向,仍舊值得持續關注。
轉載自《網管人》
沒有留言:
張貼留言