“無招勝有招”聽起來非常虛無,卻是武俠世界第一高手獨孤求敗的成功秘訣。他從利劍無意、軟劍無常、重劍無鋒到木劍無滯、無劍無招,“四十歲后,不滯于物,草木竹石均可為劍。自此精修,漸進至無劍勝有劍之境。”
與練劍的境界相似,數據中心也正在經歷從有形重劍到無劍無招轉變的過程。用戶把更多的注意力放在業務上,可以較少的關注這些業務運行在哪臺具體的設備上。帶來這一改變是正在進行的虛擬化進程。這個過程并非始于今日,但是,卻在最近迎來了大發展。
網絡虛擬化并不是一種全新的技術。現在廣泛應用在網絡的VLAN(Virtual Local Area Network,虛擬局域網)和VRF(VPN Routing/Forwarding,虛擬路由與轉發)都是虛擬化應用在網絡的積極嘗試。VLAN是根據實際需求,把同一物理網絡的不同用戶邏輯地分成不同的域來傳輸和管理,最多可將網絡劃分為4094個廣播域。從而在控制流量、提高設備使用效率、簡化網絡管理以及提高網絡安全性方面得到更好的實現。
但是,傳統的網絡虛擬化技術在現在大量使用服務器虛擬化之后,顯得捉襟見肘。多租戶環境下,每個租戶都需要多個VLAN,而VLAN數量是有限制的,其構建的網絡規模非常有限。而通過附加技術擴展VLAN之后,會增加運營成本以及網絡復雜程度,帶來隱患。
VRF是三層網絡虛擬化的一種,是VPN的一個實例。物理路由器支持多個虛擬路由實例,每個實例都運行自己的路由協議實例,維護自己的轉發表。
如果把這些傳統技術看作是虛擬化1.0版本的話,那么現在我們要談論的就是虛擬化2.0版本。當我們重新面對網絡虛擬化這一概念的時候,發現這已經是一個沒有定義邊界的話題。似乎網絡虛擬化是個筐,什么都可以往里裝。大二層的技術與之相近,SDN也與之有關,此外,FCoE也可以說是某種意義上的虛擬化,更不要說本來就有的VEPA等標準和vSwitch等應用了。
網絡虛擬化是什么?“理論上來說,能夠實現網絡資源動態調配、動態管理的技術都可以算做是網絡虛擬化技術。” 戴爾公司大中華區網絡業務總監李海平總結說。如果分成步驟來看,“網絡虛擬化基本上分成二個部分。第一部分是網絡基礎架構本身的虛擬化,比如原來單一的網絡可以虛擬化成多個網絡;原來多個單一的網絡單元也可以虛擬成單一網絡。第二部分指的是網絡提供與虛擬化服務器、儲存等數據中心環境適配的特性,這些特性包含與虛擬機的互動、虛擬機的識別、新興數據中心技術如 SDN、VXLAN等的支持。” 博科公司高級技術顧問沈之千說。而H3C則把網絡虛擬化分為了虛擬設備、虛擬通道和虛擬服務三個層次。虛擬設備技術類似計算虛擬化中的虛擬機,經常用到的 N:1虛擬化和1:N的設備虛擬化就屬于這一層次。虛擬通道是指網絡從過去的靜態虛擬化實現動態虛擬化,邊緣的虛擬化就是眾多技術典型的一種。在此基礎之上,實現虛擬服務,虛擬服務面向應用的對接。具體的部署當中,在物理網絡的基礎上,運用虛擬設備和虛擬通道的技術,實現虛擬網絡資源池,這個資源池和虛擬計算和虛擬存儲的資源池是對等的架構,這樣在構建虛擬資源池之后,再通過與自動化技術的結合,就可以給不同的應用分配動態虛擬通道。H3C解決方案部產品經理陸毅把虛擬化的概念從數據中心進一步擴充到園區網和廣域網,他說:“網絡虛擬化在園區網的作用就是精確定位用戶,而在廣域網的作用主要是屏蔽不同鏈路。” 神州數碼網絡(DCN)數據中心交換機產品線總經理陳翔把網絡虛擬化總結成四個方面,其一是物理網絡識別虛機更好的支持,識別虛機流量,可以實現更好的故障排除和QoS策略;其二是鏈路級別的虛擬化,比如FCoE;其三是設備的一虛多技術;最后是物理網絡虛擬為多個邏輯網絡提供了多租戶的應用需求。“我們認為第四點最重要,多租戶需求中要求每個租戶可以是一個SMB企業、或者個人用戶,他們有不同的帶寬需求,不同的安全策略需求,不同的VLAN劃分以及相互之間的隔離需求。”
網絡虛擬化會對網絡造成什么影響呢?陸毅說:“首先,是服務器虛擬化之后,為了解決服務器內部虛擬機之間以及虛擬機和外部網絡之間通信的需求,引入了vSwitch,可以視為邊緣網絡向服務器內部的延伸。但是vSwitch占用服務器性能、管理邊界不清晰,服務器內部虛擬機之間的流量不能很好的監控,都是vSwitch面臨的一些挑戰。針對這些問題,H3C的做法是把服務器內部的流量引出到外部傳統網絡來處理,這就是VEPA技術。通過VEPA把服務器內部流量引出之后,傳統網絡豐富的管理特性和硬件設備ASIC的高性能得以充分利用。網絡向服務器內部延伸對于運營商目前來說,IDC業務可能會有一些影響。但是對網絡流量的精細調度一直是網絡演進的方向。用SDN的方式可以直接和上層應用系統接口,這樣的實現方式可以更貼近應用的需求。”
在網絡虛擬化2.0技術中,不得不提到的技術有VXLAN、NVGRE、 STT和SPB MAC-in-MAC,TRILL等。這些技術基本上是采用封裝或者隧道的方式來創建虛擬網絡的。其中,SPB和TRILL的應用在《網絡世界》不久之前采寫過的《扁平化網絡迷局》進行了比較深入的探討。此外,在一些相對而言比較傳統的技術,也實現了虛擬化的功能。比如,思科有VSS、H3C有IRF技術、博科有VCS網絡架構、華為有CSS技術、極進網絡采用跨機箱鏈路捆綁技術、銳捷有VSU技術、神州數碼網絡有VSF技術、戴爾網絡的VLT技術等等。這些技術在實現設備虛擬化上都比較成熟的應用。
相對而言,VXLAN、NVGRE以及STT之前涉及的比較少,所以本次討論的重點就放在這三個技術上。這些覆蓋協議之間的主要差異在于其封裝格式和控制平面的功能性,即允許封裝設備將一個幀映射到適當的拆裝設備。
VXLAN是在一個三層網絡上借助MAC-in-UDP封裝,疊加一個二層網絡來實現網絡虛擬的。目前,VXLAN是IETF標準草案的一個子集,支持廠商有VMware、思科、Arista網絡、博科、紅帽和Citrix。IBM也支持VXLAN。在hypervisor vSwitch和物理交換機上實現這個預標準的現象已開始出現。
具體來說,VXLAN采用MAC-in-UDP封裝,包括24位網絡標識符,50個字節的開銷,可以提供16萬個邏輯網絡地址。對VM而言,VXLAN是透明的,仍然可以使用MAC來進行通信,理論上來說,同處于一個VXLAN網段的端點都可以進行通信,即使這兩個端點屬于不同的IP子網。這也就解決了一個問題,不使用大二層的構建技術也可以實現VM在較大網絡范圍的遷移和使用。
NVGRE與VXLAN非常類似,都是采用封裝的方式來達到在已有的三層IP網絡上承載二層網絡的目的。只是NVGRE采用的不是UDP封裝方式,而是GRE封裝。在主要支持廠商微軟看來,網絡的某些性能問題可通過智能網卡來解決,即用智能網卡卸載hypervisor vSwitch上的NVGRE端點處理。智能網卡還擁有與覆蓋控制器和hypervisor管理系統集成的API。在其中有一個起到重要作用的控制器,來解決控制平面遇到的一些問題。這種解決方案與現在大熱的SDN中的控制器有類似的效果。
SST是另外一種技術,其主要支持廠商是Nicira。與VXLAN和NVGRE相比,STT有較大的不同。其在IP報頭內使用了無狀態TCP類報頭,允許端系統的隧道端點利用駐留在服務器網卡上的TCP卸載引擎(TOE)的TCP分片卸載功能(TSO)。在控制平面上也缺乏具體的解決方案,現在來看這或許是短板,但是如果SDN能夠實現,那么這一問題的解決也就顯得非常自然了。
總結這三種技術,都并非是傳統網絡廠商主導的變革,而更多的感覺是從服務器虛擬化之后,從專業的虛擬化廠商角度提出的網絡變革方案,雖然有一定的硬件依賴,但是核心卻集中在軟件領域。是否從網絡出發的改變就沒有用武之地了呢?。華為企業網絡數據中心網絡專家潘灝濤的觀點是:“這其實是從原來IT和 CT兩個不同方向提供的兩個不同方案,VXLAN和NVGRE等技術更多是原有的IT廠商解決問題的方式,網絡虛擬化的主要功能部署在服務器操作系統內,適用于同構服務器的整合的場景,比如互聯網企業,服務器主要是同構的開源的Linux環境,并且具有很強的二次軟件開發能力,適用IT網絡虛擬化的方案。而從原有CT方向出發的TRILL,SPB以及包括華為的CSS技術等,則可以應用于服務器異構的場景中,可以應用于更為普遍的企業網場景。當然,IT方案中,也不是純粹軟件的方案,也需要網絡設備的配合。華為將針對客戶的不同需求,提供IT和CT的網絡虛擬化方案。”AVAYA亞太區數據網絡產品架構師 Gates Zeng的看法是這些技術會在各自的應用場景發展,完全替代的可能性很小。他總結說,從虛擬化廠商一端推出的解決方案往往是把問題在服務器一端,但很少考慮到網絡實現和支撐的問題,而從網絡廠商推出的方案來看,往往是希望從更大的范圍來全面的解決問題。
在進行網絡虛擬化和大二層的討論中,這兩個概念往往會糾結在一起,因為在構建在大二層網絡的時候,往往需要用到某些設備虛擬化的技術,前文我們已經提到每個廠商都有各自的解決方案。而被認為是大二層代表技術的SPB和TRILL本身其實也在實現網絡虛擬化的功能。但是,這是否就可以說大二層和網絡虛擬化是一回事兒呢?
沈之千認為:“大二層網絡產生的重要原因之一就是數據中心虛擬化要求大二層環境。網絡虛擬化和大二層技術都是下一代數據中心的重要組成部分,二者相輔相成。”李海平認為:“大二層屬于技術手段,而虛擬化是實現目標,從計算虛擬化、存儲虛擬化以及網絡虛擬化,最終實現端對端的架構虛擬化。”陸毅則把相似的三個概念SDN、大二層和網絡虛擬化比作是一體多面,其中SDN是大框架概念,側重用戶業務,滿足用戶需求,虛擬化是具體的技術實現,側重于技術層面,承接用戶需求,而大二層則是在細節實現。與陸毅看法類似,潘灝濤同樣認為大二層只是網絡虛擬化的一種實現方式,其本身擴展了服務器虛擬化資源池。阿爾卡特朗訊企業集團網絡產品中國區總監張小鵬認為這是在解決不同問題涉及到的不同解決方式,一些網絡虛擬化技術實現虛擬機漂移的支持需求是當初大二層設計的一個重要出發點。但大二層還帶來了扁平化的網絡設計,多鏈路負載均衡技術為云計算數據中心提高高吞吐率的東西向通信等。
SDN遠景美好卻非一日之功
SDN的提出,給原來的解決方案提供了用另外一種方式來解決問題的可能。在虛擬化廠商的角度來看,完全可以把與網絡的接口部分交給SDN控制器來實現,這從之前提到的三種網絡虛擬化技術上就可見一斑。
但變革性技術往往會承擔比較大風險,雖然現在表示支持SDN的網絡廠商已經逐漸增多,但是對SDN的擔憂仍然不少。Gates Zeng認為產品成熟需要過程,而在SDN中起到重要作用的控制器如果完美則SDN完美,反之亦然,此外在傳輸控制信息層面的問題也需要注意,還有網絡自適應的能力也有待加強。
在SDN的跟隨策略上,各個廠商也有不同。陸毅說:“H3C主要有三個方面,其一是通用API的開發,包括自定義開發網管等,其二是對 OpenFlow的支持,將兼容OpenFlow1.3版本,第三方面是Comware的工作。Comware提供了虛擬網絡開發環境,在虛擬服務的層面上具有重要意義。”而華為企業SDN的策略是多層次開放,包括設備層,資源層和業務層。但側重在北向開放環境的開放上,對用戶來講,一方面能夠抽象和屏蔽網絡的復雜,另一方面提供靈活的網絡定制和編程環境。而OpenFlow已經有部分用戶開始嘗試,“神州數碼網絡(DCN)和清華大學、中科院網絡中心合作開始構建基于openFlow的大型實驗局。目前,我們的DCRS-59/76/68系列已經全面支持OpenFlow。”陳翔說。“與其他公司提供單獨軟件不同相比,博科的做法有些不同,博科是推出將OpenFlow 嵌套于目前運行的多業務操作系統之中,并且提供混合模式,同一端口可以運行傳統轉發,也可以運行OpenFlow受制于控制器模式,并且可以提供 OpenFlow優先匹配,一旦匹配不成功,還可以回到傳統轉發模式;同時博科公司也是目前為數極少的提供線速OpenFlow轉發的(甚至是其100G 以太網線卡)設備供應商。”沈之千說。
百花齊放是似乎是更多人愿意看到的結果,對SDN謹慎的樂觀也是比較多的態度。Gates Zeng 說:“SDN不會消失,但是范圍會比較小,最終結果一定不會是只剩下SDN,多種技術都會有應用場景,網絡會變得更為智能。”但是,沈之千更為樂觀,他說:“網絡虛擬化是現階段網絡廠商提供的可靠、穩定和具有創新意義的下一代數據中心技術,而軟件定義網絡SDN技術是未來方向、也是業內正在探索的特性,目前能夠提供的廠商不多。通過SDN軟件定義網絡特性,用戶能夠更為靈活地定義和開發網絡虛擬化技術。”
銳捷網絡有限公司產品營銷部數據中心產品經理蔣波說:“網絡虛擬化是未來網絡的趨勢,但當前存在著標準不一,各廠家實現方式不一的問題。但與服務器虛擬化不太一樣的是,VMware在服務器虛擬化方面擁有著絕對的優勢,故造成了當前的以其為圓心的市場格局,而目前包括銳捷網絡在內的網絡設備廠商在網絡虛擬化方面各有特色,發展勢頭迅猛。未來是達成一致標準共同發展,還是各顯神通分散發展,關鍵在于標準、廠商、用戶三方的推動,現在下結論為時過早,我們認為SDN或許是未來網絡虛擬化的統一標準之一。”
目前來看,網絡虛擬化向前發展的動力仍然強勁,主要是服務器接入維度上需求越來越大,承載和適應虛擬機漫游和感知的需求,以及漫游之后的定位管理; 此外是網絡運營維度上,也就是用戶實用維度,在云計算之后,從自建到租用的趨勢。而SDN的成熟也需要時日,所以網絡虛擬化技術本身的發展應該仍會快速向前發展。極進網絡網絡顧問蘇和表示,網絡虛擬化的核心是在網絡設備中斷的時候,仍然能夠保證鏈路不中斷,在服務器和存儲等漂移時,仍然可以保證虛擬機網絡的通暢。而鏈路的通暢永遠都是網絡承載的核心使命。
虛實之道 適用王道
虛實之道,《孫子兵法》的《虛實篇》中有這樣的描述:“善用兵者,以虛為實;善破敵者,以實為虛。”可見,虛與實并非絕對,而是在應用中不斷轉化的過程。選擇適合當前最適合自己的戰術是一場戰爭勝利的關鍵,而在網絡領域中,選擇最適合自己的技術同樣是對業務支撐的王道。
誰會對網絡虛擬化有最強勁的需求呢?蔣波說:“需求最明顯的行業是對網絡健壯性、動態資源調整有較高要求的網絡,主要體現在政府、金融、互聯網、運營商等行業。目前來看,云計算、大數據、社交網絡將是未來幾年的熱點,這些業務對網絡虛擬化或多或少都會有持續的需求。”
我們毫不懷疑,數據中心的發展勢頭迅猛。基礎架構如何支持這種增長呢?虛擬化僅僅是其中的一部分。未來網絡可能還需要更多的特征。在諸多的特征中,如何選擇構建自己的網絡呢?用戶的疑惑應該是最大的,特別是在SDN提出更多可能的情況下。但是目前來看,SDN的發展雖然很快,但是仍有許多地方需要完善,如果現在就要構建網絡,那么成熟網絡技術是必然的選擇。而在未來的網絡構建中,也許就可以嘗試SDN帶來的種種便捷。