張鵬程,徐志京,李 進(jìn)
(上海海事大學(xué) 信息工程學(xué)院,上海201306)
水下無線傳感網(wǎng)絡(luò) (UWSN)是由布放于海底的傳感器、水下機(jī)器人及表面站等組成,通過聲信號建立起來的一種無線通信網(wǎng)絡(luò)[1]。目前國內(nèi)外UWSN 研究主要集中在調(diào)制方式、網(wǎng)絡(luò)協(xié)議、水聲通信同步以及數(shù)據(jù)處理等問題。設(shè)計(jì)高效的節(jié)點(diǎn)接入退避協(xié)議是提高數(shù)據(jù)傳輸效率、保證水聲網(wǎng)絡(luò)正常工作的基礎(chǔ)。由于UWSN 領(lǐng)域標(biāo)準(zhǔn)的不完整,在協(xié)議中每一層尤其是數(shù)據(jù)鏈路層中,實(shí)現(xiàn)節(jié)點(diǎn)對共享信道的接入設(shè)計(jì)任務(wù)艱巨。
作為數(shù)據(jù)鏈路層的一部分,MAC子層主要完成對共享信道的正確接入,對上層提供可靠的通信連接服務(wù)。協(xié)議設(shè)計(jì)的核心問題是:當(dāng)網(wǎng)絡(luò)中多個(gè)節(jié)點(diǎn)同時(shí)競爭信道時(shí),如何充分利用信道資源同時(shí)避免沖突發(fā)生。對于UWSN 而言,需要注意以下4點(diǎn)[2]:
(1)受限的帶寬。目前水聲通信所用的頻帶主要是在5~20 KHz 之間。Sea Web[1]項(xiàng)目使用的帶寬也僅為5KHz。
(2)傳播時(shí)延高。水聲信道中聲波的傳輸速度僅為1500m/s,相較電磁波,低了5 個(gè)數(shù)量級,每公里傳輸時(shí)延高達(dá)650ms。
(3)能量受限。水下移動(dòng)節(jié)點(diǎn)一般靠電池供電,收發(fā)機(jī)的功耗將影響整個(gè)網(wǎng)絡(luò)生存周期。
(4)網(wǎng)絡(luò)結(jié)構(gòu)變化。由于水下節(jié)點(diǎn)常布放于海水中,移動(dòng)的節(jié)點(diǎn)將導(dǎo)致網(wǎng)絡(luò)結(jié)構(gòu)變化。另外,信號選擇性衰落、信道多徑干擾等因素均將造成水下通信網(wǎng)絡(luò)誤碼率高、鏈路中斷等問題。
UWSN 中的多址接入?yún)f(xié)議一般是基于單信道的MAC協(xié)議,即所有的數(shù)據(jù)幀和控制幀都在同一信道同一頻率上發(fā)送和接收。只有當(dāng)信道空閑且保持一定的退避時(shí)間,節(jié)點(diǎn)方可發(fā)送數(shù)據(jù)。當(dāng)多個(gè)節(jié)點(diǎn)試圖同時(shí)接入信道時(shí),必須有節(jié)點(diǎn)主動(dòng)退出以避免碰撞;同時(shí)也應(yīng)當(dāng)有節(jié)點(diǎn)可以順利接入信道,以提高信道利用率。節(jié)點(diǎn)接入、退避過程如下:
(1)監(jiān)聽信道、計(jì)算退避時(shí)間值。退避時(shí)間值t從(0,CW)中選擇隨機(jī)數(shù);
(2)減小退避時(shí)間。節(jié)點(diǎn)會(huì)一直監(jiān)聽信道,若信道空閑且保持一個(gè)時(shí)隙,則t值減1,否則t值不變;
(3)t值為0,發(fā)送數(shù)據(jù)。若退避時(shí)間t值為0,代表信道空閑,節(jié)點(diǎn)可以選擇發(fā)送數(shù)據(jù)。其中CW 為節(jié)點(diǎn)當(dāng)前競爭窗口值,取值為最小窗口值與最大窗口值之間的一個(gè)整數(shù)。若Random 為取0~1之間隨機(jī)數(shù)函數(shù),int表示取整,Slot Time為時(shí)隙函數(shù),則上述計(jì)算退避時(shí)間可表述如下
競爭窗口值決定退避時(shí)間Backoff Time取值。一般而言,節(jié)點(diǎn)CW 值越大則節(jié)點(diǎn)接入信道的概率越低,這將導(dǎo)致信道利用率低、網(wǎng)絡(luò)整體時(shí)延增大及吞吐量下降;反之,若CW 偏小,則節(jié)點(diǎn)成功接入概率增大,但沖突概率也將隨之增大。因此,合理調(diào)整節(jié)點(diǎn)競爭窗口值,將有利于提高網(wǎng)絡(luò)吞吐量、降低數(shù)據(jù)幀發(fā)送碰撞概率。
目前廣泛使用的退避算法包括二進(jìn)制指數(shù)退避算法BEB、乘倍增加/線性遞減算法MILD 及乘倍增加/乘倍線性遞減算法MIMLD[3],計(jì)算時(shí)依據(jù)式 (1)計(jì)算CW,算法差異在于CW 取值,見表1。
表1 不同退避算法競爭窗口值取法
3種算法中,MIMLD 算法最為特殊,增加一個(gè)門限參數(shù)用于判斷信道競爭激烈程度。若當(dāng)前CW 值大于CWbasic時(shí),判斷信道競爭激烈,反之則表明信道競爭較輕。該算法對CWbasic的選取非常關(guān)鍵,是影響網(wǎng)絡(luò)性能的重要因素[4]。另外,MIMLD 算法和MILD 算法可以在一定程度上降低BEB算法中不公平性問題,但都沒有考慮到產(chǎn)生不公平性的根本原因在于不同節(jié)點(diǎn)的退避計(jì)數(shù)器相差較大,導(dǎo)致節(jié)點(diǎn)間接入信道的概率不同。
本文提出的AVAB (adaptive variable speed access backoff algorithm)算法利用CWbasic將網(wǎng)絡(luò)的競爭程度劃分為競爭激烈區(qū)域和競爭緩和區(qū)域,并在這2個(gè)區(qū)域采用不同的變速因子計(jì)算節(jié)點(diǎn)發(fā)生碰撞后的累加因子及成功發(fā)送后遞減因子。
當(dāng)節(jié)點(diǎn)發(fā)送發(fā)生碰撞后,在競爭激烈區(qū)域,采用較大的倍乘因子提高CW 值,降低二次發(fā)送碰撞概率,在CWbasic附近設(shè)置一段緩沖區(qū)域,采用定常倍乘因子,緩速提高CW 值,平衡網(wǎng)絡(luò)中其他節(jié)點(diǎn)接入網(wǎng)絡(luò)概率,在競爭最緩和區(qū)域,由于CW 值非常大,采用累加方式計(jì)算窗口更新值;當(dāng)節(jié)點(diǎn)成功發(fā)送后,在競爭最激烈區(qū)域采用較大的倍除因子快速降低CW 值,提高節(jié)點(diǎn)再次接入信道概率,在CWbasic附近選取一段緩沖區(qū)域,采用定常倍除因子,防止窗口值過低,在競爭緩和區(qū)域,由于CW 值非常低,因此采用遞減方式計(jì)算窗口更新值。
目前已有的退避算法都是在節(jié)點(diǎn)發(fā)送沖突后,采用一致的倍乘因子增大CW 值。但是,隨著節(jié)點(diǎn)退避次數(shù)的增多,競爭窗口CW 值將呈指數(shù)級增大,由此更多節(jié)點(diǎn)接入信道概率將顯著降低,同時(shí)增大信道的空閑度。為此,本文利用分段變速率因子曲線提出了適應(yīng)水聲信道的節(jié)點(diǎn)退避機(jī)制。首先利用CWbasic將信道退避窗口劃分為競爭激烈和競爭緩和區(qū)域;然后在位于CWbasic值附近 (即下文 (τ1,τ2)區(qū)間內(nèi))設(shè)置一段緩沖區(qū)域,采用定常倍乘因子,緩速提高CW 值,可以平衡網(wǎng)絡(luò)中其他節(jié)點(diǎn)成功接入網(wǎng)絡(luò)概率;在競爭最緩和區(qū)域,由于CW 值已經(jīng)非常大,因此采用累加方式緩速提高CW 值。
當(dāng)CW 值處于 (CWbasic,τ1)區(qū)間時(shí),由于競爭窗口較小,節(jié)點(diǎn)成功接入網(wǎng)絡(luò)概率較大,數(shù)據(jù)幀碰撞概率高,競爭比較激烈,因此采用較大的倍乘因子,使CW 值顯著提高,減小數(shù)據(jù)幀再次發(fā)送產(chǎn)生碰撞的概率;對 (τ1,τ2)內(nèi)CW 以2 倍遞增,緩速提高當(dāng)前窗口值;對 (τ2,CWmax)區(qū)間內(nèi),由于節(jié)點(diǎn)接入網(wǎng)絡(luò)概率較小,且CW 值非常大,采用累加方式而非倍乘方式提高CW 值。由此,本文采用三段曲線計(jì)算數(shù)據(jù)幀發(fā)送碰撞后CW 的倍乘/累加值。
參考相關(guān)文獻(xiàn) [5,6]的建議,取CWmin、CWbasic及CWmax值分別為4、64及1024。τ1、τ2取值如下式
第1段、第2段倍乘因子計(jì)算曲線如圖1所示。
圖1 倍乘因子計(jì)算曲線
圖1中,橫坐標(biāo)表示競爭窗口CW 值 (取對數(shù)),縱坐標(biāo)r表示數(shù)據(jù)幀碰撞后的倍乘因子。T1及T2線段分別表示 (CWmin,τ1)、 (τ1,τ2)內(nèi)的AVAB 倍乘因子計(jì)算曲線。方程表示如下
此區(qū)間下,CW 采用倍乘方式計(jì)算;在 (τ2,CWmax)區(qū)間內(nèi),采用累加方式計(jì)算,更新方程如下
對于曲線設(shè)計(jì)主要基于以下3點(diǎn):
(1)倍乘曲線第一段即區(qū)間 (CWmin,τ1)內(nèi),曲線設(shè)計(jì)為凸型下降,CW 值越小,采用越大的倍乘因子式,使其顯著提高。
(2)倍乘曲線第2段即區(qū)間 (τ1,τ2),采用恒定倍乘因子2。由于此時(shí)CW 值相對較大,緩速提高窗口值,避免較大倍乘因子造成節(jié)點(diǎn)再次接入概率過低。
(3)累加曲線段即區(qū)間 (τ2,CWmax)內(nèi),采用累加方式提高CW 替換倍乘方式提高CW 值。由于此時(shí)CW 值非常大,節(jié)點(diǎn)接入網(wǎng)絡(luò)的概率較低,這時(shí)需要平衡節(jié)點(diǎn)CW值,防止節(jié)點(diǎn)一直無法接入網(wǎng)絡(luò),導(dǎo)致信道利用率不升反降。
節(jié)點(diǎn)成功發(fā)送數(shù)據(jù)后,應(yīng)將CW 值減小,提高節(jié)點(diǎn)二次接入信道概率,由于水聲信道的長時(shí)延性,若采用BEB處理機(jī)制中將CW 置最小值,將使信道碰撞幾率大大提高。據(jù)此,研究使用的AVAB 算法中,數(shù)據(jù)成功傳輸采用倍除/遞減方式分段處理。當(dāng)CW 處于 (CWmin,τ1)時(shí),采用遞減CW 計(jì)算更新值,這里考慮到CW 非常小,防止CW 值降速過快引起碰撞;區(qū)間 (τ1,τ2)內(nèi)T3線段采用定常倍除因子,給予當(dāng)前窗口值的兩倍降速,可以起到在CWbasic附近窗口緩速降低,不至太高或太低;區(qū)間 (τ2,CWmax)內(nèi),采用T4曲線段計(jì)算倍除因子,將CW 值快速降低,提高節(jié)點(diǎn)再次接入網(wǎng)絡(luò)概率,同時(shí)提高信道利用率。倍除因子計(jì)算曲線如圖2所示。
圖2 倍除因子計(jì)算曲線
圖2中,橫坐標(biāo)表示競爭窗口值 (取對數(shù)),縱坐標(biāo)為倍除因子。當(dāng)數(shù)據(jù)幀分送成功后,節(jié)點(diǎn)將根據(jù)倍除曲線計(jì)算倍除因子r,然后將CW/r作為節(jié)點(diǎn)下次競爭信道CW值。T3、T4曲線方程如下式
上式為區(qū)間 (τ1,CWmax)內(nèi)節(jié)點(diǎn)采用倍除因子式;若CW 值在 (CWmin,τ1)區(qū)間內(nèi),采用遞減方式計(jì)算。更新方程如下
AVAB 算法相較于其他算法的優(yōu)越性體現(xiàn)在:當(dāng)UWSN 中節(jié)點(diǎn)競爭比較激烈時(shí),發(fā)送成功后窗口值能夠快速降低并采取合適的CW 值作為下次競爭窗口值,提高節(jié)點(diǎn)二次接入網(wǎng)絡(luò)概率;當(dāng)競爭趨于緩和時(shí),采用定常倍除因子,緩速降低窗口值,有利于網(wǎng)絡(luò)中其他節(jié)點(diǎn)順利接入;當(dāng)窗口值偏小時(shí),采用遞減方法計(jì)算更新窗口值,防止網(wǎng)絡(luò)陷入單個(gè)節(jié)點(diǎn)持續(xù)發(fā)送,其他節(jié)點(diǎn)一直等待發(fā)送情況。
本文利用OPNET[7]實(shí)現(xiàn)水聲節(jié)點(diǎn)MAC 協(xié)議建模。OPNET 14.5A 標(biāo)準(zhǔn)模型目錄提供了14個(gè)默認(rèn)的管道模型文件。但是這些模型主要針對無線電磁波而言,對于網(wǎng)絡(luò)域MAC協(xié)議仿真,需要修改以下幾個(gè)管道階段:傳播時(shí)延、接收機(jī)功率和背景噪聲。
(1)傳播時(shí)延 (Stage 5)。由于電磁波傳播速率與聲波速率相差很大,需要將模型中速率修改為聲波速率,即1500m/s。
(2)接收機(jī)功率 (Stage 7)。由于聲波在傳輸過程中將不可避免的被各種介質(zhì)吸收,因而需要計(jì)算數(shù)據(jù)包經(jīng)過信道傳輸后接收端相對接收功率。參考文獻(xiàn) [8],水聲信道中傳輸損耗TL的計(jì)算公式為
式中:n——傳輸因子,本文取n為1.5 表示淺海聲傳輸;r——傳輸距離,單位m;α——吸收因子,單位dB/Km,根據(jù)Thorp經(jīng)驗(yàn)公式[9]表示如下
式中:f——以kHz為單位的聲波頻率,經(jīng)計(jì)算本文取α:0.0693、TL:54.3。
(3)背景噪聲 (Stage 8)。針對水下環(huán)境的復(fù)雜多變,需要將無線電磁波噪聲模型修改為水聲通信噪聲模型。參照文獻(xiàn) [10]的定義,以Ntur、Nship、Nwind及Nthe分別代表湍流、艦船、海面波浪及熱噪聲,則總背景噪聲Ntotal經(jīng)計(jì)算取140dB,計(jì)算如下
使用OPNET 進(jìn)行網(wǎng)絡(luò)仿真建模時(shí),需指定仿真網(wǎng)絡(luò)域及節(jié)點(diǎn)域。表2為節(jié)點(diǎn)網(wǎng)絡(luò)參數(shù)及仿真參數(shù)設(shè)定。網(wǎng)絡(luò)域參考圖3,共9個(gè)節(jié)點(diǎn),部署在范圍為5km×5km 的空間范圍內(nèi),節(jié)點(diǎn)通信距離1000m。
表2 節(jié)點(diǎn)參數(shù)及仿真參數(shù)設(shè)定
圖3 節(jié)點(diǎn)網(wǎng)絡(luò)分布
水聲網(wǎng)絡(luò)仿真通常采用網(wǎng)絡(luò)吞吐量、網(wǎng)絡(luò)時(shí)延及網(wǎng)絡(luò)丟包率等參數(shù)作為性能衡量指標(biāo)。其中吞吐量指的是單位時(shí)間內(nèi)網(wǎng)絡(luò)傳輸完成的有效信息量,單位bit/s;網(wǎng)絡(luò)時(shí)延是指數(shù)據(jù)傳輸由發(fā)送端發(fā)送數(shù)據(jù)到接收端接收數(shù)據(jù)為止的總時(shí)延,單位s;丟包率指的是網(wǎng)絡(luò)中丟失數(shù)據(jù)包占所發(fā)送數(shù)據(jù)包的比率,單位bit/s。本節(jié)利用OPNET 網(wǎng)絡(luò)仿真軟件,模擬不同退避算法下,網(wǎng)絡(luò)吞吐量、時(shí)延及丟包率變化情況。仿真參數(shù)見表2,仿真時(shí)間210s,結(jié)果如下。
圖4 BEB、MILD、MIMLD 及AVAB算法吞吐量
由圖4 可知AVAB 算法吞吐量高于BEB、MILD 和MIMLD 算法。原因在于AVAB 算法更加合理的利用CWbasic閾值,將網(wǎng)絡(luò)競爭環(huán)境分為競爭激烈及競爭緩和區(qū)域,給予不同的變速率曲線,有利于已沖突節(jié)點(diǎn)順利退避避免二次沖突、成功接入的節(jié)點(diǎn)適度調(diào)節(jié)窗口值,提高自身接入概率;另外利用CWbasic附近設(shè)置的緩沖區(qū)間平衡網(wǎng)絡(luò)中其他節(jié)點(diǎn)接入概率;整體上提高網(wǎng)絡(luò)吞吐量。
圖5為不同算法下網(wǎng)絡(luò)延遲情況。結(jié)果表明AVAB 下網(wǎng)絡(luò)延時(shí)低于BEB、MILD 及MIMLD。這是由于算法提高網(wǎng)絡(luò)吞吐量,降低數(shù)據(jù)幀發(fā)送碰撞概率,使節(jié)點(diǎn)可以順利接入網(wǎng)絡(luò),降低網(wǎng)絡(luò)延遲。
圖5 BEB、MILD、MIMLD 及AVAB算法網(wǎng)絡(luò)時(shí)延
圖6為網(wǎng)絡(luò)丟包率,其中AVAB 算法優(yōu)勢明顯,可以顯著降低網(wǎng)絡(luò)丟包率,聲波信號傳輸距離遠(yuǎn)、時(shí)延大、高干擾噪聲,節(jié)點(diǎn)發(fā)送失敗均將引起數(shù)據(jù)幀沖突,造成丟包增加,當(dāng)節(jié)點(diǎn)數(shù)據(jù)較多時(shí),這種情況將更加明顯。
圖6 BEB、MILD、MIMLD 及AVAB算法丟包率
本文提出的AVAB算法通過變速率因子計(jì)算數(shù)據(jù)發(fā)生碰撞后競爭窗口倍乘/累加因子、成功接入網(wǎng)絡(luò)后窗口倍除/遞減因子,以調(diào)節(jié)節(jié)點(diǎn)接入網(wǎng)絡(luò)概率。仿真結(jié)果表明,AVAB算法可以顯著提高網(wǎng)絡(luò)吞吐量及降低網(wǎng)絡(luò)丟包率,時(shí)延上AVAB也低于BEB、MILD 及MIMLD 等傳統(tǒng)算法。因而,AVAB算法可以提高網(wǎng)絡(luò)的總體性能,本文也將為今后水聲網(wǎng)絡(luò)的研究提供重要參考依據(jù)。
[1]GUO Zhongwen,LUO Hanwen,HONG Feng,et al.Research progress of underwater wireless sensor networks [J].Journal of Computer Research and Development,2010,47(3):377-389 (in Chinese).[郭忠文,羅漢文,洪鋒,等.水下無線傳感器網(wǎng)絡(luò)的研究進(jìn)展 [J].計(jì)算機(jī)研究與發(fā)展,2010,47 (3):377-389.]
[2]Chitre M,Shahaabudeen S,Stojanovic M.Underwater acoustic communications and networking:Recent advances and future challenges[J].Marine Technology Society Journal,2008,42(1):103-116.
[3]Shehadeh Youssef EI HAJJ.Random backoff control to thwart malicious behavior in WLANs[C]//IEEE Wrokshop on Local and Metropolitan Area Networks,2013:1109-1118.
[4]Stojanovic M,Preisig J.Underwater acoustic communication channels:Propagation models and statistical characterization[J].IEEE Communications Magazine,2009,47 (1):85-89.
[5]WANG Jianxin,KUI Xiaoyan,HUANG Jiawei,et al.Wireless LAN MAC curve of two degree[J].Journal of South China University of Technology (Natural Science Edition),2009,37 (4):7-12 (in Chinese).[王建新,奎曉燕,黃家瑋,等.基于二次曲線的無線局域網(wǎng)MAC 退避算法 [J].華南理工大學(xué)學(xué)報(bào) (自然科學(xué)版),2009,37 (4):7-12.]
[6]Mohammed Abd-Elnabya,Rizkb MRM,Dessoukya MI,et al.Efficient contention-based MAC protocol using adaptive fuzzy controlled sliding backoff interval for wireless networks[J].Computers &Electrical Engineering,2011,37 (1):115-125.
[7]SHI Chun.DENG Zhengjie,HE Shuqian.Adaptive wireless access mechanism and OPNET simulation [J].National Defense Industry Press,2013,1:15-40 (in Chinese). [石春,鄧正杰,何書錢.無線自適應(yīng)接入機(jī)制及OPNET 仿真 [J].國防工業(yè)出版社,2013,1:15-40.]
[8]HAN Jing,HUANG Jianguo,RAN Maohua.Underwater acoustic communication network based on OPNET [J].Journal of System Simulation,2009,21 (17):5498-5502.
[9]HUANG Chun.Parametric array and signal processing technology research[D].Beijing:China Ship Research Institute,2013.
[10]Jornet JM,Stojanovic M,Zorzi M.Focused beam routing protocol for underwater acoustic networks[C]//Proc of WU WNet.New York:ACM,2008:75-82.