国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進蟻群算法的應急通信網絡路由協(xié)議

2020-09-15 04:47宋方振徐彥彥潘少明
計算機工程與應用 2020年18期
關鍵詞:數(shù)據(jù)包路由鏈路

宋方振,徐彥彥,唐 鑫,潘少明

武漢大學 測繪遙感國家重點實驗室,武漢 430079

1 引言

自然災害和公共突發(fā)事件會造成傳統(tǒng)通信手段失效,如何啟動應急通信機制,快速高效地構建應急通信網絡,提升網絡的傳輸效能,成為亟待解決的問題[1]。應急通信具有發(fā)生的時間和地點不確定性、通信需求不可預測性、業(yè)務緊急性、網絡構建快速性、節(jié)點移動性等特點[1],移動無線自組網(MANET)[2]具有網絡自組織和協(xié)同合作的特征,非常適合在事發(fā)現(xiàn)場組建應急通信網絡來協(xié)調各類人員開展救援行動和應對突發(fā)事件。應急MANET[3]具有更高的Qos傳輸要求,并且要求網絡能夠較好地適應通信擁塞及快速變化的網絡拓撲結構,如何設計合理的路由算法,實現(xiàn)路由選擇及資源的優(yōu)化配置是應急MANET的核心。

傳統(tǒng)MANET路由協(xié)議使用靜態(tài)路由決策機制,無法對網絡擁塞進行感知并做出相應調整,不適用于應急通信[4]。近年來仿生學在MANET路由中的應用展現(xiàn)了突出的優(yōu)勢[5],其中蟻群算法以其能夠有效適應MANET網絡拓撲的動態(tài)變化,最終建立收斂的最優(yōu)路徑等特點而得到廣泛應用[6]。文獻[7]提出了一種ARA路由協(xié)議,目的是使用蟻群元啟發(fā)方法降低網絡的路由開銷。文獻[8]提出的Ant-AODV 路由協(xié)議結合按需路由協(xié)議AODV和蟻群算法,有效降低了網絡的端到端時延和路由發(fā)現(xiàn)等待間隔。文獻[9]提出的Ant Hocnet是一種多徑路由算法,包括被動發(fā)現(xiàn)和主動維護路由組件,其中被動發(fā)現(xiàn)過程存在于相互通信的節(jié)點間,而主動維護過程存在于相鄰節(jié)點間用于更新和維持路由表項。文獻[10]中Hopnet 是基于蟻群算法的混合路由協(xié)議,同時搭載區(qū)域路由框架用于分區(qū)間的螞蟻包跳轉傳遞。文獻[11]提出PERA(Probabilistic Emergent Routing Algorithm)路由協(xié)議,在該協(xié)議中數(shù)據(jù)包使用確定的路由路徑,即蟻群探索得到的最佳質量保證路徑,而前向螞蟻包則使用廣播機制以發(fā)現(xiàn)到目的節(jié)點的多條備選路徑。文獻[12]提出MABR(Mobile Ant Based Routing)路由協(xié)議,采用主動式路由方案釋放前后向螞蟻周期性地更新網絡狀態(tài)信息,該算法同時利用節(jié)點地理分區(qū)信息進行信息素的產生。

上述路由協(xié)議的共同特點是均使用前向螞蟻采集網絡信息,當前向螞蟻到達目標節(jié)點后再釋放反向螞蟻對經過路徑節(jié)點進行信息素更新,在高度動態(tài)變化的MANET 網絡中,上述機制不再適用[13]。針對應急通信網絡較高的節(jié)點移動性和突發(fā)的網絡擁塞狀況,本文提出一種結合強化學習的改進蟻群路由協(xié)議MLSA(Modelbased Learning Strategy combine with ACO),依概率釋放局部探測螞蟻包,收集網絡狀態(tài)信息進行系統(tǒng)建模,從而動態(tài)評估鏈路狀態(tài),進行最優(yōu)路徑的選取??紤]整個路由過程中,每個節(jié)點對下一跳的選取決策,可以等效為局部的馬爾可夫過程[14-16],通過調整決策過程與網絡環(huán)境間的相互作用,達到路由節(jié)點對網絡動態(tài)變化與擁塞程度的智能感知;同時保留蟻群算法并行、多徑可達的特點,使得在網絡拓撲或流量分布發(fā)生變化時,路由決策能夠動態(tài)調整到新的最優(yōu)路徑并對網絡擁塞進行流量均衡。仿真實驗證明了本文提出方法的有效性。

2 傳統(tǒng)蟻群路由算法

傳統(tǒng)蟻群優(yōu)化算法使用一組螞蟻協(xié)同作用,尋找問題的最優(yōu)解,即整個探索路徑的最小消費[17]。蟻群搜索過程開始于一個特定的起始狀態(tài),使用概率選擇模型決定下一個移動的鄰居狀態(tài),最終收斂于一個或多個結束狀態(tài),如公式(1)所示:

其中,τij為信息素,即為路徑ci和cj間存在影響該路徑選擇概率大小的評價值;ηij為系統(tǒng)先驗信息,該先驗信息對應于強化學習中的探索過程,蟻群在搜索過程中將受到ηij的影響;α和β分別為剩余信息素值τij與期望函數(shù)ηij的權重因子;allowedk為所有下一跳鄰居節(jié)點構成的集合,表示第k只前向螞蟻fant從節(jié)點vi選擇節(jié)點vj作為下一跳的概率。

每只螞蟻在路徑尋優(yōu)時會記錄所經過的路徑,以及路徑節(jié)點的相關信息,因此在到達目標節(jié)點時能夠利用這些路徑信息對求解過程進行評估,并且反向更新所經過路徑上的信息素值,如公式(2)所示:

其中,ρ∈( 0,1) 表示信息素τij隨時間的推移而衰減的程度,Δτij為螞蟻所選路徑的單次信息素累積量。

通過蟻群算法的正反饋作用,同時結合相鄰節(jié)點i、j間網絡Qos 鏈路狀態(tài)信息的加權和作為啟發(fā)值函數(shù)ηij,如公式(3)所示:

其中,N為所選Qos 評估指標總數(shù),Qij(m)為相鄰網絡節(jié)點i、j間第m個Qos 鏈路狀態(tài)信息評估值,αm為第m個Qos 評估值的權重因子。網絡中帶寬較大、丟包率較小、時延低的多條路徑被篩選出來,作為后續(xù)數(shù)據(jù)傳輸中使用的首選傳輸路徑。

在路徑探索過程中,每只螞蟻獨立地對環(huán)境產生影響,體現(xiàn)在高質量路徑上信息素值τij的不斷積累,環(huán)境反過來對每只螞蟻的決策過程產生指導,后續(xù)蟻群將更加集中在信息素濃度較高的路徑上。這種正反饋的產生使得蟻群算法極易收斂在局部最優(yōu)解上,并且難以進行控制。傳統(tǒng)蟻群算法作為典型模型無關的強化學習算法,盡管降低了計算復雜度,但其實驗敏感,即對應于不同的起始狀態(tài)趨向于不同收斂解的特性,使得探索搜索過程難以收斂到全局最優(yōu)解。此外,由于應急網絡具有節(jié)點機動性及網絡狀態(tài)高度動態(tài)變化的特性,網絡拓撲更新間隔較短,往往前向螞蟻剛剛到達目的節(jié)點,路由包中記錄的路徑信息已經由于網絡拓撲的變化而失效,信息素的積累過程被擱置,中間節(jié)點不斷開啟路徑修復過程,致使路由信息不穩(wěn)定和難以長期維護。因此,傳統(tǒng)蟻群算法難以適用于應急通信網絡。

3 結合強化學習的改進蟻群路由算法

針對上述問題,本文提出一種結合強化學習的改進蟻群路由算法(MLSA),通過系統(tǒng)探測和評估同步的連續(xù)建模,解決傳統(tǒng)蟻群算法易陷入局部最優(yōu)及路由決策過程緩慢的問題。MLSA 使用強化學習模型進行系統(tǒng)建模,感知系統(tǒng)路由狀態(tài)變化并記錄動作產生的回報;利用上述模型對系統(tǒng)局部進行連續(xù)探測,并采用時間軸加窗的方式加速信息素的衰減;在數(shù)據(jù)傳輸過程依據(jù)Qos優(yōu)先函數(shù)限制進行最優(yōu)數(shù)據(jù)的傳輸,同時更新各節(jié)點網絡狀態(tài)。

3.1 網絡模型及問題定義

根據(jù)應急通信的具體需求,使用丟包率、時延、傳輸開銷的加權和作為系統(tǒng)評估的強化函數(shù),根據(jù)不同的Qos 需求,動態(tài)調整三者的權重。整個尋優(yōu)過程為在具體Qos 指標限定下,尋找使得核函數(shù)取得最大值的從源節(jié)點S到目的節(jié)點D的最優(yōu)路徑,當有新的數(shù)據(jù)傳輸任務到來時,系統(tǒng)依參數(shù)啟動路徑搜索和數(shù)據(jù)傳輸過程。

假設應急響應系統(tǒng)網絡的部署環(huán)境是二維平面拓撲,其網絡拓撲可抽象成帶權有向圖G(V,E),其中:V為移動節(jié)點集合,節(jié)點個數(shù)n=|V|;E為單跳通信鏈路集合,對任意單跳通信鏈路eij=e(vi,vj)∈E,vi,vj∈V,i≠j,i,j=1,2,…,n,當且僅當vi與vj在單跳通信范圍內可通信。G中每條鏈路eij包含時延、帶寬、丟包率、時延抖動等通信代價參數(shù)。根據(jù)應急響應通信系統(tǒng)的應用特點,如數(shù)據(jù)傳輸實時性與質量保障,考慮時延、帶寬與丟包率這3 個參數(shù),其中:時延包括中繼節(jié)點上的排隊與處理時延和鏈路傳輸時延,丟包率包括節(jié)點緩沖區(qū)溢出丟包與信道間干擾丟包,帶寬即為鏈路允許的最大數(shù)據(jù)傳輸速率。對應于每一單跳通信鏈路eij∈E,其權值用一個三元組(b(vi,vj),d(vi,vj),l(vi,vj))表示,分別表示鏈路帶寬、鏈路時延與鏈路丟包率。

定義1(可行路徑)給定網絡G,如果從源節(jié)點source 到目的節(jié)點destination 通過多跳存在一條路徑p={v1,v2,…,vn} ,能夠將數(shù)據(jù)從source 節(jié)點傳輸?shù)絛estination 節(jié)點,則稱p為一條可行路徑。

定義2(路徑Qos 參數(shù))給定一條可行路徑p={v1,v2,…,vn},設其路徑包括節(jié)點的個數(shù)為n,則路徑p的Qos 參數(shù)為路徑帶寬、路徑時延、路徑丟包率。根據(jù)參數(shù)凹性特征,其定義如下:

其中,B(p)、D(p)、L(p)分別表示路徑帶寬、路徑時延與路徑丟包率。

定義3(路徑優(yōu)先函數(shù))給定一條路徑p,其優(yōu)先級函數(shù)綜合考慮定義2 中路徑的3 個Qos 參數(shù),優(yōu)先函數(shù)f(p)定義如下:

其中,Bmin與Dmax分別是應急響應系統(tǒng)數(shù)據(jù)傳輸所能容忍的最小帶寬與最大路徑時延,α、β、γ分別是3 種Qos 參數(shù)的權重因子,三者的范圍為[0,1],α+β+γ=1。通過公式(7)的處理,路徑優(yōu)先函數(shù)的取值范圍為[0,1]。

本文所提出的算法MLSA 將利用路由發(fā)現(xiàn)過程得到的多條可行路徑,在相應路徑優(yōu)先函數(shù)f(p)的條件限制下進行數(shù)據(jù)的逐跳傳遞,結合強化學習過程進行網絡擁塞的實時感知,完成系統(tǒng)流量的均衡及路徑的動態(tài)更新。

3.2 使用強化學習模型進行系統(tǒng)建模

強化學習模型通過感知系統(tǒng)現(xiàn)有狀態(tài),評估計算采取下一行為對系統(tǒng)帶來的增益,從而選擇執(zhí)行對系統(tǒng)狀態(tài)帶來較大增益的行為;節(jié)點執(zhí)行狀態(tài)更改決策后,收到執(zhí)行該行為獲取的系統(tǒng)增益值[18]。如圖1 所示,網絡中各個節(jié)點在路由發(fā)現(xiàn)過程t時刻采取不同的動作策略ai(t),共同對整個網絡進行影響,節(jié)點完成從狀態(tài)si(t)到狀態(tài)si(t+1) 的轉換,獲得環(huán)境回饋的相應回報值ri(t+1) ,各節(jié)點重新評估自身價值函數(shù)Vi(s)并將其廣播到鄰居節(jié)點;此外,其他未被采用策略集上積累的信息素含量隨時間的流逝而蒸發(fā)。

圖1 強化學習決策過程

由于提前引入了數(shù)據(jù)包傳輸?shù)淖畲骉TL值,即數(shù)據(jù)傳輸過程中系統(tǒng)的狀態(tài)轉移次數(shù)總是限制在整體系統(tǒng)狀態(tài)集S內,單一節(jié)點的系統(tǒng)狀態(tài)評估值可應用無限視野價值評估模型:

進行計算,同時設置未來有限步內的系統(tǒng)狀態(tài)轉換所帶來的增益rt具有相同的權重γ。系統(tǒng)優(yōu)化問題轉化為,調整從源節(jié)點S到目的節(jié)點D經過的所有數(shù)據(jù)傳輸節(jié)點的決策過程,以取得最大的價值函數(shù)V(s)值,下面介紹求解過程。

定義系統(tǒng)狀態(tài)集為S,當前狀態(tài)下可以執(zhí)行的動作集為A,則系統(tǒng)增益R和狀態(tài)轉移分布函數(shù)T均可表示為S和A的某種運算結果,這里用R(s,a)表示從狀態(tài)s執(zhí)行動作a帶來的系統(tǒng)增益,T(s,a,s′)表示s經過動作a后轉移到s′的概率。通過求解貝爾曼方程可以得到系統(tǒng)的最優(yōu)解V*(s):

其中,γ為狀態(tài)轉移增益權重,V*(s′ )對應于狀態(tài)集S中每個狀態(tài)s′的當前價值評估值。相應的,采取使得價值評估函數(shù)V*(s)取得最大值的動作a作為下一步的狀態(tài)轉移操作。

取T(s,a,s′ )為每條通信鏈路數(shù)據(jù)投遞成功與失敗的比例,為了計算T(s,a,s′ ),在每個節(jié)點記錄嘗試發(fā)送的單播包數(shù)NA、單播傳輸失敗包數(shù)NF、接收到的單播包數(shù)NR、接收到的廣播包數(shù)NB和混雜接收單播包數(shù)NP等統(tǒng)計量;考慮網絡的動態(tài)變化性,指定有效統(tǒng)計時間窗口,即選取從當前時間往前的一段時間內的統(tǒng)計量作為有效統(tǒng)計量。對于單個節(jié)點來說,自身發(fā)送數(shù)據(jù)包的統(tǒng)計值較成功接收數(shù)據(jù)包的統(tǒng)計值具有更高的可信度,因此在計算投遞率時,接收數(shù)據(jù)包統(tǒng)計量前添加置信參數(shù)σ;此外,將ρ作為節(jié)點未發(fā)送數(shù)據(jù)包時的投遞率估計值,最終投遞率計算公式表示為:

公式(10)對應系統(tǒng)下一狀態(tài)切換到投遞成功s′=S時的轉移概率T(s,a,S)。在路由過程中,對于一次成功的數(shù)據(jù)傳輸,其消耗的系統(tǒng)能量最小,將該過程獲得的強化函數(shù)值標記為rS,其系統(tǒng)消費歸一化為-1;同樣地,對于一次失敗的單跳數(shù)據(jù)傳輸,將該過程獲得的強化函數(shù)值記為rF=-7,其系統(tǒng)消費對應于底層802.11 MAC 協(xié)議的最大重傳次數(shù)7[19]。由于指定了rS和rF為確定值(-1和-7),相應的

為T(s,a,s′ )的簡單組合函數(shù)。確定了評估模型T(s,a,s′ )、R(s,a),最優(yōu)值函數(shù)V(s)的計算可以通過求解貝爾曼方程:

考慮每個動作集a僅導致當前狀態(tài)s朝兩種可能的狀態(tài)轉變,假設下一跳節(jié)點為P,則系統(tǒng)的狀態(tài)轉變?yōu)椋喊l(fā)生傳輸成功事件S,使得系統(tǒng)由當前狀態(tài)s=N轉化到s′=P;或發(fā)生傳輸失敗事件F,使得系統(tǒng)當前狀態(tài)s=N保持停留從而s′=N。因此系統(tǒng)Q值的計算如下式所示:

其中,pS是數(shù)據(jù)包成功傳輸?shù)焦?jié)點P的概率,相應的pF是傳輸失敗的概率。根據(jù)公式(14):

轉化為求解

從而

一旦最優(yōu)值函數(shù)由評估模型計算得到,最佳的決策過程便是采取使每個狀態(tài)能夠獲得最大Q值的動作,稱該優(yōu)化決策過程為系統(tǒng)的開發(fā)策略。鑒于開發(fā)策略是由系統(tǒng)評估模型計算得到,而應急網絡具有較高動態(tài)性,評估模型會隨著時間變化;同時評估模型又依賴于系統(tǒng)的探測過程,因此為了執(zhí)行較優(yōu)的開發(fā)策略,需要對系統(tǒng)進行連續(xù)的探測。

3.3 系統(tǒng)模型的連續(xù)探測

為了利用已學習到的系統(tǒng)知識進行決策過程,并且同時能夠連續(xù)地對系統(tǒng)進行探測過程,以更新系統(tǒng)模型,本文提出使用如下策略:

(1)使用玻爾茲曼決策過程,對系統(tǒng)已知的動作集進行概率轉移,根據(jù)執(zhí)行動作回饋信息更新網絡模型,有利于控制系統(tǒng)探測過程的頻次,使路由選擇朝著最優(yōu)的方向前進,決策過程如下式所示:

其中,u(a)反應了決策a對系統(tǒng)帶來的實際效用,參數(shù)T反應了系統(tǒng)選擇次優(yōu)決策過程的可能性,即參數(shù)T越大,系統(tǒng)選擇次優(yōu)決策的可能性越大,該參數(shù)將極大影響系統(tǒng)建模所需的探測過程頻次。

(2)設計周期性的探測過程用來發(fā)現(xiàn)鄰居節(jié)點,在路由過程中選擇價值函數(shù)較高的節(jié)點作為下一跳。當一個節(jié)點嘗試發(fā)送單播或廣播數(shù)據(jù)包時,會在數(shù)據(jù)包頭添加關于源節(jié)點S和目的節(jié)點D的最優(yōu)值估計,當鄰居節(jié)點接收到該數(shù)據(jù)包后,會利用這些估計值更新自身對S和D的最優(yōu)值記錄。此外,考慮到系統(tǒng)網絡拓撲的動態(tài)變化性,同時需要對舊的記錄值進行蒸發(fā)操作,以不斷減小無用信息對路由決策的影響,具體更新過程如式(18)所示:

圖2 數(shù)據(jù)包格式

其中,Vadv(s)是該節(jié)點最后接收到的關于節(jié)點s的最優(yōu)值通告,ΔT(s)是從最后一次接收到該通告值過去的時間,λ用來控制記錄值的消散速率。

(3)為了限制探索過程只在對系統(tǒng)感興趣的相關部分進行,且保證發(fā)送數(shù)據(jù)包較探測過程的優(yōu)先級,使用貪婪算法規(guī)避對當前決策無用的部分進行探測。由于系統(tǒng)全局信息難以獲取,本文提出的方法只計算處于數(shù)據(jù)包投遞路線上相關節(jié)點的價值函數(shù)而不是針對整個網絡的所有節(jié)點進行計算。MLSA 將采用按需路由的方式,即當有數(shù)據(jù)請求到來時才進行路由發(fā)現(xiàn)過程,因此可以將相關的系統(tǒng)評估信息附加在數(shù)據(jù)包上用于鄰居節(jié)點信息素的更新,使得學習過程僅在數(shù)據(jù)傳輸鏈路附近進行,從而縮減了系統(tǒng)開銷;此外,將評估信息附加在數(shù)據(jù)包上進行傳遞,較發(fā)送獨立的路由包而言降低了網絡傳輸負載。

4 MLSA算法實現(xiàn)

根據(jù)協(xié)議設計策略,構造數(shù)據(jù)包格式如圖2。其中,括號中數(shù)字表示對應域所占字節(jié)數(shù),單位:字節(jié)(Byte)。

其中,Qos 參數(shù)需求指示下一跳最低傳輸限制,對應于優(yōu)先函數(shù)f(p)限制值;源節(jié)點價值函數(shù)估計值記錄了數(shù)據(jù)包原始傳輸節(jié)點價值函數(shù)VS(s)值,目的節(jié)點價值函數(shù)估計值記錄了目的節(jié)點價值函數(shù)VD(s)值;錯誤標記位指示數(shù)據(jù)包傳遞過程中下一跳是否發(fā)生傳輸失?。欢鴶?shù)據(jù)包序列號可以用來判斷是否收到重復報文,并執(zhí)行相應的丟棄操作。

MLSA路由算法流程概述如下:

(1)系統(tǒng)啟動階段,網絡各節(jié)點進行鄰居發(fā)現(xiàn)并收集各鏈路Qos 狀態(tài)信息。

(2)當數(shù)據(jù)傳輸任務到來時,檢測路由表項中是否存在到目標節(jié)點的路由條目,存在則根據(jù)公式(7)選擇相應的路徑進行數(shù)據(jù)傳輸;否則啟動路由發(fā)現(xiàn)過程。

(3)當節(jié)點收到路由包時,檢測是否是重復路由包,并丟棄重復路由包;若數(shù)據(jù)包目的節(jié)點為當前節(jié)點,發(fā)送后向螞蟻包通告源節(jié)點S數(shù)據(jù)傳遞成功,更新當前價值函數(shù)V(s)的值,并廣播到鄰居節(jié)點;若數(shù)據(jù)包記錄目的IP地址非本節(jié)點,則選擇鄰居節(jié)點中對應價值函數(shù)值最大的動作a,進行到下一跳的數(shù)據(jù)傳遞。

(4)路由建立階段,當節(jié)點收到路由發(fā)現(xiàn)廣播包時,按照公式(16)的玻爾茲曼探測模型,結合鄰居節(jié)點的價值函數(shù),進行連續(xù)探測過程;同時更新系統(tǒng)狀態(tài)評估模型,建立到目標節(jié)點的最優(yōu)路徑,該過程將統(tǒng)計鏈路丟包率、時延、帶寬等狀態(tài)信息。

(5)數(shù)據(jù)傳輸過程中,若當前節(jié)點找不到滿足路徑優(yōu)先函數(shù)f(p)限制條件下,指定動作所a對應的下一跳節(jié)點,則以該節(jié)點為源節(jié)點S進行路由發(fā)現(xiàn)過程,轉至步驟(4)。

(6)在數(shù)據(jù)包傳遞過程中,前向螞蟻包到達的每一跳路由節(jié)點,將根據(jù)采取的動作a所帶來的回報值ri(t+ 1)更新自身價值函數(shù)V(s),并將新的價值函數(shù)廣播到鄰居節(jié)點;從而該節(jié)點在相關路徑上積累了較高的信息素含量,以該節(jié)點作為下一跳的決策a,在鄰居節(jié)點的動作集中具有較高的選擇優(yōu)先級。同時,鏈路性能較差或移動性較強的節(jié)點,僅在其通信局部范圍內擁有較高的價值函數(shù)而被選取為備選路徑;而在其他網絡節(jié)點的信息素更新策略中,僅按照公式(17)進行信息素累積量的衰減。

5 MLSA算法評估

使用NS2進行MLSA路由算法的網絡仿真,配置仿真場景對應于實際應急網絡環(huán)境,即網絡擁有少量服務器節(jié)點(這里配置為3),作為Mesh子網絡邊界的網關節(jié)點,同時設置大量網絡無線節(jié)點,具有1~60 m/s 不等的移動速度,運動方向設置為在二維平面內隨機做出選擇;各移動節(jié)點配置為在任意時刻,以隨機通信時長間隔的方式,進行到鄰近服務器節(jié)點的數(shù)據(jù)傳輸,傳輸數(shù)據(jù)為指定大?。?12 Byte)的udp數(shù)據(jù)包。其他網絡參數(shù)配置為,仿真場景大小1 000 m×400 m,使用802.11作為MAC層協(xié)議,無線傳播模型為two-ray-ground。最后做出說明,對于移動節(jié)點到服務器(接入點)的選擇,將由路由算法根據(jù)到鄰居節(jié)點的強化學習評價值進行自主決策,優(yōu)先連接到強化學習評價值最高的服務器節(jié)點。實驗拓撲如圖3所示。

圖3 實驗拓撲環(huán)境

該場景下網絡節(jié)點數(shù)設置為30~50,當移動節(jié)點數(shù)小于15 時,由于平均范圍內節(jié)點數(shù)目過少而無法建立持續(xù)有效的傳輸鏈路,導致網絡數(shù)據(jù)傳輸不能正常進行;節(jié)點數(shù)大于60時,由于節(jié)點數(shù)量增加帶來的局部網絡擁塞較為嚴重,無法繼續(xù)通過增加網絡負載有效控制網絡整體擁塞程度。最終對照實驗取網絡節(jié)點數(shù)目為45。

此外,全局蟻群算法尋優(yōu)參數(shù)設置如下,對應公式(1)中剩余信息素值τij權重因子α取0.5,期望函數(shù)ηij權重因子β取1,該部分參數(shù)的獲取為在α 取值范圍為0.1~0.9,β取值范圍為1~5,經過大量對照實驗得到的能使蟻群算法快速收斂的最優(yōu)參數(shù)解;局部強化學習模型中評價參數(shù)設置如下,對應公式(11)中一次成功傳遞的強化函數(shù)反饋值rS取-1,一次失敗傳遞的強化函數(shù)懲罰值rF取-7,該部分參數(shù)的設置充分考慮底層802.11 MAC協(xié)議的最大重傳次數(shù)為7,并將一次數(shù)據(jù)包傳遞產生的代價歸一化為1。實驗證明,取以上組合參數(shù)有利于蟻群快速尋優(yōu)和強化收斂過程的完成。

為了測試MLSA對網絡擁塞的適應能力,逐漸加大網絡通信負載的數(shù)據(jù)傳輸率,與按需路由的代表協(xié)議DSR[20]及AODV[21]進行同一場景下的數(shù)據(jù)傳輸性能對比,實驗結果如圖4~6 所示。其中圖4 顯示了隨著擁塞程度的增加,DSR和AODV的投遞率迅速降低,而MLSA協(xié)議由于使用了對系統(tǒng)的動態(tài)探測過程,不斷更改最優(yōu)路徑決策,使網絡流量盡可能多地分配到更多次優(yōu)的鏈路上(全局次優(yōu),當前最優(yōu)),從而在很大程度上緩和了網絡的擁塞程度,數(shù)據(jù)包投遞率下降緩慢。

圖4 網絡擁塞對投遞率的影響

圖5 網絡擁塞對傳輸時延的影響

圖6 網絡擁塞對吞吐量的影響

圖5 顯示了在網絡擁塞的情況下,AODV 和MLSA均表現(xiàn)出較低的平均數(shù)據(jù)傳輸端到端時延,總體上看,MLSA平均時延變化較為穩(wěn)定,呈現(xiàn)與擁塞程度增長的正比例關系,且相對于其他兩個路由協(xié)議在同一量級的網絡擁塞下具有更小的平均傳輸延時。

圖6 顯示了在擁塞情況下三個路由協(xié)議網絡吞吐量的表現(xiàn),AODV 和DSR 曲線的網絡吞吐量先是隨著網絡負載通信流量的增加而快速增長,最后網絡吞吐量趨于一個上限閾值,實際上,在路由表記錄的最優(yōu)路徑上,大量數(shù)據(jù)包未能被成功緩存而丟棄,體現(xiàn)在圖4 中數(shù)據(jù)投遞率的下降;而MLSA由于使用對系統(tǒng)的動態(tài)探索估計,當發(fā)現(xiàn)最優(yōu)路徑上存在擁塞情況時,能及時調整尋優(yōu)策略,改選路徑發(fā)現(xiàn)階段記錄的次優(yōu)路由條目進行流量均衡,然而,由于無線自組織網絡中每個節(jié)點的鄰居數(shù)目有限,當網絡擁塞持續(xù)增加時,數(shù)據(jù)傳輸節(jié)點無法再將多余的流量平均到更多的路徑上,從而導致網絡吞吐量的下降和丟包率的上升。

6 結論

本文針對應急通信中網絡拓撲的快速動態(tài)變化及突發(fā)的網絡擁塞現(xiàn)象,詳細分析了傳統(tǒng)蟻群路由算法在該應用場景下不再適用的原因,提出了一種適用于應急通信網絡的路由算法MLSA,利用蟻群算法框架結合強化學習過程進行系統(tǒng)建模,將網絡鏈路性能統(tǒng)計分析過程限制在較高優(yōu)先級的區(qū)域,通過探測局部鄰居節(jié)點的狀態(tài)信息,對不同路由決策過程進行打分,并根據(jù)網絡反饋做出策略調整,從而改善網絡整體性能,有利于緩解網絡擁塞,增加了數(shù)據(jù)傳輸?shù)膶崟r性、穩(wěn)定性。實驗證明,在較高節(jié)點移動性環(huán)境下,針對應急通信中產生的網絡擁塞現(xiàn)象,MLSA較經典按需路由協(xié)議AODV和DSR,具有明顯的性能優(yōu)勢。

猜你喜歡
數(shù)據(jù)包路由鏈路
二維隱蔽時間信道構建的研究*
天空地一體化網絡多中繼鏈路自適應調度技術
民用飛機飛行模擬機數(shù)據(jù)包試飛任務優(yōu)化結合方法研究
基于星間鏈路的導航衛(wèi)星時間自主恢復策略
鐵路數(shù)據(jù)網路由匯聚引發(fā)的路由迭代問題研究
多點雙向路由重發(fā)布潛在問題研究
一種基于虛擬分扇的簇間多跳路由算法
路由重分發(fā)時需要考慮的問題
C#串口高效可靠的接收方案設計
基于3G的VPDN技術在高速公路備份鏈路中的應用
霍州市| 泰宁县| 越西县| 惠东县| 会同县| 东源县| 安仁县| 乌拉特后旗| 徐汇区| 玛多县| 湘潭县| 清苑县| 大姚县| 大冶市| 定日县| 徐水县| 涞水县| 顺平县| 宁德市| 上虞市| 金门县| 屏南县| 祁门县| 舒兰市| 四子王旗| 尚志市| 扬中市| 余姚市| 天津市| 阳朔县| 新昌县| 乌拉特后旗| 静海县| 宣威市| 龙岩市| 同心县| 土默特左旗| 昂仁县| 乌鲁木齐县| 绍兴市| 太和县|