成立于5年前的Nicira被認為是硅谷最吸引人的初創企業。簡單來說Nicira是一家網絡虛擬化公司,它的任務是把內核從網絡硬件移植到軟件中。這家公司的使命是建設只存在于軟件之中的網絡,使得底層的網絡硬件對于網絡用戶來說不可見。從而讓網絡的組建、改造、重建都易如反掌,最最終支撐web上最大規模的服務(想想物聯網的規模)。
其CTO為Martin Casado,此人聰穎過人,是OpenFlow(參見OpenFlow能否成為網絡的Android?)第一份規范草案的擬定者。Martin Casado的愿景是網絡可以像計算機一樣可編程。
他認為既然誰都可以買一堆計算機然后投入一群軟件工程師去做出一些了不起的東西,那么網絡也理應如此。理想的網絡架構應該具備計算機的靈活性,可適用于任何網絡硬件,換句話說,應該有一種通用網絡操作系統,在此平臺下,硬件只負責收發網絡數據包,由軟件負責思考。
Nicira的平臺用戶包括AT&T、eBay、NTT、金融巨頭Fidelity以及僅次于Amazon的云服務供應商Rackspace。還有一些雖不具名但絕對是大名鼎鼎的互聯網公司。
為什么這些公司愿意跟Nicira合作?因為當今的硬件網絡的改造難度已經到了荒謬的地步。Yahoo的前CTO Raymie Stata把復雜的計算機網絡比作是15 Puzzle游戲(有點類似華容道,必須在16個格子的正方形中重新安排15個方格塊),一旦要對網絡做出調整,就得就硬件進行物理性地重新安排。
Nicira的做法就是網絡虛擬化,用軟件實現網絡調整,底層的硬件引擎無需改動。其實就是把交換機和路由器里面的智能部分取出移到軟件上,這樣交換機就不需要知道太多東西。Nicira自2009年以來就一直跟Rackspace在合作,為后者的一項云服務新的beta版提供幫助。使得網絡架構師把云服務的大權讓位給了云架構師。
傳統網絡的問題:有史以來最安全網絡的麻煩
Martin Casado曾跟一家不具名的美國情報機構工作過,該機構的網絡被他認為是有史以來最安全的計算機網絡。但該網絡的麻煩是建設這樣的網絡近乎不可能,而且一旦想要改動網絡,同樣的問題還會再次出現。
這個事件給Casado的啟示是市場的力量缺位,盡管政府有錢卻買不到想要的產品—安全和易于管理的網絡。他舉了個例子,改動一臺計算機就得進行8項不同的配置變更,所以基本上這樣的網絡搭建好之后什么都不能動。
網絡設備制造商不允許對硬件進行重新編程,代碼都是直接寫進交換機或著路由器的。當然,他們這么做也是由原因的,用戶買一個東西回來當然希望插上電就能用,另外網絡公司也不希望因為用戶修改而導致網絡癱瘓。但是這種限制會給網絡的擴容改造帶來大問題。而對于業務規模不斷擴大的大型互聯網公司來說,這樣的情況是常有的事。
Google從2005年開始甚至開始自己造網絡硬件,部分原因就是由于它需要對硬件能夠有更多的控制。服務器之間需要高帶寬的連接,同時網絡還需要能夠伸縮自如。傳統的網絡設備供應商做不到這一點,成本過高,系統太封閉,以Google的這種網絡規模是其無法管理的。
所以Martin Casado到了斯坦福大學研究生院后就開始著手建設一種靈活的、能夠像計算機一樣可編程的網絡。
通心面式代碼之死
Casado的博士論文題目是《一種名為Ethane的網絡架構》,該論文得到了Nick McKeown 、Scott Shenker的幫助,2007年,這三人成立了Nicira。而這一年正好是是軟件定義網絡的元年。
SDN追求的目標是更好地控制網絡,即把網絡控制模塊化,對網絡控制平面進行適當的軟件抽象,使之可演進。
SDN的第一個突破就是OpenFlow,這是一種遠程控制交換機和路由器的標準方式??梢岳斫鉃橐环N通用語言或指令集,有了它就可以編寫網絡的控制程序而無需為每一臺路由器重寫代碼。OpenFlow的大旗一扯,眾人即集結在其鞍前馬后,其中不乏業界的大佬,如Google、HP、NEC、愛立信等,眾多媒體都把它稱為是將網絡帶出野蠻的中世紀的救主。
不過有一點比較麻煩,如果硬件供應商不把OpenFlow加入自己的設備的協議支持清單,那么OpenFlow就無法在交換機和路由器上使用,就只能叫好不叫座。從結構和標準的角度來看,OpenFlow無疑是重要的,但是從架構的角度而言卻并非如此,因為更重要的組件關心的是協調交換機的活動,以便行為能夠連貫協調。
OpenFlow的終極目標不是更好地管理網絡硬件,而是創建一種無需關心硬件即可組網的軟件架構,也就是說實現組建虛擬網絡的能力。
所以這家公司決定推出自己的解決方案—網絡虛擬化平臺。
網絡虛擬平臺
Nicira經常被用來跟VMware類比,大家都是從斯坦福的研究孕育而出的(這正是硅谷成功的三大秘密之一,參見創新大師Steve Blank訪談);大家做的都是虛擬化,后者是服務器的虛擬化,前者則是網絡的虛擬化。虛擬層可以屏蔽底層硬件的復雜性。
VMWare、Xen和KVM等也有虛擬化的努力,也實現了虛擬交換機,不過這些虛擬交換機功能有限,無法將多個虛擬交換機互連起來形成一個復雜的虛擬網絡。
而Nicira的做法是在物理硬件之上加載一個虛擬網絡平臺,這個平臺由虛擬交換機Open vSwitch和控制器組成。這個虛擬交換機是開源的,可以對任何人開放使用,虛擬交換機之間的連接由控制器進行管理。
Nicira的解決方案是解耦、獨立、控制。
(一)解耦
所謂解耦是指將網絡的控制從網絡硬件中脫離出來,交給虛擬的網絡層處理。這個虛擬網絡層加載在物理網絡之上,在一個虛擬的空間重建整個網絡。有了網絡虛擬化,物理網絡被泛化為網絡能力池,正如服務器虛擬化把服務器設備轉化為計算能力池。
網絡虛擬化使得IP連接大為簡化,對物理網絡的要求也大幅降低,二層網絡的復雜性不復存在,VLAN變得無關緊要。
(二)獨立
加載的這層虛擬層無需現有的框架做出任何改變,原有網絡硬件、原有的服務器虛擬化解決方案、原有的云管理系統、原有的IP都不需要改變:
(三)控制
NVP有兩類關鍵組件:
一個是Open vSwitch,這個東西是一種可以遠程控制的交換機軟件。其部署方式有兩種,一種是部署在服務器的管理程序(Hypervisor)內,另一種是NVP網關,這個通常用來集成遺留的物理網絡。
其二是控制器集群,運行在服務器上,管理所有的網絡組件和連接。
從商業上看,其最大的優勢是不需要底層硬件支持OpenFlow,這樣不管硬件廠商如何抵觸也無法阻止網絡虛擬化的腳步。
如果你不能打敗敵人,那就加入他們。舊體系的霸主思科似乎也看清了這一點,目前也正在開發類似的技術,服務器虛擬化的巨頭VMWare也要染指。不過Nicira堅信自己領跑的優勢明顯。
虛擬化一切
Nicira的平臺對于Rackspace這樣的機構尤其合適。Rackspace的定位是基礎設施云(IaaS),為全球眾多的開發者和企業提供虛擬服務器和存儲服務,有了虛擬網絡的支持,Rackspace可以把自己的客戶限定在不同的虛擬網絡中,保證安全。
但是Yahoo前CTO Raymie Stata質疑其對于單租戶大網絡的客戶意義不大。比方說Facebook,雖然其網絡很大,但是自身并不需要劃分那么多的虛擬網。
Casado不同意這種說法。他說大公司的內部運營很復雜,盡管公司內部的網絡資源不需要與外部共享,但是共享還是存在的,那就是內部眾多的不同應用。應用不一樣,部門不一樣,對網絡的需求也不一樣,但是網絡資源必然是共享的。像Google這樣的公司,其運作模式跟Racspace和Amazon不會有太大差別,只不過前者是私有云,后者是公有云罷了。云者,其實就是大規模資源不受時間、地點、大小限制的靈活調配,只不過之前的云只有計算和存儲的虛擬化能力,但是網絡的靈活調配是個短板,現在Nicira出來補缺了。
網絡設備商必將日漸式微
現在,許多最大型的互聯網公司,包括Google在內,已經開始自造網絡(參見隨大“流”:Google秘密轉向網絡技術的下一個浪潮)。他們的做法是向中國和臺灣地區的制造商購買一些廉價的網絡引擎,從而繞開思科和Juniper這樣的耗錢大戶,此舉導致了網絡商品化和芯片批發商的逐漸興起。而現在,有了網絡虛擬化平臺的支持,由于底層硬件的無關性,這股趨勢只會延續和擴大下去。
思科也在開發自己的網絡虛擬化工具,思科跟Nicira一樣加入了OpenStack的網絡虛擬框架的建設工作。(OpenStack是建設基礎設施云的一個開源平臺。)
不過Casado不看好傳統網絡供應商愿意全心投入網絡虛擬化。因為這就好像是搬起石頭砸自己的腳??纯礆v史,有哪個占優勢地位的公司愿意做一個可以兼容其他廠家任何類型產品的東西呢?他們也許會做做樣子,但是具體的實際意義的事情肯定不會干。
Casado相信傳統的網絡硬件上必將日漸式微。思科和Juniper等,會慢慢變得無足輕重。
最近Casado收到了一封電子郵件,來信者是Nicira過去有過往來的一家大公司的一位主管,此人詢問Casado能否跟他碰個面。Casado以為對方想進行公司合作,就答應了。結果此人原來是一位聽說了Nicira的普通網絡硬件商,約Casado出來就是想知道他會不會在10年之內離開現在的工作。