SDN產業發展歷程算法
網絡技術隨着計算機工業的高速發展在不斷的完善,而且信息化進化到雲計算的時代,支撐數以億計的用戶平臺不斷涌現,人類創建起遍及全球的超大規模數據中心來應對這一挑戰。本來是以人爲控制核心的網絡技術架構層已經遠遠不能沒法適應這種需求,其背後體現的是:編程
在宏觀上,基礎網絡架構進化推動緩慢;安全
在微觀上,硬件廠商在涉及數據轉發與控制層面的創新乏力。服務器
網絡硬件廠商要麼安於現狀,要麼由於商業利益從而沒法發起和推進創新。因此SDN就應運而生了。網絡
這三位人物算得上是SDN鼻祖和創始人,中間的這位是斯坦福大學教授 Nick McKeown,是左邊這位Martin Casado的老師,Martin Casado是Open vSwitch的創始人。Scott Shenker是一位物理學博士,在網絡領域屬於半路出家來作網絡的人。其中Nick McKeown教授和Scott Shenker教授分別從不一樣的角度提出了對SDN的解讀,也是兩大組織ONRC和ONF的理念差別所在。Nick McKeown 教授從「系統功能重構」的角度來分析、解決當下的網絡問題,而Scott Shenker 教授卻從「從新定義抽象」的角度來嘗試解決現有的網絡問題。這兩位不但提出了SDN的釋義和理念,還積極推進SND的商業化運做,產業化發展進程。其中,這三位人物在2007來了合做成立了Nicira,首家專一於SDN的技術創業公司,開始嘗試SDN的商業化發展。而Nick McKeown教授和Scott Shenker教授也在2011年成立ONF組織,積極推進SDN的產業化發展。架構
目前從產業化發展的角度來講,SDN的產業主要玩家包括但不限於如下這些:負載均衡
上圖列舉了主要的SDN產業玩家,瞭解了這些以後,咱們就能夠分別展開來進行討論了,由於SDN發展這些年,都是圍繞這些角色發展而發展的,包含了這些角色之間的各類愛恨糾葛。運維
2009-2011:起步階段ide
咱們把2009到2011年這三年稱做爲起步階段,那個時候的斯坦福大學教授 Nick McKeown 在一次大會上首次提出SDN這三個字母,聽說仍是一個記者幫他想出來的。以前一直都叫OpenNetwork,而在2009年,微軟和Google已經在作SDN了。當是僅限於內部研究和使用,不像創業企業把SDN當作產業來作。當年微軟就發佈了一款VL2的產品,Goolge發佈了G-wan並在2011年正式啓用,並使用G-wan技術鏈接他在全球的十三個數據中心。同時,在這三年出現了不少著名的SDN創業公司,Nicira這家公司上文說過,能夠說就是這家公司將SDN首次進行了商業化的嘗試。而BigSwitch是斯坦福大學教授 Nick McKeown他們同一個實驗室一些同事出來創辦的,走了和Nicira徹底不一樣的道路。Nicira走的是純軟件這條路子,後來被同是作軟件的虛擬化巨頭Vmwar收購,也算是志同道合。BigSwitch走的是另一條路子:白牌交換機。在哪一個年代,出了這兩家公司拿到鉅額投資意之外,在硅谷至少還有二十幾SDN的創業企業拿到了投資。因此哪是一個SDN風口的年代。佈局
當年以斯坦福大學教授 Nick McKeown爲首的研究團隊發起並推進了著名的控制與轉發分離的網絡部署模型和關鍵協議OpenFlow,這意味着正式宣告了軟件定義網絡(SDN)的誕生,可是那個時候SDN這個概念還未提出來。我國的SDN起步也是在2006年的時候,在清華大學的信息技術研究院有一個團隊同步在研究OpenFlow。從2009年開始,在清華大學開發的國內第一套SDN系統正式上線,在2011的時候,主導開發這套系統的清華大學博士出來創立了雲杉網絡這家公司。和當年的Nicira和BigSwitch一塊兒在當年得到相同投資基金的投資。
因爲如今的每一個人在看SDN的時候都是在看他的局部時間點,在該點說發生的技術現象或者一個特定的產業。可是其實你在理解了SDN的演變以及廠商在中間所經歷的博弈的時候,就會發現咱們如今應該作的是什麼?怎麼作纔是一個行之有效的辦法,什麼地方須要跟廠商合做,什麼地方須要跟社區合做,什麼地方須要本身去開發!當咱們把這些都看的很清楚的時候,咱們的SDN落地纔會比較順暢。
說道網絡,用硅谷的話說,這個世界上作網絡的就只有兩家公司,一家是思科,一家是非思科。在那幾年,思科主打的產品是Nexus 7K,屬於數據中心的產品,也對虛擬化及虛擬網絡作了必定程度的支持。這個階段的思科仍是以買硬件解決方案爲主,不過硬件比較貼合可是的虛擬化以及數據中心建設的潮流。
這個時候思科的競爭對手瞻博花了一億美金和IBM進行合做,推出了這個下圖所示的QFabric體系。
咱們能夠這麼認爲,這是廠商推出的第一代SDN系統。爲何?由於QFabric體系裏面第一次出現了「控制器」的概念,而且架構相比較思科的要簡單不少,使用了更少的鏈接來實現更多的數據中心的功能。這個架構的好處有不少,在上圖右邊所示,不管是金錢上仍是效率上,優點都很大。使用了QFabric網絡之後,數據中心的網絡就變成了一個大交換機環境了。
因此這個架構自己已經實現了數據中心網絡的扁平化、一致化,全部節點所有都在邊緣,無論你的路由器、存儲仍是服務器,全都都存在在邊緣節點,而這些網絡的控制是由中間的這個Fabric Director來提供的。因此這一整套架構已經接近於一個SDN體系的架構設計。當是爲何你們不把QFabric認定爲業界SDN的鼻祖呢?就是由於該系統是一個封閉的商業化系統,是不開放的系統。SDN最初推出的時候,是從OpenNetwork中出來的,他須要解除廠商綁定、使用開源開放的系統來作。因爲這些緣由致使了QFabric未得到業界承認,所以也未對業界產生很大的影響。
第一個對業界產生較大影響的是Nicira。下圖所示Nicira的所設計的一幅網絡架構圖,上面的這個梯形圖就是數據中心網絡,下面則是虛擬機還有物理機等等。這是數據中心常見的狀況,若是是接入網的話,你們能夠認爲這是整個園區的網絡或者是泛在網絡,下面的這些虛擬機就是一個一個小區。這種狀況下的網絡設計,若是須要對虛擬機或小區網絡進行網絡隔離、安全防禦、流量限制等操做。就須要在網絡設備獨立配置和管理規則條目,當三年後整個配置和維護的工程師離職後,知識的傳承性和維護性得不到很好的維繫,那麼接任者就會人爲的致使一些重複的或者新的規則,那麼網絡設備的上的規則就會愈來愈多,使得網絡變得愈來愈複雜。
這種人爲的干涉就致使了隨着時間的推移網絡變得愈來愈複雜。此外,愈來愈多的網絡新協議和新算法使得網絡控制平面變得愈來愈複雜。以致於網絡發展了這麼多年,仍然處於「管理複雜性」階段,爲了使得如今的網絡具備更多的可編程能力,從而自動化、智能化網絡管理。Nicira就開發出了基於軟件來實現網絡管理的方式從而實現自動化、 智能化網絡管理。
下圖展現了Nicira的第一款SDN產品NVP的架構:
這個產品的威力巨大,讓Nicira這家公司在沒有任何營收的狀況下就買了10億美金的價格,可想而知在當年這個技術和產品技術創新程度和優點程度。在圖中,全部的虛擬機統統過Open vSwitch交換機和控制器進行網絡功能的交換和路由通訊。OpenvSwitch是Martin Casado在2007年8月份提交的一個開源虛擬交換機,這個開源虛擬交換機在2009年5月份真實稱之爲Open vSWitch,在2012年的時候就正式進入了Linux的主棧。因爲技術標準的難以統一和利益衝突,其餘各個廠商就分別推出了組件的虛擬交換機,好比思科的Nexus 1000V,Vmware的vDS以及IBM的DOVE都是當時的商業虛擬交換機產品。因爲Linux當中默認的Bridge不能徹底稱之爲虛擬交換機,其不支持OpenFlow以及交換機的一些高級特性,這些現狀使得Open vSwitch得到了高度的關注,尤爲是在合併進入Linux內核主棧以後,Open vSwitch幾乎成爲了開源虛擬交換機實際的標準。
而NVP產品實現了可是業界第一個與硬件無關,支持多種X86虛擬化架構的網絡虛擬化產品,引領甚至顛覆了當時的網絡虛擬化技術。在NVP架構中,無論你是LAN網咯仍是數據中心的網絡,只要是三層IP可達就行。這個時候,在服務器虛擬化上跑着的Open vSwitch虛擬交換機或支持OpenFlow協議的物理交換機做爲下屬鏈接點,而後經過虛擬網絡構建的規則來達到虛擬機之間的互聯互通問功能。全部的功能實現都是在邊緣,這符合網絡設計最初的理念,即全部功能都在邊緣實現。之前的邊緣是思科和瞻博的網絡設備在負責這個事情,如今NVP架構已經將這種實現平滑到了服務器裏面。服務器提供了更強大的計算能力來作這個邊緣計算。在這個架構中,NVP主要作了三項工做:
一、 網絡設備的無關性;
二、 將Open vSwitch放到了Linux內核中,利用服務器的計算資源進行網絡計算;
三、 實現控制平臺和數據平面分離。
當NVP架構將Open vSwitch放置到Linux內核中後,就至關於NVP的控制器可以控制器全世界的Linux系統。這樣的影響力纔是造就NVP價值的一方面。從工程應用上來說,NVP已經實現了真正的實踐應用,從思想上,他已經產生了一個革命:解耦軟件和硬件,讓軟件和硬件無關。
除了創業公司這個先行者,還有相似Google這種互聯網公司也在實踐和關注SDN的發展。Google隨着自身網絡規模的擴展,就愈加面臨着網絡技術的挑戰。在Google的各大數據中心之間,每一個數據中心都有一條鏈路相互鏈接,怎麼使得每條線路的利用率更高?這樣業務承載量會更大,由於每條線路都是海底光纜,造價是十分高昂的。因此Google當時在作SDN的時候,他的每條線路的利用率不到50%。這和咱們在作網絡設計的時會按照必定的容量設計並保留冗餘很類似,可是在實現了SDN以後,他的每條線路的利用率不到99%。Google爲何敢在SDN網絡裏面把網絡跑滿99%,是由於他們經過SDN對網絡的控制已經達到很細粒度的把控。下圖是可是Google說標識出來的全球十三個數據中心:
Google的SDN架構以下圖所示:
上述的這幾張圖解釋了Google的SDN架構G-WAN的原理。在上述的十三個數據中心中,每一個數據中心都會有幾十臺交換機,這些交換機構成了可悲軟件定義的網關。就是這樣的交換機組成的網絡使得Google公司控制了全球7%的流量。在第二幅圖中,爲咱們揭示了G-WAN的架構,主要思想是實現數控分離,底層的控制器不受上層控制器的影響,上層控制器斷開或者失效以後底層徹底能夠治癒。正是這種控制器設計的治癒原則使得Google利用其實現了全球的業務。
而微軟一開始主要是圍繞本身的數據中心在作,最後也將其部署到全球。微軟在最開始的時候也在本身的數據中心內部使用了大量的白牌交換機來構建本身的SDN網絡,跟Google最大的不一樣,微軟主要的優點在操做系統和服務器領域,因此微軟在網卡上作了不少設計和技術優化。最終致使了二者SDN的差別,Goolge的SDN架構主要是在網絡層面去實現的,微軟的SDN架構主要是在系統層上去實現的。可是最終實現的效果是同樣的。
下圖顯示了微軟的SDN架構VL2:
VL2在這裏主要的貢獻在於:
一、 SDN架構主要在於區別與傳統7層的網絡,是一張基於兩層結構扁平化網絡結構,兩層結構無限擴展,能夠擴展到3層;
二、 只負責點到點的可達,不作任何其餘事情;
三、 全部的功能都在邊緣使用對Flow的控制來實現。
與此同時,中國的第一個SDN實踐在清華大學裏實現。在當時,清華大學的研究團隊在Fit大樓上利用大樓已有的三層網絡,再加上OpenFlow再加上一些TP-Link的盒子,利用從新刷新TP-Link盒子的固件,使得TP-Link可以支持OpenFlow協議。同時在服務器裏面安裝上Open vSwitch,當有了這層結構以後,整個大樓就變成了一個SDN的網絡。全部的歷史上網的行爲均可以作監控,你能夠任意地讓任何一個流量去作一個防火牆,當你的防火牆性能不夠時,你還能夠經過邊緣的網絡負載均衡作多個防火牆。
上述是SDN的第一個三年,以後,2012年到2014年,SDN就進入到了一個冷漸期,SDN的創業企業在這個時期就特別迷茫,不少SDN的企業在拿到錢作好產品以後賣不出任何產品和技術。回個頭來看,這個時期正是各個標準、巨頭、Linux基金會等正在對SDN進行博弈的關鍵時期。
在這個時期,佐證這個事實的是幾個併購,VMware針對Nicria的12億美金的收購。思科10億美金收購Insieme,IBM收購SoftLayer,SoftLayer的產品結合了微軟VL2和Google的G-Wan各自的優勢設計而成。Vmware在收購了Nicria以後整個號了NVP產品,推出NSX產品。思科也基於Insieme推出了ACI架構。
在這三年中,咱們能夠認爲SDN主要分爲兩大陣營,以Vmware爲表明的「軟件」和以思科爲表明的「硬件」。「軟件」的SDN包含的意思是該SDN解決方案不須要硬件,使用傳統或現有的網絡硬件便可實現SDN,所需的功能都在軟件上來實現,這是如今的發展趨勢。「硬件」的SDN是指SDN架構須要使用專門的SDN硬件來進行支撐和功能的實現。
對於思科的ACI方案,有幾個部分:一是控制器APIC,二是在控制器上有一些監控等應用,三是Nexus 9K。Nexus 9K纔是真正實現SDN網絡功能的地方,這些交換機都是由控制器來進行控制,用以實現SDN的網絡轉發等功能,往上咱們能夠經過不一樣的編排來虛擬不一樣的網絡環境。
這個方案賣的仍是思科的硬件盒子。到了Vmware這邊,vmware的nsx架構上和ACI差很少,都是三層的架構,使用方法上也沒有差別。本質的區別在於vmware的能實現支持任何網絡環境,而思科的ACI必須基於自身的控制器APIC和Nexus9K。vmware就是依靠這樣的優點在短短几年以內實現了NSX10億美金的收入。
這個時候的IBM也對SDN很是重視,下圖顯示了IBM的SDN規劃佈局,這個Google的G-wan很像,要解決的問題也很相似,可是說提供的服務不一樣。IBM收購SoftLayer,各個數據中心之間的網絡鏈接,也要像google那樣,只是作法大同小異而已。2011年Google在作G-wan的時候,是本身找臺灣的代工設計的硬件。IBM後來在作SoftLayer的時候,控制器本身作,交換機等直接採購了思科的支持SDN的設備,因此SDN到最後,隨着時間的推移,網絡設備廠商會參與進來共同建設SDN網絡。後來的IBM SoftLayer作成以後,到如今每一年產出幾十億美金,而運維團隊不超過40人,到今天仍是這樣。
而國內的第一套商用的SDN系統,其實現的功是不少的,以下圖所示:
除了可以接入計算、存儲等資源外,用戶能夠在數據中心本身組網,無論你是在物理仍是虛擬環境,用戶能夠本身去配置防火牆,同事跨數據中心的二層、三層、隧道鏈接所有由用戶本身去定義。同時還對接了不少的廠商產品,做爲數據中心的一部分交付給用戶。
這個階段仍是各個大廠本身在玩,真正落地的SDN商業化案例很少。真正出現SDN井噴是在2015年到2017年這三年,大量的部署發生在這幾年中。在這個階段,主要發生瞭如下事件:
綜上,SDN整個產業發展的歷程就基本上梳理清楚了。2009年到2011年是SDN的起步階段,2012到2014年是佈局階段,從2015年開始,到將來的幾年時間,都將是SDN逐漸產生價值的階段。