李 莉,楊麗娟,李 鋼,趙 靜
(1.沈陽化工大學(xué) 計算機學(xué)院,遼寧 沈陽110142;2.吉林石化公司 丙烯腈廠,吉林 吉林132021)
水聲傳感器網(wǎng)絡(luò)技術(shù)是21 世紀(jì)新興的重要網(wǎng)絡(luò)技術(shù)之一,在科技、軍事和民用領(lǐng)域中有著非常廣泛的應(yīng)用前景。目前,很多國家相繼加大了水聲領(lǐng)域的研究力度。國內(nèi)的一些研究機構(gòu)也開展了關(guān)于水下傳感器網(wǎng)絡(luò)的研究,中國科學(xué)院、715 所、東南大學(xué)、廈門大學(xué)、西北工業(yè)大學(xué)、哈爾濱工程大學(xué)等單位在我國水下網(wǎng)絡(luò)通信技術(shù)研究中取得了很多重要成果[1]。但由于水聲環(huán)境的多噪聲、傳輸環(huán)境的不穩(wěn)定以及高傳播延時、多徑效應(yīng)、窄帶寬等復(fù)雜特點,適用于陸上無線傳感器網(wǎng)絡(luò)的很多優(yōu)秀技術(shù)和協(xié)議,無法直接應(yīng)用于水聲傳感器網(wǎng)絡(luò)。因此,水聲傳感器網(wǎng)絡(luò)還有許多重要技術(shù)需要研究和解決,且主要集中在物理層、數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層。
本文研究的水聲傳感器網(wǎng)絡(luò)媒體介入控制(media access control,MAC)層協(xié)議是研究的關(guān)鍵技術(shù)之一。
在水聲傳感器網(wǎng)絡(luò)中,MAC 協(xié)議決定了水聲信道的使用方式,它主要解決的是多個用戶怎樣合理有效地利用水聲信道的問題[3]。針對不同的水聲傳感器網(wǎng)絡(luò)應(yīng)用環(huán)境,研究人員提出了多種MAC 協(xié)議,這些協(xié)議可以按照不同的方式劃分成不同的類別。按照同步網(wǎng)絡(luò)、異步網(wǎng)絡(luò)的劃分方式,可以將MAC 協(xié)議劃分成同步MAC 協(xié)議和異步MAC協(xié)議。按照信道分配方式的不同,可以將MAC協(xié)議分為三大類:采用無線信道的時分復(fù)用方式的MAC 協(xié)議、基于競爭機制的MAC 協(xié)議和輪替分配方式的MAC 協(xié)議。本文主要研究了基于競爭機制的Broadcast MAC 協(xié)議和R-MAC協(xié)議,針對水聲信道仿真分析并比較了兩種協(xié)議的相關(guān)性能。
1.2.1 Broadcast MAC[4]協(xié)議
Broadcast MAC 協(xié)議是一種基于競爭機制的非持續(xù)載波偵聽廣播MAC 協(xié)議。它的原理是:當(dāng)一個節(jié)點有數(shù)據(jù)要發(fā)送,先查看信道,如果信道為空,就廣播該數(shù)據(jù)分組;否則,將退避一段時間T。如果T 超出了限值,該數(shù)據(jù)分組有可能會丟失。當(dāng)接收端接收到該數(shù)據(jù)分組時,不需要向發(fā)送端發(fā)送確認(rèn)(Acknowledgement,ACK)字符確認(rèn)。Broadcast MAC 協(xié)議原理很簡單,在網(wǎng)絡(luò)傳輸業(yè)務(wù)量相對較低時它非常有效。此外,這個協(xié)議可以充分利用水聲信道的廣播環(huán)境,對地理(Geographic,GEO)路由協(xié)議非常適用。
1.2.2 R-MAC[5]協(xié)議
R-MAC 協(xié)議是Aqua-Sim 針對水聲信道提出的一種新協(xié)議,協(xié)議中,每個節(jié)點周期性地偵聽和睡眠。當(dāng)一個節(jié)點向另一個節(jié)點發(fā)送數(shù)據(jù)時,R-MAC 采用基于預(yù)約的方式來同步,以避免數(shù)據(jù)沖突。R-MAC 協(xié)議分為三個部分:1)節(jié)點初始化,節(jié)點之間通過發(fā)送控制信息來測量每兩個節(jié)點間的傳輸延時和傳播延時;2)每個節(jié)點隨機選擇一個偵聽和睡眠周期開始的時間,并向其他節(jié)點廣播這個信息,這樣最終每個節(jié)點都會記錄一個包含所有節(jié)點的周期時間表;3)利用(2)中的時間表,節(jié)點間相互協(xié)調(diào)傳輸數(shù)據(jù)用以避免碰撞。
本文利用基于NS2[6]的Aqua-Sim 仿真軟件對以上兩種協(xié)議進行仿真分析,通過對兩種協(xié)議在平均數(shù)據(jù)包延時、平均能量消耗(每個數(shù)據(jù)包能量消耗的平均值)以及平均吞吐量的比較,分析兩種協(xié)議在集中式拓?fù)浣Y(jié)構(gòu)的水聲傳感器子網(wǎng)中的性能。
Aqua-Sim 是一個專門模擬分析水聲傳感器網(wǎng)絡(luò)的仿真軟件,由美國康涅狄格大學(xué)水聲傳感器網(wǎng)絡(luò)研究室于2009 年在NS2 基礎(chǔ)上開發(fā)而成。目前已有兩個版本,Aqua-Sim 1.0 和Aqua-Sim Beta 版本,本文實驗使用的是Aqua-Sim 1.0 版本。
與NS2 一樣,Aqua-Sim 同樣采用了面向?qū)ο箢惖脑O(shè)計概念。圖1 展示了Aqua-Sim 1.0 的類圖[4]。“Underwater-Node”對象是水聲傳感器網(wǎng)絡(luò)中節(jié)點的抽象,它封裝了許多有關(guān)節(jié)點的信息,比如:節(jié)點的位置和節(jié)點的移動速度等參數(shù)信息。“UnderwaterChannel”對象代表的是水聲信道,它向上層提供公共的接口,比如:上層的路由層對象可以通過這個接口獲取信道參數(shù)信息。“UnderwaterPhy”代表的是水聲物理層,它封裝了水聲傳感器網(wǎng)絡(luò)物理層的信息,比如:衰減模型和碰撞模型等,同時,它為傳輸器提供電源開關(guān)接口,并且可以設(shè)置傳輸和發(fā)送的功率。“UnderwaterMAC”代表的是水聲MAC 層,它封裝了MAC 層協(xié)議,Aqua-Sim 1.0的MAC 層封裝了四個MAC 協(xié)議:T-MAC,R-MAC,Broadcast MAC,Aloha MAC。MAC 層的上面是路由層,Aqua-Sim 1.0封裝了四個路由協(xié)議:Vector-Based Forwarding(VBF),Vector-Based Void Avoidance(VBVA)[7],Depth-base Routing(DBR),Q-learning-based Routing(QELAR)。

圖1 Aqua-Sim 1.0 的類圖Fig 1 Class diagram of Aqua-Sim 1.0
在Aqua-Sim 平臺上進行一次MAC 層協(xié)議仿真一般經(jīng)過如下步驟:1)編寫Otcl 仿真代碼,包括設(shè)置仿真參數(shù)信息和網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)等;2)運行Aqua-Sim 加載仿真腳本進行仿真,執(zhí)行成功后會生成.tr 文件和.nam 文件,.tr 文件即trace跟蹤文件,它記錄了整個仿真過程的詳細(xì)信息,.nam 文件記錄了NAM 動畫輸入信息,可以用它將整個仿真過程展示出來;3)編寫分析網(wǎng)絡(luò)性能的gawk 代碼,用于分析仿真生成的trace 跟蹤文件;4)利用畫圖軟件將上一步中分析出的數(shù)據(jù)以圖形方式呈現(xiàn)出來,本文使用的畫圖工具是Matlab。
本文主要通過Aqua-Sim 仿真軟件分析Broadcast MAC和R-MAC 協(xié)議在集中式拓?fù)浣Y(jié)構(gòu)的水聲傳感器子網(wǎng)中的性能。本實驗中,仿真網(wǎng)絡(luò)中的每個節(jié)點都采用統(tǒng)一的能量模型,初始能量為10000 J,根據(jù)UMW 1000[5]型水聲調(diào)制解調(diào)器的參數(shù),設(shè)置節(jié)點發(fā)送一次報文消耗能量2 W,接收一次報文消耗能量0.75 W,睡眠狀態(tài)下消耗的能量是0.008 W,比特率設(shè)置為10 000 bit/s,仿真時間為500 s,幾何衰減選取球面?zhèn)鞑ツP停瑐鞑シ秶鸀?0 m。
網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)是指用傳輸媒體互連各種設(shè)備的物理布局,水聲傳感器網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)主要有集中式拓?fù)浣Y(jié)構(gòu),分布式拓?fù)浣Y(jié)構(gòu)和多跳式拓?fù)浣Y(jié)構(gòu)三種基本方式[8]。水聲傳感器網(wǎng)絡(luò)設(shè)計中,綜合考慮到覆蓋范圍大、消耗電池能量小、易于接入陸上主干網(wǎng)等要求,通常采用集中式和多跳式混合的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。在單個子網(wǎng)內(nèi)采用集中式,每個節(jié)點的硬件標(biāo)準(zhǔn)是一致的,這樣當(dāng)中心節(jié)點出現(xiàn)問題時可以從其他節(jié)點中選出合適的節(jié)點來代替。在大范圍上采用多跳式,每個子網(wǎng)選出一個合適的節(jié)點充當(dāng)網(wǎng)關(guān),此網(wǎng)關(guān)可以和其他子網(wǎng)的網(wǎng)關(guān)通信,從而實現(xiàn)多個子網(wǎng)的信息交流[9]。
本文主要針對小范圍的子網(wǎng)內(nèi)的MAC 協(xié)議進行仿真,采用集中式網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),實驗設(shè)置了五個節(jié)點,具體的拓?fù)浣Y(jié)構(gòu)圖如2。

圖2 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)Fig 2 Network topology structure
實驗分別仿真了Broadcast MAC 和R-MAC 兩種不同協(xié)議在五個節(jié)點的集中式拓?fù)浣Y(jié)構(gòu)下的數(shù)據(jù)傳輸過程,計算得到了平均數(shù)據(jù)包延時、平均能量消耗以及平均吞吐量等性能參數(shù),如圖3~圖5 所示。

圖3 平均數(shù)據(jù)包延時Fig 3 Average packet delay

圖4 平均能量消耗Fig 4 Average energy consumption

圖5 平均吞吐量Fig 5 Average throughput
由圖3 可以看出:Broadcast MAC 協(xié)議和R-MAC 協(xié)議在平均數(shù)據(jù)包延時上相差很小,Broadcast MAC 略低一些,但總體來看兩者的延時都比較小,均低于0.1 s。圖4 是每個包的平均能量消耗圖,可以看出R-MAC 協(xié)議在能耗上要明顯優(yōu)于Broadcast MAC 協(xié)議,Broadcast MAC 隨著節(jié)點發(fā)送數(shù)據(jù)速率的增加,能量消耗越來越大,在0.3 包/s 時,達到了27 J,而R-MAC 一直維持在2 J 左右,這是因為在RMAC 中精確計算了傳播延時和傳輸延時,并且在此基礎(chǔ)上節(jié)點間有序地發(fā)送數(shù)據(jù)而幾乎避免了碰撞,從而降低了能量消耗。但是這也導(dǎo)致了在吞吐量上R-MAC 沒有優(yōu)勢,如圖5 所示,大約在數(shù)據(jù)速率達到0.06 包/s 后,Broadcast MAC 慢慢超過R-MAC,在0.3 包/s 時,Broadcast MAC 的吞吐量超過了400 bps,而R-MAC 依然保持在100 bps 左右。因此,從集中式拓?fù)浣Y(jié)構(gòu)的水聲傳感器子網(wǎng)來看,Broadcast MAC 協(xié)議更適合于要求較高吞吐量的應(yīng)用環(huán)境,而R-MAC協(xié)議更適合于在能量消耗方面有嚴(yán)格要求的應(yīng)用環(huán)境。
本文研究了水聲傳感器網(wǎng)絡(luò)的MAC 層協(xié)議,主要利用Aqua-Sim 仿真平臺在五個節(jié)點的集中式拓?fù)浣Y(jié)構(gòu)水聲傳感器網(wǎng)絡(luò)中模擬了Broadcast MAC 協(xié)議和R-MAC 協(xié)議的傳輸過程,分析比較了兩種協(xié)議在平均數(shù)據(jù)包延時、平均能量消耗以及平均吞吐量方面的差異。在平均數(shù)據(jù)包延時方面,兩種協(xié)議相差不大,在平均能量消耗方面,R-MAC 協(xié)議要明顯優(yōu)于Broadcast MAC 協(xié)議,而在平均吞吐量上,隨著節(jié)點數(shù)據(jù)速率的增加,Broadcast MAC 協(xié)議遠遠超過了R-MAC協(xié)議。因此,從本文研究的集中式拓?fù)浣Y(jié)構(gòu)的水聲傳感器子網(wǎng)來看,Broadcast MAC 協(xié)議更適合于吞吐量要求較高的應(yīng)用環(huán)境,而R-MAC 協(xié)議更適合于在性能方面要求比較節(jié)能的應(yīng)用環(huán)境。
[1] 王 宇.基于NS2 的水下自組網(wǎng)MAC 層協(xié)議設(shè)計[D].哈爾濱:哈爾濱工程大學(xué),2012:1-2.
[2] 袁 科.水下無線傳感器網(wǎng)絡(luò)MAC 協(xié)議仿真研究[D].成都:西南交通大學(xué),2010:13-20.
[3] 張洪東.基于NS2 的水下傳感器網(wǎng)絡(luò)模擬仿真技術(shù)研究[D].青島:中國海洋大學(xué),2009:18-21.
[4] Peng Xie,Zhong Zhou,Zheng Peng,et al.Aqua-Sim:An NS-2 based simulator for underwater sensor networks[C]∥Proc of OCEANS’09,Biloxi,USA:IEEE,2009.
[5] Xie Peng,Cui J H.R-MAC:An energy-efficient MAC protocol for underwater sensor networks[C]∥Proceedings of International Conference on Wireless Algorithms,Systems,and Applications(WASA),Chicago,USA:IEEE Computer Society,2007:187-198.
[6] 于 斌,孫 斌,溫 暖.NS2 與網(wǎng)絡(luò)模擬[M].北京:人民郵電出版社,2007:1-9.
[7] Xie Peng,Zhou Robert Zhong,Zheng James Peng,et al.Void avoidance in three-dimensional mobile underwater sensor networks[C]∥Proceedings of International Conference on Wireless Algorithms,Systems,and Applications(WASA),Boston,USA,2009:305-314.
[8] 吳 云.基于時分的水聲傳感器網(wǎng)絡(luò)MAC 協(xié)議的研究[D].廣州:華南理工大學(xué),2011:4-6.
[9] 楊長清.水下通信網(wǎng)MAC 層協(xié)議研究[D].南京:東南大學(xué),2004:44-47.