


摘要: 通過控制平面與數據平面的分離,軟件定義網絡(SDN)架構將網絡底層網絡設施與網絡應用抽象分離開來,從而實現構建可管理、可編程的、可動態改變的網絡。文章認為未來網絡將越來越依賴于軟件,SDN這種新穎的、動態的網絡架構將提高網絡的延展性、靈活性和可管理性,從而實現網絡變革并帶來新一波的技術創新。
關鍵詞: 軟件定義網絡;OpenFlow;未來網絡
Abstract: In software-defined network (SDN) architecture, the control and forwarding planes are decoupled, which abstracts the underlying network infrastructure from the applications. This allows for manageable, programmable, flexible networks that are adaptable to changing business needs. Future networks will rely more and more on software. New, dynamic software-defined architecture will be widely adopted and will revolutionize networks and applications.
Key words: software-defined networking; OpenFlow; future network
當前,網絡已經成為支撐現代社會發展以及技術進步的重要基礎設施之一,它深深地改變了人們的生產、生活和學習方式;然而,傳統網絡架構越來越不能滿足當今企業、運營商以及用戶的需求。傳統互聯網由極其復雜的交換機、路由器、終端以及其他設備組成,這些網絡設備使用著封閉、專有的內部接口,并運行著大量的分布式協議。在這種網絡環境中,對于網絡管理人員、第三方開發人員(包括研究人員),甚至設備商來說,網絡創新都是十分困難的。例如,研究人員不能夠驗證他們的新想法;網絡運營商難以針對其需求定制并優化網絡,難以使得他們的收益最大化;甚至對于設備商來說,也不能及時地創新以滿足用戶的需求。封閉的網絡設備所帶來的結果是:網絡依舊面臨著諸多問題與挑戰,如安全性、健壯性、可管理性以及移動性等等;網絡維護成本仍然居高不下,網絡管理需要大量的人工配置等等。
近年來,逐漸興起的SDN正試圖打破這種僵局,并成為了近年來學術界和工業界討論的熱點。
1 SDN的架構
1.1 SDN架構的特點
SDN是軟件定義網絡的簡稱,其核心理念是使網絡軟件化并充分開放,從而使得網絡能夠像軟件一樣便捷、靈活,以此提高網絡的創新能力。通常意義上來講,SDN是指從OpenFlow[1]發展而來的一種新型的網絡架構,其前身是斯坦福的用于企業集中安全控制的Ethane項目[2]。2008年斯坦福大學的Nick Mckeown教授將其命名為OpenFlow,后經由斯坦福Clean State項目推廣,以及在大型網絡-全球網絡創新環境(GENI)項目中的應用,該概念被逐漸擴展并成為了SDN [3]。
圖1描述了SDN架構的邏輯視圖。SDN的基本網絡要素包括:邏輯上集中的SDN控制器,它是基于軟件的控制器,負責維護全局網絡視圖,并且向上層應用提供用于實現網絡服務的可編程接口(通常也稱為“北向接口”);控制應用程序,該程序運行在控制器之上,通過控制器提供的全局網絡視圖,控制應用程序可以把整個網絡定義成為一個邏輯的交換機,同時,利用控制器提供的應用編程接口,網絡人員能夠靈活地編寫多種網絡應用,如路由、多播、安全、接入控制、帶寬管理、流量工程、服務質量等;轉發抽象,轉發抽象通常稱為“南向接口”,SDN控制器通過利用SDN提供的轉發平面的網絡抽象來構建全局網絡視圖。
由此可知SDN的基本特征:
·控制與轉發分離。轉發平面由受控轉發的設備組成,轉發方式以及業務邏輯由運行在分離出去的控制面上的控制應用所控制。
·控制平面與轉發平面之間的開放接口。SDN為控制平面提供開放的網絡操作接口,也稱為可編程接口。通過這種方式,控制應用只需要關注自身邏輯,而不需要關注底層更多的實現細節。
·邏輯上的集中控制。邏輯上集中的控制平面可以控制多個轉發面設備,也就是控制整個物理網絡,因而可以獲得全局的網絡狀態視圖,并根據該全局網絡狀態視圖實現對網絡的優化控制。
1.2 SDN的實例——OpenFlow
提到SDN,必然要涉及控制平面與轉發平面之間的接口定義,作為SDN架構中控制平面與轉發平面之間轉發抽象定義的第一個實例,OpenFlow協議在提出的初期就受到業界的廣泛關注,后經過GENI項目的推進以及多家IT/互聯網企業的參與,現已形成強大的產業聯盟。因此,業界普遍選擇OpenFlow協議作為SDN中控制平面與轉發平面之間的通信接口,并圍繞其建立一系列的網絡操作系統、控制應用以及相關的組件等。
OpenFlow的成功與其簡單高效的特點密不可分。OpenFlow架構十分簡潔,如圖2所示,OpenFlow交換機由內部轉發流表以及用來與外部控制器進行通信的安全通道組成。為了使遠端的控制應用能夠對轉發平面的網絡設備進行編程,OpenFlow協議指定了一系列基本操作。通過OpenFlow,SDN控制應用可以直接訪問并操控轉發平面中的網絡設備,OpenFlow交換機則使用流表流水線來進行數據包匹配與數據包轉發。如圖3所示,OpenFlow交換機中的每個流表中含有多條流表項,每條流流表項由匹配域、優先級、統計域以及一系列的轉發指令組成。控制器可以利用OpenFlow協議對這些流表項進行添加、刪除或者修改操作,當數據包匹配到某個流表項時,該表項對應的指令集合將被觸發。OpenFlow支持最基本的動作,包括轉發、丟棄、群組操作、入隊以及加/去標簽等。OpenFlow通過對網絡中“流”的控制來達到對網絡進行靈活控制的目的。
此外,OpenFlow支持的多種控制方式也有利于其在多種網絡環境中的部署。首先,基于OpenFlow的SDN完全不會受網絡規模的影響,分布式控制器能夠很好地提高網絡的可擴展性。其次,OpenFlow中對“流”的定義十分靈活,這也就使得能夠對網絡進行更靈活的控制。例如,在需要進行細粒度控制的網絡場景中,可以逐流建立流表項并通過逐微流的精確匹配實現對網絡的精確控制;在流量較大的網絡環境中,可以使用通配流表來對匯聚流進行轉發,降低流表項數目對轉發節點內存空間的沖擊。最后,控制平面建立流表項的方式也十分靈活。控制平面既可以被動地建立流表項,由新流來觸發流表項的建立,也可以主動地建立流表,提前對轉發設備的轉發行為進行配置,從而提高轉發效率。OpenFlow細粒度的、基于流的轉發能力,使得網絡控制變得十分靈活,使其能夠實時地對網絡應用、用戶、會話的需求做出不同的響應。
1.3 SDN網絡虛擬化工具
——FlowVisor
網絡虛擬化是未來網絡的發展方向之一。在基于OpenFlow的SDN中,FlowVisor能夠有效地實現網絡虛擬化。
FlowVisor是一個特殊的OpenFlow控制器,主要作為OpenFlow交換機與多個OpenFlow控制器之間的透明代理。FlowVisor可以將物理網絡分成多個邏輯網絡,也稱為網絡分片,并為網絡管理人員提供廣泛定義的規則以實現對網絡的管理。FlowVisor通過抽象層來分割物理網絡,它位于一組交換機和SDN或多個網絡之間,可管理帶寬的使用、CPU利用率的管理統計和流表的配置等,這十分類似于管理程序位于服務器硬件和軟件之間,以支持多個虛擬操作系統的運行。正如管理程序依賴于標準x86指令來虛擬化服務器一樣,FlowVisor使用標準OpenFlow指令集來管理OpenFlow交換機。由于所有這些規則都是通過流量表定義的,因此,無論是從帶寬還是CPU使用率來看,網絡虛擬化幾乎沒有增加額外的開銷。
目前FlowVisor已經被部署在美國各地的一些大型校園網中(例如斯坦福)。兩個以研究為重點的大型網絡GENI和Internet 2上也在使用FlowVisor進行網絡虛擬化的管理。
2 SDN的發展與應用
2.1 SDN廣受關注
當前,SDN已逐漸成為了學術界、工業界以及標準化組織廣泛關注并討論的熱點。
在學術界方面,近年來,世界各國紛紛開展了圍繞著SDN的科研項目。美國科學基金會(NSF)支持的GENI計劃[4]在OpenFlow發展的初期就率先對OpenFlow予以了資金支持并實施了“GENI Enterprise”計劃。目前,OpenFlow已經在美國多所高校、Internet 2以及其他的多個科研機構中得到部署。歐盟第七框架計劃也于2010年開始支持SDN的相關研究,并支持了OFELIA[5] 、SPARC[6]以及CHANGE[7]等研究項目。2012年4月,SDN領域中又誕生了一個新的研究機構:美國斯坦福大學與伯克利大學聯合12家公司成立了開放網絡研究中心(ONRC)[8],其中包括了Cisco、HP、華為及Juniper等網絡公司。目前,SDN的相關研究已經遍布全球的各個角落,比較有影響力的研究機構包括斯坦福大學、普林斯頓大學、康乃爾大學、多倫多大學、巴西CPqD、愛立信研究中心、NEC研究中心、HP研究中心、德國電信T-Labs研究中心等等。于此同時,SDN/OpenFlow也在多個國家得到部署,主要包括:美國、巴西、加拿大、德國、英國、意大利、西班牙、日本等。
SDN在得到學術界的普遍認可的同時,工業界也對這種新的網絡架構表達出濃厚的興趣。從OpenFlow推出開始,NEC公司就對OpenFlow的相關硬件進行了跟進性的開發,并推出了多款支持OpenFlow協議的交換機。此外,HP、Junifer、pronto等公司也相繼推出了支持OpenFlow的交換機、路由器、無線網絡接入點(AP)等網絡設備。2011年,開放網絡基金會成立[9],專門負責OpenFlow標準和規范的維護和發展,并召開了第一屆開放網絡峰會,為OpenFlow和SDN做了很好的介紹和推廣,該基金會成員基本涵蓋了所有網絡及互聯網領域的商業巨頭。在2012年初召開的第二屆開放網絡峰會上,Cisco宣布投入1億美元于一個專門致力于SDN產品研發的內部創業公司Insieme;Google宣布已經在其全球各地的數據中心骨干網絡中大規模地使用OpenFlow/SDN。最近,Facebook也宣布在其數據中心中使用了OpenFlow/SDN技術。
在標準化方面,開放網絡基金會(ONF)致力于推動SDN技術的標準化和商業化,已于2012年4月發布了OpenFlow協議的最新v1.3版本。此外,作為互聯網協議標準的主要制訂者,互聯網工程任務組(IETF)也在積極開展SDN的相關工作。2011年11月IETF第82次會議上的SDNP BoF吸引了包括運營商以及設備商在內的300多人參加,主要討論了SDN的需求、架構以及典型的應用場景。在IETF第84次會議上,SDN更是成為IETF技術全會的熱門話題,Cisco、Google以及馬里蘭大學分別進行了SDN相關的主題演講。此外,負責進行互聯網演進相關的相對長期性研究的互聯網研究任務組(IRTF),也于IETF 84會議上舉行了SDNRG會議,并引起的極大關注。
2.2 SDN發展迅速
經過了幾年的發展,SDN的相關技術正呈現著百花齊放的發展態勢。
在控制平面方面,從第一個控制器平臺NOX開始,業界已逐漸出現一系列的基于OpenFlow的網絡控制器平臺。這些控制器平臺在向下封裝與交換機通信的OpenFlow協議的同時,也向上層網絡控制應用提供相對更高層的開放編程接口。當前主流的控制器平臺主要包括:NOX,POX,Onix,Floodlight,Beacon以及Maestro等。
在轉發設備方面,SDN的轉發設備已不再局限于有線轉發設備。支持OpenFlow的轉發設備能夠部署在更廣闊的網絡環境中,如適用于虛擬環境的Open vSwitch以及能夠工作在無線環境中的Pantou等。于此同時,隨著設備廠商的加入,支持OpenFlow的轉發設備也正逐漸從基于軟件的轉發設備向基于高速硬件的轉發設備過渡。
在控制平面與轉發平面的通信接口方面,開放網絡基金會ONF于2012年6月發布了Openflow v1.3版本。與早期版本相比,新版本的Openflow協議更加靈活。除了保留OpenFlow v1.1版本中對多級表、群組表、標簽以及虛端口等特性的支持,以及OpenFlow v1.2版本中對IPv6以及可擴展匹配的支持之外,OpenFlow v1.3版本規范了基于參數類型、長度和數值(TLV)的能力表達框架,還增加了對逐流計量以及IPv6擴展頭處理等功能的支持。OpenFlow v1.4版本的標準化工作計劃也將在2013年上半年完成。
隨著SDN相關技術研究的不斷深入,其研究活動主要可以在以下方面展開:
(1)SDN控制應用的研究。SDN這種開放的網絡架構能夠用于多種網絡環境中,不同場景中SDN控制應用需要從不同的網絡環境特點出發,因地制宜,合理有效地進行有針對性的控制應用設計。
(2)SDN網絡抽象。在SDN架構中,控制器平臺向上層控制應用提供高層抽象應用程序編程接口(API),也稱為“北向接口”。現有的控制器平臺實現已經提供了一些基本的抽象,然而利用基本抽象來編寫網絡控制程序往往也是比較復雜并且容易出錯,如何去設計更高層的網絡編程抽象也是一個需要解決的問題。當前,業界比較認可的編程API需求有提供通用的編程抽象,能夠支持多種網絡環境中的不同的網絡控制功能;提供高層抽象,使編程人員能夠更容易地控制網絡;提供分布式抽象,以支持網絡和應用的可擴展性,使程序的編寫不受底層網絡分布式結構的束縛;提供支持模塊化的控制程序;提供可移植性,使控制程序能夠得到最大限度的重用等等。
(3)SDN調試及排錯技術。由于SDN的行為完全由軟件決定,與所有程序一樣,這些控制程序同樣會存在一定的漏洞,驗證網絡行為與控制策略的一致性也成為了現階段的重要問題。
當前的解決方案有:利用模型校驗以及符號執行去驗證控制器代碼的正確性;利用斷點及數據包回溯技術來對SDN進行排錯;以及通過對數據平面配置的靜態分析來檢查網絡的聯通及隔離錯誤等等。
(4)分布式控制平面的設計。雖然OpenFlow支持分布式控制,但將網絡智能邏輯上集中化之后所帶來的可用性、可擴展性等問題仍需完善。在分布式SDN架構中,控制器之間的信息復制決定了系統的可擴展性,在信息全復制的情況下,整個系統將很快會陷入系統瓶頸,因此需要對網絡中各種信息的更新頻率進行更為精確的分析,從而能夠給出較為有效的解決方案。
(5)硬件優化技術。利用OpenFlow的特性來對轉發硬件進行優化,OpenFlow協議從v1.1版本之后將轉發面抽象成多級流水線,十分類似于當今交換機ASIC以及網絡處理器的結構。那么,如何在不過分增加轉發硬件復雜度的前提下,盡可能地提高轉發平面的可編程能力(如可定義的表/流水線結構)也是一個需要進一步研究的重要問題。
隨著研究的不斷深入以及技術的持續發展,SDN關鍵技術將逐漸趨于完善,未來的網絡將會越來越依賴于軟件,因此互聯網將可能會進入SDN時代。
2.3 SDN應用廣泛
SDN能夠在多種網絡環境中得到應用,包括數據中心網絡、企業網絡、廣域網以及移動網絡等[10]。
首先,在數據中心網絡環境中使用SDN,可以將網絡和計算資源更加緊密地聯系在一起,從而實現高效的控制。在數據中心內部,利用SDN的優勢,可以有效地進行數據中心中的路徑優化和負載均衡,提高數據中心中資源利用率以及降低數據中心的能量消耗。另一方面,在多個數據中心之間利用SDN網絡虛擬化技術以及邏輯上集中式的控制技術,可以輕松地實現應用到虛擬專用網(VPN)的映射以及虛擬機的遷移。
其次,使用傳統技術對大型企業網絡進行管理是一種十分復雜的任務。在企業網絡中利用SDN技術,能夠極大地減輕網絡管理的復雜度,企業網絡管理人員只需要通過定義整網的管理策略就能夠直接對企業網絡進行控制,而不需要進行逐設備的配置,提高了企業網絡的可靠性。
最后,在廣域網及移動網絡中使用SDN技術也將可能具有眾多好處。SDN邏輯上集中的控制平面能夠更好地實現網絡融合,使統一管理成為可能。利用SDN技術可以在固定網絡和移動網絡中實現無縫控制、提高VPN管理的靈活性等。已有企業公司利用OpenFlow技術對移動網絡進行高效、靈活的網絡管理,并實現了多種移動通信方式之間的實時動態切換以及移動回程網絡的節能功能。在運營商網絡中利用SDN技術不但能夠降低網絡管理難度,還能夠加快業務部署速度,提高網絡服務的適應能力。
3結束語
通過控制與轉發的分離,SDN能夠降低網絡管控的復雜度,提高網絡的可靠性及安全性,提供多種粒度的網絡控制,從而提高用戶體驗并促進網絡創新。當前SDN已逐漸成為了學術界、工業界以及標準化組織廣泛關注并討論的熱點。未來網絡將越來越依賴于軟件,SDN這種新穎的、動態的網絡架構將得到更廣泛的應用,進而促進網絡技術的不斷創新。
參考文獻
[1] MCKEOWN N, ANDERSON T, BALAKRISHNAN H, et al. OpenFlow: Enabling innovation in campus networks[J]. ACM SIGCOMM Computer Communication Review, 2008, 38(2): 69-74.
[2] CASADO M, FREEDMAN M, PETTIT J, et al. Ethane: Taking control of the enterprise[J].ACM SIGCOMM Computer Communication Review, 2007, 37(4): 1-12.
[3] GREENE K. R10: Software-defined networking[R]. MIT Technology Review ,2009.
[4] ANDERSON T, REITER M K. GENI: Global Environment for Network Innovations[R]. GENI Facility Security, GDD-06-23.2006.
[5] OFELIA. OpenFlow in Europe: Linking infrastructure and applications[EB/OL]. [2012-10-10]. http://www.fp7-ofelia.eu/
[6] SPARC: Split Architecture Carrier Grade Networks[EB/OL].[2012-10-10]. http://www.fp7-sparc.eu/
[7] CHANGE Project[EB/OL]. [2012-10-10]. http://www.change-project.eu/
[8] ONRC: Open Networking Research Center[EB/OL]. [2012-10-10]. http://onrc.net/
[9] ONF.Open Networking Foundation[EB/OL]. https://www.opennetworking.org/
[10] IETF 82 Proceedings: Software Driven Networks (SDN) (BoF) [EB/OL]. [2012-10-10]. http://www.ietf.org/proceedings/82/sdn.html
收稿日期:2012-12-12
作者簡介
王文東,北京郵電大學網絡與交換技術國家重點實驗室教授,網絡技術研究院副院長;目前的主要研究方向為新一代互聯網體系架構和協議、移動互聯網技術與應用、網絡和業務的服務質量控制與管理。
胡延楠,北京郵電大學網絡與交換技術國家重點實驗室在讀博士研究生;主要研究方向為軟件定義網絡、未來網絡體系架構、網絡優化等。