網(wǎng)絡(luò)虛擬化—互聯(lián)網(wǎng)的下一波革命
最近幾天開(kāi)放網(wǎng)絡(luò)峰會(huì)(Open Networking Summit)的召開(kāi)掀起了一股軟件定義網(wǎng)絡(luò)(SDN)和OpenFlow的報(bào)道熱潮。很多人相信,軟件定義網(wǎng)絡(luò)和OpenFlow主導(dǎo)的網(wǎng)絡(luò)虛擬化必將引發(fā)互聯(lián)網(wǎng)的下一場(chǎng)革命。
成立于5年前的Nicira被認(rèn)為是硅谷最吸引人的初創(chuàng)企業(yè)。簡(jiǎn)單來(lái)說(shuō)Nicira是一家網(wǎng)絡(luò)虛擬化公司,它的任務(wù)是把內(nèi)核從網(wǎng)絡(luò)硬件移植到軟件中。這家公司的使命是建設(shè)只存在于軟件之中的網(wǎng)絡(luò),使得底層的網(wǎng)絡(luò)硬件對(duì)于網(wǎng)絡(luò)用戶來(lái)說(shuō)不可見(jiàn)。從而讓網(wǎng)絡(luò)的組建、改造、重建都易如反掌,最最終支撐web上最大規(guī)模的服務(wù)(想想物聯(lián)網(wǎng)的規(guī)模)。
其CTO為Martin Casado,此人聰穎過(guò)人,是OpenFlow(參見(jiàn)OpenFlow能否成為網(wǎng)絡(luò)的Android?)第一份規(guī)范草案的擬定者。Martin Casado的愿景是網(wǎng)絡(luò)可以像計(jì)算機(jī)一樣可編程。
▲martin-casado
他認(rèn)為既然誰(shuí)都可以買(mǎi)一堆計(jì)算機(jī)然后投入一群軟件工程師去做出一些了不起的東西,那么網(wǎng)絡(luò)也理應(yīng)如此。理想的網(wǎng)絡(luò)架構(gòu)應(yīng)該具備計(jì)算機(jī)的靈活性,可適用于任何網(wǎng)絡(luò)硬件,換句話說(shuō),應(yīng)該有一種通用網(wǎng)絡(luò)操作系統(tǒng),在此平臺(tái)下,硬件只負(fù)責(zé)收發(fā)網(wǎng)絡(luò)數(shù)據(jù)包,由軟件負(fù)責(zé)思考。
Nicira的平臺(tái)用戶包括AT&T、eBay、NTT、金融巨頭Fidelity以及僅次于Amazon的云服務(wù)供應(yīng)商Rackspace。還有一些雖不具名但絕對(duì)是大名鼎鼎的互聯(lián)網(wǎng)公司。
為什么這些公司愿意跟Nicira合作?因?yàn)楫?dāng)今的硬件網(wǎng)絡(luò)的改造難度已經(jīng)到了荒謬的地步。Yahoo的前CTO Raymie Stata把復(fù)雜的計(jì)算機(jī)網(wǎng)絡(luò)比作是15 Puzzle游戲(有點(diǎn)類似華容道,必須在16個(gè)格子的正方形中重新安排15個(gè)方格塊),一旦要對(duì)網(wǎng)絡(luò)做出調(diào)整,就得就硬件進(jìn)行物理性地重新安排。
Nicira的做法就是網(wǎng)絡(luò)虛擬化,用軟件實(shí)現(xiàn)網(wǎng)絡(luò)調(diào)整,底層的硬件引擎無(wú)需改動(dòng)。其實(shí)就是把交換機(jī)和路由器里面的智能部分取出移到軟件上,這樣交換機(jī)就不需要知道太多東西。Nicira自2009年以來(lái)就一直跟Rackspace在合作,為后者的一項(xiàng)云服務(wù)新的beta版提供幫助。使得網(wǎng)絡(luò)架構(gòu)師把云服務(wù)的大權(quán)讓位給了云架構(gòu)師。
傳統(tǒng)網(wǎng)絡(luò)的問(wèn)題:有史以來(lái)最安全網(wǎng)絡(luò)的麻煩
Martin Casado曾跟一家不具名的美國(guó)情報(bào)機(jī)構(gòu)工作過(guò),該機(jī)構(gòu)的網(wǎng)絡(luò)被他認(rèn)為是有史以來(lái)最安全的計(jì)算機(jī)網(wǎng)絡(luò)。但該網(wǎng)絡(luò)的麻煩是建設(shè)這樣的網(wǎng)絡(luò)近乎不可能,而且一旦想要改動(dòng)網(wǎng)絡(luò),同樣的問(wèn)題還會(huì)再次出現(xiàn)。
這個(gè)事件給Casado的啟示是市場(chǎng)的力量缺位,盡管政府有錢(qián)卻買(mǎi)不到想要的產(chǎn)品—安全和易于管理的網(wǎng)絡(luò)。他舉了個(gè)例子,改動(dòng)一臺(tái)計(jì)算機(jī)就得進(jìn)行8項(xiàng)不同的配置變更,所以基本上這樣的網(wǎng)絡(luò)搭建好之后什么都不能動(dòng)。
網(wǎng)絡(luò)設(shè)備制造商不允許對(duì)硬件進(jìn)行重新編程,代碼都是直接寫(xiě)進(jìn)交換機(jī)或著路由器的。當(dāng)然,他們這么做也是由原因的,用戶買(mǎi)一個(gè)東西回來(lái)當(dāng)然希望插上電就能用,另外網(wǎng)絡(luò)公司也不希望因?yàn)橛脩粜薷亩鴮?dǎo)致網(wǎng)絡(luò)癱瘓。但是這種限制會(huì)給網(wǎng)絡(luò)的擴(kuò)容改造帶來(lái)大問(wèn)題。而對(duì)于業(yè)務(wù)規(guī)模不斷擴(kuò)大的大型互聯(lián)網(wǎng)公司來(lái)說(shuō),這樣的情況是常有的事。
Google從2005年開(kāi)始甚至開(kāi)始自己造網(wǎng)絡(luò)硬件,部分原因就是由于它需要對(duì)硬件能夠有更多的控制。服務(wù)器之間需要高帶寬的連接,同時(shí)網(wǎng)絡(luò)還需要能夠伸縮自如。傳統(tǒng)的網(wǎng)絡(luò)設(shè)備供應(yīng)商做不到這一點(diǎn),成本過(guò)高,系統(tǒng)太封閉,以Google的這種網(wǎng)絡(luò)規(guī)模是其無(wú)法管理的。
所以Martin Casado到了斯坦福大學(xué)研究生院后就開(kāi)始著手建設(shè)一種靈活的、能夠像計(jì)算機(jī)一樣可編程的網(wǎng)絡(luò)。
通心面式代碼之死
Casado的博士論文題目是《一種名為Ethane的網(wǎng)絡(luò)架構(gòu)》,該論文得到了Nick McKeown 、Scott Shenker的幫助,2007年,這三人成立了Nicira。而這一年正好是是軟件定義網(wǎng)絡(luò)的元年。
SDN追求的目標(biāo)是更好地控制網(wǎng)絡(luò),即把網(wǎng)絡(luò)控制模塊化,對(duì)網(wǎng)絡(luò)控制平面進(jìn)行適當(dāng)?shù)能浖橄螅怪裳葸M(jìn)。
SDN的第一個(gè)突破就是OpenFlow,這是一種遠(yuǎn)程控制交換機(jī)和路由器的標(biāo)準(zhǔn)方式??梢岳斫鉃橐环N通用語(yǔ)言或指令集,有了它就可以編寫(xiě)網(wǎng)絡(luò)的控制程序而無(wú)需為每一臺(tái)路由器重寫(xiě)代碼。OpenFlow的大旗一扯,眾人即集結(jié)在其鞍前馬后,其中不乏業(yè)界的大佬,如Google、HP、NEC、愛(ài)立信等,眾多媒體都把它稱為是將網(wǎng)絡(luò)帶出野蠻的中世紀(jì)的救主。
不過(guò)有一點(diǎn)比較麻煩,如果硬件供應(yīng)商不把OpenFlow加入自己的設(shè)備的協(xié)議支持清單,那么OpenFlow就無(wú)法在交換機(jī)和路由器上使用,就只能叫好不叫座。從結(jié)構(gòu)和標(biāo)準(zhǔn)的角度來(lái)看,OpenFlow無(wú)疑是重要的,但是從架構(gòu)的角度而言卻并非如此,因?yàn)楦匾慕M件關(guān)心的是協(xié)調(diào)交換機(jī)的活動(dòng),以便行為能夠連貫協(xié)調(diào)。
OpenFlow的終極目標(biāo)不是更好地管理網(wǎng)絡(luò)硬件,而是創(chuàng)建一種無(wú)需關(guān)心硬件即可組網(wǎng)的軟件架構(gòu),也就是說(shuō)實(shí)現(xiàn)組建虛擬網(wǎng)絡(luò)的能力。
所以這家公司決定推出自己的解決方案—網(wǎng)絡(luò)虛擬化平臺(tái)。
網(wǎng)絡(luò)虛擬平臺(tái)(NVP)
Nicira經(jīng)常被用來(lái)跟VMware類比,大家都是從斯坦福的研究孕育而出的(這正是硅谷成功的三大秘密之一,參見(jiàn)創(chuàng)新大師Steve Blank訪談);大家做的都是虛擬化,后者是服務(wù)器的虛擬化,前者則是網(wǎng)絡(luò)的虛擬化。虛擬層可以屏蔽底層硬件的復(fù)雜性。
VMWare、Xen和KVM等也有虛擬化的努力,也實(shí)現(xiàn)了虛擬交換機(jī),不過(guò)這些虛擬交換機(jī)功能有限,無(wú)法將多個(gè)虛擬交換機(jī)互連起來(lái)形成一個(gè)復(fù)雜的虛擬網(wǎng)絡(luò)。
而Nicira的做法是在物理硬件之上加載一個(gè)虛擬網(wǎng)絡(luò)平臺(tái),這個(gè)平臺(tái)由虛擬交換機(jī)Open vSwitch和控制器組成。這個(gè)虛擬交換機(jī)是開(kāi)源的,可以對(duì)任何人開(kāi)放使用,虛擬交換機(jī)之間的連接由控制器進(jìn)行管理。
#p#
Nicira的解決方案是解耦、獨(dú)立、控制。
(一)解耦
所謂解耦是指將網(wǎng)絡(luò)的控制從網(wǎng)絡(luò)硬件中脫離出來(lái),交給虛擬的網(wǎng)絡(luò)層處理。這個(gè)虛擬網(wǎng)絡(luò)層加載在物理網(wǎng)絡(luò)之上,在一個(gè)虛擬的空間重建整個(gè)網(wǎng)絡(luò)。有了網(wǎng)絡(luò)虛擬化,物理網(wǎng)絡(luò)被泛化為網(wǎng)絡(luò)能力池,正如服務(wù)器虛擬化把服務(wù)器設(shè)備轉(zhuǎn)化為計(jì)算能力池。

網(wǎng)絡(luò)虛擬化使得IP連接大為簡(jiǎn)化,對(duì)物理網(wǎng)絡(luò)的要求也大幅降低,二層網(wǎng)絡(luò)的復(fù)雜性不復(fù)存在,VLAN變得無(wú)關(guān)緊要。
(二)獨(dú)立
加載的這層虛擬層無(wú)需現(xiàn)有的框架做出任何改變,原有網(wǎng)絡(luò)硬件、原有的服務(wù)器虛擬化解決方案、原有的云管理系統(tǒng)、原有的IP都不需要改變:

(三)控制
NVP有兩類關(guān)鍵組件:
一個(gè)是Open vSwitch,這個(gè)東西是一種可以遠(yuǎn)程控制的交換機(jī)軟件。其部署方式有兩種,一種是部署在服務(wù)器的管理程序(Hypervisor)內(nèi),另一種是NVP網(wǎng)關(guān),這個(gè)通常用來(lái)集成遺留的物理網(wǎng)絡(luò)。
其二是控制器集群,運(yùn)行在服務(wù)器上,管理所有的網(wǎng)絡(luò)組件和連接。

從商業(yè)上看,其最大的優(yōu)勢(shì)是不需要底層硬件支持OpenFlow,這樣不管硬件廠商如何抵觸也無(wú)法阻止網(wǎng)絡(luò)虛擬化的腳步。
如果你不能打敗敵人,那就加入他們。舊體系的霸主思科似乎也看清了這一點(diǎn),目前也正在開(kāi)發(fā)類似的技術(shù),服務(wù)器虛擬化的巨頭VMWare也要染指。不過(guò)Nicira堅(jiān)信自己領(lǐng)跑的優(yōu)勢(shì)明顯。
虛擬化一切
Nicira的平臺(tái)對(duì)于Rackspace這樣的機(jī)構(gòu)尤其合適。Rackspace的定位是基礎(chǔ)設(shè)施云(IaaS),為全球眾多的開(kāi)發(fā)者和企業(yè)提供虛擬服務(wù)器和存儲(chǔ)服務(wù),有了虛擬網(wǎng)絡(luò)的支持,Rackspace可以把自己的客戶限定在不同的虛擬網(wǎng)絡(luò)中,保證安全。
但是Yahoo前CTO Raymie Stata質(zhì)疑其對(duì)于單租戶大網(wǎng)絡(luò)的客戶意義不大。比方說(shuō)Facebook,雖然其網(wǎng)絡(luò)很大,但是自身并不需要?jiǎng)澐帜敲炊嗟奶摂M網(wǎng)。
Casado不同意這種說(shuō)法。他說(shuō)大公司的內(nèi)部運(yùn)營(yíng)很復(fù)雜,盡管公司內(nèi)部的網(wǎng)絡(luò)資源不需要與外部共享,但是共享還是存在的,那就是內(nèi)部眾多的不同應(yīng)用。應(yīng)用不一樣,部門(mén)不一樣,對(duì)網(wǎng)絡(luò)的需求也不一樣,但是網(wǎng)絡(luò)資源必然是共享的。像Google這樣的公司,其運(yùn)作模式跟Racspace和Amazon不會(huì)有太大差別,只不過(guò)前者是私有云,后者是公有云罷了。云者,其實(shí)就是大規(guī)模資源不受時(shí)間、地點(diǎn)、大小限制的靈活調(diào)配,只不過(guò)之前的云只有計(jì)算和存儲(chǔ)的虛擬化能力,但是網(wǎng)絡(luò)的靈活調(diào)配是個(gè)短板,現(xiàn)在Nicira出來(lái)補(bǔ)缺了。
網(wǎng)絡(luò)設(shè)備商必將日漸式微
現(xiàn)在,許多最大型的互聯(lián)網(wǎng)公司,包括Google在內(nèi),已經(jīng)開(kāi)始自造網(wǎng)絡(luò)(參見(jiàn)隨大“流”:Google秘密轉(zhuǎn)向網(wǎng)絡(luò)技術(shù)的下一個(gè)浪潮)。他們的做法是向中國(guó)和臺(tái)灣地區(qū)的制造商購(gòu)買(mǎi)一些廉價(jià)的網(wǎng)絡(luò)引擎,從而繞開(kāi)思科和Juniper這樣的耗錢(qián)大戶,此舉導(dǎo)致了網(wǎng)絡(luò)商品化和芯片批發(fā)商的逐漸興起。而現(xiàn)在,有了網(wǎng)絡(luò)虛擬化平臺(tái)的支持,由于底層硬件的無(wú)關(guān)性,這股趨勢(shì)只會(huì)延續(xù)和擴(kuò)大下去。
思科也在開(kāi)發(fā)自己的網(wǎng)絡(luò)虛擬化工具,思科跟Nicira一樣加入了OpenStack的網(wǎng)絡(luò)虛擬框架的建設(shè)工作。(OpenStack是建設(shè)基礎(chǔ)設(shè)施云的一個(gè)開(kāi)源平臺(tái)。)
不過(guò)Casado不看好傳統(tǒng)網(wǎng)絡(luò)供應(yīng)商愿意全心投入網(wǎng)絡(luò)虛擬化。因?yàn)檫@就好像是搬起石頭砸自己的腳。看看歷史,有哪個(gè)占優(yōu)勢(shì)地位的公司愿意做一個(gè)可以兼容其他廠家任何類型產(chǎn)品的東西呢?他們也許會(huì)做做樣子,但是具體的實(shí)際意義的事情肯定不會(huì)干。
Casado相信傳統(tǒng)的網(wǎng)絡(luò)硬件上必將日漸式微。思科和Juniper等,會(huì)慢慢變得無(wú)足輕重。