徐金鵬,李曉卉+,丁月民,張 尉,張 震
(1.武漢科技大學 信息科學與工程學院,湖北 武漢 430081;2.天津理工大學 計算機科學與工程學院,天津 300384;3.武漢市農業科學技術研究院 農業機械化科學研究所,湖北 武漢 430345;4.深圳市柳丁網科技有限公司,廣州 深圳 518040)
在智能家居無線傳感器網絡(wireless sensor networks in smart home,WSNSH)的實際部署中,復雜房屋結構往往會帶來復雜的電磁環境,從而影響WSNSH網絡性能[1-3]。例如傳感器節點間的無線信道會受到地面、墻面及人體移動等的反射與散射影響,鏈路連通狀態不穩定,通信會發生頻繁中斷[4]。在這種鏈路不穩定的狀態下,智能家居中某些重要的安全預警信息可能無法及時傳出,從而造成嚴重的安全隱患。
目前ZigBee網絡被廣泛用于WSNSH工程實踐中[5],其默認路由算法AODVjr通常通過洪泛路由請求包的方式,確保在衰落環境下找到一條有效路由[6]。但存在以下兩個問題:其一,AODVjr洪泛路由開銷較大,其本身并未考慮室內信道衰落對路由穩定性的影響,無法預測路由過程中室內信道的質量并做出自適應調整的行為,故其在WSNSH室內衰落環境中表現出的實際性能不高;其二,ZigBee節點鄰居表中雖然用鏈路質量指示(link quality indicator,LQI)來評估鏈路狀態,可以被用來輔助路由決策,但是LQI需通過反復收發信標幀來確定其值[7],這給路由造成額外開銷。
針對以上兩個問題,本文提出一種基于鏈路狀態感知的智能家居無線傳感器網絡路由算法(link state aware routing,LSAR-AODVjr),該算法在AODVjr的基礎上引入ETX-SH(expected transmission count for smart home)替代LQI表征衰落環境中WSNSH無線鏈路的狀態,并在ADOVjr中使用定向路由發現提高數據包投遞率減少路由開銷,自適應建立狀態更優的路由路徑。
WSNSH的結構一般如圖1所示。該網絡通常由終端節點、路由節點與協調器節點組成[8],網絡中節點通常都是固定節點,其中終端節點一般用于采集傳感信息,如溫濕度、可燃氣體、紅外監測等[9];路由節點用于將數據轉發至協調器節點[10];協調器節點則負責網絡的建立與數據的匯總[11]。

圖1 智能家居無線傳感器網絡拓撲結構
對WSNSH中的節點做如下規定:①每個節點都具有相同發射功率PTx;②每個節點具有相同的最小接收靈敏度PRx。令鏈路衰落程度Ψ=PTx/PR(分貝形式為ΨdB=10lg(PTx/PR)),其中PR為信號經過信道傳輸后被接收時的信號強度,則當接收信號強度大于最小接收靈敏度,即PR≥PRx時,該信號可被正確接收。

(1)
式中:ζ=10/ln10,μΨdB為ΨdB的均值,σΨdB為ΨdB的標準差。


(2)

為感知并快速預測鏈路狀態的變化,本文引入ETX-SH(expected transmission count for smart home)用以表征衰落環境中WSNSH無線鏈路的狀態。基于ETX-SH與AODVjr,本文提出一種適用于衰落環境下的WSNSH路由算法——LSAR-AODVjr。
由于WSNSH中節點能量有限,為盡量降低獲取鏈路狀態帶來的額外開銷,本文引入ETX-SH快速預測通過某條鏈路發送數據包所需的傳輸次數(包括重傳次數)以預測鏈路狀態。在預測到所需傳輸次數較高,即鏈路狀態不穩定時,自適應調整路由路徑,達到優化網絡性能的效果。
ETX-SH由兩部分組成:初始值與預測值。初始值用于預測在從未發生投遞過程的鏈路上投遞數據包所需的傳輸次數;預測值用于根據當前投遞所用的實際傳輸次數快速預測后續時刻投遞所需的傳輸次數。
2.1.1 ETX-SH初始值
ETX-SH初始值的定義為數據包投遞成功率的倒數,可根據節點性能預測初始狀態下節點間無線鏈路的穩定性,任意兩節點vi與vj間鏈路eij的ETX-SH初始值可由下述公式計算
(3)
(4)
式中:ΨT為鏈路衰落閾值,p(Ψ)為式(1)所知的概率密度函數。在沒有歷史收發狀況的情況下,根據節點性能來預測鏈路的初始ETX-SH值,用以表征初試狀態下的鏈路穩定性。
2.1.2 ETX-SH預測值
為快速預測后續時刻無線鏈路的ETX-SH值,本文引入一次指數平滑法,通過歷史投遞情況,預測未來的鏈路ETX-SH值。預測方法如式(5)所示

(5)
考慮到ETX-SH能較好地表征WSNSH節點間無線鏈路的穩定性,可將ETX-SH預測值替代WSNSH節點鄰居表中原有的LQI指標。由于節點鄰居表有著每次收到任意幀都可更新條目的特性,采用ETX-SH替換LQI,既能在每次數據包投遞后,根據捎帶的投遞信息自動快速更新ETX-SH值,保證節點與其鄰居節點間鏈路的ETX-SH預測值一直都是最新的,又能避免LQI值低效且耗能的主動反復收發信標幀的獲取方式帶來的額外開銷。
為了解決傳統WSN路由算法在鏈路不穩定情況下丟包率高、時延高以及路由開銷大等問題,本文提出LSAR-AODVjr算法。該算法較之AODVjr主要有以下兩點改進:
(1)引入ETX-SH,并用其替代LQI作為路由判據,根據其值自適應建立投遞成功率高的路由路徑;
(2)采用定向路由發現。由于WSNSH中一般都是固定節點,即節點的地理位置信息都是可提前預知的,可在WSNSH組網過程中由協調器下發包含地理位置信息的拓撲表給各節點。因此可通過已知的位置信息限制路由發現包的洪泛方向與區域,以源節點和目的節點間的連線作為軸線建立半徑為R的圓柱體虛擬管道,使源節點洪泛發出的路由發現包僅在該虛擬管道內收發,避免盲目地全局洪泛,在增加路由發現精準性的同時也能減少開銷。
LSAR-AODVjr算法流程如圖2所示。
為評估LSAR-AODVjr在WSNSH中的性能,本文基于MATLAB在模擬WSNSH環境中對相關算法進行仿真對比分析,且在仿真對比本文提出的LSAR-AODVjr與ZigBee默認路由算法AODVjr的同時,引入被廣泛應用于不穩定環境的Ad-hoc網絡中的多徑路由算法AOMDV進行對比分析[13],以此從更多角度展現各算法特點。
仿真智能家居布網區域為20*10米的房屋區域。考慮到不同WSNSH應用場景所需網絡規模不同,本次仿真分別采用10至40個隨機分布在該網絡區域內的固定節點模擬實際應用場景。信道衰落閾值根據TI公司CC2530芯片的額定收發功率比值確定[14]。仿真參數見表1。
本文在仿真中主要評估以下3種性能指標來分析上述3種算法在WSNSH中的性能差異:
(1)數據包投遞率——目的節點成功接收到的數據包數量與源節點發送的數據包數量之比。該值可用于表征數據包投遞成功的概率。
(2)平均跳數——數據包由源節點傳輸到目的節點所需經過的路由節點的平均數量。該值可表征數據包投遞過程中所用時間,與時延成正比。
(3)路由開銷——路由過程中命令包的數量。該值可用于表征網絡的擁塞程度,與時延成正比。
3.3.1 數據包投遞率
如圖3所示,隨著節點數量的增多,路由投遞過程中的可選鏈路增加,3種算法的投遞率均隨之增大。在節點數量相同時,LSAR-AODVjr算法較AODVjr有著更高的投遞率,這是因為在信道衰落條件下的數據包投遞中,AODVjr算法無法保證該路由路徑上的鏈路狀態,易發生丟包。而LSAR-AODVjr引入ETX-SH作為路由判據,會根據節點間鏈路實時預測的預計傳輸次數來優化路由決策,找出預測的ETX-SH較小,即鏈路穩定性較高的路由路徑進行數據包投遞,在一定程度上保證了投遞的成功率。在節點較少時,AOMDV的投遞率并不高,但隨著節點數量的增加,其投遞率提升迅速,與LSAR-AODVjr大體相當,這是因為小規模網絡不易發揮多徑優勢,網絡規模的增大會給AOMDV算法帶來更多的備用鏈路,在主鏈路投遞失敗時能及時切換到備用鏈路嘗試重新投遞,采用多徑的機制降低了WSNSH的衰落環境帶來的影響。

圖2 LSAR-AODVjr算法流程
3.3.2 平均跳數
平均跳數仿真結果如圖4所示,隨著節點數量的增加,網絡規模逐漸增大,數據包投遞所需路由節點的數量增加,從而導致3種算法投遞數據包所需的路由跳數均隨之增大。在節點數量相同時,AOMDV算法所用跳數最多,其原因為衰落環境下,AOMDV由于主鏈路狀態不佳而切換到其它鏈路,從而產生了多次投遞,由此帶來了較高的路由跳數。與此同時,LSAR-AODVjr算法所需路由跳數較AODVjr多,這是由于LSAR-AODVjr為保證數據傳輸成功率會嘗試選擇預測的ETX-SH值較小的鏈路,可能會因為最短路徑上的鏈路狀態不佳而繞過該衰落鏈路,從而導致路由跳數較AODVjr有所增加。

表1 仿真場景參數

圖3 數據包投遞率仿真對比

圖4 平均路由跳數仿真對比
3.3.3 路由開銷
路由開銷仿真結果如圖5所示,隨著節點數量的增加,網絡復雜度逐漸上升,在路由過程中需要收發更多的命令包,從而導致3種算法的路由開銷均隨節點數量的上升而增加。在節點數量相同時,LSAR-AODVjr算法的路由開銷最低,該結果主要由兩方面產生,一是LSAR-AODVjr采用ETX-SH代替LQI,較AODVjr而言減少了獲取LQI需要反復收發信標幀帶來的開銷,二是由于LSAR-AODVjr采用了定向路由,限制了路由發現的方向與區域,較AODVjr與AOMDV全局洪泛廣播的方式有效了減少路由發現時的開銷。與此同時,AOMDV算法的路由開銷高于AODVjr,這是因為在路由過程中,AOMDV建立并維護多徑傳輸所需的路由表需要耗費更多的命令包。

圖5 路由開銷仿真對比
綜上所述,在陰影衰落的條件下,LSAR-AODVjr算法在投遞率與路由開銷等方面較AODVjr與AOMDV算法存在一定優勢,既保證了數據投遞的成功率,避免投遞失敗時多次重傳帶來的額外開銷,又降低了高路由開銷帶來廣播風暴的風險,有效增強網絡性能。對于時延方面,從圖4中可看出,LSAR-AODVjr所需平均路由跳數僅比AODVjr多出1~2跳,考慮到在鏈路狀態良好的情況下,多出的1~2跳所耗時間幾乎可忽略不計,且路由開銷的減少帶來的時延的降低又能在一定程度上抵消多出的跳數帶來的時延。總而言之,LSAR-AODVjr算法較AODVjr與AOMDV而言更能滿足在陰影衰落條件下的智能家居環境中快速穩定地傳輸數據的需求。
針對房屋等家居環境會對無線信號造成陰影衰落的特點,本文提出了一種適用于在陰影衰落環境下保證WSNSH網絡性能的算法——LSAR-AODVjr,該算法的核心思想一是構造出鏈路的ETX-SH值,并根據實際投遞情況快速預測后續時刻的ETX-SH值,以此值輔助路由決策,盡量避開衰落鏈路,選擇預測的穩定性較好的鏈路進行數據包投遞以保證投遞率,二是采用定向路由,限制路由發現的區域,提高路由精準性的同時可有效減少開銷。仿真結果表明,在帶有信道衰落特征的WSNSH網絡中,LSAR-AODVjr算法相比ZigBee默認路由算法AODVjr與采用多徑機制以增強網絡魯棒性的AOMDV而言,增大了投遞率,減少了路由開銷,有效提高了WSNSH的網絡性能。