孫瑞娜 廖 彬
1(新疆財經(jīng)大學(xué)信息管理學(xué)院 新疆 烏魯木齊 830012) 2(中國科學(xué)院信息工程研究所 北京 100093) 3(中國科學(xué)院大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 北京 100049)
隨著互聯(lián)網(wǎng)的快速發(fā)展,新舊業(yè)務(wù)不斷更迭導(dǎo)致網(wǎng)絡(luò)中業(yè)務(wù)流量組成結(jié)構(gòu)發(fā)生重大變化。業(yè)務(wù)流量結(jié)構(gòu)的變化要求網(wǎng)絡(luò)QoS、拓撲結(jié)構(gòu)、網(wǎng)絡(luò)資源與安全等方面必須做出相應(yīng)的變化。傳統(tǒng)網(wǎng)絡(luò)體系結(jié)構(gòu)在適應(yīng)流量結(jié)構(gòu)變化的過程中存在嚴重的阻礙,因為作為一種“瘦腰”模型,必須通過建立網(wǎng)絡(luò)層(IP層)點到點的流量傳輸路徑實現(xiàn)上層業(yè)務(wù)的支持和擴展。但是,IP層協(xié)議已經(jīng)固定,不能進行增量式地靜態(tài)或動態(tài)編程來滿足業(yè)務(wù)流量結(jié)構(gòu)的變化。
已有的新型網(wǎng)絡(luò)體系結(jié)構(gòu)可分為兩派:(1) 以提高網(wǎng)絡(luò)傳輸速率為目標的“帶寬”派,如快速交換技術(shù)、高速包處理芯片等;(2) 以獲得新網(wǎng)絡(luò)功能為目標的“改制”派,如美國NSF資助的GENI計劃[2]、IETF于2002年成立的ForCES工作組[3]等?!皫挕迸蓪Υ罅啃滦途W(wǎng)絡(luò)業(yè)務(wù)流量力不從心,而“改制”派倡導(dǎo)的高度靈活可編程網(wǎng)絡(luò)成為滿足新型網(wǎng)絡(luò)業(yè)務(wù)流量需求的主要技術(shù)方向。ForCES工作組擴展研究的軟件定義網(wǎng)絡(luò)(SDN)引入可編程的思想,使網(wǎng)絡(luò)具有更好的靈活性、可伸縮性和可維護性,是認可度最高的解決方案。SDN在TCP/IP網(wǎng)絡(luò)體系結(jié)構(gòu)的基礎(chǔ)上從網(wǎng)絡(luò)協(xié)議和設(shè)備兩個層面提出新的架構(gòu),保證IP層具備可演進的能力,其主要有四大特性:(1) 轉(zhuǎn)發(fā)設(shè)備通用化、白盒化;(2) 控制方面和轉(zhuǎn)發(fā)方面分層管控;(3) 接口標準化,實現(xiàn)跨廠商管控;(4) 業(yè)務(wù)流量轉(zhuǎn)發(fā)開放可編程。以上特性可實現(xiàn)從全局視角靈活調(diào)度網(wǎng)絡(luò)資源、快速部署新業(yè)務(wù)、簡化運維,使SDN成為網(wǎng)絡(luò)變革的關(guān)鍵技術(shù)。
SDN以其強大的優(yōu)勢獲得學(xué)術(shù)界及工業(yè)界的廣泛關(guān)注。目前,SDN已經(jīng)被Google、Facebook、Tencent、Alibaba等頂級互聯(lián)網(wǎng)企業(yè)廣泛應(yīng)用于企業(yè)內(nèi)部網(wǎng)絡(luò),包括數(shù)據(jù)中心網(wǎng)絡(luò)(DCN)、園區(qū)網(wǎng)絡(luò)、云數(shù)據(jù)中心互聯(lián)網(wǎng)絡(luò)、物聯(lián)網(wǎng)、網(wǎng)絡(luò)安全等。
不同企業(yè)的內(nèi)部網(wǎng)絡(luò)場景具有不同的網(wǎng)絡(luò)流量組成結(jié)構(gòu),其對QoS的需求不盡相同,對網(wǎng)絡(luò)流量的傳輸與管理帶來極大的挑戰(zhàn)。雖然IETF曾針對傳統(tǒng)網(wǎng)絡(luò)架構(gòu)提出多種QoS模型,包括IntServ和DiffServ,但由于缺乏網(wǎng)絡(luò)全局服務(wù)狀態(tài)監(jiān)控與分析,不能進行全局決策和動態(tài)配置更新,不能解決復(fù)雜的網(wǎng)絡(luò)業(yè)務(wù)流量轉(zhuǎn)發(fā)問題,難以應(yīng)用于SDN網(wǎng)絡(luò)體系結(jié)構(gòu)中。
隨著SDN的廣泛應(yīng)用,目前已經(jīng)有很多關(guān)于SDN中QoS技術(shù)的研究,但是缺少針對SDN的QoS技術(shù)研究進展的系統(tǒng)性描述。因此,本文充分收集現(xiàn)有SDN的QoS研究成果,對比分析其原理及適用的應(yīng)用場景,為今后的QoS技術(shù)研究提供參考。
SDN作為一種網(wǎng)絡(luò)體系框架,其核心思想是通過分離轉(zhuǎn)發(fā)控制層與數(shù)據(jù)傳輸層實現(xiàn)網(wǎng)絡(luò)業(yè)務(wù)的快速部署與路由的靈活控制,滿足各種業(yè)務(wù)流量的QoS需求。SDN有多種架構(gòu)定義,其中開放網(wǎng)絡(luò)基金會(ONF)提出的SDN架構(gòu)已經(jīng)逐漸成為主流量。SDN架構(gòu)主要包括應(yīng)用層、控制層和基礎(chǔ)設(shè)施層,如圖1所示。
圖1 SDN網(wǎng)絡(luò)體系結(jié)構(gòu)圖
SDN的最底層是基礎(chǔ)設(shè)施層,主要是運營商提供的通用型網(wǎng)絡(luò)設(shè)備,用于數(shù)據(jù)的傳輸,是SDN的數(shù)據(jù)平面;中間層是控制層,主要由各種控制器組成,提供不同的網(wǎng)絡(luò)服務(wù),是SDN的控制平面;最上層是應(yīng)用層,主要用于編排部署用戶的具體業(yè)務(wù)應(yīng)用,是用戶與網(wǎng)絡(luò)交互的橋梁,也稱為業(yè)務(wù)編排層。應(yīng)用層編排的業(yè)務(wù)應(yīng)用通過北向接口調(diào)度控制層的控制器下發(fā)業(yè)務(wù)流量需求;控制層的控制器通過南向接口實現(xiàn)對基礎(chǔ)設(shè)施層下達指令,控制業(yè)務(wù)流量的轉(zhuǎn)發(fā)路徑。按照上述過程,用戶可以按需編程路由,應(yīng)對業(yè)務(wù)流量需求隨時間的演變。
目前,SDN控制器是網(wǎng)絡(luò)QoS研究的核心,工業(yè)界與學(xué)術(shù)界針對不同的QoS技術(shù)需求,研發(fā)了不同的控制器。表1匯總了控制器的主流產(chǎn)品。控制器早期是集中式單線程的,第一款是Gude等[4]提出的NOX,隨后在其基礎(chǔ)上發(fā)展出多款集中式多線程控制器,如POX、NOX-MT等。同時,集中式多線程原生控制器也被提出,其典型代表包括Ryu、企業(yè)級OpenFlow控制器Floodlight。隨著網(wǎng)絡(luò)規(guī)模不斷擴大、復(fù)雜度不斷加深,用于協(xié)調(diào)多個控制器聯(lián)動的分布式控制器開始出現(xiàn),其中ODL、ONOS最有影響力。
表1 SDN控制器匯總
基于采集的全局網(wǎng)絡(luò)狀態(tài)信息,SDN控制器協(xié)調(diào)控制器內(nèi)多個模塊之間的運作并下發(fā)恰當(dāng)?shù)牧髁勘恚瑵M足各種業(yè)務(wù)流量的QoS需求。為了詳細分析QoS技術(shù),需要掌握SDN控制器架構(gòu)內(nèi)QoS相關(guān)模塊,方便研究人員對現(xiàn)有QoS技術(shù)方案進行優(yōu)化或提出新的可替代方案。
雖然目前SDN控制器種類繁多,其中ODL的市場占有率高達67%,是最具代表性和應(yīng)用最廣泛的控制器之一。因此,本文以O(shè)DL為例對QoS相關(guān)模塊進行分析。如圖2所示,ODL通過Neutron Server的Networking-odl為OpenStack等應(yīng)用層提供服務(wù),而ODL作為控制層的組件提供網(wǎng)絡(luò)監(jiān)管、路由控制等服務(wù),大都與QoS直接或間接相關(guān)。
圖2 QoS相關(guān)模塊
在Networking-odl中,用戶可以根據(jù)上層業(yè)務(wù)流量的需要,通過QoS Extension提供的Restful API和Core的Restful API將QoS需求下發(fā)給QoS模塊中的QoSAPI。QoS API可以對上層Extention API提供QoS策略、參數(shù)設(shè)置的Restful API和帶寬等資源調(diào)度的Restful API。Core調(diào)用相應(yīng)的Service Plugin服務(wù)的同時Core遵循規(guī)則庫內(nèi)既定的QoS策略、帶寬限制、端口綁定等規(guī)則。Service Plugin包含專門的QoS驅(qū)動模塊。
ODL控制層包含基本服務(wù)功能模塊(Basic network Service Function, BSF)、服務(wù)拓展功能模塊(Service Extension Function,SEF)和服務(wù)抽象層(Service Abstraction Layer,SAL)。基本服務(wù)功能模塊包括管理節(jié)點、鏈路、負責(zé)拓撲計算的Topology Manager、收集流量表統(tǒng)計信息的State Manger、管理底層設(shè)備的Switch Manager、管理轉(zhuǎn)發(fā)規(guī)則的FRM、追蹤主機IP等信息的Host Tracker,以及解析ARP數(shù)據(jù)包的ARPHandler等模塊。各模塊幫助生成拓撲數(shù)據(jù)庫以掌握各種設(shè)備的性能及可到達性等信息,并由拓撲管理模塊存儲、管理,執(zhí)行應(yīng)用層下發(fā)的QoS需求。拓展服務(wù)功能用于擴展基礎(chǔ)服務(wù),包括表示工作量和服務(wù)水平的親和力服務(wù)(Affinity Service,AS)、提供Openstack服務(wù)對接的Openstack服務(wù)(Openstack Service,OSS)、創(chuàng)建虛擬網(wǎng)絡(luò)映射服務(wù)的LISP服務(wù)(LISP Service,LISPS)、支持OvS數(shù)據(jù)庫管理及CONFIG協(xié)議的OvSDB Neutron、提供Rest API配置ODL控制器VTN組件的VTN Manager和oDMC。支持多種南向協(xié)議的SAL模塊作為模塊化控制器設(shè)計的核心也支持協(xié)議無感知處理,為上層業(yè)務(wù)提供一致性服務(wù)。SAL根據(jù)插件特性構(gòu)建具體服務(wù),服務(wù)請求經(jīng)SAL映射到相應(yīng)插件上,通過正確的南向協(xié)議與底層設(shè)備交互,各插件間獨立且與SAL松耦合。SAL模塊提供的服務(wù)有數(shù)據(jù)包服務(wù)、拓撲服務(wù)、流編程服務(wù)、讀取服務(wù)、連接服務(wù)、統(tǒng)計服務(wù)、庫存服務(wù)等,其中:數(shù)據(jù)包服務(wù)轉(zhuǎn)發(fā)底層與上層模塊間的數(shù)據(jù)流量;拓撲服務(wù)是傳遞拓撲信息的服務(wù)集合;流編程服務(wù)支持在下發(fā)流量表請求給南向協(xié)議插件時,為流量規(guī)則管理模塊提供增加、刪除、修改流量的功能并提供對流量的監(jiān)聽服務(wù);讀取服務(wù)讀取設(shè)備信息查詢請求給南向接口并通知監(jiān)聽器變化;連接請求發(fā)送上層模塊的拓撲信息查詢請求等。
控制器可傳遞的參數(shù)是調(diào)節(jié)網(wǎng)絡(luò)配置、滿足QoS需求的基礎(chǔ)。因此,掌握網(wǎng)絡(luò)參數(shù)可以幫助優(yōu)化QoS方案或提出新QoS技術(shù)。如表2所示,除了QoS直接相關(guān)的丟包率、延遲等參數(shù)外,網(wǎng)絡(luò)拓撲的鏈路、節(jié)點等信息和與實際案例密切相關(guān)的用戶自定義需求等擴展參數(shù)也是影響QoS體驗的因素。
表2 目前ODL-SDNi支持的網(wǎng)絡(luò)參數(shù)
本節(jié)在深入剖析SDN網(wǎng)絡(luò)結(jié)構(gòu)和QoS相關(guān)模塊、參數(shù)的基礎(chǔ)上,進一步調(diào)研QoS優(yōu)化有關(guān)的研究成果并歸納分析。
路由算法是研究QoS最直接的考慮角度,相關(guān)的研究成果也最豐富。尋找最佳QoS的流量路由路徑并非易事。目前最直觀的做法是以控制器收集的QoS統(tǒng)計信息作為參數(shù)對經(jīng)典的最短路徑算法(即Dijkstra算法)進行優(yōu)化。桂燕興[5]提出引入帶寬、抖動、RTT和延遲作為網(wǎng)絡(luò)拓撲圖的權(quán)重參數(shù),采用Dijkstra算法獲取最優(yōu)QoS路徑。段鵬飛[6]則將上述優(yōu)化方法引入車聯(lián)網(wǎng)并提出SDVNET架構(gòu),SDVNET以車輛速度、方向和地理位置等信息作為QoS相關(guān)參數(shù)計算拓撲圖權(quán)重。
與此同時,一些啟發(fā)式算法逐漸被引入到流量路由的QoS解決方案,其中一些算法取得了較好的效果,包括退火算法、蟻群算法、遺傳算法。宋志坤[7]提出的啟發(fā)式QoS路由算法采用基于非線性耦合函數(shù)、縮小可行解空間和退火算法的思想,該方法對多個約束參數(shù)線性耦合并用類Dijkstra算法對其兩次標記以簡化網(wǎng)絡(luò)規(guī)模和縮小可行解空間,然后用退火算法思想選點避免陷入局部最優(yōu),同時調(diào)整迭代次數(shù)權(quán)衡算法時間復(fù)雜度。彭波[8]在SDN網(wǎng)絡(luò)中將蟻群算法改良為資源導(dǎo)向的蟻群算法(RGACO),利用資源統(tǒng)計模塊周期性偵測鏈路狀態(tài),并發(fā)送給蟻群路由模塊,而蟻群路由模塊遵循RGACO根據(jù)業(yè)務(wù)的QoS需求計算路由。靳洪兵[9]在基于SDN的數(shù)據(jù)中心中對流量進行細粒度控制,提出多QoS約束的量子遺傳算法選擇業(yè)務(wù)流量路由。
網(wǎng)絡(luò)資源可能隨時動態(tài)地改變,即某個路徑可能不是一支流量傳輸?shù)暮寐窂?。將這些網(wǎng)絡(luò)變化考慮在內(nèi)的SDN框架應(yīng)在保持現(xiàn)有QoS需求的基礎(chǔ)上優(yōu)化QoS。QoS路由應(yīng)優(yōu)化不同的開銷功能,而不是簡單的路徑長度。文獻[10-11]提出了一個在OpenFlow控制器上具有動態(tài)重新路由功能的視頻流量優(yōu)化框架,其中引入了兩個優(yōu)化問題:(1) 僅在無擁塞條件下路由無損QoS流量(SVC編碼視頻的基礎(chǔ)層),目的是不丟包;(2) 無損QoS流量和有損QoS流量(SVC編碼視頻的增強層)分別以無丟包和最小損耗的目標進行路由。在上述框架下,Yu等[12]提出的ARVS(自適應(yīng)路由視頻流量)方法研究了視頻數(shù)據(jù)包的自適應(yīng)路由優(yōu)化問題。在ARVS中,如果最短路徑不滿足延遲約束,則數(shù)據(jù)包具有重路由到基于可用帶寬計算的可行路徑的第一優(yōu)先級,增強層數(shù)據(jù)包繼續(xù)沿最短路徑路由。但是如果可行路徑中沒有可用帶寬,則數(shù)據(jù)包將繼續(xù)沿最短路徑轉(zhuǎn)發(fā),而增強層數(shù)據(jù)包將重新路由到可行路徑。
SDN網(wǎng)絡(luò)具有為用戶提供全局網(wǎng)絡(luò)視圖的能力,可以通過動態(tài)地重新路由數(shù)據(jù)包以緩解延遲、甚至丟包的問題。為此,Yilmaz等[13]提出了一種視頻流量重路由的負載均衡方法,在檢測到服務(wù)器過載時,計算用戶連接各服務(wù)器的每條路由的成本(如數(shù)據(jù)包丟失、延遲),刪除舊流量并將新流量推送到新的最低成本路由上。
多媒體流量在網(wǎng)絡(luò)流量中的占比逐年攀升,其對數(shù)據(jù)包低丟失率和低延遲的高標準要求對Internet提出了許多挑戰(zhàn)。設(shè)計可以應(yīng)對多種網(wǎng)絡(luò)環(huán)境的多媒體流量路由框架非常重要。Civanlar等[14]調(diào)研了OpenFlow網(wǎng)絡(luò)上視頻流量的QoS路由,提出一種可以在計算QoS流量時減少數(shù)據(jù)包丟失并保持可伸縮視頻編碼(SVC)基礎(chǔ)層視頻流量的延遲的基于線性規(guī)劃的公式。Yan等[15]提出的HiQoS利用基于SDN的等價多路徑路由(ECMP)算法[16],在源和目的地之間計算多條路徑并用排隊機制為不同類別流量提供QoS保證。Egilmez等[17]提出了一種用于支持視頻流量QoS的OpenQoS控制器,其關(guān)鍵技術(shù)是使用包頭字段將輸入流量分類為多媒體流量和數(shù)據(jù)流量。這些流量在QoS支持的路徑上動態(tài)路由。Owens等[18]通過對QoS路徑計算問題添加“可靠性”約束解決對視頻流量的可靠QoS支持,使不同分類流量分別路由。
研究人員普遍認為QoS的瓶頸在資源,資源不足必然影響流量轉(zhuǎn)發(fā)效果,這使得有關(guān)資源分配的QoS解決方案層出不窮?;谫Y源分配的QoS優(yōu)化方案通常采用控制器中的流量分類和速率整形模塊來解決,其中流量分類器利用數(shù)據(jù)包頭部字段實現(xiàn)分類,基于網(wǎng)絡(luò)QoS策略為相應(yīng)的流量分配優(yōu)先級;速率整形器依據(jù)路徑上交換機的預(yù)制規(guī)則實現(xiàn)流速管理,為需要QoS的流量保留資源。
速率整形器和優(yōu)先級隊列可以用于滿足高級服務(wù)QoS需求的資源預(yù)留。Kim等[19]提出利用OpenFlow的QoS功能擴展,為不同的應(yīng)用程序創(chuàng)建網(wǎng)絡(luò)切片并提供所需的性能需求框架。該框架中使用OpenFlow的擴展“QoS API”控制QoS參數(shù)的配置和管理,其中速率限制器API和隊列映射API分別實現(xiàn)帶寬聚合和流量與端口優(yōu)先級隊列的映射完成帶寬和延遲的分配。但是,控制器需要全局重新配置以響應(yīng)不斷變化的環(huán)境。雖然可以使用標準迭代方法計算最佳配置,但收斂可能比系統(tǒng)變化慢。每個時隙內(nèi),控制器可以選擇:(1) 停止迭代求解器并應(yīng)用新的最佳配置,雖具有較小路由成本,但損害QoS和系統(tǒng)穩(wěn)定性;(2) 允許求解器繼續(xù)迭代以使網(wǎng)絡(luò)保持其次優(yōu)形式。為了限制重新配置的負面影響,Destounis等[20]提出了兩種控制策略,可以在遵循網(wǎng)絡(luò)重新配置預(yù)算的同時最小化平均路由時間成本。
SDN和網(wǎng)絡(luò)即服務(wù)(NaaS)協(xié)作可以解決端到端服務(wù)中為應(yīng)用需求提供QoS參數(shù)的問題。Bueno等[21]提出的網(wǎng)絡(luò)控制層(Network Control Layer,NCL)框架通過資源預(yù)留支持針對不同類型流量的低級網(wǎng)絡(luò)QoS需求。NCL架構(gòu)有兩個主要部分: SDNApp按照提供商需求配置數(shù)據(jù)平面,監(jiān)控模塊負責(zé)監(jiān)控網(wǎng)絡(luò)狀態(tài)。雖然SDN具有靈活管理和編程底層網(wǎng)絡(luò)的能力,但NaaS為用戶提供網(wǎng)絡(luò)安全隔離訪問。此外,NaaS提供了輕松擴展或縮小網(wǎng)絡(luò)服務(wù)的能力。為滿足域間端到端QoS,Duan[22]提出應(yīng)用NaaS的網(wǎng)絡(luò)服務(wù)編排框架,同時提出一種定義網(wǎng)絡(luò)服務(wù)能力的高級抽象模型,利用網(wǎng)絡(luò)演算使其適用于異構(gòu)自治域網(wǎng)絡(luò)。隨后,Duan等[23]以開發(fā)NaaS-SDN集成的思想擴展了以上模型,為多域SDN環(huán)境提出基于NaaS的服務(wù)交付平臺(SDP)框架,實現(xiàn)端到端QoS保證的兩項關(guān)鍵技術(shù):① 用于網(wǎng)絡(luò)服務(wù)功能的抽象模型;② 用于端到端帶寬分配的技術(shù)。
在基于SDN的家庭網(wǎng)絡(luò)中進行基于流量和基于應(yīng)用的QoS分配是一項挑戰(zhàn),因為家庭網(wǎng)絡(luò)設(shè)備比典型網(wǎng)絡(luò)設(shè)備處理能力弱且用戶不熟練。Seddiki等[24-25]提出的FlowQoS可以為上游和下游流量執(zhí)行應(yīng)用程序標識和QoS配置,實現(xiàn)用戶指定的流量轉(zhuǎn)發(fā)優(yōu)先級。FlowQoS系統(tǒng)為家庭路由器的虛擬拓撲創(chuàng)建鏈路,按照用戶制定的規(guī)則配置鏈路的流量和速率,為應(yīng)用程序提供流量整形。
流量管理的一個重要問題是對競爭應(yīng)用程序的帶寬分配,必須解決最大化整體網(wǎng)絡(luò)利用率和QoS公平性的問題。文獻[26-27]提出的MCTEQ模型提出了對多個流量類別的聯(lián)合帶寬分配,考慮交互式應(yīng)用端到端延遲要求的同時將其效用與更大的權(quán)重相關(guān)聯(lián),優(yōu)先考慮使更高優(yōu)先級流量獲取帶寬。Miao等[28]通過擴展OpenFlow協(xié)議,更新數(shù)據(jù)中心網(wǎng)絡(luò)中OPS(光分組交換)節(jié)點的查找表(LUT),使流量由OPS以亞毫秒硬件速度切換,與較慢SDN控制操作(毫秒時間刻度)分離,利用流量優(yōu)先級和更快的速度,可以保證流量的QoS需求。
在ODL等控制器中提供數(shù)據(jù)包隊列接口,有研究人員將數(shù)據(jù)包隊列的調(diào)度作為QoS優(yōu)化的一個突破點。隊列中某些數(shù)據(jù)包可能比位于它們之前的其他數(shù)據(jù)包具有更高的優(yōu)先級,這種情況會影響QoS和流量整形。因此,Ishimori等[29]提出的QoSFlow模型在Linux內(nèi)核中操縱多個分組調(diào)度器,為OpenFlow網(wǎng)絡(luò)提供更靈活和可管理的QoS控制。QoSFlow首先引入QoS模塊,使整形組件和數(shù)據(jù)包調(diào)度組件共同負責(zé)處理隊列中的流量并讓入隊組件負責(zé)管理OpenFlow協(xié)議的流量表消息,將流量映射到隊列;其次將Linux數(shù)據(jù)包調(diào)度程序與OpenFlow相結(jié)合,支持分層令牌桶(HTB)、隨機早期檢測(RED)和隨機公平隊列(SFQ)調(diào)度程序。
Ko等[30]提出的OpenQFlow架構(gòu)是OpenFlow架構(gòu)的一種以可擴展的方式提供微流量QoS的變體。OpenQFlow將經(jīng)典流量表框架劃分為流量狀態(tài)表、轉(zhuǎn)發(fā)規(guī)則表和QoS規(guī)則表。流量狀態(tài)表條目用于維護128字節(jié)的微流量狀態(tài)信息,包括轉(zhuǎn)發(fā)、QoS和統(tǒng)計信息,用于沒有規(guī)則表查找的情況下查找轉(zhuǎn)發(fā)和QoS信息庫,增加了OpenQFlow架構(gòu)的可擴展性;轉(zhuǎn)發(fā)規(guī)則表的每個條目維護指向轉(zhuǎn)發(fā)信息庫的指針;每個QoS表條目具有指向QoS信息(包括流量類型、帶寬和優(yōu)先級信息)的指針。 OpenQFlow帶來了BETA和CETA兩種分組調(diào)度方案,提供最大最小公平性,不需要每個流量的輸出隊列。
Wallner等[31]使用基于隊列的分類技術(shù)來實現(xiàn)SDN網(wǎng)絡(luò)中的QoS支持。為此,流量整形(速率限制)和差分服務(wù)代碼點(DiffServ DSCP)方法被用于SDN網(wǎng)絡(luò)中的QoS支持。該研究描述了不同類別的服務(wù)及交換機之間的速率限制路徑。上述方法中,SDN模塊負責(zé)數(shù)據(jù)包匹配、分類和流量操作,如插入、刪除等;QoS組件使用其DSCP值跟蹤和存儲服務(wù)類,允許網(wǎng)絡(luò)定義兩個不同的主要策略:① 利用流量入隊機制的策略和使用服務(wù)類、② 相應(yīng)的DSCP值的基于ToS/DSCP的策略。Xu等[32]也提出了基于IPv4 ToS的QoS機制,將流量分類為QoS流量和最佳流量并根據(jù)其優(yōu)先級分配隊列。
文獻[26]和文獻[27]介紹了另一種軟件定義的自動QoS管理模型。模型包括如分組標記、隊列管理和調(diào)度的QoS功能,采用了加權(quán)隨機早期檢測(WRED)隊列管理算法、優(yōu)先級排隊(PQ)和加權(quán)循環(huán)(WRR)隊列調(diào)度算法等不同隊列管理算法。除此之外,自動QoS管理模型還提出了基于協(xié)同借用的分組標記(CBBPM)算法,以提高網(wǎng)絡(luò)資源利用率。
單獨的OpenFlow不足以構(gòu)建更復(fù)雜的SDN服務(wù),因為需要在端口、隊列等配置方面完全控制和管理數(shù)據(jù)平面。 OVADB協(xié)議已被用于在Caba等[33]的數(shù)據(jù)平面配置OVS交換機的QoS功能,建議的QoS配置API允許應(yīng)用程序在網(wǎng)絡(luò)控制器的D-CPI處添加OVSDB配置數(shù)據(jù)平面設(shè)備端口上的優(yōu)先級隊列,據(jù)此構(gòu)建的服務(wù)和應(yīng)用可以利用OVS設(shè)備中可用的全套QoS功能。Owens等[34]介紹了另一種用于SDN網(wǎng)絡(luò)支持視頻應(yīng)用QoS需求的控制器架構(gòu)和協(xié)議(VSDN)。VSDN修改OpenFlow提供的有限交換機功能實現(xiàn)端到端保證服務(wù)(GS)。特別地,修改OpenFlow協(xié)議模塊的隊列屬性結(jié)構(gòu)ofp_queue_properties以支持基于GS的隊列作為ofp_queue_prop_gs_rate,以包含基于令牌桶的流量整形所需的字段。VSDN交換機為各請求流量創(chuàng)建基于令牌桶的整形隊列,根據(jù)VSDN控制器提供的流量規(guī)范調(diào)節(jié)各條流量。
QoS不足以表達通信服務(wù)中涉及的所有功能,如僅依賴QoS度量無法確定特定應(yīng)用程序的性能。相反,用戶的QoE是用戶滿意度的替代度量。因此,未來網(wǎng)絡(luò)的主要挑戰(zhàn)是動態(tài)地使用戶的QoE需求適應(yīng)網(wǎng)絡(luò)QoS參數(shù)。有些研究旨在最大化用戶的QoE,同時在SDN網(wǎng)絡(luò)中提供所需的QoS。
控制和實施網(wǎng)絡(luò)QoS策略是SDN網(wǎng)絡(luò)的一個重要問題。Huongtruong等[35]提出了QoE感知的IPTV網(wǎng)絡(luò)架構(gòu):結(jié)合IP多媒體子系統(tǒng)(IMS)和基于OpenFlow的SDN網(wǎng)絡(luò),根據(jù)用戶滿意度優(yōu)化網(wǎng)絡(luò)資源和服務(wù)特性。在該設(shè)計中,用戶能夠?qū)φ诮邮盏姆?wù)進行評級并據(jù)此映射所提體系結(jié)構(gòu)規(guī)定的網(wǎng)絡(luò)QoS參數(shù)。
Kumar等[36]的研究是ISP網(wǎng)絡(luò)的SDN范例,允許用戶進行鏈路帶寬分配的控制委托,同時設(shè)計了一種GUI允許典型用戶在每個設(shè)備和每個應(yīng)用程序的基礎(chǔ)上指定請求。GUI將請求轉(zhuǎn)換為由ISP網(wǎng)絡(luò)中托管的SDN控制器公開的API調(diào)用,確定請求的資源分配并將其配置到與用戶接入鏈路相關(guān)聯(lián)的交換硬件中。用戶的這種控制不僅可以提高用戶的QoE,還可以使ISP通過服務(wù)獲利并有力地與市場上其他ISP競爭。Yiakoumis等[37]曾提出一個相似的想法,建議允許用戶選擇應(yīng)用程序的優(yōu)先級,指示對ISP的偏好并利用OpenFlow控制器執(zhí)行首選項。
Kassler等[38]的研究在優(yōu)化路徑分配的同時提高用戶對多媒體服務(wù)感知的QoE水平,提出的系統(tǒng)利用OpenFlow為用戶建立網(wǎng)絡(luò)路徑,以便在考慮網(wǎng)絡(luò)資源(如鏈路容量、延遲等)和網(wǎng)絡(luò)拓撲時最大化QoE。系統(tǒng)的兩個主要組件及其功能如下:(1) QMOF(QoS匹配和優(yōu)化功能)駐留在SDN應(yīng)用層中進行初始參數(shù)匹配以產(chǎn)生可行的服務(wù)配置;(2) PAF(路徑分配功能)優(yōu)化網(wǎng)絡(luò)路徑以滿足當(dāng)前活動服務(wù)配置的資源要求。Dobrijevic等[39]在文獻[38]的基礎(chǔ)之上提出了“Q-POINT”——一種基于QoE驅(qū)動的路徑優(yōu)化模型,解決多用戶域范圍的QoE優(yōu)化問題。
近期的研究已經(jīng)開始使用動態(tài)調(diào)整比特率減少視頻回放中的暫停和緩沖時間。雖然這種想法為用戶提升了整體體驗,但仍存在一些問題,如由于獨立采用策略導(dǎo)致網(wǎng)絡(luò)擁塞。Georgopoulos等[40]提出的OpenFlow-assisted QoE Fairness Framework(QFF)架構(gòu)旨在減輕上述問題,雖然QFF框架可以監(jiān)視網(wǎng)絡(luò)視頻流量,動態(tài)調(diào)整流量參數(shù)以公平增加用戶的QoE,但其利用用戶間均勻共享資源(特別是帶寬)的想法可能導(dǎo)致用戶的QoE降低。
傳統(tǒng)網(wǎng)絡(luò)缺乏對QoS的控制,盡力而為的交付網(wǎng)絡(luò)會導(dǎo)致最終用戶的次優(yōu)QoE。Gorlatch等[41-42]使用SDN技術(shù)滿足動態(tài)網(wǎng)絡(luò)需求以提高QoE,提出一個由Base API和Application-level API組成的北向API以區(qū)分面向應(yīng)用的QoS指標并映射到網(wǎng)絡(luò)的QoS指標。
雖然應(yīng)用程序信息在支持QoE方面提供了比QoS參數(shù)更大的靈活性,但與網(wǎng)絡(luò)級別的管理相比需要信令工作的開銷。Jarschel等[43]研究了不同類型的信息或應(yīng)用質(zhì)量參數(shù)如何在SDN網(wǎng)絡(luò)中支持更有效的網(wǎng)絡(luò)管理。
針對不同業(yè)務(wù)流量,需要更復(fù)雜和有效的路由機制以滿足多樣的QoS要求。雖然SDN對OpenFlow的使用可以使用具有不同需求的路由算法,但與當(dāng)今的TCP/IP架構(gòu)相比,SDN網(wǎng)絡(luò)可以更有效地利用網(wǎng)絡(luò)資源。
2.5.1大象流
大象流是指在一組五元組確定的網(wǎng)絡(luò)鏈路上進行大量的、持續(xù)的數(shù)據(jù)傳遞的過程。因為對網(wǎng)絡(luò)資源的巨大消耗,大象流可能會影響網(wǎng)絡(luò)的性能,如點到點地填充緩沖區(qū)。其他流量使用與大象流相同的緩沖區(qū),很可能受到這種資源消耗的影響,因此需要檢測大象流并滿足其QoS需求以獲得更好的網(wǎng)絡(luò)性能。Afaq等[44]分析大象流后提出了QoS配置機制,即超過指定閾值的流量受QoS模塊的約束,將大象流路由到用于流量整形的速率受限隊列。
2.5.2跨域流量
當(dāng)前OpenFlow規(guī)范中的單控制器解決方案對于大規(guī)模多域網(wǎng)絡(luò)是不可擴展的。因此,需要多控制器分布式地控制平面,使每個控制器負責(zé)網(wǎng)絡(luò)的一部分(域)。在跨域網(wǎng)絡(luò)之間路由QoS流量需要收集最新的全局網(wǎng)絡(luò)狀態(tài)信息。然而,由于問題維度和網(wǎng)絡(luò)運營商不打算分享內(nèi)部精確網(wǎng)絡(luò)動態(tài),造成滿足QoS需求成為一項艱巨的任務(wù)。Egilmez等[45-46]提出了一種基于分布式控制平面的路由體系結(jié)構(gòu),每個域控制器聚合每個邊界節(jié)點對(稱為虛擬鏈路)的內(nèi)部網(wǎng)絡(luò)資源信息,并與其他域控制器共享,由此每個控制器獲得整個網(wǎng)絡(luò)的全局視圖,可以計算端到端QoS優(yōu)化路由。Karakus等[47]提出類似的QoS路由體系結(jié)構(gòu),但利用了基于層次結(jié)構(gòu)的網(wǎng)絡(luò)體系結(jié)構(gòu),每個網(wǎng)絡(luò)控制器只與Broker控制器共享其匯總的網(wǎng)絡(luò)狀態(tài)信息。Marconett等[48-49]提出的FlowBroker架構(gòu)還利用Broker提高網(wǎng)絡(luò)性能,在SDN中的多個域上實現(xiàn)流量協(xié)調(diào)的負載平衡。在多制器架構(gòu)下,期望最小化控制器上的最大響應(yīng)時間,為用戶提供更好QoS的目標。為此,Wang等[50]提出在交換機上安裝通配符規(guī)則實現(xiàn)流量重定向來最小化控制器的最大響應(yīng)時間,將基于流量大小和鏈路容量約束的最小控制器響應(yīng)時間問題形式化為整數(shù)線性程序并證明是NP難問題,最后設(shè)計了兩種有界逼近因子算法解決此問題。
2.5.3流量信息采集
控制平面需要頻繁地收集流量統(tǒng)計信息用于不同的應(yīng)用,如流量工程、QoS路由?,F(xiàn)有統(tǒng)計信息收集方案可能導(dǎo)致控制信道占用帶寬大、資源成本高和交換機處理延遲長。為了應(yīng)對這一挑戰(zhàn),Xu等[51]提出一種成本優(yōu)化的流量統(tǒng)計數(shù)據(jù)收集(CO-FSC)方案和使用基于通配符請求的成本優(yōu)化的部分流量統(tǒng)計數(shù)據(jù)收集(CO-PFSC)方案,并證明了CO-FSC和CO- PFSC問題是NP難的。對于CO-FSC提出了一種具有近似因子的基于舍入的算法,其中f是每個流量所訪問的最大交換機數(shù);對于CO-PFSC提出了一種基于隨機舍入的近似算法,用于收集網(wǎng)絡(luò)中部分流量的統(tǒng)計信息。實驗驗證這兩種算法可以有效降低用于QoS路由優(yōu)化的信息采集成本。
2.5.4異步通信
網(wǎng)絡(luò)更新命令(如OpenFlow的FlowMod消息)的異步通信可能導(dǎo)致瞬態(tài)不一致,例如環(huán)路或繞過的路點(waypoint),這需要特殊的QoS需求。Shukla等[52]認為即使在異步環(huán)境中也確保瞬態(tài)一致性的一種方法是采用智能調(diào)度算法,僅在每個通信輪次中更新交換機子集的算法,其中每個子集本身保證一致性。如此可以在異步通信過程中通過智能調(diào)整交換機子集以滿足QoS的需求,進而達到維持瞬態(tài)一致性的目的。
基于前文調(diào)研發(fā)現(xiàn),對于服務(wù)和應(yīng)用的QoS需求,現(xiàn)有的QoS解決方案不支持明確定義的自動QoS控制和網(wǎng)絡(luò)管理機制,造成流量QoS支持不能達到預(yù)期。隨著業(yè)務(wù)流量的多樣化,QoS控制機制應(yīng)該為流量配置提供自動且細粒度的控制。但是目前的技術(shù)尚未實現(xiàn),那么基于網(wǎng)絡(luò)狀態(tài)實現(xiàn)動態(tài)QoS配置工作負載的需求,短時間也是難以滿足。另一個重要問題是對傳統(tǒng)設(shè)備和WAN等大規(guī)模網(wǎng)絡(luò)的支持,目前基于分布式控制器的解決方案應(yīng)視為跨域QoS解決方案的雛形。易對網(wǎng)絡(luò)狀態(tài)造成負擔(dān)的諸如視頻、VoIP等高要求業(yè)務(wù)流量,當(dāng)前很難實現(xiàn)長時間的QoS支持。雖然上述問題目前都存在一些有針對性的研究,但這些QoS技術(shù)都不成熟,難以直接應(yīng)用于現(xiàn)網(wǎng)。
隨著5G網(wǎng)絡(luò)和云數(shù)據(jù)中心網(wǎng)絡(luò)的深入發(fā)展,QoS的研究將主要集中在IoT、無線網(wǎng)、自組織網(wǎng)絡(luò)等移動網(wǎng)絡(luò)和數(shù)據(jù)中心的內(nèi)容中心網(wǎng)絡(luò)。網(wǎng)絡(luò)節(jié)點接入點的頻繁切換、視頻流量在移動設(shè)備中的高質(zhì)量傳輸、數(shù)據(jù)中心實現(xiàn)內(nèi)容就近分發(fā)等相關(guān)的QoS優(yōu)化問題將是研究的熱點,并出現(xiàn)了一些較有影響的研究。
在云數(shù)據(jù)中心網(wǎng)絡(luò)中,虛擬基礎(chǔ)架構(gòu)(VI)逐漸成為Internet上的網(wǎng)絡(luò)演進和云服務(wù)供應(yīng)的潛在解決方案。但是將VI嵌入到云數(shù)據(jù)中心中并非易事。Souza等[53]提出了一種針對VI分配問題的混合整數(shù)編程公式,該公式考慮到基于SDN的云數(shù)據(jù)中心面臨的主要挑戰(zhàn)放寬一些約束條件,利用啟發(fā)式方法形成新的QVIA-SDN機制,這種基于SDN感知的分配解決方案可以減少數(shù)據(jù)中心的使用并提高托管租戶的感知服務(wù)質(zhì)量。
在物聯(lián)網(wǎng)方面,由于設(shè)備的高速移動、間歇性連接和頻繁拓撲變化引起一些移動性管理的關(guān)鍵性障礙,影響了QoS。為解決此問題,Atwal等[54]提出了利用云計算處理VANET的固有約束,設(shè)計了邏輯上分散的控制平面,以實現(xiàn)無縫連接,移動性管理和QoS支持。
SDN和NFV被認為是5G核心網(wǎng)絡(luò)的關(guān)鍵技術(shù)。在QoS方面,Chen等[55]提出在支持SDN/NFV的5G切片中基于增強學(xué)習(xí)的QoS/QoE感知服務(wù)功能鏈(SFC)遵守QoS約束的同時,最大化QoE。鑒于5G網(wǎng)絡(luò)對數(shù)據(jù)中心間服務(wù)的需求不斷增長,實時遷移同樣成為非常具有挑戰(zhàn)性的焦點技術(shù),為確保所需的QoE,Added等[56]提出了MIRA,用于管理跨不同基礎(chǔ)架構(gòu)即服務(wù)(IaaS)的虛擬資源的可靠實時遷移,處理意外情況,以確保高QoS,而無須使用SDN感知的人為干預(yù)解。
多媒體傳輸代表了5G網(wǎng)絡(luò)中的典型大數(shù)據(jù)應(yīng)用。為了處理視頻應(yīng)用程序產(chǎn)生的大量流量,如何在管理基礎(chǔ)架構(gòu)優(yōu)化和QoE之間相互作用的同時處理不斷增加的視頻流量成為一個難題。為了解決這個問題,F(xiàn)ilho等[57]為大規(guī)模的基于SDN的移動網(wǎng)絡(luò)提出了一種新穎的QoE感知路徑方案。該方案依賴于組合多個QoS指標的多項式時間算法和可伸縮的QoS到QoE轉(zhuǎn)換策略??紤]到多媒體大數(shù)據(jù)服務(wù)既對時間敏感,又對帶寬敏感,Zhang等[58]提出了一種以信息為中心的虛擬化體系結(jié)構(gòu),用于在5G多媒體網(wǎng)絡(luò)上進行軟件定義的統(tǒng)計時限QoS調(diào)配。
最近,自動駕駛汽車(AV)數(shù)量的快速增長,并預(yù)計在未來幾年大幅增加。傳統(tǒng)的智能運輸系統(tǒng)(Intelligent Transportation System,ITS)解決方案將由于眾多技術(shù)限制而無法實現(xiàn),例如靈活性降低、連接性差、可伸縮性有限及缺乏足夠的智能。云計算范例在滿足高移動性、最小延遲、實時服務(wù)和高質(zhì)量服務(wù)QoS等方面也將落后。SDN和邊緣計算(Edge Computing,EC)有望成為現(xiàn)代ITS非常有前景的解決方案??紤]到SDN、EC和DMM在未來視音頻網(wǎng)絡(luò)中的潛在優(yōu)勢,Garg等[59]提出了一個在ITS生態(tài)系統(tǒng)中采用分布式SDN-DMM方法的復(fù)合框架——針對AV的移動性感知和QoS驅(qū)動(MobQoS)SDN框架,該框架可應(yīng)對底層用戶的移動性和QoS挑戰(zhàn)。
雖然研究人員在5G、物聯(lián)網(wǎng)和云計算等新興領(lǐng)域有了一定的研究進展,但是目前已有成果仍有待進一步的優(yōu)化,另外仍有廣闊的空間需要研究,包括具體的底層實現(xiàn)細節(jié)(如傳統(tǒng)的隊列調(diào)度優(yōu)化和資源分配的移植)、特有的業(yè)務(wù)需求(如移動設(shè)備上的視頻傳輸)和整體SDN架構(gòu)設(shè)計。
網(wǎng)絡(luò)用戶對上網(wǎng)體驗的極致追求,使QoS一直是網(wǎng)絡(luò)研究中的熱點問題。目前,互聯(lián)網(wǎng)中不斷產(chǎn)生新的業(yè)務(wù)流量,為滿足不同的QoS需求,一方面需要對每種流量提供不同的轉(zhuǎn)發(fā)技術(shù)的研究,另一方面有關(guān)SDN等新型網(wǎng)絡(luò)體系結(jié)構(gòu)的研究不斷涌現(xiàn)。為了掌握SDN的QoS研究進展,以便對今后QoS的深入研究提供參考,本文聚焦SDN框架的控制層面,在分析SDN控制器的QoS相關(guān)模塊的基礎(chǔ)上,有針對性地歸納并分類現(xiàn)有的QoS優(yōu)化解決方案,發(fā)現(xiàn)基于路由算法、基于隊列、基于資源調(diào)度和基于QoE感知的傳統(tǒng)QoS優(yōu)化方法仍是研究的重點,然而,新興業(yè)務(wù)和場景的出現(xiàn),引發(fā)了新QoS優(yōu)化方案的思考。新型SDN網(wǎng)絡(luò)中的設(shè)備移動造成的連接問題和拓撲變化都是影響QoS的重大挑戰(zhàn),是QoS優(yōu)化的研究重點。