【摘要】為了提高在車(chē)載網(wǎng)絡(luò)中的數(shù)據(jù)傳輸速率和保障業(yè)務(wù)的QoS需求,結(jié)合軟件定義車(chē)載網(wǎng)絡(luò)(SDVN)技術(shù),設(shè)計(jì)了一種基于SDVN的深度強(qiáng)化學(xué)習(xí)QoS路由算法。該算法可以實(shí)現(xiàn)智能化控制和優(yōu)化管理車(chē)載網(wǎng)絡(luò)中的數(shù)據(jù)傳輸,以保證車(chē)載網(wǎng)絡(luò)流量的控制、分配和監(jiān)控,提高車(chē)載數(shù)據(jù)傳輸質(zhì)量和效率。試驗(yàn)結(jié)果表明,該路由算法能較好地降低車(chē)載網(wǎng)絡(luò)的時(shí)延,與傳統(tǒng)路由算法相比,該算法具有更好的優(yōu)化性能。
主題詞:軟件定義車(chē)載網(wǎng)絡(luò) 服務(wù)質(zhì)量 路由規(guī)劃 深度強(qiáng)化學(xué)習(xí)
中圖分類(lèi)號(hào):TP393, U462.2" "文獻(xiàn)標(biāo)志碼:A" "DOI: 10.19620/j.cnki.1000-3703.20231160
Research on QoS Routing Planning Based on Software-Defined Vehicular Network
Cui Junwei1, Zhai Yahong2
(1. School of Computer and Artifical Intelligence, Lanzhou College of Information Science and Technology, Lanzhou 730700; 2. School of Electrical amp; Information Engineering, Hubei University of Automotive Technology, Shiyan 442002)
【Abstract】With the increasing applications of new technologies such as smart driving, autonomous driving and Internet connectivity, traditional in-vehicle networks are difficult to meet the quality of service (QoS) demands of diverse applications. In order to improve the data transmission rate and guarantee the QoS demand of services in the in-vehicle network, a deep reinforcement learning QoS routing algorithm based on SDVN is designed in combination with softwaredefined vehicular network (SDVN) technology. The algorithm can realize intelligent control and optimized management of data transmission in the in-vehicle network to ensure the control, distribution and monitoring of in-vehicle network traffic and improve the quality and efficiency of in-vehicle data transmission. The experimental results show that the routing algorithm can better reduce the delay of the in-vehicle network and has better optimization performance compared to the traditional routing algorithm.
Key words: Software-defined vehicular network, Quality of service, Route planning, Deep reinforcement learning
1 前言
目前大部分車(chē)輛網(wǎng)絡(luò)系統(tǒng)多采用CAN和LIN通信技術(shù),但面臨信號(hào)負(fù)載高、延時(shí)增加等問(wèn)題[1]。隨著車(chē)輛智能網(wǎng)聯(lián)化不斷發(fā)展,需采取硬件最大化設(shè)計(jì)、軟件迭代升級(jí)策略,但可導(dǎo)致零部件內(nèi)部數(shù)據(jù)量大,更新軟件包大,現(xiàn)有CAN總線速率低,售后軟件更新時(shí)間長(zhǎng)等問(wèn)題。因此,需要采用以太網(wǎng)等高速通信技術(shù)。軟件定義車(chē)載網(wǎng)絡(luò)(Software Defined Vehicle Network,SDVN)是一種基于軟件定義網(wǎng)絡(luò)(Software Defined Networking,SDN)技術(shù)在汽車(chē)領(lǐng)域的應(yīng)用[2]。SDVN旨在實(shí)現(xiàn)網(wǎng)絡(luò)虛擬化和集中管理,提高網(wǎng)絡(luò)通信效率和用戶體驗(yàn)[3-4]。
目前,研究發(fā)現(xiàn)各類(lèi)智能算法性能突出,車(chē)載網(wǎng)絡(luò)路由規(guī)劃結(jié)合智能算法是當(dāng)前研究的一個(gè)熱點(diǎn)問(wèn)題。郭榮梅等人[5]研究了使用K條最短路徑算法計(jì)算出最小時(shí)延和最大可用帶寬的K條路徑,但速度較慢;尹鳳杰等人[6]提出了改進(jìn)的蟻群路由算法,可以保證網(wǎng)絡(luò)穩(wěn)定且高利用率,但存在收斂速度慢和時(shí)延問(wèn)題;徐嘯等人[7]提出了基于強(qiáng)化學(xué)習(xí)的多路徑路由算法,能實(shí)時(shí)選擇最優(yōu)路徑,但時(shí)間復(fù)雜度高;Sun等人[8]提出了基于深度強(qiáng)化學(xué)習(xí)的可擴(kuò)展路由算法,但面對(duì)復(fù)雜網(wǎng)絡(luò)時(shí)整體性能下降。多流量共存時(shí)的服務(wù)質(zhì)量(Quality of Service,QoS)感知路由問(wèn)題復(fù)雜度高,深度強(qiáng)化學(xué)習(xí)可應(yīng)對(duì)此類(lèi)問(wèn)題。Pham等人[9]使用深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning,DRL)智能體和卷積神經(jīng)網(wǎng)絡(luò),在SDN下提高QoS感知路由的性能。Jalil等人[10]提出了一種深度Q路由(Deep Q-Routing,DQR)算法,使用具有經(jīng)驗(yàn)回放的深度Q網(wǎng)絡(luò)計(jì)算出滿足多個(gè)QoS指標(biāo)的合理路徑。
綜上研究所述,當(dāng)前傳統(tǒng)路由方法已無(wú)法為不同類(lèi)型的網(wǎng)絡(luò)流量分配合適的路由資源以滿足其QoS需求。由于車(chē)載網(wǎng)絡(luò)路由問(wèn)題具有馬爾可夫性[11-12],提出了基于SDVN的深度強(qiáng)化學(xué)習(xí)路由(Deep Reinforcement Learning Routing,DRLR)算法[13-14],能夠?yàn)檐?chē)載網(wǎng)絡(luò)提供更加穩(wěn)定可靠的數(shù)據(jù)傳輸環(huán)境,同時(shí)保證車(chē)輛內(nèi)部各種應(yīng)用設(shè)備的良好運(yùn)行效果。通過(guò)與其他算法進(jìn)行對(duì)比試驗(yàn),驗(yàn)證了該算法的有效性。
2 基于SDVN的DRLR模型
2.1 軟件定義車(chē)載網(wǎng)絡(luò)
傳統(tǒng)分布式網(wǎng)絡(luò)由于通信帶寬、計(jì)算能力不足和軟件升級(jí)不便等瓶頸,已不能滿足當(dāng)前智能網(wǎng)聯(lián)技術(shù)的發(fā)展需求。傳統(tǒng)車(chē)載網(wǎng)絡(luò)骨干正由CAN/LIN總線向以太網(wǎng)方向發(fā)展,以太網(wǎng)能夠滿足高速傳輸、高通量、低延遲等性能需求,同時(shí)也可以減少安裝、測(cè)試成本。使用以太網(wǎng)作為主干網(wǎng)絡(luò),通過(guò)中央控制器計(jì)算平臺(tái)可以實(shí)現(xiàn)多種信息的融合處理,實(shí)現(xiàn)整車(chē)協(xié)同功能,增強(qiáng)車(chē)載網(wǎng)絡(luò)的交互性,實(shí)現(xiàn)軟件的在線升級(jí)、操作系統(tǒng)可移植等功能。軟件定義車(chē)載網(wǎng)絡(luò)整體架構(gòu)如圖1所示。
2.2 車(chē)載以太網(wǎng)QoS
不同類(lèi)型的車(chē)載以太網(wǎng)流量在時(shí)延、帶寬和丟包率等QoS需求各有差異。車(chē)載以太網(wǎng)流量的優(yōu)先級(jí)可以根據(jù)具體的應(yīng)用和需求而有所不同,劃分成4個(gè)QoS流量業(yè)務(wù)類(lèi)別,如車(chē)輛診斷流量、車(chē)載通信流量、車(chē)載導(dǎo)航流量、車(chē)載多媒體流量。
a. 車(chē)輛診斷流量。這類(lèi)流量用于將車(chē)輛診斷信息發(fā)送到網(wǎng)絡(luò)上的服務(wù)中心,以進(jìn)行遠(yuǎn)程診斷和維護(hù)。同時(shí),服務(wù)中心也可以向車(chē)輛發(fā)送指令或更新,以改善車(chē)輛性能或解決問(wèn)題,對(duì)快速診斷和故障排查具有重要作用,對(duì)時(shí)延、帶寬、丟包率有較高的要求。
b. 車(chē)載通信流量。這類(lèi)流量包括車(chē)內(nèi)設(shè)備之間的通信和連接到互聯(lián)網(wǎng)的數(shù)據(jù)傳輸,對(duì)時(shí)延、帶寬、丟包率有一定要求,如車(chē)載通信實(shí)時(shí)語(yǔ)音、車(chē)載攝像頭捕捉到的圖像、互聯(lián)網(wǎng)瀏覽等,此流量對(duì)網(wǎng)絡(luò)傳輸?shù)臅r(shí)延有較高的要求,需要確保良好的用戶體驗(yàn)。
c. 車(chē)載導(dǎo)航流量。這類(lèi)流量用于傳輸導(dǎo)航和地圖數(shù)據(jù),對(duì)于提供準(zhǔn)確的導(dǎo)航指引和實(shí)時(shí)交通信息較為重要。車(chē)輛可以接收到來(lái)自網(wǎng)絡(luò)的實(shí)時(shí)交通信息,以便選擇最佳路線。同時(shí),車(chē)輛的位置和速度等信息也可以上傳到網(wǎng)絡(luò),從而為其他車(chē)輛提供實(shí)時(shí)交通狀態(tài)。對(duì)時(shí)延、帶寬、丟包率有一定要求。
d. 車(chē)載多媒體流量。這類(lèi)流量包括音頻、視頻等娛樂(lè)內(nèi)容的傳輸,對(duì)丟包率有較高的要求,對(duì)時(shí)延和帶寬有一定要求,對(duì)于車(chē)輛的運(yùn)行和安全性沒(méi)有直接影響。
本文根據(jù)不同的車(chē)載流量類(lèi)別進(jìn)行網(wǎng)絡(luò)QoS流量分類(lèi),如表1所示。
2.3 馬爾科夫決策過(guò)程
為了將深度強(qiáng)化學(xué)習(xí)引入網(wǎng)絡(luò)路由決策中,需要將路由問(wèn)題表示為一個(gè)馬爾科夫決策過(guò)程(Markov Decision Process, MDP)[15]。一個(gè)狀態(tài)到另一個(gè)狀態(tài)是通過(guò)執(zhí)行動(dòng)作策略來(lái)產(chǎn)生的,這個(gè)過(guò)程可以用一組五元組lt;S, A, P, R, γgt;表示。其中,S為狀態(tài)空間;A為動(dòng)作空間;P為狀態(tài)轉(zhuǎn)移概率矩陣;R為獎(jiǎng)勵(lì)函數(shù);[γ∈(0,1)]為衰減因子,表示過(guò)去的獎(jiǎng)勵(lì)值在當(dāng)前時(shí)刻的比例;γ傾向于接近1,表示對(duì)未來(lái)的獎(jiǎng)勵(lì)有更大的偏好。
在網(wǎng)絡(luò)中,當(dāng)前的網(wǎng)絡(luò)狀態(tài)是過(guò)去路由狀態(tài)的聚合。當(dāng)前時(shí)刻的路由決策只與當(dāng)前時(shí)刻的網(wǎng)絡(luò)狀態(tài)和流量信息有關(guān),不受歷史網(wǎng)絡(luò)狀態(tài)信息的影響。若當(dāng)前的路由決策只依賴(lài)于當(dāng)前的網(wǎng)絡(luò)狀態(tài),而與之前的狀態(tài)無(wú)關(guān),那么這個(gè)過(guò)程可以被視為具有馬爾可夫性質(zhì)。此外,路由決策問(wèn)題可以表述為一個(gè)順序決策問(wèn)題。路由決策智能體與網(wǎng)絡(luò)環(huán)境反復(fù)交互,在每個(gè)時(shí)間步驟的開(kāi)始,它觀察當(dāng)前的網(wǎng)絡(luò)狀態(tài),并從有限的狀態(tài)集合中選擇一個(gè);然后,智能體移動(dòng)至下一個(gè)新的狀態(tài)并獲得相應(yīng)的獎(jiǎng)勵(lì);循環(huán)地進(jìn)行狀態(tài)選擇,得到一組最大化的獎(jiǎng)勵(lì)[16-17]。
2.4 深度強(qiáng)化學(xué)習(xí)路由模型
本文將路由問(wèn)題建模為一個(gè)MDP,并引入深度強(qiáng)化學(xué)習(xí)技術(shù)。首先,在一個(gè)時(shí)間間隔內(nèi),智能體需要觀察網(wǎng)絡(luò)拓?fù)渲械沫h(huán)境St,并根據(jù)當(dāng)前的策略做出路由決策;然后,在動(dòng)作空間中選擇相應(yīng)的動(dòng)作At執(zhí)行,網(wǎng)絡(luò)狀態(tài)轉(zhuǎn)為St+1并將獎(jiǎng)勵(lì)值反饋給智能體;其次,不斷重復(fù)上述的步驟來(lái)反饋獎(jiǎng)勵(lì)值,使累積獎(jiǎng)勵(lì)值最大化;最后,通過(guò)不斷改進(jìn)策略來(lái)實(shí)現(xiàn)獎(jiǎng)勵(lì)值增大,從而獲得最大的累積獎(jiǎng)勵(lì),以輸出符合QoS需求的最優(yōu)路徑。
QoS路由的本質(zhì)是尋找滿足QoS需求的端到端最優(yōu)路徑。為了描述這一問(wèn)題,首先將整個(gè)網(wǎng)絡(luò)建模為一個(gè)無(wú)向圖G=(V,E)。其中,V為圖中的節(jié)點(diǎn)集合,[V=v1,v2,…,vn];n為節(jié)點(diǎn)數(shù)量,表示網(wǎng)絡(luò)中交換機(jī)或路由器;E為圖中的邊集,表示網(wǎng)絡(luò)中的節(jié)點(diǎn)間的鏈路。從節(jié)點(diǎn)vi出發(fā)的第j條邊,其中dij、bij、lij表示QoS特征值,分別為時(shí)延、帶寬和丟包率。智能體位于SDN控制平面,環(huán)境位于SDN數(shù)據(jù)平面?;赟DN的深度強(qiáng)化學(xué)習(xí)QoS路由模型如圖2所示。
此模型中包括的概念描述如下:
a. 路由策略。一個(gè)路由策略是單個(gè)請(qǐng)求的一個(gè)合理路徑。對(duì)于圖中存在的每一對(duì)節(jié)點(diǎn),R(i, j)定義為流量請(qǐng)求從節(jié)點(diǎn)i傳輸?shù)焦?jié)點(diǎn)j所經(jīng)過(guò)的所有節(jié)點(diǎn)。例如,從節(jié)點(diǎn)1傳輸?shù)焦?jié)點(diǎn)4的流量,從節(jié)點(diǎn)1出發(fā),途中經(jīng)過(guò)節(jié)點(diǎn)2和節(jié)點(diǎn)3,最終到達(dá)節(jié)點(diǎn)4,路由R(1, 4)生成的路徑信息即為[1, 2, 3, 4]。其中,路徑不能出現(xiàn)環(huán)路,意味著路徑信息中不包括重復(fù)的節(jié)點(diǎn)。
b. 流量矩陣。在此模型中有n個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),使用一個(gè)大小為[n×n]的矩陣D來(lái)表示網(wǎng)絡(luò)中所有節(jié)點(diǎn)之間傳輸?shù)臄?shù)據(jù)量。D(i, j)定義為從節(jié)點(diǎn)i傳輸?shù)焦?jié)點(diǎn)j的數(shù)據(jù)量,其中矩陣對(duì)角線的值被設(shè)置為-1。
c. 請(qǐng)求矩陣。在此模型中有n個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),使用一個(gè)大小為[n×n]的矩陣C來(lái)表示網(wǎng)絡(luò)中所有節(jié)點(diǎn)之間等待傳輸?shù)臄?shù)據(jù)量。C(i, j)定義為從節(jié)點(diǎn)i等待傳輸?shù)焦?jié)點(diǎn)j的數(shù)據(jù)量,其中矩陣對(duì)角線的值被設(shè)置為-1。
d. 深度神經(jīng)網(wǎng)絡(luò)。深度神經(jīng)網(wǎng)絡(luò)(Deep Q-Network, DQN)通過(guò)輸入的環(huán)境狀態(tài)信息來(lái)輸出當(dāng)前狀態(tài)下所有動(dòng)作的Q值,即深度神經(jīng)網(wǎng)絡(luò)中用來(lái)評(píng)估特定狀態(tài)下某個(gè)動(dòng)作的預(yù)期回報(bào),隨后選擇所有動(dòng)作中Q值最大的動(dòng)作執(zhí)行。DQN中隱藏層數(shù)和隱藏層中神經(jīng)元的個(gè)數(shù)等均與輸入和輸出的數(shù)據(jù)規(guī)模相關(guān)。通常,輸入數(shù)據(jù)的規(guī)模越大,維度越高,隱藏層的層數(shù)以及神經(jīng)元的個(gè)數(shù)就越多,如果輸入的數(shù)據(jù)為圖片或者時(shí)序數(shù)據(jù),則可能需要使用具有卷積層的卷積神經(jīng)網(wǎng)絡(luò)或具有循環(huán)結(jié)構(gòu)的循環(huán)神經(jīng)網(wǎng)絡(luò)。在本文所設(shè)計(jì)的算法中,DQN中深度神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖3所示。
該方案中神經(jīng)網(wǎng)絡(luò)的輸入是網(wǎng)絡(luò)狀態(tài)信息經(jīng)過(guò)預(yù)處理后形成的一維數(shù)組,因此省去了卷積層而只使用全連接層作為隱藏層。圖3中神經(jīng)網(wǎng)絡(luò)中全連接層的層數(shù)和全連接層中神經(jīng)元的個(gè)數(shù)并不是固定的,需要根據(jù)網(wǎng)絡(luò)規(guī)模確定。根據(jù)大量試驗(yàn)結(jié)果,具有2個(gè)全連接層,每個(gè)全連接層中神經(jīng)元個(gè)數(shù)為150個(gè)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)在主機(jī)數(shù)量小于20、交換機(jī)數(shù)量小于30的小規(guī)模網(wǎng)絡(luò)中表現(xiàn)較好。對(duì)于規(guī)模更大的網(wǎng)絡(luò),則需要適當(dāng)增加全連接層或神經(jīng)元的個(gè)數(shù)。對(duì)于DQN最為直觀的輸入輸出方式是將網(wǎng)絡(luò)中的流量請(qǐng)求矩陣作為神經(jīng)網(wǎng)絡(luò)的輸入,將所有支流的轉(zhuǎn)發(fā)路徑選擇作為輸出。
將每步迭代的總時(shí)間分為幾個(gè)連續(xù)的時(shí)間段,定義為t。在時(shí)間區(qū)間t的開(kāi)始,從請(qǐng)求矩陣C(i, j)讀取節(jié)點(diǎn)i和節(jié)點(diǎn)j之間的流量請(qǐng)求信息,以覆蓋流量矩陣D(i, j)的值。然后,神經(jīng)網(wǎng)絡(luò)根據(jù)流量矩陣信息和所有歷史時(shí)間區(qū)間(1,2,…,t)的路由策略來(lái)評(píng)估流量請(qǐng)求信息,得出從節(jié)點(diǎn)i到節(jié)點(diǎn)j的路由策略。路由策略R(i, j)選定后,路由表也相應(yīng)被確定。若請(qǐng)求矩陣C(i, j)中的所有值都被遍歷,本次迭代結(jié)束,下次迭代開(kāi)始,重復(fù)上述步驟。
3 深度強(qiáng)化學(xué)習(xí)路由算法設(shè)計(jì)
深度強(qiáng)化學(xué)習(xí)任務(wù)需要通過(guò)馬爾可夫決策過(guò)程進(jìn)行描述,對(duì)于用深度強(qiáng)化學(xué)習(xí)技術(shù)解決QoS路由分配問(wèn)題,本文用5部分來(lái)模擬這個(gè)問(wèn)題:智能體、環(huán)境、狀態(tài)空間、動(dòng)作空間和獎(jiǎng)勵(lì)函數(shù)。由于狀態(tài)和動(dòng)作維度較大,嘗試使用深度強(qiáng)化學(xué)習(xí)算法來(lái)實(shí)現(xiàn)合理的路由策略。
a. 智能體。首先,智能體負(fù)責(zé)執(zhí)行動(dòng)作并獲得環(huán)境的反饋,智能體計(jì)算路由表,與流量矩陣一起寫(xiě)入Mininet環(huán)境中;然后,從Mininet環(huán)境中獲得時(shí)延、帶寬、丟包率等QoS指標(biāo)作為反饋;最后,智能體將狀態(tài)推送到下一步。
b. 環(huán)境。本算法的環(huán)境主要建立在Mininet網(wǎng)絡(luò)仿真環(huán)境中,其中主要包括路由器、交換機(jī)和Ryu控制器。
c. 獎(jiǎng)勵(lì)功能。本文中利用QoS指標(biāo)來(lái)評(píng)估網(wǎng)絡(luò)的狀態(tài)。采用常見(jiàn)并重要的指標(biāo)作為反饋,即時(shí)延dij、帶寬bij、丟包率lij。獎(jiǎng)勵(lì)函數(shù)為:
[Rt=βdij+θbij+φl(shuí)ij] (1)
式中:[β]、[θ]、[φ]為QoS指標(biāo)的權(quán)重值,不同的QoS需求通過(guò)設(shè)置權(quán)重來(lái)實(shí)現(xiàn)獎(jiǎng)勵(lì)值。
d. 動(dòng)作空間。深度強(qiáng)化學(xué)習(xí)算法需要一個(gè)固定的狀態(tài)空間,在每次迭代中都是一致的。因此,本文的狀態(tài)空間采用無(wú)環(huán)路路徑。由于狀態(tài)空間的維度過(guò)大,通過(guò)部分訓(xùn)練方法來(lái)減少迭代次數(shù)。在每個(gè)時(shí)間間隔t開(kāi)始,從請(qǐng)求矩陣C(i, j)中讀取節(jié)點(diǎn)對(duì)(i, j)。智能體需要為該節(jié)點(diǎn)分配一條路徑,所選的動(dòng)作必須滿足源-目節(jié)點(diǎn)的要求,在Sn狀態(tài)下參考Q(Sn, Ai)執(zhí)行的動(dòng)作為Ai。因此,每次智能體選擇動(dòng)作時(shí),控制程序只是選擇滿足要求的路徑,而不是遍歷整個(gè)路由表。這種機(jī)制使得每時(shí)刻可供選擇的動(dòng)作空間范圍大大縮小。
例如,當(dāng)智能體處于狀態(tài)S1,從請(qǐng)求矩陣C(i, j)中讀取的節(jié)點(diǎn)對(duì)是(2, 6),即需要從節(jié)點(diǎn)2到節(jié)點(diǎn)6尋找一條路徑。假設(shè)在整個(gè)動(dòng)作空間中只有動(dòng)作2到動(dòng)作10是對(duì)應(yīng)的,這意味著有9個(gè)動(dòng)作可選。在本次迭代中,只有Q(S1, A2)到Q(S1, A10)的值被更新,這個(gè)狀態(tài)下的其他Q值保持不變。因此,對(duì)于Q值表中的每個(gè)狀態(tài),只有小部分的Q值會(huì)被訓(xùn)練,如表2所示。
e. 狀態(tài)空間。與Q-Learning和狀態(tài)-動(dòng)作-獎(jiǎng)勵(lì)-狀態(tài)-動(dòng)作(State-Action-Reward-State-Action,SARSA)算法相比,深度強(qiáng)化學(xué)習(xí)算法可以處理一個(gè)非常大的狀態(tài)空間。因此,該算法使用流量矩陣D(i, j)作為狀態(tài)空間。此狀態(tài)空間在每次迭代時(shí)只更新所有數(shù)值中的一個(gè)值。
基于上述描述的DRLR算法模型,設(shè)計(jì)了DRLR路由規(guī)劃算法,DRLR算法描述如表3所示。
首先,DRLR算法初始化后,控制平面讀取本次迭代的輸入,即節(jié)點(diǎn)對(duì)(vi,vj)和流量矩陣D,算法立即啟動(dòng)。根據(jù)[ε-greedy]策略選擇一個(gè)動(dòng)作,并由智能體在Mininet網(wǎng)絡(luò)仿真環(huán)境中執(zhí)行;其次,智能體從Mininet網(wǎng)絡(luò)仿真環(huán)境中獲得環(huán)境反饋QoS指標(biāo)時(shí)延、帶寬和丟包率;然后,將當(dāng)前狀態(tài)、下一狀態(tài)、所選動(dòng)作和環(huán)境反饋存儲(chǔ)在內(nèi)存卡記憶池中,當(dāng)步驟數(shù)超過(guò)200后,每5步進(jìn)行一次迭代。迭代過(guò)程是從記憶池中隨機(jī)選擇樣本訓(xùn)練集,根據(jù)深度強(qiáng)化學(xué)習(xí)算法得到目標(biāo)網(wǎng)絡(luò)Y值,并通過(guò)梯度下降法進(jìn)行優(yōu)化計(jì)算損失函數(shù)L值,反向傳送回神經(jīng)網(wǎng)絡(luò)。
4 試驗(yàn)仿真與分析
4.1 試驗(yàn)仿真環(huán)境
為了對(duì)DRLR算法的有效性進(jìn)行驗(yàn)證,本章在Ubuntu20.04系統(tǒng)上使用Ryu,Mininet,OpenvSwitch搭建SDN網(wǎng)絡(luò)仿真環(huán)境。試驗(yàn)所用的網(wǎng)絡(luò)拓?fù)涫墙?jīng)典的NSFNet拓?fù)?,拓?fù)涞逆溌窌r(shí)延設(shè)置為20 ms,鏈路最大帶寬設(shè)置為10 M, 并模擬發(fā)送車(chē)輛診斷流量、車(chē)載通信流量、車(chē)載導(dǎo)航流量、車(chē)載多媒體流量4種類(lèi)型流量,持續(xù)時(shí)間為10 min,時(shí)間間隔為5 s,輸出5條符合QoS需求的路徑,合理分配路徑給4種流量進(jìn)行數(shù)據(jù)傳輸,保障其傳輸質(zhì)量。試驗(yàn)拓?fù)淙鐖D4所示。
算法參數(shù)設(shè)置如表4所示。
4.2 試驗(yàn)對(duì)比與分析
以傳輸車(chē)載通信流量為例,因?yàn)檐?chē)載通信流量對(duì)時(shí)延要求很高,設(shè)置獎(jiǎng)勵(lì)值參數(shù)時(shí)延權(quán)重[β]為0.8、帶寬權(quán)重[θ]為0.1、丟包率權(quán)重[φ]為0.1。并采用Dijkstra算法、蟻群算法和DRLR算法在同等條件下進(jìn)行了對(duì)比分析,設(shè)置每進(jìn)行5個(gè)步驟對(duì)傳輸時(shí)延進(jìn)行一次采樣。
Dijkstra算法在時(shí)延表現(xiàn)方面并不穩(wěn)定,有較為嚴(yán)重的時(shí)延抖動(dòng),因?yàn)榇怂惴o(wú)法保障不同類(lèi)型流量差異化的服務(wù)質(zhì)量。Dijkstra算法時(shí)延曲線如圖5所示。
蟻群算法相比傳統(tǒng)路由算法,時(shí)延表現(xiàn)上較為穩(wěn)定,抖動(dòng)發(fā)生在8 ms以?xún)?nèi),可以較好地保障不同類(lèi)型數(shù)據(jù)傳輸質(zhì)量,但存在一定的抖動(dòng)。蟻群算法時(shí)延曲線如圖6所示。
DRLR算法與前2種算法進(jìn)行對(duì)比,可以明顯看到時(shí)延收斂更為穩(wěn)定,抖動(dòng)現(xiàn)象控制在4 ms以?xún)?nèi)。DRLR算法時(shí)延曲線如圖7所示。
本文將車(chē)輛診斷流量、車(chē)載通信流量、車(chē)載導(dǎo)航流量、車(chē)載多媒體流量通過(guò)車(chē)載以太網(wǎng)進(jìn)行流量傳輸,減輕CAN等總線的負(fù)載,使得CAN總線可以更好地傳輸車(chē)輛控制、狀態(tài)監(jiān)測(cè)等方面的信息,必須確保車(chē)輛可靠、無(wú)誤地為駕駛員提供實(shí)時(shí)指示,以便駕駛員做出快速反應(yīng)和決策,車(chē)輛CAN總線報(bào)文如圖8所示,車(chē)輛控制信息等報(bào)文傳輸更穩(wěn)定。
在整個(gè)訓(xùn)練中,在大約300輪訓(xùn)練后趨于穩(wěn)定,獎(jiǎng)勵(lì)值有穩(wěn)定的上升趨勢(shì),這表明DRLR算法有良好的收斂性。DRLR歸一化獎(jiǎng)勵(lì)變化值曲線如圖9所示。
本節(jié)測(cè)試以傳輸車(chē)載通信流量為例,可以看到在訓(xùn)練第300個(gè)循環(huán)左右時(shí),可以趨于穩(wěn)定輸出路徑。按時(shí)延性能“由強(qiáng)到弱”生成5條最優(yōu)路徑,并且按照網(wǎng)絡(luò)流量?jī)?yōu)先級(jí),將第一條最優(yōu)路徑分配給車(chē)載通信流量進(jìn)行轉(zhuǎn)發(fā),從而對(duì)不同類(lèi)型業(yè)務(wù)的QoS需求進(jìn)行保障。測(cè)試結(jié)果充分證明,所提算法具備有效性和穩(wěn)定性。DRLR車(chē)載通信流量路由規(guī)劃如圖10所示。
5 結(jié)束語(yǔ)
本文提出了一種基于SDN的DRLR路由算法,旨在解決CAN總線負(fù)載過(guò)高、無(wú)法滿足車(chē)載通信流量等QoS需求的問(wèn)題。該算法將時(shí)延、帶寬和丟包率QoS指標(biāo)加入獎(jiǎng)勵(lì)函數(shù)中,以保障不同類(lèi)型網(wǎng)絡(luò)流量業(yè)務(wù)的QoS需求,并動(dòng)態(tài)地實(shí)時(shí)分析網(wǎng)絡(luò)狀態(tài)進(jìn)行路由規(guī)劃。試驗(yàn)結(jié)果表明,本文所提的DRLR路由算法,相比其他傳統(tǒng)路由算法,傳輸時(shí)延降低至4 ms左右,具有更快更穩(wěn)定的傳輸速率,能夠有效針對(duì)不同類(lèi)型的車(chē)載流量進(jìn)行模塊之間的路由通信。本文還需進(jìn)一步探索如何解決在車(chē)載網(wǎng)絡(luò)環(huán)境中網(wǎng)絡(luò)擁塞、時(shí)延等問(wèn)題,并繼續(xù)提高網(wǎng)絡(luò)的性能和可靠性。
參 考 文 獻(xiàn)
[1] 谷曉會(huì), 章國(guó)安. SDN在車(chē)載網(wǎng)中的應(yīng)用綜述[J]. 計(jì)算機(jī)科學(xué), 2020, 47(1): 237-244.
GU X H, ZHANG G A. A Review of SDN Applications in Vehicular Networks[J]. Computer Science, 2020, 47(1):237-244.
[2] 翟亞紅, 崔峻瑋. 軟件定義網(wǎng)絡(luò)安全研究進(jìn)展[J]. 科技導(dǎo)報(bào), 2023, 41(13): 76-88.
ZHAI Y H, CUI J W. Advances in Software-Defined Network Security Research[J]. Science and Technology Herald, 2023, 41(13): 76-88.
[3] 崔峻瑋, 翟亞紅. 基于SDN的多媒體流QoS隊(duì)列調(diào)度機(jī)制研究[J]. 湖北大學(xué)學(xué)報(bào)(自然科學(xué)版), 2023, 45(3): 404-413.
CUI J W, ZHAI Y H. Research on QoS Queue Scheduling Mechanism for Multimedia Streams Based on SDN[J]. Journal of Hubei University (Natural Science Edition), 2023, 45(3): 404-413.
[4] 崔峻瑋, 翟亞紅. 基于自適應(yīng)遺傳蟻群算法的SDN路由規(guī)劃研究[J]. 天津理工大學(xué)學(xué)報(bào), 2023, 39(3): 39-48.
CUI J W, ZHAI Y H. Research on SDN Route Planning Based on Adaptive Genetic Ant Colony Algorithm[J]. Journal of Tianjin Polytechnic University, 2023, 39(3): 39-48.
[5] 郭榮梅, 胡小兵. 求解時(shí)間窗口網(wǎng)絡(luò)中前k條最短路徑的方法[J]. 電子學(xué)報(bào), 2020, 48(7): 1387-1395.
GUO R M, HU X B. A Method for Solving the First k Shortest Paths in Time Window Networks[J]. Electronics Letters, 2020, 48(7): 1387-1395.
[6] 尹鳳杰, 褚群森. 基于改進(jìn)蟻群算法的QoS路由研究[J]. 遼寧大學(xué)學(xué)報(bào)(自然科學(xué)版), 2020, 47(4): 312-318.
YIN F J, CHU Q S. Research on QoS Routing Based on Improved ant Colony Algorithm[J]. Journal of Liaoning University (Natural Science Edition), 2020, 47(4): 312-318.
[7] 徐嘯, 顧玲麗, 陳建平. 一種智能多路徑路由及子流分配協(xié)同算法[J]. 計(jì)算機(jī)工程, 2021, 47(9): 136-144+152.
XU X, GU L L, CHEN J P. An Intelligent Multipath Routing and Subflow Assignment Cooperative Algorithm[J]. Computer Engineering, 2021, 47(9): 136-144+152.
[8] SUN P, GUO Z, LI J. Enabling Scalable Routing in Software-Defined Networks with Deep Reinforcement Learning on Critical Nodes[J]. IEEE/ACM Transactions on Networking, 2021, 30(2): 629-640.
[9] PHAM T A Q, HADJADJ-AOUL Y, OUTTAGARTS A. Deep Reinforcement Learning Based QoS-aware Routing in Knowledge-Defined Networking[C]// 14th EAI International Conference. Ho Chi Minh City, Vietnam: Springer Publisher, 2019: 14-26.
[10] JALIL S Q, REHMANI M H, CHALUP S. DQR: Deep Q-Routing in Software Defined Networks[C]//2020 International Joint Conference on Neural Networks (IJCNN). Padua, Italy:IEEE, 2020: 1-8.
[11] 廖岑卉珊, 陳俊彥, 梁觀平, 等. 基于深度強(qiáng)化學(xué)習(xí)的SDN服務(wù)質(zhì)量智能優(yōu)化算法[J]. 物聯(lián)網(wǎng)學(xué)報(bào), 2023, 7(1): 73-82.
LIAO C H S, CHEN J Y, LIANG G P, et al. Intelligent Optimization Algorithm for SDN Quality of Service Based on Deep Reinforcement Learning[J]. Journal of Internet of Things, 2023, 7(1): 73-82.
[12] 黃萬(wàn)偉, 鄭向雨, 張超欽. 基于深度強(qiáng)化學(xué)習(xí)的智能路由技術(shù)研究[J]. 鄭州大學(xué)學(xué)報(bào)(工學(xué)版), 2023, 44(1): 44-51.
HUANG W W, ZHEN X Y, ZHANG C Q. Research on Intelligent Routing Technology Based on Deep Reinforcement Learning[J]. Journal of Zhengzhou University (Engineering Edition), 2023, 44(1): 44-51.
[13] 曹景祥, 劉其成. 基于深度強(qiáng)化學(xué)習(xí)的路徑規(guī)劃算法研究[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2022, 39(11): 231-237.
CAO J X, LIU Q C. Research on Path Planning Algorithm Based on Deep Reinforcement Learning[J]. Computer Applications and Software, 2022, 39(11): 231-237.
[14] 黃鑫陳, 陳光祖, 鄭敏. 基于Q-learning的飛行自組織網(wǎng)絡(luò)QoS路由方法[J]. 中國(guó)科學(xué)院大學(xué)學(xué)報(bào), 2022, 39(1): 134-143.
HUANG X C, CHEN G Z, ZHEN M. Q-learning Based QoS Routing Method for Flying Self-Organizing Networks[J]. Journal of Chinese Academy of Sciences University, 2022, 39(1): 134-143.
[15] 龍浩, 張書(shū)奎, 張力. 基于馬爾科夫決策過(guò)程的高能效任務(wù)調(diào)度算法[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2020, 37(1): 242-246+291.
LONG H, ZHANG S K, ZHANG L. Energy Efficient Task Scheduling Algorithm Based on Markov Decision Process[J]. Computer Applications and Software, 2020, 37(1): 242-246+291.
[16] TSAI K C, ZHUANG Z, LENT R. Tensor-Based Reinforcement Learning for Network Routing[J]. IEEE Journal of Selected Topics in Signal Processing, 2021, 15(3): 617-629.
[17] CASAS-VELASCO D M, RENDON O M C, DA FONSECA N L S. Intelligent Routing Based on Reinforcement Learning for Software-Defined Networking[J]. IEEE Transactions on Network and Service Management, 2020, 18(1): 870-881.
(責(zé)任編輯 王 一)
*基金項(xiàng)目:湖北省教育廳科研計(jì)劃重點(diǎn)項(xiàng)目(D20211802);湖北省科技廳計(jì)劃項(xiàng)目(2022BEC008)。
通信作者:翟亞紅(1979—),女,教授,研究方向?yàn)橹悄芫W(wǎng)聯(lián)和人工智能技術(shù),zhaiyh_dy@huat.edu.cn。