楊志偉(仲愷農業工程學院計算科學學院 廣東 廣州 510000)
軟件定義網絡(Software Defined Network,SDN)起源于2006年斯坦福大學的Clean Slate項目,是一種新型的網絡架構,該架構能夠實現網絡流量的靈活控制。軟件定義網絡概念自提出以來,迅速成為國內外相關領域專家研究的熱點,被專家認為是下一代互聯網的重要發展方向。軟件定義網絡的核心技術包括控制器技術、應用層面、數據轉發層面和轉發策略更新,其核心思想是從網絡設備中分離出控制功能,控制器負責流表的生成,而網絡設備則根據流表進行數據轉發。軟件定義網絡通過控制功能和數據轉發功能分離,從而實現有效的網絡資源協同分配和調度,使得網絡變得更加智能,資源利用更加合理。目前,軟件定義網絡方面的研究工作大部分是是面向有線廣域網、局域網環境的,包括安全問題、可擴展性、控制平面、流量監控等方面。近幾年來,隨著無線網絡技術的發展,軟件定義無線網絡方面的研究逐漸成為熱點,包括無線局域網、多跳自組織網絡、蜂窩網絡以及車聯網等環境下都有軟件定義技術的研究工作。本文主要對軟件定義無線網絡方面的國內外研究工作進行總結,并對軟件定義無線網絡研究存在的問題進行討論。
2.1 無線局域網方面研究。在無線局域網絡方面[1],目前軟件定義無線局域網絡的主要研究包括:(1)設計分離網絡服務層和底層基礎設施的無線網絡架構;(2)設計合理的軟件抽象層,該層能夠將無線協議的處理塊和決定層分開,從而為物理層和MAC層的可編程性提供了保障;(3)設計分級的控制層,例如把控制層分為兩級,低的一級由鄰近控制器組成,處理那些不需要全局信息或頻繁發生的事件,高層控制器則是處理類似網絡監控或負載均衡等事件;(4)設計社區網絡中的軟件定義無線mesh網絡控制器層面,以實現可擴展的公共Internet接入。
2.2 蜂窩網方面研究。將軟件定義技術用于蜂窩網[2]是無線網絡研究中的另一個熱點,主要研究包括:(1)設計基于交換機和基站的軟件定義架構,實現網絡有效控制;(2)設計中央控制節點和相鄰基站之間的控制系統,如中央控制器決定影響鄰近基站的控制,而本地基站決定快速變化的參數影響的控制;(3)設計移動設備的控制平面和數據平面解耦,形成一個混合無線網絡的通用的通訊層,并且基于移動設備提供的鄰居信息組織移動設備解決流量問題;(4)設計支持5G無線系統的軟件定義網絡架構。
2.3 多跳無線網絡方面研究。在多跳無線網絡[3]研究領域,軟件定義技術也已有一些研究工作,主要研究包括:(1)設計合理的無線網絡中OpenFlow,來實現控制流量和數據流量;(2)設計基于傳感器節點的軟件定義架構,利用控制器對傳感器交互實現有效控制;(3)設計軟件定義無線網的編程抽象模塊,包括狀態管理、資源配置、網絡監控和網絡重配置等方面;(4)設計無線融合網絡中的抗災網絡,通過軟件定義技術去選擇和維護由無線網絡節點組成的鏈路。
2.4 車聯網方面研究。不同與以上無線網絡,車聯網具有高動態性、協同要求高、完備性要求高等特征,因而軟件定義車聯網方面的研究相比其它無線網絡起步比較晚,根據我們能夠調研到的信息,最早研究軟件定義車聯網或軟件定義車載網絡技術是2015年,而且只是提了軟件定義車聯網的架構,沒有實現數據轉發算法。Liu等[4]在軟件定義車聯網的架構中實現車輛數據轉發算法,該算法中把車輛協同數據分發問題轉換為最大加權獨立集問題,然后使用貪心算法取得近似最優解。國內現在也有某些專家開始研究軟件定義車聯網,楊等[5]把路邊單元作為控制器,使用動態規劃和二分搜索方法設計了車輛路由轉發機制,對比沒有使用軟件定義技術的車聯網數據轉發機制,該機制能夠實現數據高效轉發。文獻[5]中只有局部控制器,而董等則提出控制器由局部控制器和全局控制器組成,并使用貪心策略來預測車輛節點位置,使用最短路徑算法和邊集相結合來實現車聯網數據路由機制。車聯網在體系結構、移動性、應用需求等各方面的特殊性使得現有的軟件定義網絡技術無法直接應用到車聯網中。軟件定義技術在車聯網的研究也是近三年才開始,高質量的論文不多,還有很多核心問題有待解決。
軟件定義網絡技術是針對有線網絡設計的,其網絡結構也比較穩定。雖然計算節點和網絡拓撲也會發生某些變化,但其變化更多是由于偶發性的失所導致,其變化范圍十分有限,可以通過容錯機制等方式進行處理。而無線自組織是一種自治、多跳的動態網絡,具有網絡節點移動性強、網絡拓撲變化大等特征,因而基于無線自組織網絡的分布式系統尤其復雜。因此,軟件定義網絡技術在無線網絡方面應用,需要解決以下幾個難點:
3.1 軟件定義無線網絡架構。網絡的體系結構是計算機網絡的基礎核心問題,涉及到網絡的架構、構成部分及關聯方式等基本問題。軟件定義網絡本身是面向廣域網、局域網等傳統、有線網絡環境而設計的,因此其技術、協議、算法等主要考慮的是有線鏈接、固定設備的情況。而在無線網絡中,主要是基于P2P的動態化無線鏈路實現組網和通信,其網絡體系結構與廣域網、局域網等有線網絡有本質的差別,與一般的無線局域網和自組織網絡也有很大的不同。顯然,要實現軟件定義的車聯網,必須基于無線網絡的特點,對傳統的軟件定義網絡體系結構進行改進、擴展甚至重新設計,以適應車聯網的無線特性、移動特性等新的體系結構特征。
3.2 數據路由轉發機制。網絡控制器是軟件定義網絡的基礎設備,用于控制數據層的轉發行為。網絡控制器的核心技術是網絡鏈路資源的調度分配策略?;诰W絡的鏈路狀況和用戶的數據傳輸需求,對網絡的鏈路資源進行優化配置,實現資源利用的最優化。在有線網絡中,其鏈路和轉發設備都是靜態、穩定的。而車聯網中,轉發設備是移動的車輛節點,處于不停的變化中,相應的數據鏈路也是動態變化的。對這樣的鏈路資源進行調度分配與傳統的軟件定義網絡有本質差別,需要進行針對性的深入研究。
3.3 數據層技術研究。與一般的軟件定義網絡相比,軟件定義無線網絡的控制器、應用程序等都有很大不同。但其明顯的不同還是在數據層。在無線網絡中,數據通信鏈路的主體是節點間的無線鏈路,是通過自組織的形式建立和維護的。要將軟件定義網絡技術應用到無線網絡中,首先要解決的問題就是如何對移動節點、無線鏈路進行分析,轉換成量化的通信鏈路資源,實現基于移動自組織節點的數據層。
軟件定義網絡作為下一代互聯網研究方向,其重要性不言而喻。目前關于傳統軟件定義網絡技術的研究綜述比較多,包括控制器研究、網絡可擴展性研究、安全問題、控制器等方面,而針對無線網絡相關的綜述較少。本文總結了國內外軟件定義無線網絡方面的研究現狀,并詳細分析了目前軟件定義無線網絡方面研究的難點,本文對于軟件定義無線網絡的研究人員有借鑒作用。