黃詩雅,李 強(qiáng),李新民,林茂松
(1.西南科技大學(xué) 信息工程學(xué)院,綿陽 621010;2.西南科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,綿陽 621010)
隨著物聯(lián)網(wǎng)的出現(xiàn),新的路由方式要求大量低功耗、低成本的嵌入式設(shè)備可靠接入,然而工業(yè)園區(qū)無線傳感網(wǎng)絡(luò)具有環(huán)境復(fù)雜、網(wǎng)絡(luò)規(guī)模大等特點(diǎn)[1],在節(jié)點(diǎn)資源有限的條件下,如何保證數(shù)據(jù)高效可靠的傳輸對(duì)于物聯(lián)網(wǎng)應(yīng)用至關(guān)重要[2]。
在傳統(tǒng)確定性路由方式中,頻繁的鏈路層數(shù)據(jù)重傳將消耗大量的帶寬資源[3]。而機(jī)會(huì)路由充分利用了無線信道的廣播特性[4],節(jié)點(diǎn)間的競(jìng)爭(zhēng)選擇考慮了鏈路可靠性、節(jié)點(diǎn)成本和路徑成本,有效提高了網(wǎng)絡(luò)吞吐量和傳輸可靠性[5],解決了傳統(tǒng)路由在惡劣環(huán)境下路由效率不高的問題。機(jī)會(huì)路由中,基于最短路徑的機(jī)會(huì)路由研究有很多,如GEDAR(Geographic and Opportunistic Routing with Depth Adjustment-based Topology Control for Communication Recovery)[6]、TOUR (Utility-based Routing)[7]等。后來,許多研究人員針對(duì)網(wǎng)絡(luò)中的能耗問題,提出了節(jié)能機(jī)會(huì)路由,I-AREOR(Improved-Adaptive Ranking based Energy-efficient Opportunistic Routing Protocol)[8]協(xié)議根據(jù)節(jié)點(diǎn)密度、相對(duì)距離及能耗選擇傳輸路徑,延長網(wǎng)絡(luò)生命。Fradj[9]使用一種新的轉(zhuǎn)發(fā)列表EEOR-FL(Energy-Efficient Opportunistic Routing Using a New Forward List),最大限度地延長了網(wǎng)絡(luò)壽命,但上述機(jī)會(huì)路由協(xié)議均將能耗作為考慮重點(diǎn),對(duì)于無線傳輸過程中的鏈路不可靠問題,僅依靠機(jī)會(huì)路由機(jī)制來提高數(shù)據(jù)傳輸可靠性。有學(xué)者為了提升數(shù)據(jù)傳輸可靠性,使用基于鏈路質(zhì)量的機(jī)會(huì)路由協(xié)議,ExOR(Extremely Opportunistic Routing)利用軟件度量估計(jì)鏈路質(zhì)量;ELMOR(Expecting Lowest-residue-energy Maximization Opportunistic Routing)[10]是針對(duì)果園網(wǎng)絡(luò)設(shè)計(jì)的機(jī)會(huì)路由,考慮鏈路連通概率和中繼節(jié)點(diǎn)選擇的能耗預(yù)期,對(duì)鏈路連通情況采用PRR和信號(hào)強(qiáng)度共同對(duì)鏈路連接情況進(jìn)行判斷,雖然上述協(xié)議在路由過程中考慮了鏈路質(zhì)量以減輕鏈路的不可靠性[11],然而現(xiàn)有方法仍然無法準(zhǔn)確度量鏈路質(zhì)量。
針對(duì)工業(yè)園區(qū)中多徑衰落效應(yīng)容易造成節(jié)點(diǎn)間連通不穩(wěn)定的問題,本文設(shè)計(jì)了一種基于鏈路質(zhì)量估計(jì)的機(jī)會(huì)路由協(xié)議,該協(xié)議利用模糊邏輯建立鏈路估計(jì)器數(shù)學(xué)模型,輸入當(dāng)前鏈路的分組投遞率(Packet Reception Rate,PRR)、信噪比(Signal-to-Noise Ratio,SNR)以及接收信號(hào)強(qiáng)度(Received Signal Strength Indicator,RSSI),輸出鏈路評(píng)價(jià)因子LQ(Link Quality)估計(jì)當(dāng)前傳輸鏈路的通信質(zhì)量。為了進(jìn)一步優(yōu)化轉(zhuǎn)發(fā)候選集,所提協(xié)議通過節(jié)點(diǎn)的地理位置信息解決機(jī)會(huì)路由過程中造成的多重分組問題。實(shí)驗(yàn)結(jié)果表明,所提協(xié)議LQOR對(duì)比已有機(jī)會(huì)路由分組投遞率最大增幅9.8%,數(shù)據(jù)冗余程度平均減少11.36%,增加了數(shù)據(jù)傳輸可靠性。
由于工業(yè)園區(qū)中建筑物的遮擋,數(shù)據(jù)傳輸過程中無線信道遵循陰影衰落模型,節(jié)點(diǎn)間信道模型由兩部分組成,如式(1)所示:第一部分是路徑衰落模型,它能夠預(yù)測(cè)出當(dāng)距離為d時(shí)接收到的平均能量Pr(d),并使用了一個(gè)接近中心距離d0處的平均能量Pr(d0)作為參考;第二部分是一個(gè)對(duì)數(shù)正態(tài)隨機(jī)變量,反映了當(dāng)距離一定時(shí),接收到能量的變化。
其中,XdB是高斯隨機(jī)變量,σdB是標(biāo)準(zhǔn)偏差,即陰影偏差。β是路徑損耗指數(shù),接收平均能量的下降速度隨著距離以及障礙物的增多逐漸加快。在NS2仿真時(shí),選取β為2.7~3.5,σdB為4dB[12]。
為了保證數(shù)據(jù)傳輸過程中的可靠性,本文在現(xiàn)有機(jī)會(huì)路由的基礎(chǔ)上,為每一條鏈路構(gòu)建鏈路估計(jì)器,轉(zhuǎn)發(fā)候選集的度量標(biāo)準(zhǔn)使用期望最佳鏈路質(zhì)量。為了進(jìn)一步提升鏈路質(zhì)量估計(jì)的精確度,針對(duì)機(jī)會(huì)路由在鏈路質(zhì)量估計(jì)上的不足,本文使用硬件度量與軟件度量結(jié)合的方式,利用模糊邏輯對(duì)鏈路質(zhì)量估計(jì)進(jìn)行優(yōu)化,提出了使用鏈路質(zhì)量的路由測(cè)度LQ算法。在鏈路質(zhì)量估計(jì)中,本文利用PRR、RSSI與SNR三個(gè)指標(biāo)共同度量鏈路質(zhì)量:首先根據(jù)RSSI與PRR、SNR與PRR的關(guān)系,對(duì)數(shù)據(jù)進(jìn)行模糊處理,構(gòu)造隸屬度函數(shù);然后建立IF-THEN規(guī)則;最后解模糊化得到鏈路質(zhì)量估計(jì)值。
1.2.1 數(shù)據(jù)接收概率
數(shù)據(jù)接收概率PRR表示了鏈路成功交付數(shù)據(jù)的能力。根據(jù)文獻(xiàn)[13],將通信區(qū)域劃分為三個(gè)區(qū)域:連通區(qū)、過渡區(qū)、以及斷開區(qū)。連通區(qū)具有PRR大于等于90%的特點(diǎn);過渡區(qū)的PRR在10%~90%之間無規(guī)律波動(dòng);斷開區(qū)的PRR小于10%。在統(tǒng)計(jì)PRR過程中,為了抵消PRR的暫態(tài)波動(dòng),本文采用EWMA(Exponentially Weighted Moving Average)濾波器對(duì)PRR計(jì)算結(jié)果進(jìn)行平滑,平滑后的結(jié)果根據(jù)式(2)計(jì)算得出:
其中,σ是平滑因子,控制平滑度,ω為估計(jì)窗口。根據(jù)文獻(xiàn)[13]建議的α=0.6,ω=5,以維持穩(wěn)定性和反應(yīng)性之間的良好平衡,信噪比與信號(hào)接收強(qiáng)度均做同樣的濾波處理。
1.2.2 信噪比
節(jié)點(diǎn)收集到的物理層數(shù)據(jù)SNR和數(shù)據(jù)投遞率之間存在著相關(guān)性,現(xiàn)有對(duì)SNR與數(shù)據(jù)投遞率關(guān)系的研究表明[11]:SNR均值在12dB以上,鏈路質(zhì)量較好,目的節(jié)點(diǎn)可以接收到所有的數(shù)據(jù)包;SNR均值在4~12dB之間,鏈路質(zhì)量表現(xiàn)出較大的波動(dòng),目的節(jié)點(diǎn)接收數(shù)據(jù)包的比率呈現(xiàn)不穩(wěn)定的狀態(tài);SNR低于4dB,目的節(jié)點(diǎn)接收到較少的數(shù)據(jù)包,鏈路不適合通信。節(jié)點(diǎn)得到SNR信息后,本文使用EWMA對(duì)SNR平滑濾波:
1.2.3 接收信號(hào)強(qiáng)度
在過渡區(qū)通信時(shí),微小的環(huán)境或信號(hào)變化都可能造成數(shù)據(jù)接收率的劇烈變化,所以單獨(dú)的PRR往往不能準(zhǔn)確度量鏈路傳輸質(zhì)量。文獻(xiàn)[14]指出,當(dāng)RSSI值較大時(shí),PRR的值也較大,且當(dāng)RSSI值大于-86dBm時(shí),PRR基本上處于0.9以上;當(dāng)RSSI值較小時(shí),PRR值也較?。划?dāng)RSSI值小于-94dBm時(shí),PRR迅速衰減至0。節(jié)點(diǎn)得到RSSI信息后,本文使用EWMA對(duì)RSSI平滑濾波:
物理層參數(shù)的統(tǒng)計(jì)只是針對(duì)于已經(jīng)成功接收到的數(shù)據(jù)包,會(huì)對(duì)鏈路過高估計(jì),所以在統(tǒng)計(jì)結(jié)束后利用模糊規(guī)則將物理層鏈路質(zhì)量同網(wǎng)絡(luò)層分組投遞率相結(jié)合,綜合度量鏈路質(zhì)量以提高鏈路質(zhì)量估計(jì)的準(zhǔn)確性。本文利用EWMA濾波器平滑周期統(tǒng)計(jì)到PRR、SNR和RSSI值后,根據(jù)城市應(yīng)用場(chǎng)景下無線自組網(wǎng)的特點(diǎn),利用模糊集對(duì)鏈路估計(jì)的三個(gè)參量進(jìn)行定義:數(shù)據(jù)接收概率{Low,Medium,High},如圖1(a)所示,當(dāng)投遞率高于90%的時(shí)候,映射到High的隸屬度為1;信噪比{Low,High},如圖1(b)所示,為了從硬件層面直觀獲得可靠性高的鏈路,必須選取信噪比大于12,映射到High的隸屬度為1;信號(hào)強(qiáng)度{Low,High},如圖1(c)所示,當(dāng)信號(hào)強(qiáng)度高于-86dBm時(shí),映射到High的隸屬度為1。針對(duì)城市中的網(wǎng)絡(luò)環(huán)境,確定相應(yīng)的三角形隸屬度函數(shù),對(duì)多條鏈路參數(shù)進(jìn)行模糊定義。
圖1 鏈路質(zhì)量估計(jì)隸屬度函數(shù)
根據(jù)工業(yè)園區(qū)無線網(wǎng)絡(luò)具有多徑衰落的傳播特點(diǎn),鏈路質(zhì)量估計(jì)器使用投遞率、信號(hào)強(qiáng)度、信噪比三個(gè)指標(biāo)作為輸入,結(jié)合本文定義的模糊規(guī)則表1,可以映射出鏈路質(zhì)量等級(jí)的模糊描述,分別用{perfect;good;accept;not accept;bad}表示。
表1 模糊規(guī)則表
圖3(d)為鏈路質(zhì)量LQ的隸屬度函數(shù),LQ將PRR、SNR、RSSI均衡組合,使用min-max方法獲得LQ的隸屬度,使鏈路質(zhì)量的評(píng)估不再是以單一輸入表示,模糊邏輯也為鏈路質(zhì)量的等級(jí)提供更加細(xì)粒度的區(qū)分。如式(5)利用重心法去模糊化,
其中μ(x)∈[0,1]為鏈路質(zhì)量的隸屬度輸出函數(shù),得到評(píng)價(jià)鏈路質(zhì)量的具體數(shù)值。
機(jī)會(huì)路由的挑戰(zhàn)是最大化每次傳輸?shù)倪M(jìn)度,同時(shí)最小化重復(fù)傳輸?shù)膮f(xié)調(diào)開銷。為了實(shí)現(xiàn)這個(gè)目標(biāo),LQOR中質(zhì)量較差并且地理位置不合理的節(jié)點(diǎn)不加入轉(zhuǎn)發(fā)候選集,能夠有效提高機(jī)會(huì)路由的轉(zhuǎn)發(fā)性能。在選取候選集節(jié)點(diǎn)時(shí),要求候選轉(zhuǎn)發(fā)列表中的節(jié)點(diǎn)比源節(jié)點(diǎn)到目的節(jié)點(diǎn)的距離更近,并且在候選集中對(duì)優(yōu)先級(jí)較低的節(jié)點(diǎn)進(jìn)行地理位置約束,判斷該節(jié)點(diǎn)是否在最高優(yōu)先級(jí)節(jié)點(diǎn)的傳輸范圍之內(nèi),如果超出最高優(yōu)先級(jí)節(jié)點(diǎn)的傳輸范圍,則無法接收最高優(yōu)先級(jí)節(jié)點(diǎn)的控制信息,將導(dǎo)致數(shù)據(jù)重復(fù)轉(zhuǎn)發(fā)。為避免這一情況,本文將優(yōu)先級(jí)較低且不在最高優(yōu)先級(jí)節(jié)點(diǎn)傳輸范圍的候選節(jié)點(diǎn)剔除。
為了增加數(shù)據(jù)傳輸?shù)目煽啃裕档蜋C(jī)會(huì)路由的冗余副本數(shù)量,本文在選取轉(zhuǎn)發(fā)候選集的時(shí)候綜合考慮鏈路質(zhì)量和地理位置。LQOR根據(jù)鏈路的質(zhì)量選取候選節(jié)點(diǎn),避免端到端鏈路質(zhì)量較差的節(jié)點(diǎn)加入轉(zhuǎn)發(fā)集,以此增加數(shù)據(jù)傳輸?shù)某晒Ω怕?。但由于轉(zhuǎn)發(fā)集節(jié)點(diǎn)數(shù)量較多,中繼節(jié)點(diǎn)僅根據(jù)給定度量標(biāo)準(zhǔn)確定,易造成多重分組問題。為了控制轉(zhuǎn)發(fā)節(jié)點(diǎn)的數(shù)量,將地理位置約束結(jié)合到候選集的構(gòu)造中。
給出一些符號(hào)的定義,Ns為源節(jié)點(diǎn)S的鄰居節(jié)點(diǎn),F(xiàn)s為源節(jié)點(diǎn)S的轉(zhuǎn)發(fā)候選集,用一種能反應(yīng)傳輸鏈路質(zhì)量的路由測(cè)度Ci(Cost)代表一個(gè)分組從節(jié)點(diǎn)i到目的節(jié)點(diǎn)D所需要的路由代價(jià),其中Ci<Cs,即節(jié)點(diǎn)i傳輸分組到目的節(jié)點(diǎn)的路由代價(jià)比源節(jié)點(diǎn)S傳輸分組到目的節(jié)點(diǎn)的路由代價(jià)低。Pi為轉(zhuǎn)發(fā)候選集的優(yōu)先級(jí),若Pi<Pj,則節(jié)點(diǎn)j的優(yōu)先級(jí)高于節(jié)點(diǎn)i。
首先,從鄰居節(jié)點(diǎn)中確定源節(jié)點(diǎn)S的轉(zhuǎn)發(fā)候選集。若鄰節(jié)點(diǎn)的預(yù)期代價(jià)小于S節(jié)點(diǎn)到目的節(jié)點(diǎn)的代價(jià),則加入到候選轉(zhuǎn)發(fā)節(jié)點(diǎn)集中。候選集中的節(jié)點(diǎn)按照預(yù)期代價(jià)的大小對(duì)候選集節(jié)點(diǎn)進(jìn)行優(yōu)先排序,代價(jià)函數(shù)值越小的節(jié)點(diǎn)優(yōu)先級(jí)越高。
由于機(jī)會(huì)路由傳輸過程中有多個(gè)候選節(jié)點(diǎn),計(jì)算至少候選集中有一個(gè)節(jié)點(diǎn)時(shí),源節(jié)點(diǎn)到目的節(jié)點(diǎn)的發(fā)送代價(jià)函數(shù),如式(6)記錄最小的代價(jià)函數(shù)取值,
其中m表示從源節(jié)點(diǎn)S發(fā)送分組到目的節(jié)點(diǎn),中間經(jīng)歷的m跳路徑,LQm代表每一條的鏈路質(zhì)量估計(jì)值。
然后,在節(jié)點(diǎn)加入轉(zhuǎn)發(fā)候選集之前進(jìn)行位置判斷,如果該節(jié)點(diǎn)距離目的節(jié)點(diǎn)大于源節(jié)點(diǎn)到目的節(jié)點(diǎn)的距離,該節(jié)點(diǎn)不加入轉(zhuǎn)發(fā)候選集列表;若節(jié)點(diǎn)在轉(zhuǎn)發(fā)候選集中優(yōu)先級(jí)并非最高,并且該節(jié)點(diǎn)在最高優(yōu)先級(jí)節(jié)點(diǎn)的一跳傳輸范圍之外,則該節(jié)點(diǎn)不加入轉(zhuǎn)發(fā)候選集列表。轉(zhuǎn)發(fā)候選集的具體算法如下:
算法1:轉(zhuǎn)發(fā)候選集的構(gòu)建;
步驟1:初始化Fs為?;
步驟2:對(duì)于所有Ns中的節(jié)點(diǎn)i,滿足節(jié)點(diǎn)i的代價(jià)函數(shù)值Ci小于源節(jié)點(diǎn)傳輸代價(jià)Cs;
步驟3:節(jié)點(diǎn)i到目的節(jié)點(diǎn)D的距離<源節(jié)點(diǎn)s到目的節(jié)點(diǎn)D的距離&&節(jié)點(diǎn)i是優(yōu)先級(jí)最高節(jié)點(diǎn)的鄰居節(jié)點(diǎn);
步驟4:節(jié)點(diǎn)i加入候選集形成新的候選集;
步驟5:跳轉(zhuǎn)步驟2;
步驟6:根據(jù)代價(jià)函數(shù)值對(duì)候選集節(jié)點(diǎn)進(jìn)行優(yōu)先級(jí)排序。
本文采用NS2進(jìn)行仿真,模擬工業(yè)園區(qū)中的無線傳感網(wǎng)絡(luò)通信情況,信道模型采用Shadowing,MAC層協(xié)議使用802.11Ext,其余主要仿真參數(shù)設(shè)置如表2所示。仿真300次取平均后,分別從吞吐量、分組投遞率、數(shù)據(jù)冗余程度三個(gè)指標(biāo)對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析,比較不同路徑損耗指數(shù)下各協(xié)議的表現(xiàn)。
表2 主要仿真參數(shù)
圖2展示了分組投遞率隨路徑損耗指數(shù)變化的情況,隨著路徑損耗指數(shù)的增大,網(wǎng)絡(luò)連通性有所降低,數(shù)據(jù)投遞率有所減少。在路徑損耗指數(shù)對(duì)傳輸結(jié)果影響較小時(shí),協(xié)議都能較好地傳輸數(shù)據(jù)分組,當(dāng)路徑損耗指數(shù)增大,由于LQOR選擇了質(zhì)量較好的路徑傳輸數(shù)據(jù),其性能明顯優(yōu)于ExOR。由于OLSR[15](Optimized Link State Routing)考慮了鏈路質(zhì)量,性能降低有所減緩。在路徑損耗指數(shù)為3.1時(shí)LQOR對(duì)比ExOR分組投遞率增幅最大達(dá)到9.8%,比OLSR協(xié)議分組投遞率最大增幅18.1%,證明了LQOR在數(shù)據(jù)投遞率方面的有效性。
圖2 分組投遞率對(duì)比
圖3展示了吞吐量隨路徑損耗指數(shù)變化的情況,隨著路徑損耗的增大,鏈路質(zhì)量的不穩(wěn)定性有所增加,吞吐量呈現(xiàn)下降趨勢(shì)。在路徑損耗指數(shù)為3.1時(shí),LQOR對(duì)比ExOR吞吐量最大增加9.6%,當(dāng)路徑損耗指數(shù)增大到一定程度后,整體傳輸性能降低,但吞吐量仍優(yōu)于ExOR與OLSR協(xié)議。
圖3 吞吐量對(duì)比
在鏈路質(zhì)量相對(duì)較好的情況下,大多數(shù)的路徑都能成功發(fā)送分組,冗余副本數(shù)量較大,隨著路徑損耗指數(shù)增加,節(jié)點(diǎn)間的分組投遞率減小,數(shù)據(jù)的冗余量也降低。如圖4所示,所提出的機(jī)會(huì)路由協(xié)議相比ExOR在路徑損耗指數(shù)為2.7時(shí)降低大約11.36%的冗余數(shù)量,在路徑損耗指數(shù)增大到一定程度之后,冗余副本的減少,對(duì)分組投遞率的影響較大,因此兩種機(jī)會(huì)協(xié)議的冗余率也趨近于重合。
圖4 數(shù)據(jù)冗余率對(duì)比
針對(duì)工業(yè)園區(qū)無線網(wǎng)絡(luò)的鏈路不可靠問題,本文提出了一種期望端到端最優(yōu)鏈路質(zhì)量的機(jī)會(huì)路由協(xié)議LQOR。該協(xié)議利用模糊邏輯計(jì)算鏈路質(zhì)量指數(shù),將鏈路質(zhì)量與地理位置相結(jié)合構(gòu)造最優(yōu)轉(zhuǎn)發(fā)候選集。仿真實(shí)驗(yàn)結(jié)果表明,所提協(xié)議LQOR比ExOR協(xié)議分組投遞率最大增幅9.8%,比OLSR協(xié)議分組投遞率最大增幅18.1%。數(shù)據(jù)冗余程度對(duì)比ExOR平均減少11.36%。在減少了冗余副本的情況下有效提高了端到端數(shù)據(jù)投遞率,保證了數(shù)據(jù)的可靠傳輸。