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