SDN的特點之一就是控制平面與數(shù)據(jù)平面分離,其主張通過集中式的控制器平臺實現(xiàn)網(wǎng)絡的控制。在SDN架構(gòu)中,控制平面是邏輯集中的,通過某種協(xié)議將控制信息下發(fā)至底層的數(shù)據(jù)平面去執(zhí)行。所以,控制平面被稱為SDN的大腦,指揮整個數(shù)據(jù)網(wǎng)絡的運行。
得益于集中控制的優(yōu)勢,控制平面的存在使得網(wǎng)絡的部署和配置更加智能和簡化。支持編程的SDN控制平面使得網(wǎng)絡更加智能,更加靈活和易于拓展??刂破魍ㄟ^SDN的南向協(xié)議的API可以對數(shù)據(jù)層面的網(wǎng)元設備下發(fā)指令,完成控制平面與數(shù)據(jù)平面的控制傳輸。目前,在SDN領域中,OpenFlow協(xié)議是最流行的南向協(xié)議之一。2008年,SDN和OpenFlow一起誕生于斯坦福大學。
SDN出現(xiàn)初期,控制平面的表現(xiàn)形式更多的是以單實例的控制器出現(xiàn)。實現(xiàn)SDN的協(xié)議也是以OpenFlow為主,所以在SDN發(fā)展初期,SDN控制器更多指的是OpenFlow控制器。SDN出現(xiàn)之后,ONF[1]成立。ONF(Open Network Foundation),中文名為“開放網(wǎng)絡基金會” ,是致力于推進SDN標準化的一個用戶驅(qū)動的組織。在ONF的白皮書中,提出了SDN的架構(gòu)標準,SDN架構(gòu)1.0版本和1.1版本分別如圖1和 圖2所示。
?
?
圖1 SDN網(wǎng)絡架構(gòu)1.0版本
?
?
圖2 SDN網(wǎng)絡架構(gòu)1.1版本
第一款SDN控制器是NOX,目前NOX的社區(qū)狀態(tài)已經(jīng)不再活躍。在早期的SDN論文中,NOX作為唯一的控制器,發(fā)揮了重要的作用。NOX給后來的控制器開發(fā)提供了很好的范例,高層級的編程架構(gòu)。然而,由于其使用C語言編寫,給開發(fā)SDN應用帶來了許多困難,逐漸在控制器競爭中失去優(yōu)勢。在NOX出現(xiàn)不久之后,其兄弟版本POX面世。POX的內(nèi)部機制和NOX一樣,但是采用Python語言開發(fā)。在SDN發(fā)展初期,POX也扮演了相當重要的角色,許多SDN學習者都接觸過POX。POX因其簡單,易入門而得到廣泛的關注和使用,成為SDN入門,學習SDN控制器的很好選擇。然而,隨著技術的發(fā)展,更多優(yōu)秀的控制器,如2012年采用Python語言開發(fā)的控制器代表Ryu,2013年采用Java語言開發(fā)的控制器代表FloodLight等紛紛涌現(xiàn)。他們具有更加成熟的架構(gòu),更加優(yōu)秀的性能,相比之下,POX不具有優(yōu)勢,慢慢在控制器的競爭中處于下風。目前POX的開源社區(qū)還是活躍狀態(tài),由Murphy McCauley繼續(xù)運營社區(qū)。
Ryu是日本NTT公司開發(fā)的模塊化的控制器。Ryu因其架構(gòu)清晰,支持OpenFlow全部版本,有社區(qū)的Plug-in集成到OpenStack,性能良好和文檔齊全等優(yōu)點獲得了許多SDN研究者的關注。同樣,在Beacon上改進而來的FloodLight,以其企業(yè)級別的優(yōu)秀性能,開發(fā)效率更高的Java語言,模塊化的設計等優(yōu)點得到了喜歡Java語言的SDN研究者的青睞。此時的SDN控制器側(cè)重于提升單例性能,支持的南向協(xié)議也是以OpenFlow為主。筆者認為可以稱之為OpenFlow式SDN的控制器發(fā)展中期。然而這個時期非常短。
SDN經(jīng)過幾年的發(fā)展,成為趨勢的勢頭逐漸浮出水面。SDN控制器的發(fā)展也因一個重要的SDN“控制器”而展開新的篇章。2013年,由Linux Foundation和多家網(wǎng)絡巨頭如Cisco、Juniper和Broadcom等公司一起創(chuàng)立的開源項目OpenDaylight。其贊助商、發(fā)起者多為設備廠商而非運營商等消費者,其目的在于推出一個通用的SDN控制平臺。OpenDaylight不僅僅是一個SDN控制器,它更是一個龐大的開源項目,其中包含許多子項目,而Controller只是其中的一個子項目。OpenDaylight支持多種南向協(xié)議,包括OpenFlow(支持1.0和1.3版本)、Netconf和OVSDB等,是一個廣義的SDN控制平臺,而不是OpenFlow系的狹義SDN控制器。
OpenDaylight的誕生意味著SDN進入一個嶄新的時期。此時SDN的概念發(fā)生了改變。SDN控制器應支持多南向協(xié)議,而不僅僅局限于OpenFlow,當然這給我們帶來了很多想象空間,會被巨頭引導走向不夠開放的另一端嗎?SDN控制器應該支持分布式集群,即單實例的控制器變成了分布式的控制平臺。分布式的控制平臺不僅可以管理更大的網(wǎng)絡,性能更好,還可以相互容災備份,提升系統(tǒng)的可靠性。在分布式系統(tǒng)盛行的今天,SDN控制器雖邏輯集中但也需要架構(gòu)上分布。
OpenDaylight的社區(qū)的會員很多,早期的會員多為設備商。各個廠商均竭盡所能得把自己的思想,產(chǎn)品放到OpenDaylight項目中,如Cisco的OpFlex。雖然多家廠商參與社區(qū)的維護和OpenDaylight的開發(fā),但是大多數(shù)項目還是Cisco在主導開發(fā)。在角力的過程中,有的企業(yè)就會有其他的打算,如Big Switch Networks推出OpenDaylight, Juniper將經(jīng)歷轉(zhuǎn)向了自己的Open Contrial。 OpenContrial是Juniper的商業(yè)控制器Contrial的開源版本,其使用C++語言編寫,支持OpenFlow協(xié)議和Netconf等南向協(xié)議。不過相比之下也有跟進的企業(yè),如HP,就增加了對OpenDaylight的投入,將自己升級到了鉑金會員。Huawei則兵分多路,一部分人開發(fā)OpenDaylight,另一部分人則參與了新生代的控制平臺ONOS的開發(fā),還有其他很大一部分人在進行華為敏捷智能網(wǎng)絡控制器SNC的開發(fā)。雖然OpenDaylight社區(qū)勢力眾多,各自想法也不一樣,但是這并不影響OpenDaylight的性能和在SDN研究者心目中的地位,OpenDaylight依然憑借自己社區(qū)強大的技術,在SDN控制器的競爭中成為最具有影響力的控制器之一。許多企業(yè)在自己的產(chǎn)品中或者網(wǎng)絡中使用到了OpenDaylight, 比如Brocade一直推基于OpenDaylight的商業(yè)控制器Vyatta。騰訊也在最新的技術分享中提到使用了OpenDaylight管理自己的數(shù)據(jù)中心網(wǎng)絡。
從2013年底到2014年底這段時間內(nèi),OpenDaylight可謂風光無限,提到SDN幾乎都會提到OpenDaylight,仿佛OpenDaylight就是SDN控制器的最終形態(tài)和最終歸屬。這一局面,在2014年12月5日被打破了。由On.Lab開發(fā)的ONOS面世了。ONOS(Open Network Operating System)是一款同樣采用Java語言編寫,采用OSGi架構(gòu),同樣分布式的控制平臺產(chǎn)品。其目標是打造一個開放的SDN網(wǎng)絡操作系統(tǒng),市場定位在運行商級別網(wǎng)絡市場。ONOS底層模塊直接借用FloodLight優(yōu)秀的模塊如Switch模塊,不使用YANG語言建模,最新版本使用Raft作為分布式框架。突然之間,OpenDaylight遇到了競爭對手。雖然截至2015年之前,并沒有使用ONOS的案例,但是在未來,憑借自身的優(yōu)秀性能,ONOS可以取得一部分市場。
SDN開源控制器除了這些比較出名的之外,也有其他用戶比較少的控制器,如Trame,FlowER, LOOM等。筆者參考SDxCentral最新的SDN控制器的數(shù)據(jù),將目前SDN開源控制器是否活躍情況列舉如下表,先后順序無關。
?
?
然而目前最神秘,最出名的控制應該不是以上提到的任何一個控制器,而是Google的分布式控制器ONIX,ONIX目前沒有開源,相關資料非常少。目前由Nicira、NTT和Google共同開發(fā)。2013年,Google在SIGCOMM上發(fā)表了論文《B4: Experience with a Globally-Deployed Software Defined WAN》[3],論文介紹了Google的WAN加速SDN方案,其中使用的控制器就是ONIX。論文發(fā)布時,B4已經(jīng)運行了3年,除了發(fā)生過Datapath_id相同導致的錯誤以外,基本正常運行。該方案將帶寬利用率提升到了接近100%的恐怖利用率。也即2010年Google已經(jīng)開發(fā)出了整套方案,然后上線運行,很明顯,Google和整個技術發(fā)展不在一個時期,這個案例也是SDN支持者心中的最有力的論據(jù)。
除了ONIX之外,還有許多閉源的商業(yè)控制器,如HP的VAN(Virtual Applications Networks)控制器,武漢綠網(wǎng)的GNflush等,更多商業(yè)控制器的內(nèi)容可參考SDxCentral的SDN-Controller-Report 2015B[4]。
影響SDN控制器發(fā)展的因素除了技術因素以外,還有重要的非技術因素,如行業(yè)企業(yè)對技術的態(tài)度等。企業(yè)在制定SDN戰(zhàn)略時都是從自身的利益出發(fā)的,這些戰(zhàn)略很大程度上影響著SDN的發(fā)展。在一項技術的發(fā)展過程中,行業(yè)巨頭等企業(yè)的戰(zhàn)略等非技術因素會對技術的發(fā)展曲線,發(fā)展方向產(chǎn)生非常大的影響。
自SDN發(fā)展以來,業(yè)界聲音不一。支持者聲稱這將改變傳統(tǒng)網(wǎng)絡,打破目前固化的網(wǎng)絡架構(gòu),帶來更靈活,更智能的網(wǎng)絡;而反對者則認為這并沒有良好的發(fā)展前途,因為分布式的優(yōu)點足以支撐目前的網(wǎng)絡運行,而SDN所提倡的集中式雖有優(yōu)點,但劣勢多于優(yōu)勢。這些聲音代表了不同利益陣營,所以處于不同利益陣營的企業(yè)對SDN的態(tài)度也不一而足。如傳統(tǒng)巨頭Cisco,態(tài)度就很微妙。對于Cisco而言,如果不支持SDN,那么萬一SDN真成為下一個潮流,那么市場損失過大,影響行業(yè)地位。如果完全支持,那么在SDN這個嶄新的戰(zhàn)場,市場重新布局,門檻降低,更多競爭者進入,且追趕者Huawei等企業(yè)也會趁機大力發(fā)展SDN,最終SDN格局還無法明朗。所以Cisco一方面投入研發(fā)精力研究SDN,另一方面,劍走偏鋒,推出自己的ACI(Application Centric Infrustructure),企圖另辟蹊徑占領SDN市場。ACI也是一種廣義上的SDN。其控制器為APIC( Application Policy Infrastructure Controller),但他區(qū)別于我們所理解的之前提到的控制器,他并不負責指揮數(shù)據(jù)層面如何轉(zhuǎn)發(fā)流量,所以在ACI中,底層設備Nexus9000才是重點,而非控制器。其使用的南向協(xié)議也避開了OpenFlow,而使用了私有協(xié)議OpFlex。如此一來,成功避開了SDN白牌交換機的沖擊,成功將戰(zhàn)場引到了擁有技術壁壘的數(shù)據(jù)層面產(chǎn)品上。
對于傳統(tǒng)網(wǎng)絡行業(yè)巨頭而言,目前穩(wěn)定市場布局對自己有利,自然不希望新技術打破這一平衡,所以他們對于SDN的態(tài)度往往是不夠積極。但是為了防止新技術的沖擊,他們一定會跟進,也一定會想辦法推出兼容產(chǎn)品或者競爭產(chǎn)品,力圖在新技術市場上占據(jù)有利地位。除了投入研發(fā)精力跟進外,還會對有希望的創(chuàng)業(yè)公司進行技術收購。若創(chuàng)業(yè)公司成長壯大,那么收購是成功的,如果創(chuàng)業(yè)公司失敗,那也沒有太大關系,這筆投資對于巨頭而言并不是大事。技術收購的策略在技術發(fā)展過程經(jīng)常被使用,所以近些年關于SDN創(chuàng)業(yè)公司被收購的新聞屢見不鮮,相信在SDN發(fā)展的道路上,技術收購還會繼續(xù)發(fā)生。
對于第二陣營或者新技術公司而言,必然大力支持SDN的發(fā)展。如Huawei大力投入研發(fā)精力研發(fā)SDN相關產(chǎn)品。不僅在開源項目方面參與OpenDaylight項目,還參與ONOS項目,一方面,跟進OpenDaylight項目不落后,另一方面,企圖通過ONOS項目來爭取更多的市場。此外,Huawei也大力發(fā)展SNC控制器等SDN產(chǎn)品。和Huawei類似的,HP也在投入精力發(fā)展SDN,不僅推出了自己的SDN控制器產(chǎn)品,也推出了SDN交換機等數(shù)據(jù)平面產(chǎn)品。新技術公司方面,國內(nèi)的盛科,國外的PICA8等交換機廠家已經(jīng)抓住SDN發(fā)展的機會,推出了許多數(shù)據(jù)平面產(chǎn)品,占據(jù)了一定的SDN市場。配套的數(shù)據(jù)平面產(chǎn)品的推出必將推動SDN控制平面的發(fā)展及落地。
SDN的發(fā)展也給更多的其他領域的競爭者入足的機會,虛擬化產(chǎn)品巨頭VMware就是一個很好的例子。瞄準SDN的市場之后,VMware收購了創(chuàng)業(yè)公司Nicira,在其Network Virtualization Platform (NVP) 的基礎之上,結(jié)合自己的vCloud Networking and Security (vCNS) 推出了NSX,從而占據(jù)了數(shù)據(jù)中心網(wǎng)絡虛擬化的一部分市場,加入了SDN市場的競爭。新的SDN產(chǎn)品的推出,也給業(yè)界推動SDN發(fā)展的信心,從而促進SDN控制平面的發(fā)展。
筆者認為,隨著技術的發(fā)展,網(wǎng)絡規(guī)模的擴大,SDN控制器將出現(xiàn)分級分域的概念,多控制器之間將出現(xiàn)協(xié)同工作的功能。即管理不同網(wǎng)絡的控制器運行對應的應用,而不同控制器之間通過東西向接口進行信息同步,從而完成全網(wǎng)的管理。目前在OpenDaylight中實現(xiàn)的SDNi協(xié)議即是一種SDN東西向協(xié)議的實現(xiàn)方法。未來的SDN控制平面應該是局域集群,全局分級的架構(gòu)。此外,未來的SDN控制平臺會成為網(wǎng)絡操作系統(tǒng)形式的存在,目前ONOS就是網(wǎng)絡操作系統(tǒng)的示范。除此之外,SDN控制平臺將和OpenStack等云管理平臺整合運作,這也是當下控制器的一個趨勢之一。雖然開發(fā)者可以在SDN控制平面上開發(fā)部署很多應用,但是未來的SDN控制器將面對特定的網(wǎng)絡運行特定的應用,而不會運行全部的應用,甚至于根據(jù)不同場景,出現(xiàn)不同的版本的控制平臺。
SDN控制器的競爭最終會優(yōu)勝劣汰,剩下幾款經(jīng)典的控制器分別占領不同的市場,正如當下的計算機操作系統(tǒng)一般。即不會有任何一款控制器壟斷整個市場,不同的控制器將會相互競爭相互促進。此外,短期之內(nèi)OpenFlow不會失去競爭力,但最終同樣會存在多種南向協(xié)議相互競爭,競爭是常態(tài),是技術發(fā)展的源泉。
評論
查看更多