摘 要:傳統(tǒng)業(yè)務感知識別業(yè)務類型粒度較粗,無法適應新的應用類型出現(xiàn),導致QoS路由算法性能不佳,本文提出一種基于業(yè)務感知的QoS路由方法。該方法部署在SDN控制平面中,分為2個部分,分別為基于機器學習的業(yè)務感知和基于改進蟻群算法的QoS路由算法(Multipath QoS routing algorithm,MQRA),使用機器學習算法并按照業(yè)務流的QoS要求重新劃分業(yè)務,進而使用MQRA算法選路。仿真結果表明,該方法能夠為業(yè)務流規(guī)劃適合的路徑,有效降低端到端傳輸時延,提高業(yè)務流傳輸質量。
關鍵詞:SDN;蟻群算法;QoS路由;業(yè)務感知
中圖分類號:TP 393" " " 文獻標志碼:A
5G、云計算等新興技術發(fā)展催生了大量新業(yè)務,網(wǎng)絡中的業(yè)務類型和需求也變得多樣化,這對網(wǎng)絡服務質量(Quality of Service,QoS)[1]提出了更高要求。QoS路由根據(jù)網(wǎng)絡可用資源和業(yè)務流的QoS需求選擇路徑的路由機制,可以提高網(wǎng)絡服務質量。在傳統(tǒng)的分布式網(wǎng)絡架構中,控制平面和數(shù)據(jù)平面耦合使網(wǎng)絡資源感知能力較差,限制了QoS路由算法的性能。軟件定義網(wǎng)絡(Software Defined Network,SDN)[2]是一種新型網(wǎng)絡架構,其可編程性和轉控分離等特性為路由策略的部署提供了一個靈活的平臺,可以幫助網(wǎng)絡進行改進的功能之一就是QoS驅動的路由[3]。因此,如何在SDN架構下保障多種業(yè)務的QoS需求,從而全面提高網(wǎng)絡服務質量已經(jīng)成為目前研究的熱點問題。本文提出一種SDN中基于業(yè)務感知的QoS路由算法。仿真結果表明,該方法能夠為業(yè)務流規(guī)劃適合的路徑,有效提高網(wǎng)絡利用率和服務質量。
1 相關概念
1.1 SDN網(wǎng)絡模型
1.2 業(yè)務感知
特征字段法是業(yè)務類型識別方法,可以利用解析數(shù)據(jù)包獲得的特征字段識別業(yè)務類型。SDN架構對網(wǎng)絡具有集中管控能力,OpenFlow協(xié)議可以收集流量特征。常見的流量特征有數(shù)據(jù)包大小、流量持續(xù)時間和包到達平均時間等,因此在SDN網(wǎng)絡中使用流量特征識別的感知方式具有先天優(yōu)勢,從流量特征角度區(qū)分業(yè)務流能夠對業(yè)務進行更細粒度劃分,適應網(wǎng)絡中不斷出現(xiàn)的新應用類型。
然而僅以業(yè)務的應用類型來分類會導致新業(yè)務在進入網(wǎng)絡過程中無法被包括在內(nèi),因此根據(jù)業(yè)務流對時延、帶寬和丟包率等QoS需求的不同,將業(yè)務分為會話類、流媒體類、交互類和數(shù)據(jù)類,業(yè)務的劃分見表1。會話類對時延、時延抖動敏感,需要高交互性。流媒體類對時延、時延抖動比較敏感。交互類對丟包率的要求比較低。數(shù)據(jù)類對帶寬、時延的要求比較低,對網(wǎng)絡的傳輸要求不高,盡力而為傳輸即可。其中會話類的具體應用類型包括語音電話、視頻會議等。流媒體的具體應用類型包括音頻流、視頻流等。交互類的具體應用類型包括網(wǎng)絡游戲、數(shù)據(jù)庫等。數(shù)據(jù)類的具體應用類型包括FTP、電子郵件等。
整體的業(yè)務感知流程如圖1所示。進入業(yè)務感知模塊的業(yè)務流會輸入機器學習分類模型,根據(jù)流量特征識別具體的應用類型,進而根據(jù)QoS劃分業(yè)務類型,最后輸出當前業(yè)務流的QoS需求,為后續(xù)傳輸提供基礎。
1.3 多約束QoS路由模型
多約束QoS路由的目的是找到一條從源節(jié)點到目的節(jié)點,滿足QoS需求的路徑,即所找到的路徑要滿足以下條件:delay(p(s,d))、bandwidth(p(s,d))≥bw以及pLoss(p(s,d))≤pLoss。
在選擇最優(yōu)路徑過程中,需要綜合考慮鏈路的帶寬、時延和丟包率等因素,但是它們分別有自己不同的度量方式,為了消除因素間的不可比性,需要對每個因素進行標準化處理,即對每個因素的值進行歸一化處理,使各個因素處于同一數(shù)量級別,能夠對不同的因素進行統(tǒng)一考量。本文采用min-max(Min-Max Normalizaton)進行標準化。
如果用delaymax、delaymin分別表示網(wǎng)絡G所有鏈路的最大時延值和最小時延值,delaynorValue(ei)表示歸一化后鏈路時延度量值,那么歸一化后的時延計算方式如公式(5)所示。
2 改進蟻群算法優(yōu)化
蟻群算法(Ant Colony Optimization,ACO)[4]是螞蟻覓食行為的一種智能優(yōu)化算法,本文提出基于改進蟻群算法的多業(yè)務QoS路由算法(Multipath QoS routing algorithm,MQRA)。
2.1 本文算法定義
本文算法定義如下所示。
為了防止螞蟻回走,每走過1個節(jié)點,就要從節(jié)點中該集合中刪除該節(jié)點。當螞蟻完成一次路徑搜素后,需要根據(jù)公式(12)、公式(13)更新每條路徑上的信息素。蟻群算法可以產(chǎn)生多條路徑,但是產(chǎn)生的路徑不完全滿足QoS需求,為了使算法的收斂速度更快,信息素可以更快地集中在某些鏈路,每次迭代完,按照定義2計算路徑p綜合值并排序,該值越小,表明鏈路性能更好,更符合業(yè)務流的QoS需求。MQRA算法的信息素更新如公式(12)所示,公式(13)表示下一時刻信息素濃度為上一時刻以ρ揮發(fā)后剩余的信息素濃度和本次信息素增加的量之和。
2.2 算法步驟
MQRA算法步驟如下所示。
步驟1,獲取業(yè)務流信息。根據(jù)業(yè)務感知,識別務類型和QoS信息,并根據(jù)當前的網(wǎng)絡狀態(tài)信息確定啟發(fā)函數(shù)。
步驟2,初始化蟻群算法的參數(shù)。包括螞蟻的數(shù)量m、信息素函數(shù)影響程度α、啟發(fā)函數(shù)的影響程度β、信息素揮發(fā)系數(shù)ρ、單個螞蟻釋放的信息素總量Q以及迭代次數(shù)M。
步驟3,開始尋路。第k只螞蟻開始尋路,螞蟻根據(jù)公式(11)選擇下一個節(jié)點。每只螞蟻都有一個禁忌表,存放所有走過的節(jié)點的集合,因此螞蟻不會將重復走過的節(jié)點作為下一個節(jié)點。如果禁忌表中的所有節(jié)點均已經(jīng)走過,那么表示尋路失?。环駝t,螞蟻將尋路,直到到達目的節(jié)點。第k只螞蟻尋路完成后,會將尋找到的路徑存儲在路徑集合中,下一只螞蟻開始尋路。
步驟4,更新信息素。當一次迭代的螞蟻都尋路完成后,根據(jù)公式(12)更新信息素,路徑綜合值p的越高,該路徑上就會留下越多的信息素。進而繼續(xù)迭代過程,直到達到最大迭代次數(shù)。
步驟5,輸出路徑。到達最大迭代次數(shù)后,路徑集合中存儲了所找的路徑,輸出此時路徑集合中的最優(yōu)路徑。
3 仿真試驗
3.1 試驗準備
為了對本文提出的路由方法進行性能分析,連接Mininet[5]和RYU[6],搭建SDN網(wǎng)絡環(huán)境,并在RYU控制器中安裝業(yè)務感知模塊和MQRA算法。在不同主機間發(fā)送不同業(yè)務類型的數(shù)據(jù)流,來測試該路由方法的有效性,流請求速率在[5 Mbit/s,45 Mbit/s],其中包括6臺交換機和8臺主機。
3.2 業(yè)務感知模型
業(yè)務感知模塊的核心是基于機器學習算法的分類器,需要使用不同機器學習算法對分類器進行訓練,進而將其安裝在控制器中,實現(xiàn)業(yè)務感知功能。本文采用流量分類試驗中常用的Moore數(shù)據(jù)集作為訓練樣本數(shù)據(jù)。根據(jù)QoS需求劃分業(yè)務類型,構成新的試驗數(shù)據(jù)集,見表2。
將數(shù)據(jù)集隨機分成10份,9份用于訓練,1份用于測試,并將該過程重復10次。進而使用不同的機器學習算法對模型進行訓練,不同分類算法的性能見表3。
訓練時間和準確率可以反映算法在本文模型下的性能,綜合比較不同機器學習算法的訓練時間和準確率,選擇基于決策樹的分類模型,將其作為本文流量分類模型的機器學習算法。
3.3 仿真分析
本文選取控制器自帶的OSPF算法、KSP算法和本文提出的MQRA算法進行比較。
3種算法端到端響應時間比較如圖2所示。當網(wǎng)絡處于輕負荷時,3種算法的端到端響應時間均較低,由于OSPF算法是基于最短路徑轉發(fā)的,因此端到端響應時間最短。隨著業(yè)務流發(fā)送速率增加,OSPF算法的業(yè)務流容易集中在某些鏈路上,造成網(wǎng)絡擁塞,導致數(shù)據(jù)包重新發(fā)送,因此響應時間顯著增加。KSP算法會根據(jù)不同業(yè)務類型的QoS需求為業(yè)務流選擇不同的路徑。本文方法使用基于隨機樹的機器學習方法識別業(yè)務流,采用MQRA算法為數(shù)據(jù)流選路。仿真結果表明,本文設計的方法端到端響應時間低于KSP方法,在速度方面具有一定優(yōu)勢。
3種算法的吞吐量與流請求速率間的關系如圖3所示。當網(wǎng)絡處于輕負荷時,OSPF的性能與KSP算法、MQRA算法相當。網(wǎng)絡流量變大造成擁塞,OSPF丟棄了大量數(shù)據(jù)包,導致網(wǎng)絡的吞吐量降低。KSP算法和MQRA均對業(yè)務流進行了區(qū)分,能夠將業(yè)務流分配到多條路徑上,一定程度上緩解了網(wǎng)絡的擁塞。由于MQRA在分類速度上的優(yōu)勢,其吞吐量大于KSP算法,因此當數(shù)據(jù)生成速率提高時,本文所提出的算法可以提高網(wǎng)絡吞吐量。
4 結語
本文分析了SDN網(wǎng)絡中QoS路由面臨的問題,提出了一種SDN環(huán)境下基于業(yè)務感知的QoS路由方法。利用SDN對流量的強大管控能力,收集流量特征數(shù)據(jù),識別業(yè)務類型,并對蟻群算法進行改進,根據(jù)當前業(yè)務類型和QoS需求確定蟻群算法的更新函數(shù)和啟發(fā)函數(shù),設計出基于業(yè)務感知的MQRA算法。仿真結果表明,本文設計的基于業(yè)務感知的QoS路由方法可以提高業(yè)務分類的速率,能夠為業(yè)務流規(guī)劃一條滿足QoS需求的路徑,提升網(wǎng)絡服務質量。
參考文獻
[1]任晉慷.基于SDN的QoS路由優(yōu)化設計與實現(xiàn)[D].西安:西安工業(yè)大學,2024.
[2]楊雪蓮,劉麗,姜莉,等.一種基于SDN的負載均衡算法設計與實現(xiàn)[J].電腦編程技巧與維護,2024(10):69-71.
[3]袁玉瑩.基于多約束QoS路由的網(wǎng)絡管理系統(tǒng)設計與實現(xiàn)[D].南京:南京郵電大學,2022.
[4]SALSANO S,VENTRE P L,LOMBARDO F,et al.Hybrid"IP/SDN Networking:Open Implementation and Experiment"Management Tools[J].IEEE Transactions on Network and Service Management,2016,13(1):138-153.
[5]肖冉.SDN中控制器部署與路由優(yōu)化研究[D].南京:南京郵電大學,2022.
[6]李兵奎,莊雷,馬丁,等.SDN網(wǎng)絡中基于業(yè)務劃分的路由選擇機制[J].計算機科學,2017,44(3):118-122.