徐軒軒,楊彥紅,曹少中
(北京印刷學(xué)院信息工程學(xué)院,北京102600)
水聲通信網(wǎng)絡(luò)作為一種新興網(wǎng)絡(luò),在海上工業(yè)和海洋軍事等領(lǐng)域具有廣闊的應(yīng)用前景,近年來成為了學(xué)者們研究的熱點(diǎn)。在水聲通信網(wǎng)絡(luò)中,節(jié)點(diǎn)間通過水聲信道進(jìn)行數(shù)據(jù)交換,MAC協(xié)議決定了水聲信道的使用方式,能夠保障網(wǎng)絡(luò)可靠通信,是構(gòu)建網(wǎng)絡(luò)系統(tǒng)的基礎(chǔ)[1]。但由于水聲通信其自身具有低帶寬、高時(shí)延等鮮明的特點(diǎn),導(dǎo)致得原本適用于陸地的通信協(xié)議及算法不能用于水下通信環(huán)境中,因此設(shè)計(jì)一款高效的水下MAC協(xié)議是構(gòu)建水聲通信網(wǎng)絡(luò)的首要任務(wù)[2]。
近年來,用于水下的MAC協(xié)議得到了廣泛的研究。這些協(xié)議都有各自的優(yōu)缺點(diǎn),可以根據(jù)特定的應(yīng)用背景進(jìn)行有針對(duì)性的設(shè)計(jì)。Kredo等人提出了H-MAC協(xié)議[3],這是基于競(jìng)爭(zhēng)和調(diào)度的混合MAC協(xié)議,該協(xié)議結(jié)合TDMA和隨機(jī)信道訪問方法,通過減少碰撞來降低能源消耗。UWMAC[4,5]是Pompili專為水下通信設(shè)計(jì)的MAC協(xié)議,該協(xié)議結(jié)合CDMA和閉環(huán)分布式算法,設(shè)置最佳發(fā)射功率和包長(zhǎng)度來減少多徑效應(yīng)的影響。UWMAC是第一個(gè)針對(duì)水下低帶寬問題,利用CDMA特性實(shí)現(xiàn)多路訪問的協(xié)議。
在通信網(wǎng)絡(luò)中,研究人員最初采用握手協(xié)議來解決隱藏終端問題,握手流程如圖1所示,但是簡(jiǎn)單的握手協(xié)議并不能完全避免沖突的發(fā)生。當(dāng)發(fā)送節(jié)點(diǎn)S與接收節(jié)點(diǎn)R的距離較近,而可能產(chǎn)生干擾的節(jié)點(diǎn)N1距離較遠(yuǎn)時(shí),由于N1在收到節(jié)點(diǎn)R的發(fā)出的CTS信號(hào)前已經(jīng)將RTS包發(fā)出,這可能導(dǎo)致RTS包與節(jié)點(diǎn)R接收的數(shù)據(jù)包發(fā)生沖突,如圖2所示。因此,為了避免類似的碰撞發(fā)生,握手類多址接入?yún)f(xié)議需要滿足如下兩個(gè)要求:①RTS包長(zhǎng)大于最大傳輸延時(shí);②CTS包長(zhǎng)大于RTS包長(zhǎng)加2倍最大傳輸時(shí)延再加上硬件“發(fā)送一接收”轉(zhuǎn)換時(shí)間[6]。這些條件構(gòu)成了FAMA協(xié)議基礎(chǔ)。
圖1 握手協(xié)議時(shí)序圖
圖2 發(fā)生碰撞的握手協(xié)議
當(dāng)傳統(tǒng)FAMA協(xié)議應(yīng)用于水聲網(wǎng)絡(luò)時(shí),由于水聲網(wǎng)絡(luò)的延遲遠(yuǎn)大于陸地基于電磁波網(wǎng)絡(luò),因此導(dǎo)致控制包(RTS,CTS)包長(zhǎng)過大,發(fā)送過長(zhǎng)的控制包會(huì)大大降低網(wǎng)絡(luò)效率并增加網(wǎng)絡(luò)能耗。為了改進(jìn)FAMA使其能在水聲網(wǎng)絡(luò)應(yīng)用,Hollins和Mica提出了 Slotted FAMA協(xié)議,具體流程如圖3所示[7]。Slotted FAMA協(xié)議將時(shí)間軸劃分為若干時(shí)隙并規(guī)定數(shù)據(jù)包和控制包只能在時(shí)隙開始時(shí)刻發(fā)送,并通過設(shè)計(jì)合理的時(shí)隙長(zhǎng)度避免之前可能產(chǎn)生的碰撞。但這對(duì)于傳輸?shù)臄?shù)據(jù)包的大小有嚴(yán)格的控制,違反條件將導(dǎo)致數(shù)據(jù)沖突,并且沒有明顯降低端到端延遲。
圖3 Slotted FAMA時(shí)序圖
基于此,在設(shè)計(jì)水聲通信網(wǎng)絡(luò)的MAC協(xié)議時(shí),需要注意其它一些關(guān)鍵問題:
1) 節(jié)點(diǎn)時(shí)空不確定性[8]。為了避免MAC層數(shù)據(jù)包的碰撞,需要注意的是:收、發(fā)節(jié)點(diǎn)的傳輸時(shí)延不僅和數(shù)據(jù)包的發(fā)送時(shí)間有關(guān),還與節(jié)點(diǎn)間的距離有關(guān)。因此,在設(shè)計(jì)信道協(xié)商方案的時(shí)候,不僅需要考慮時(shí)間上的分配機(jī)制,還需要考慮空間上的節(jié)點(diǎn)分布情況來有效降低數(shù)據(jù)包的碰撞率;
2) 節(jié)點(diǎn)能量消耗。在水聲通信網(wǎng)絡(luò)中,節(jié)點(diǎn)電量有限且通常電池不能再充電,因此在設(shè)計(jì)水下MAC協(xié)議時(shí)需要考慮節(jié)點(diǎn)的能量消耗,避免節(jié)點(diǎn)多次利用導(dǎo)致的關(guān)鍵節(jié)點(diǎn)死亡,延長(zhǎng)網(wǎng)絡(luò)壽命。
考慮到這兩個(gè)問題,提出的DMMAC協(xié)議可以通過節(jié)點(diǎn)間的廣播,確定節(jié)點(diǎn)間的位置距離,計(jì)算最佳發(fā)送包的長(zhǎng)度,進(jìn)行信息壓縮,降低碰撞的概率。同時(shí)根據(jù)接收端的剩余能量進(jìn)行通信質(zhì)量評(píng)估,將信道進(jìn)行優(yōu)先級(jí)排序,動(dòng)態(tài)選擇最佳信道。分析和仿真結(jié)果表明,DMMAC在網(wǎng)絡(luò)吞吐量、端到端時(shí)延和能量消耗方面都有顯著提升。
DMMAC協(xié)議是一種基于Slotted FAMA的能量跨層優(yōu)化的MAC協(xié)議。DMMAC包括信息收集與處理、信道選擇和數(shù)據(jù)傳輸三個(gè)階段。在信息收集與處理階段,節(jié)點(diǎn)通過偵聽控制信道確認(rèn)是否有傳輸任務(wù),收集鄰居節(jié)點(diǎn)信息以便后續(xù)最佳信道的選擇。在信道選擇階段,節(jié)點(diǎn)通過RTS/CTS收集數(shù)據(jù),根據(jù)收集到的信息計(jì)算最佳傳輸包大小,同時(shí)根據(jù)接收端剩余能量進(jìn)行通信質(zhì)量評(píng)估,根據(jù)應(yīng)用場(chǎng)景將數(shù)據(jù)包進(jìn)行優(yōu)先級(jí)排序,動(dòng)態(tài)選擇最佳信道。在數(shù)據(jù)傳輸階段,節(jié)點(diǎn)間通過切換數(shù)據(jù)通道進(jìn)行數(shù)據(jù)傳輸。
如圖4所示,發(fā)送節(jié)點(diǎn)S通過監(jiān)聽信道確認(rèn)控制信道是否空閑,當(dāng)控制信道空閑時(shí),節(jié)點(diǎn)S發(fā)送RTS。RTS包括發(fā)送節(jié)點(diǎn)的位置信息和剩余能量、接收節(jié)點(diǎn)的標(biāo)識(shí)和數(shù)據(jù)包長(zhǎng)度。在接收節(jié)點(diǎn)收到RTS后,結(jié)合節(jié)點(diǎn)本身,根據(jù)接收到的信息進(jìn)行處理,發(fā)送CTS給S節(jié)點(diǎn),S節(jié)點(diǎn)根據(jù)CTS中最佳數(shù)據(jù)包長(zhǎng)度和通信質(zhì)量評(píng)估結(jié)果,進(jìn)行信息壓縮。然后,發(fā)送節(jié)點(diǎn)S和接收節(jié)點(diǎn)R都切換到數(shù)據(jù)通道進(jìn)行數(shù)據(jù)傳輸。在傳輸完成后,接收節(jié)點(diǎn)會(huì)廣播ACK,鄰居節(jié)點(diǎn)可以重新進(jìn)行傳輸請(qǐng)求。
圖4 DMMAC時(shí)序圖
DMMAC協(xié)議在信息的收集與處理階段,通過解析收到RTS中的信息,結(jié)合自身節(jié)點(diǎn)位置信道,計(jì)算最佳數(shù)據(jù)包的長(zhǎng)度,以防傳輸碰撞。如圖5所示,接收速率隨著數(shù)據(jù)包長(zhǎng)度的增加而降低,所以選擇一個(gè)合適的包長(zhǎng)度尤為重要。
圖5 接收速率和數(shù)據(jù)包長(zhǎng)度之間的關(guān)系
圖6 傳輸路徑選擇示例
發(fā)送節(jié)點(diǎn)S向接收節(jié)點(diǎn)R準(zhǔn)備發(fā)長(zhǎng)度為L(zhǎng)的數(shù)據(jù)包,從開始到接收結(jié)束的時(shí)間如下
tdelay=ts+ttp+tr
(1)
即總延遲為發(fā)送延遲、傳輸延遲和接收延遲之和。發(fā)送延遲、接收延遲和數(shù)據(jù)包長(zhǎng)度、發(fā)送速率的關(guān)系為
(2)
傳輸延遲與發(fā)送節(jié)點(diǎn)S、接收節(jié)點(diǎn)R和傳播速度的關(guān)系為
(3)
當(dāng)實(shí)際傳輸總延遲小于額外通信傳輸所需時(shí)間時(shí),可以避免發(fā)生碰撞
tdelay<2ttp
(4)
基于以上討論,綜合(1)、(2)、(3)、(4)式,得
(5)
當(dāng)傳輸數(shù)據(jù)包長(zhǎng)度小于閾值時(shí),可以直接進(jìn)行數(shù)據(jù)傳輸,否則需要先進(jìn)行數(shù)據(jù)壓縮再傳輸。
在水下通信中,在信道質(zhì)量較好的情況下才會(huì)有較大的吞吐量,但是水下節(jié)點(diǎn)的能量是有限的,同個(gè)節(jié)點(diǎn)經(jīng)過多次傳輸,能量會(huì)急劇消耗,這很容易導(dǎo)致通信鏈路中斷,降低網(wǎng)絡(luò)壽命。所以,DMMAC協(xié)議通過節(jié)點(diǎn)平均能量消耗來進(jìn)行通信質(zhì)量評(píng)估,動(dòng)態(tài)選擇最佳傳輸路徑。因此,通信質(zhì)量評(píng)估可以通過以下公式計(jì)算
(6)
表1展示了節(jié)點(diǎn)S傳輸?shù)焦?jié)點(diǎn)R的所有傳輸路徑。通過式(5)計(jì)算S到A的最佳傳輸方式為S到A2,若最后計(jì)算得到的值相同,則通過節(jié)點(diǎn)間的位置距離進(jìn)行判斷,優(yōu)先選擇距離較近的節(jié)點(diǎn)進(jìn)行傳輸。
表1 節(jié)點(diǎn)傳輸過程
為評(píng)估DMMAC協(xié)議的性能,進(jìn)行了仿真分析,在Aqua-Sim-NG環(huán)境中實(shí)現(xiàn)了一個(gè)完整的網(wǎng)絡(luò)仿真,并和基于RTS/CTS的MAC和Slotted FAMA進(jìn)行了比較。在本文中,在50×50×50(km)的區(qū)域內(nèi)隨機(jī)部署20個(gè)水下節(jié)點(diǎn),由于沒有考慮到網(wǎng)絡(luò)維護(hù),還需要設(shè)置一些參數(shù),具體仿真參數(shù)如表2所示。
表2 仿真參數(shù)設(shè)置
端到端延遲指數(shù)據(jù)包從發(fā)送到接收的時(shí)間,圖7展示了三種協(xié)議隨檢測(cè)數(shù)據(jù)量的變化產(chǎn)生的端到端延遲變化的趨勢(shì)。從圖中可以看出,相較于RTS/CTS和Slotted FAMA協(xié)議,在檢測(cè)數(shù)據(jù)量較低時(shí),DMMAC表現(xiàn)出了較高的端到端延遲,而當(dāng)檢測(cè)數(shù)據(jù)量較高時(shí),DMMAC的端到端延遲比RTS/CTS和Slotted FAMA的端到端延遲變化更穩(wěn)定。這是因?yàn)樵跈z測(cè)速率較低時(shí),節(jié)點(diǎn)間可以通過直接握手來降低時(shí)延,而在檢測(cè)速率較高時(shí),它需要判斷最佳數(shù)據(jù)包大小來進(jìn)行壓縮處理,從而減少通信次數(shù)。
圖7 端到端延遲
吞吐量可以詳細(xì)描述為接收節(jié)點(diǎn)收到包的個(gè)數(shù)和發(fā)送節(jié)點(diǎn)傳輸包總數(shù)的比率,圖8展示了三種協(xié)議吞吐量的變化趨勢(shì)。從圖中可以看到,基于RTS/CTS的MAC協(xié)議的吞吐量在整體上隨著檢測(cè)數(shù)據(jù)量的增加而降低,這是因?yàn)殡S著檢測(cè)數(shù)據(jù)量的增加,網(wǎng)絡(luò)負(fù)載也會(huì)急劇增加,從而導(dǎo)致了數(shù)據(jù)包沖突率的增加。Slotted FAMA和DMMAC隨著檢測(cè)數(shù)據(jù)量的增加,吞吐量趨于穩(wěn)定,這是因?yàn)樗鼈兺ㄟ^沖突檢測(cè)機(jī)制或鏈路質(zhì)量評(píng)估,動(dòng)態(tài)選擇了最佳信道,以避免過多的沖突。對(duì)比Slotted FAMA和DMMAC可以發(fā)現(xiàn),DMMAC的吞吐量性能要優(yōu)于Slotted FAMA,這是因?yàn)镈MMAC綜合考慮了節(jié)點(diǎn)的能量消耗和通信鏈路質(zhì)量,減少了通信次數(shù),提高了網(wǎng)絡(luò)壽命。
圖8 吞吐量
本文提出了一種基于能量跨層優(yōu)化的MAC協(xié)商策略DMMAC。DMMAC根據(jù)節(jié)點(diǎn)距離計(jì)算最佳傳輸包的大小,讓發(fā)送節(jié)點(diǎn)進(jìn)行數(shù)據(jù)包的壓縮,從而降低碰撞概率。DMMAC在選擇傳輸路徑時(shí),考慮了節(jié)點(diǎn)的壽命,根據(jù)節(jié)點(diǎn)平均能量來評(píng)估通信質(zhì)量,通過節(jié)點(diǎn)的充分利用有效提高網(wǎng)絡(luò)通信壽命。仿真結(jié)果表明,DMMAC性能要優(yōu)于基于RTS/CTS的MAC和Slotted FAMA。