李潔


摘 要:軟件定義網絡(Software Deflned Networking,SDN)構建出一種網絡框架,其將控制平面和數據平面分離,為研發新型網絡協議及應用和未來網絡技術提出了一種全新的解決方案。從SDN的起源入手,總結SDN控制其的發展過程及SDN相關標準的演進進程。對未來SDN在設備生產商和運營商發展路徑進行了深入的展望。
關鍵詞:軟件定義網絡;SDN控制器;云計算;ONF
中圖分類號:TP391.41
文獻標識碼:A
DOI: 10.3969/j.issn.1003-6970.2015.07.015
0 引言
SDN在2012年得到了廣泛的商用,代表性的事件有VMware收購NicirOrcale收購Xsigo,Google部署SDN網,Cisco宣布開發網絡環境戰略。據IDC預測,預計到2018年SDN市值將達35.2億美元,SDN發展迅速,遠超市場預期。
1 SDN相關技術現狀
1.1 SDN起源
SDN起源于斯坦福大學,作為Clean Slate研究項目的一個副產品誕生。SDN主要分為狹義SDN與廣義SDN兩種:狹義的SDN主要指OpenFlow,OpenFlow由ONF(open networking foundation,開發網絡基金會)定義的開發架構。廣義的SDN是一個框架,一種網絡設計的理念。SDN框架中的網絡,控制面和轉發面分離,在轉發面這一角度,其是協議無關的。
網絡規模越來越大,傳統的網絡不堪重負,管理員疲于奔命處理各種網絡故障。傳統網絡設備是控制面和轉發面整合在一起,設備是一臺臺單獨管理,管理員對網絡中的很多事情不能在第一時間獲取信息。同時網絡中有各種不同廠家不同版本的設備,難有一個統一的平臺進行統一管理。當新的業務需求出現時,管理員需要對相關設備進行網絡調整,當網絡規模越來越大后,網絡調整的工作量,及故障排除的工作量變的難以估計和判斷。為了解決網絡中的這些問題,SDN應運而生,SDN解決這些問題的核心是改變傳統網絡對數據流進行控制的方式,及傳統設備中控制面和轉發面是整合在一起的,這種控制是完全分布式的,SDN將控制面和轉發面分離,控制面放到一個外部服務器中,由這臺服務器通過統一的指令集中管理轉發路徑上的所有設備。通過集中管理,消除了大量手動配置過程,增加了靈活性,管理員對全網有了整體視圖,提高了業務部署的效率。
1.2 0penFlow基本原理
Nick McKenown在2008年發表的論文< 流(Flow)是指在一段時間內,經過同一網絡的一系列具有相同屬性的順序發送的報文集合,流表(FlowTable)是芯片中的轉發表集合,每張流表由多條流表項(FlowEntry)組成,比如一張表有4K,就是說這張流表由4K條流表項。流表項(FlowEntry)是流表的最小單位,每條流表對應了網絡中傳輸的一條流。根據OpenFlow標準,每條流表項由六部分組成。 Match Fields包含二層、三層、四層的大部分標識,隨著OpenFlow的發展更多的標識被添加到其中,比如VLAN,MPLS,IPV6等也擴展到OpenFlow標準中。因OpenFlow交換機采用基于流的匹配和轉發的數據傳輸模式,故在OpenFlow中沒有交換機和路由器的區分,統一稱為OpenFlow交換機。 OpenFlow Channel是指交換機與控制器之間的鏈接通道,其可以是TCP鏈接,也可以是加密的TLS鏈接。 OpenFlow南向接口,指Controller和交換機之間的標準消息接口,所有廠家的交換機,只要遵循OpenFlow標準,就可以互通。 Controller與交換機的消息分為三類,分別是Controller-to-Switch消息,Asynchronous消息(Switch-To-Controller消息),Symmetric消息。 1.3 SDN控制器 SDN控制器處于SDN框架的中樞部位,是SDN的重要組件,目前各大廠商在SDN市場的爭奪,主要集中在Controller定義權及控制權的爭奪,SDN控制器是SDN的核心,在控制器上有發言權,在SDN市場就有話語權。 Onix 很多SDN Controller是基于Onix模型搭建的,包括Nicira的NVP中所用的Controller和Google的基于OpenFlow的B4 WAN網所用的Controller。Onix是Nicira,Google,NEC,Berkerly大學參與設計,由Nicira主導。Onix是一個分布式架構的Controller模型,被用來控制大型網絡,具有很強的可擴展性.Onix引入ControlLogic,Controller和物理設備三層架構,每個Controller只控制部分物理服務器,并且只發送匯聚過后的信息到邏輯控制服務器,邏輯控制服務器了解全網的拓撲情況,達到分布式控制的目的,從而使整個方案具有高度可擴展性。Onix不開源,知名度不高,但其思想已經被很多商業Controller借用。
FloodLight&Big Network Controller.
FloodLight是Big Switch公司的Big Network Controller的開源版本。Big Network Controller可以支持多達1000個網絡設備,可用同時連接250000臺主機。FloodLight的內核使用Java編寫以便支持跨平臺,提供北向REST API,北向API支持Java和Jython.FloodLight可以方便的集成到OpenStack中。
Ryu
Ryu是NTT實驗室發起的開源Controller項目,其基于Python開發。Ryu不僅支持OpenFlow,還支持其他控制協議,如OF-Config,Netconf等。Ryu得到了OpenStack的支持,在OpenStack中可以直接通過Ryu Controller來配置OVS。 Ryu采用Apache License協議。
NOX/POX
NOX是Nicira公司開發的,NOX代表Network Operating System。2008年,Nicira把它貢獻給了開源社區,它是第一個OpenFlow Controller,基于C++開發.C++語言高效,靈活,支持多線程,使NOX具有很高的性能。
POX是NOX的Python版本,除了用的編程語言不同,POX還比NOX多了不少別的功能,在功能上屬于NOX的增強版本,但在性能上較C++版本有一定的劣勢。
Trema
Trema是NEC開發的一個開源的Controller是用C和Ruby寫的。Trema的目的是打造一個”OpenFlowProgramming Framework”.即基于OpenFlow的可編程框架。
Trema提供不少應用和服務,包括拓撲發現,Flow管理,路由交換,OpenStack插件。
Beacon
Beacon由斯坦福的Ericson等人開發,Beacon是一款基于Java開發的開源產品。Beacon具有較高的性能及較強的穩定性,已在幾個項目中得到了驗證。Beacon基于Java開發,其可跨平臺,支持多線程,通過支持WebUI訪問。Beacon提供OSGi用戶界面,用戶可用通過界面按需添加和刪除組件,具有較高的靈活性。
1.4 SDN標準化
ONF(Open Networking Foundation)
目前在SDN中最具影響力的組織就是ONF,它也是最早開始SDN標準化和推廣工作的組織。ONF由Google,Facebook,MS等公司發起,成立于2011年。
ONF主要的工作成果包括OpenFlowl.l,1.2,1.3,1.4標準,和OF-Config協議1.0,1.1.ONF目前已得到設備廠商HP,Dell,Juniper,Cisco等的支持。ONF分為9個工作組,協同進行標準定義及市場推廣工作。
ODL(OpenDayLight)
在SDN推出的很長一段時間,ONF是SDN唯一的標準化組織。2013年4月,由18家著名的IT廠商(包括IBM,Citrix,Redhat,NEC,Intel等0發起OpenDayLight(簡稱ODL)組織正式成立,ODL的目標是實現開源的SDN Controller。
ODL的要打造一個開源的基于SDN的框架,這個框架從上到下包括網絡應用和服務、北向接口、控制器平臺、南向接口。框架搭建好后,開發人員可以在此基礎上進行二次開發,換言之,ODL的主要目標是打造一個網絡操作系統。這個系統的南向接口包括很多類型的協議,OpenFlow指是其中之一。
IETF(國際互聯網工程任務組)
IETF成立了SDN BOF,專門從事SDN標準開發工作。IETF曾提出過兩個與SDN相關的成果,分別是ALTO(application layer traffic optimization)和ForCES(forwarding and control element separation). ALTO提出了與SDN類似的思想,對控制面和轉發面進行分離。
ITU(國際電信聯盟)
ITU成立了WP5(Future Network)組對SDN框架進行研究,目前其下分立了Y.FNsdn-fm和Y.FNsdn兩個項目,對SDN的需求和框架進行重點研究。
2 SDN變革影響力
2.1 網絡設備商
在現有的網絡設備市場中,由設備商和芯片商控制一切。對設備商而言,高端交換機、路由器的軟件系統復雜性極高,大大提高了競爭門檻,幾家設備商掌控大部分市場。在SDN誕生后,控制面和轉發面分離,并且轉發面可以提供開發的標準API接口。這帶來兩個直接影響,首先網絡設備研發門檻降低,因其不在需要將復雜的軟件系統置人交換機中,中小網絡設備商可以相對容易的研發網絡設備,有利于白牌市場的發展,其次為軟件供應商甚至個人開發者提供了參與應用程序開發和Controller開發的機會,傳統的大設備商很難再控制一切,用戶有了更多的選擇。
大設備商如Cisco,Juniper為保住市場份額,也積極參與SDN的研發之中.Juniper收購Contrail System,推出開源的SDN控制器。目前最大規模的SDN由Google部署,其全球有多個數據中心由SDN聯通,使其聯絡使用率提升到近100%。
2.2 運營商
運營商作為SDN的用戶,積極參與到SDN技術的推進進程中。目前各大運營商關注的下一代網絡模型叫“智能管道”,SDN有助有優化目前運營商的網絡,但無法完全取代現有網絡模型。
NTT DoCoMo是運營商開發的第一個SDN模型,主要在多個數據中心提供統一服務和統一配置方面做了加強。NTT在日本、歐洲、北美的數據中心部署了DoCoMo。
3 SDN未來展望
SDN是”軟件定義一切”在網絡領域的體現,在網絡領域的所有參與者包括用戶、運營商、設備商都希望在SDN的技術革命中尋求到新的突破點,從目前業界的反饋來看,SDN必將興起,但不會一統江湖,SDN在具體領域非常合適,特別是安全領域、無線控制、數據中心、企業網。未來南向接口會開發化,但在短期內難以標準化,其中主要牽扯到利益關系,南向接口若標準化了,大型設備商優勢就會大打折扣;北向接口因用戶場景的多樣性,會呈現百花齊放的局面;大型設備商仍然具有優勢,但影響力會弱化。SDN雖然處于起步階段,受到技術成熟度及標準等各種因素的影響,但SDN在未來幾年發展仍大具想象空間。endprint