看完這篇SDN發展史,你就明白了。
2006年,美國斯坦福大學啟動了一個名叫Clean Slate的研究課題。
該課題由美國GENI項目資助,目的非常明確且宏大,就是——“重塑互聯網”。
當時的互聯網,已經歷經了30多年的高速發展,從最初的小型專用局域網絡,變成了空前龐大和復雜的世界級網絡。
網絡規模的持續擴張,網絡設備的不斷增加,超過了早期設計的承受能力,也使得網絡維護變得舉步維艱。
于是,專家們開始探討未來網絡的可能性架構,希望在互聯網崩潰之前,將它拉回正軌。而GENI項目和Clean Slate課題,就是這些嘗試之一。
2007年,斯坦福大學博士生Martin Casado等人提出了關于網絡安全與管理的項目——Ethane。
該項目試圖通過一個集中式的控制器,將網絡管理人員制定的安全控制策略,下發到各個網絡設備中,從而實現對整個網絡的安全控制。
2008年,Clean Slate課題的項目負責人,斯坦福大學教授Nick McKeown及其團隊,受到Ethane項目的啟發,提出了OpenFlow的概念,并發布了那篇經典的文章——《OpenFlow : Enabling Innovation in Campus Networks(OpenFlow:校園網的創新使能)》。
2009年,基于OpenFlow,Nick Mckeown教授正式提出了SDN(Software Defined Network,軟件定義網絡)。
同年,SDN概念成功入圍Technology Review年度十大前沿技術,獲得了行業的廣泛關注和重視。
12月份,OpenFlow規范的1.0版本正式發布。這是首個可用于商業化產品的版本,具有里程碑意義。
在繼續介紹SDN發展歷程之前,我們還是要稍微介紹一下SDN的工作原理。
SDN的核心思想真的很簡單,就是控制和轉發分離。
我們知道,網絡的作用就是連接。通過無數的節點(例如路由器、交換機),將數據從起點傳送到終點,這就是網絡的基本功能。
數據傳輸過程中,各節點不斷接收和轉發數據包。
控制負責下命令,轉發負責干活。
然而,考慮到安全冗余等因素,現實中的網絡絕對不會是一條直線那么簡單。它會是一個復雜的拓撲結構。
于是,命令該怎么下,直接決定了網絡的效率。
傳統網絡中,各個轉發節點都是獨立工作的,內部管理命令和接口也是廠商私有的,不對外開放。
所以,我們可以把它理解為“各自為戰”的模式。雖然“戰略層面”的規劃和設計可能是統一的,但“戰術層面”的執行卻是復雜且低效的。
而SDN網絡,就是在網絡之上建立了一個SDN控制器節點,統一管理和控制下層設備的數據轉發。所有的下級節點,管理功能被剝離(交給了SDN控制器),只剩下轉發功能。
SDN控制下的網絡,變得更加簡單。管理者只需要像配置軟件一樣,進行簡單部署,就可以讓網絡實現新的路由轉發策略。(如果是傳統網絡,每個網絡設備都需要單獨配置。)
除了簡化部署之外,SDN更深層次的意義,是賦予了網絡的“可編程性”。
也就是說,控制和轉發分離之后,借助規范化的API接口,用戶可以通過編寫軟件的方式,對網絡進行管理。整個網絡,就像個完整的機器人一樣可供驅使。
我們具體來看看SDN的架構。
SDN網絡的整體架構,分為三層,從上到下分別是應用平面、控制平面和轉發平面。
整個架構的核心,就是SDN控制器。
上北下南,SDN控制器向上與應用平面進行通信的接口,叫做北向接口,也叫NBI接口(northbound interface)。SDN控制器向下與數據平面進行通信的接口,叫做南向接口,也叫CDPI接口(control-data-plane interface,控制數據平面接口)。
北向接口相對來說比較好搞,麻煩的是南向接口及其協議。因為它直接影響到SDN控制器的命令能否準確下達到無數的底層網絡設備。
因此,SDN技術的發展史,簡而言之,就是圍繞SDN控制器和南向接口的“王位爭奪史”。
在SDN被提出之后,第一個控制器平臺是NOX。它是一種單一集中式結構的控制器,南向接口采用的是OpenFlow協議。
2011年,由Google、Facebook、微軟等公司共同發起成立了一個對SDN影響深遠的組織,那就是ONF(Open Networking Foundation,開放網絡基金會)。
ONF的主要發起成員是德國電信、Facebook、Google、微軟、雅虎等公司。
這些公司要么是網絡服務提供商,要么是運營商,沒有一個是來自設備商的。他們成立ONF的目的,是為了推動SDN和OpenFlow協議的發展。他們不希望SDN這個網絡新技術又被設備商控制,成為設備商的賺錢工具。
上述發起人里面,最值得一提的是Google。
如果說Nick Mckeown教授是點燃SDN星星之火的人,那么,Google顯然是將星星之火燒遍全球的關鍵角色。
早在SDN被提出之外,Google就在尋找提升自身網絡效率的方法。當看到SDN之后,Google確認,這就是他們想要的。于是,他們果斷決定將SDN應用于自己的數據網絡。
2010年,Google開始將數據中心與數據中心之間的網路連線(G-scale),轉換成SDN架構。整個改造分為三個階段。到了2012年,整個Google B4網絡完全切換到了OpenFlow網絡。
Google B4是一種橫跨整個地球的連接到谷歌數據中心私有廣域網。
改造之后,Google B4網絡的鏈路帶寬利用率提高了3倍以上,接近100%。
這樣的結果毫無疑問是令人震撼的,也堅定了行業對SDN的信心。
2013年,Google在SIGCOMM上發表了論文《B4: Experience with a Globally-Deployed Software Defined WAN》,詳細介紹了Google的WAN加速SDN方案。論文中提及,Google使用的控制器名叫ONIX。
面對SDN和ONF,設備商當然也不能無動于衷。
2013年4月8日,在Linux基金會的支持下,作為網絡設備商中的領導者,Cisco與IBM、微軟等公司一起,發起成立了開源組織OpenDaylight,共同開發SDN控制器。
OpenDaylight提出,SDN不等于OpenFlow,人們需要對SDN進行“重新定義”。
也就是說,OpenDaylight強調SDN控制器不僅僅局限于OpenFlow,而是應該支持多種南向協議。
同時,OpenDaylight還強調,應該用分布式的控制平臺,取代單實例的控制器。這樣可以管理更大的網絡,提供更強勁的性能,還能增強系統的安全性和可靠性。
OpenDaylight成立之后,成員數量增長迅速。但實際上,各個成員都有自己的小算盤。
Cisco就不用說了,作為OpenDaylight項目的牽頭人,它主導了其中大部分項目的開發。Cisco也一直想推自家的OpFlex上位。
除了Cisco之外,Big Switch推出Big Network Controller以及對應的開源版本Floodlight。Juniper推出的是Contrial以及對應的開源版本OpenContrial。
總而言之,這一時期各種各樣的SDN控制器處于百家爭鳴的狀態,發展勢頭一片大好。
仗著人多勢眾,OpenDaylight也成了行業里最具影響力的技術組織之一。
就在OpenDaylight風光無限的時候,又殺出了一個攪局者。
2014年12月5日,ON.Lab推出了一款創新性的網絡操作系統——ONOS(Open Network Operating System),對OpenDaylight發起了強有力的挑戰。
ON.Lab是哪里冒出來的呢?ON.Lab全名是Open Networking Lab(開放網絡實驗室),最初是由Parulkar和Nick McKeown共同成立的。沒錯,就是提出SDN的那個Nick McKeown教授。
On.Lab的某些職能和ONF很類似。2016年10月19日,兩個組織宣布正式合并,組成了新的ONF。
就這樣,圍繞SDN控制器和協議,各大流派及廠商進行了十多年的明爭暗斗,并最終形成了現在的局面。
從趨勢來看,網絡操作系統的概念深入人心,是大勢所趨。SDN控制器作為網絡操作系統的核心,重要性不言而喻。
未來,隨著網絡規模的擴大,SDN控制器肯定會繼續往分布式的方向發展??刂破髦g的分工協作會更加深入,甚至可能出現集群??刂破饕矔隢FV虛擬化技術,與OpenStack等云平臺進行整合。
好啦,關于SDN的大致發展過程,就介紹到這里。SDN的演進并沒有結束,圍繞SDN“正主”地位的爭奪也沒有結束。最終誰將主導未來網絡?讓我們拭目以待!
—— 全文完 ——
參考文獻:
1、《談談大家想知道的、不知道的SDN》,譚培龍
2、《重構網絡: SDN 架構與實現》,楊澤衛, 李呈
3、《SDN是什么》,李宗標
4、《SDN網絡構架及發展歷史》, 李呈
5、《SDN是什么依然值得討論》,楊澤衛