李賀武,趙洲洋,孫文琦,戴祎程(清華大學網(wǎng)絡科學與網(wǎng)絡空間研究院無線與移動網(wǎng)絡技術研究室,北京100084)
軟件定義網(wǎng)絡(SDN)憑借其高靈活性、可編程性和管理動態(tài)性等特點得到了廣泛的關注。由于移動網(wǎng)絡當前面臨的如頻譜短缺、資源利用率低等問題,很多研究開始嘗試將SDN 引入到移動環(huán)境來設計未來的無線網(wǎng)絡架構。
歐盟的5G 項目“METIS”表明5G 的架構將會把接入技術和高密度網(wǎng)絡整合為一個無縫的移動網(wǎng)絡[1]。SDN 網(wǎng)絡具有高度靈活性,已被CROWN 項目認定為高密度無線網(wǎng)絡(5G 場景之一)的一種解決方案[2]。文獻[3-6]將SDN引入到蜂窩網(wǎng)絡中。MobiFlow 將軟件定義的結構利用在核心網(wǎng)絡(EPC)中,給未來運營商提供最大的靈活性、開放性和可編程性[3]。Open?RAN工作提出從物理資源虛擬化BSC、BBU 和RRU等功能,結合虛擬化與SDN技術,設計開放、靈活的蜂窩接入網(wǎng)結構[4]。SoftRAN 對蜂窩網(wǎng)無線接入層進行了重新設想[5]。將基站的無線資源進行抽象,并通過邏輯上的無線接入集中控制層將其以軟件定義的形式程序化。文獻[6]對SDN 進行擴展,使其能夠適用于整個蜂窩網(wǎng)絡,包括RAN 和EPC。關于軟件定義的WLAN,Odin 系統(tǒng)設計了一個結合SDN 和虛擬AP 技術的框架,能夠提供無縫遷移、負載均衡等功能[7]。也有其他針對更復雜的多樣性網(wǎng)絡進行的研究。Open?Roads項目在OpenFlow之上設計了應用層來支持同構與異構無線網(wǎng)絡的移動性[8]。斯坦福網(wǎng)絡系統(tǒng)小組的OpenRadio 項目,提供了一個統(tǒng)一軟件接口,來對異構無線網(wǎng)絡進行觀察和編程[9]。開放網(wǎng)絡基金會(ONF)近期專門成立無線與移動工作組,收集用戶信息,針對SDN 應用于無線和移動領域,制定基礎技術的架構和協(xié)議需求[10]。
本文主要關注對SDN 結構進行擴展以適用于未來的無線移動網(wǎng)絡中可能遇到的挑戰(zhàn)性問題,并且這些問題在之前的研究中很少涉及。目前的SDN 結構將控制層與數(shù)據(jù)層進行了分離??刂茖油ㄟ^對各個流的轉發(fā)路徑和端口速率進行簡單控制來達到控制數(shù)據(jù)層的目的。但目前這種控制方式無法直接應用在無線網(wǎng)絡中。首先,在將SDN應用在有線和無線網(wǎng)絡的統(tǒng)一控制時,由于有線和無線網(wǎng)絡的不同,需要重新定義要調度的對象?;贠penFlow的SDN架構,通過在數(shù)據(jù)層面的路徑管理和QoS服務來控制有線網(wǎng)絡。但是在無線網(wǎng)絡中通常是基于節(jié)點來進行資源管理,如對頻率、調制方式和信道占用時間進行分配。另一個重要的問題是對無線網(wǎng)絡設備的底層細節(jié)參數(shù)進行合理地抽象。參考以前的研究,需要很多的參數(shù)來描述無線網(wǎng)絡,如工作頻率、調制方式和天線模式等,這些都要比有線網(wǎng)絡設備復雜得多。因此,當把SDN應用在無線網(wǎng)絡中時,無線網(wǎng)絡的參數(shù)需要被合理地抽象化,使得SDN能夠有效并且一致地對無線、有線網(wǎng)絡進行調度。除此之外,在未來的無線網(wǎng)絡中,終端節(jié)點會更多地參與到網(wǎng)絡選擇與資源分配的過程中來。當前SDN 的架構是對終端透明的。基于上面的分析,可以看到將SDN架構應用于無線網(wǎng)絡中會面臨很多挑戰(zhàn)性的問題。本文提出了用一種SDN 的擴展架構(SDN+)來嘗試解決上述問題。為了驗證這種架構的有效性和擴展性,本文使用支持802.11的AP搭建了一個實驗平臺。在平臺進行的部分實驗證實了SDN+可以同時對數(shù)據(jù)流的有線路徑和無線資源進行動態(tài)分配。
OpenFlow是SDN的一種主流解決方案,通過使用流的概念來定義網(wǎng)絡流量。由于OpenFlow 允許網(wǎng)絡對每一個流進行編程控制,因此它可以在應用層、會話層、用戶以及多用戶層等方面提供非常精細的控制。相比之下,傳統(tǒng)基于IP的路由策略就不是那么靈活,2個終端節(jié)點間的所有流,即使終端的需求不同也會使用相同的轉發(fā)路徑。
但由于無線網(wǎng)絡的轉發(fā)和資源分配都是基于終端的,SDN 的高度靈活性無法直接應用在無線鏈路中。以局域網(wǎng)802.11 CSMA/CA 為例,關聯(lián)在1 個AP 上的移動終端一般共享同一個信道。由于在無線網(wǎng)絡中窗口(CW)是隨著節(jié)點,而不是流變化的,因此1 個移動終端的不同流會使用相同的信道和CW。即傳統(tǒng)SDN中,1 個移動終端的不同的流會被同樣對待。IEEE 802.11e 協(xié)議通過對流量的CW 和幀間間隔區(qū)別對待并賦予不同的優(yōu)先級,來對無線網(wǎng)絡進行優(yōu)化。但是這種方法僅會提高優(yōu)先的數(shù)據(jù)流獲取信道的可能性,并沒有很好的靈活性和管理性,因為這種方式很難對分配給用戶和流的資源進行預測和控制。不僅WLAN,基于終端的蜂窩網(wǎng)絡也會有此類問題:在Cell中的設備通過建立帶有控制和數(shù)據(jù)的上行與下行鏈接,來獲取對應的服務[11]。在無線網(wǎng)絡中,這種粗粒度的調度機制會嚴重降低SDN 的靈活性。調度對象在有線與無線網(wǎng)絡中的不同,也會使SDN的工作變得低效。
OpenFlow 的結構分離了控制層和數(shù)據(jù)層??刂茖記Q定流的轉發(fā)路徑與基礎QoS。數(shù)據(jù)層的交換機只是簡單的管理流表,并根據(jù)該表對來的每一個包進行處理。處理的內容都是和轉發(fā)相關的,比如發(fā)送至指定的端口和隊列、洪泛、發(fā)送至控制器和丟包等。QoS也是簡單地通過在轉發(fā)端口控制隊列帶寬來實現(xiàn)的。相比之下,在無線網(wǎng)絡中,數(shù)據(jù)層就變得比較復雜,調度方法也會變得十分不同。除了轉發(fā),無線設備還有很多的行為(MAC層、物理層和中間層)需要執(zhí)行。圖1針對無線設備需要管理的各種參數(shù)進行了簡單的描述(以WLAN為例)。
圖1 無線設備的特殊參數(shù)
圖2 軟件定義的無線網(wǎng)絡架構
如圖1所示,無線帶寬是由多個參數(shù)共同決定的,如中心頻率、信道寬度、MIMO 模式、調制類型以及MAC air time(下稱信道占用時間)等。
因此,選擇合適的參數(shù)并對無線設備的底層進行抽象是錯綜復雜的。一方面,一些參數(shù)因為實時性和復雜性無法被SDN動態(tài)配置。另一方面,一些需要動態(tài)配置的無線參數(shù)在有線網(wǎng)絡中是需要保持不變的。比如,一個給流建立的特定帶寬的通路,無線設備就需要做相應的特殊配置。因此,選擇合適的無線參數(shù)進行合理的調度對于SDN 的高效準確工作是十分重要的。
基于OpenFlow 的SDN 對于用戶是透明的并且不需要終端進行任何修改。在未來的無線網(wǎng)絡中,各個移動終端應該參與到網(wǎng)絡的管理與控制中來。比如,在未來無線網(wǎng)絡中,由于“白空間”頻譜會被廣泛使用,移動終端需要感知周邊頻譜的使用情況并上報給網(wǎng)絡控制器,以便更好地進行資源分配。另一個重要的例子是網(wǎng)絡選擇。由于網(wǎng)絡接入變得越來越密集和多樣化,經(jīng)常會發(fā)現(xiàn)周邊有非常多的無線熱點。雖然網(wǎng)絡選擇的過程通常由移動終端進行,但是網(wǎng)絡自身會在選擇的過程中給予移動終端一些引導和協(xié)助。協(xié)同移動終端進行漫游和網(wǎng)絡選擇的相關解決方法,如802.11u[12]和ANDSF[13],已經(jīng)非常流行了??傊?,在未來的無線網(wǎng)絡中,移動終端將會作為網(wǎng)絡架構的一部分,來完成一些重要的功能獲得更好的服務。
和ONF 展示的SDN 結構類似,SDN+如圖2 所示,同樣包含了基礎設施、控制器和應用?;A設施包括了多樣性的AP 和終端設備。為了控制無線設備并提供API 給上層服務,SDN 控制器如圖2 所示,擴展為SDN+控制器。圖2中一個新的組件是802.11u/ANDSF服務器與SDN+控制器之間的接口。通過SDN+控制器,應用可以對802.11u/ANDSF 服務器進行配置或者獲取信息。通過這種形式,SDN+提供了協(xié)同終端設備的接口。
在OpenFlow結構中,OpenFlow協(xié)議被指定為南向接口,用于控制器和交換機之間的通信。本文對南向接口進行擴展,使其能夠控制無線設備。其他很多協(xié)議,如NETCONF、SNMP 和SSH 也都能夠代替控制器與網(wǎng)絡設備之間的SDN協(xié)議。如果需要,也可以指定新的協(xié)議,或擴展OpenFlow。不管選擇哪種協(xié)議,均需要定義控制器和無線設備之間的通信內容。正如大家所知,OpenFlow 控制器監(jiān)控所有設備的運行狀態(tài)并在交換機上對每一個流建立轉發(fā)規(guī)則。
如圖1所示,相比于有線設備,無線設備有更多的參數(shù)需要管理。出于對控制層負載以及數(shù)據(jù)層效率的考慮,沒有必要也難以實現(xiàn)對所有的參數(shù)進行集中控制。比如,一些參數(shù)是隨著高速變化的信道狀態(tài)而改變的,這些參數(shù)應該采用自適應的實時方式來自主改變,而不是通過控制器。本文嘗試選擇了一些合理的長周期控制參數(shù),并給出了802.11 WLAN 無線網(wǎng)絡中對無線設備5個維度的抽象。長周期的控制意味著這些參數(shù)在一些時間段內(至少在一個流的傳輸時間內)不需要被重新配置。
2.2.1 頻率維度
頻率維度參數(shù)可以被表述為:
式中:
fc——信道的中心頻率
SDN+控制器通過給無線接入點和移動終端分配F 來傳輸每一個流。一個合理場景是:對延遲敏感的VoIP 流可以使用一個較窄的,但是干擾小的信道;盡力而為的數(shù)據(jù)傳輸服務則可以使用更寬的,但是有一定干擾的信道。
2.2.2 時間維度
在802.11 WLAN 中,移動終端之間進行信道競爭。為了控制被移動終端和流占用的資源,時間維度的參數(shù)——信道占用時間被開發(fā)出來。信道占用時間的機制很容易理解。下行鏈路發(fā)送給移動終端中的幀,如果沒有分配的信道占用時間(air time)將會被AP緩存。從移動終端發(fā)出的上行鏈路幀,如果沒有分配的信道占用時間(air time),AP 將不會進行ACK 回復。這樣移動終端的CW 將會回退,使得移動終端靜默一段時間。這種機制在一些供應商中已經(jīng)被不同程度地支持[14-15]。
在SDN+結構中,SDN+控制器可以給每個流動態(tài)設置分配的信道占用時間(air time)。通過在特定頻率上給一個流分配信道占用時間,這個流能夠得到的大致無線帶寬就能被估算出來。然后,可以粗略地給一個流分配無線帶寬。隨著OpenFlow 支持了QoS,SDN+控制器給基于流的資源管理提供了統(tǒng)一的接口。一個實際的問題是如何調整每流的信道占用時間。實際上,這就是上一章中提到的第一個挑戰(zhàn)性問題:調度對象不一致。本文將在后續(xù)章節(jié)中提出一個解決這個問題的方法。
2.2.3 空間維度
空間維度參數(shù)主要包含了MIMO 的流控制。AP能夠支持越來越多的空間流(這里的空間流指天線流),從1 個到4 個甚至是8 個。由于能量和移動終端空間的限制,并不是所有傳輸都使用多空間流。SDN+控制器可以調節(jié)移動終端的流,如果有需要甚至還能調節(jié)數(shù)據(jù)流的空間流。
2.2.4 功率維度
AP的發(fā)射功率也可以被SDN+控制器來管理。發(fā)射功率可以被用來控制Cell 的大小,或者控制MIMO流的協(xié)同程度。
2.2.5 編碼維度
考慮到實時性、可擴展性的需求,控制器不適合進行與編碼相關的操作,但是SDN+控制器可以進行一些粗粒度的編碼控制來提升架構的靈活性。比如SDN+控制器可以告知AP,對一些流使用保守的策略,同時對一些流采用激進的策略。
OpenFlow 結構提供了一個全局的視圖以及供上層應用調用的網(wǎng)絡設備API。同樣,SDN+給應用提供了監(jiān)控接口和編程接口。通過監(jiān)控接口,應用可以得到AP的運行信息,如幀丟失率、重傳次數(shù)、信道利用率等。應用自己可以通過編程接口來調控2.2節(jié)所述的5個維度參數(shù),給每一個流分配不同的資源。
近年來得到廣泛關注的802.11u 和ANDSF 等協(xié)議,主要用于輔助移動終端進行網(wǎng)絡選擇和漫游。SDN+控制器有一個接口可以與802.11u/ANDSF 服務器進行交互。應用可以通過SDN+控制器發(fā)送網(wǎng)絡選擇機制給802.11u/ANDSF 服務器,有利于控制層協(xié)同各個移動終端。
SDN的集中控制概念導致了可擴展性問題。集中控制不能適應網(wǎng)絡的增長。在SDN+的結構中,1個控制器僅負責1 個指定的區(qū)域,控制器之間可以通過東向和西向接口進行交互。區(qū)域劃分以及東向和西向接口并不會在本文進行討論。
平臺由1個SDN+控制器、3個OpenFlow交換機、1個傳統(tǒng)交換機、2個WLAN AP、1個協(xié)議服務器以及一些有線和無線主機組成。如圖3 所示,在實驗平臺中有3個SDN交換機和1個傳統(tǒng)交換機,3個SDN交換機可以任意兩兩交互,以給數(shù)據(jù)流更多的路徑選擇。傳統(tǒng)交換機用來連接SDN+控制器和SDN交換機。平臺的無線網(wǎng)絡部分包括2 個802.11 AP,分別連接2 個不同的SDN 交換機。負責運行應用的協(xié)議服務器通過傳統(tǒng)交換機與SDN+控制器進行交互。平臺設備的詳細組成如表1所示。
3.2.1 南向接口
為了感知和控制AP,需要對控制器的南向接口進行擴展。為了監(jiān)控AP,控制器會周期性地采集AP 信道頻寬、信道數(shù)目、beacon 間隔、發(fā)送功率、關聯(lián)設備、RSSI、信道使用率和基礎噪聲等。目前能夠實現(xiàn)改變AP 的信道頻寬(20 MHz、40 MHz 和80 MHz)、信道數(shù)目、發(fā)送功率和多天線MIMO類型等。平臺的SDN+控制器目前可以粗粒度地控制無線資源的頻率維度、功率維度和空間維度。一方面,在一些數(shù)據(jù)流開始的時候,這種擴展可以對無線和有線網(wǎng)絡進行統(tǒng)一調整。另一方面,整個網(wǎng)絡可以根據(jù)負載情況對有線和無線網(wǎng)絡資源進行動態(tài)分配。目前實現(xiàn)控制AP 的airtime fairness模式,以避免最慢的用戶在指定的時間影響其他的用戶[15]。
圖3 平臺拓撲結構
表1 平臺設備參數(shù)信息
表2 控制無線設備的REST API
3.2.2 北向接口
北向接口需要能被程序員簡單與方便地操作。為了和Floodlight 本地REST API 保持一致,將這些讀寫功能封裝入了REST API,如表2 所示。比如,程序員可以簡單地通過發(fā)送HTTP GET 或者POST 請求來改變某1個流的AP信道寬度。
3.2.3 擴展移動終端
如第2 章所述,在SDN+結構中,時間維度的參數(shù)在每一個流中都需要被單獨配置。因此802.11接入點的信道占用時間調度需要被應用在CSMA/CA 系統(tǒng)中的時間維度控制。通過對無線主機上的物理無線接口進行虛擬化,提出了一個實用的解決方案。移動終端可以簡單地分配擁有不同優(yōu)先級需求的數(shù)據(jù)流給不同的虛擬接口。對AP而言,這些數(shù)據(jù)流看上去是從不同的移動終端過來的,因此可以做到對每一個數(shù)據(jù)流進行不同信道占用時間的分配。
由于平臺剛剛搭建,本文設計了一個簡單的場景來進行驗證。如圖4 所示,無線主機運行了2 個擁有不同需求的流。在沒有附加控制時,這2 個擁有一樣目的地的流會使用一樣的頻率(AP1 的Band1)和一樣的有線路徑(Path1)。傳統(tǒng)意義上,1 個流希望得到更高的帶寬;在一個路徑上,2個流則需要共享一個傳輸瓶頸。
為了區(qū)別對待這2 個流,本文將這2 個流分配給不同MAC 地址的無線接口。在用戶關系數(shù)據(jù)中,這2個MAC 地址被映射到不同的帶寬和工作頻率。如果希望第二個流擁有更高的傳輸質量時,可將AP的無線帶寬從20 MHz 自動調整為40 MHz,并且將第二個流的路由路徑,按照一個更高質量(不擁堵)的路徑進行路由。然后本文提出的應用會通知SDN+控制器,選擇對應的頻率(AP1 的Band1、Band2),將數(shù)據(jù)流分配給SDN+控制器(Path1、Path2)以給每一個數(shù)據(jù)流提供不同的服務,如圖4所示。需要注意的是,上面提到的無線接口是不同的物理網(wǎng)卡,一個是mini USB WLAN卡,另一個是本地無線適配器。
調整之前,第一個流和第二個流的速率分別是43.8 和10 Mbit/s。圖5 展示了第一個流和第二個流在擁有一樣路徑和一樣的有線和無線資源時的帶寬。由于2個網(wǎng)卡的性能不同,2個流的數(shù)據(jù)傳輸速率也不同。圖6展示了調整之后當2個流采用不同的有線路徑和無線資源后的狀態(tài)??梢钥吹?,在第二個流帶寬不變的情況下,第一個流的帶寬從43.8 Mbit/s 提升到了64.5 Mbit/s。
本文針對SDN 應用在有線和無線網(wǎng)絡的統(tǒng)一控制時遇到的挑戰(zhàn)進行了討論。然后基于OpenFlow 進行擴展,設計了SDN+架構,能夠同時控制無線設備和有線控制器。其中針對無線功能和編程接口的擴展性在本文中進行了詳細的描述。最后搭建實驗環(huán)境對SDN+結構進行了驗證。結果表明:SDN+可以同時對每個數(shù)據(jù)流的有線路徑和無線資源進行動態(tài)分配。
圖4 2個不同數(shù)據(jù)流的相同路徑/不同路徑示意圖
圖5 共享相同資源時數(shù)據(jù)流的帶寬情況
圖6 使用不同資源時數(shù)據(jù)流的帶寬情況
[1] Osseiran A.,Boccardi F.,Braun V.,et al. Scenarios for 5G mobile and wireless communications:the vision of the METIS project[J].IEEE,2014,52(5):26-35.
[2] Oliva A D L,Morelli A,Mancuso V,et al. Denser Networks for the Future Internet,the CROWD Approach[J]. Lecture Notes of the In?stitute for Computer Sciences Social Informatics & Telecommunica?tions Engineering,2013(58):28-41.
[3] PENTIKOUSIS K,WANG Y,HU W.Mobileflow:Toward software-de?fined mobile networks[J].IEEE Communications Magazine,2013,51
(7).
[4] Yang M,Li Y,Jin D,et al. OpenRAN: a software-defined ran archi?tecture via virtualization[J]. Acm Sigcomm Computer Communica?tion Review,2013,43(4):549-550.
[5] Aditya Gudipati,Daniel Perry,Li Erran Li,et al. SoftRAN:Software Defined Radio AccessNetwork[C]. Proceedings of workshop on Hot topics in software definednetworks,ACM,2013.
[6] LIL E,MAO Z M,Rexford J. Toward software-definedcellular net?works[C]. Software Defined Networking(EWSDN),2012 European Workshop on,2012:7-12.
[7] L Suresh,J Schulz-Zander,R Merz,et al.Towards programmable en?terprise WLANs withOdin[C]. Proceedings of the first workshop on Hot topics in softwaredefined networks,ACM,2012:115-120.
[8] Yap K K,Kobayashi M,Sherwood R,et al.OpenRoads:Empowering research in mobile networks[J]. ACM SIGCOMM Computer Commu?nication Review,2010,40(1):125-126.
[9] Bansal M,Mehlman J,Katti S,et al. Openradio:a programmable wireless dataplane[C]. Proceedings of the first workshop on Hot top?ics in software defined networks,ACM,2012:109-114.
[10]ONF Charter“Wireless&Mobile”[EB/OL].[2015-03-25].https://www.opennetworking.org/working-groups/wireless-mobile.
[11]Federico Boccardi,Robert W.Heath Jr,Angel Lozano,et al.Five dis?ruptive technology directions for 5G[J]. IEEE Communications Mag?azine,2014,52(1):74-80.
[12]IEEE 802.11u.Part 11:wireless LAN medium accesscontrol(MAC)and physical layer(PHY)specifications amendment 9: interworking with external networks[S/OL].[2015-03-25].http://download.csdn.net/detail/s_bird0529/2553723.
[13] Access Network Discovery and Selection Function(ANDSF)Man?agement Object[EB/OL].[2015-03-25]. http://www.3gpp.org/Dy?naReport/24312.htm.
[14]Optimizing Network and Client Performance Through Dynamic Air?time Scheduling[EB/OL].[2015-03-25].http://www.aerohive.com/pdfs/Aerohive-Whitepaper-Dynamic_Airtime_Scheduling.pdf.
[15] Configuring Adaptive Radio Management(ARM)Profiles and Set?tings[EB/OL].[2015-03-25]. https://community.arubanetworks.com/aruba/attachments/aruba/70/1204/1/ARM+Doc+Supplement.pdf.