鮑萬(wàn)松,劉廣鐘
(上海海事大學(xué) 信息工程學(xué)院,上海 201306)
基于MACAW的分簇輪轉(zhuǎn)調(diào)度式水聲傳感網(wǎng)MAC協(xié)議*
鮑萬(wàn)松,劉廣鐘
(上海海事大學(xué) 信息工程學(xué)院,上海 201306)
針對(duì)當(dāng)前水聲傳感器網(wǎng)絡(luò)長(zhǎng)時(shí)延和低信道利用率的特點(diǎn),改進(jìn)傳統(tǒng)的水聲通信網(wǎng)MAC協(xié)議MACAW協(xié)議,設(shè)計(jì)出一種新型的分簇輪轉(zhuǎn)調(diào)度式MAC協(xié)議CRD-MACAW協(xié)議。該協(xié)議通過(guò)網(wǎng)絡(luò)初始化和網(wǎng)絡(luò)動(dòng)態(tài)更新對(duì)部署在網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)按照一定機(jī)制進(jìn)行分簇,網(wǎng)絡(luò)中的數(shù)據(jù)傳輸則分為簇內(nèi)傳輸和簇間傳輸。簇內(nèi)傳輸采用分簇時(shí)網(wǎng)絡(luò)管理節(jié)點(diǎn)所分配的輪轉(zhuǎn)順序進(jìn)行,節(jié)點(diǎn)與節(jié)點(diǎn)之間無(wú)需發(fā)送RTS幀和CTS幀;簇間傳輸則是通過(guò)各個(gè)簇首節(jié)點(diǎn)之間采用MACAW協(xié)議來(lái)進(jìn)行的,最終網(wǎng)絡(luò)數(shù)據(jù)匯聚到網(wǎng)絡(luò)管理節(jié)點(diǎn)供分析使用。仿真結(jié)果表明,該協(xié)議與傳統(tǒng)的MACAW協(xié)議相比,在網(wǎng)絡(luò)節(jié)點(diǎn)增多、節(jié)點(diǎn)整體分布較為分散時(shí),能夠有效降低傳輸時(shí)延,提高信道利用率。
水聲傳感網(wǎng);MAC協(xié)議;分簇;輪轉(zhuǎn)調(diào)度;CRD-MACAW協(xié)議;MACAW協(xié)議
近年來(lái),隨著海洋探索的不斷發(fā)展,水聲傳感器網(wǎng)絡(luò)的研究成為熱點(diǎn)和前沿[1-2]。水聲傳感器網(wǎng)絡(luò)是部署在水下環(huán)境當(dāng)中的無(wú)線傳感器網(wǎng)絡(luò)[3]。由于水下通信環(huán)境極其復(fù)雜,與陸上無(wú)線電通信相比,水聲通信存在著傳輸帶寬有限、誤碼率高、傳輸時(shí)延長(zhǎng)、信道利用率低、噪聲等多種問(wèn)題,這些問(wèn)題對(duì)水聲傳感器網(wǎng)絡(luò)傳輸協(xié)議的設(shè)計(jì)和實(shí)現(xiàn)構(gòu)成挑戰(zhàn)。
在水下通信中,水聲通信是唯一可行的技術(shù)[4]。聲波的傳輸速率約為1 500 m/s,比陸上無(wú)線電波傳輸速率低五個(gè)數(shù)量級(jí)。加上復(fù)雜的水下通信環(huán)境,現(xiàn)階段基于競(jìng)爭(zhēng)的MAC協(xié)議有較好的研究前景。本文在基于競(jìng)爭(zhēng)的MAC協(xié)議MACAW協(xié)議基礎(chǔ)上提出了一種分簇輪轉(zhuǎn)調(diào)度式水聲傳感器網(wǎng)絡(luò)MAC協(xié)議:CRD-MACAW(Clustering Rotation Dispatching MACAW)協(xié)議。該協(xié)議很好地解決了在復(fù)雜水聲通信環(huán)境中傳感器網(wǎng)絡(luò)規(guī)模較大并且節(jié)點(diǎn)分布局部集中、整體分散情況下的長(zhǎng)傳輸時(shí)延問(wèn)題,能夠更好地適用于海底勘探、海洋環(huán)境監(jiān)測(cè)、海洋生物種群分布、海底導(dǎo)航等領(lǐng)域。
在研究CRD-MACAW協(xié)議之前,首先分析目前性能較優(yōu)的水聲傳感網(wǎng)MAC協(xié)議,主要是基于競(jìng)爭(zhēng)的MAC協(xié)議,有文獻(xiàn)[5]和文獻(xiàn)[6]中提到的ALOHA協(xié)議以及文獻(xiàn)[7]提到的CSMA協(xié)議。由于上述協(xié)議是基礎(chǔ)協(xié)議,這里不做過(guò)多介紹。主要介紹以下兩種協(xié)議:MACA協(xié)議和MACAW協(xié)議。
MACA協(xié)議是一種基于握手機(jī)制的水聲傳感網(wǎng)MAC協(xié)議[8-9]。當(dāng)發(fā)送節(jié)點(diǎn)有數(shù)據(jù)發(fā)送時(shí),不是立即發(fā)送數(shù)據(jù),而是先發(fā)送RTS包作為握手信號(hào)給接收節(jié)點(diǎn),接收節(jié)點(diǎn)收到RTS包時(shí)給發(fā)送節(jié)點(diǎn)返回一個(gè)CTS包,發(fā)送節(jié)點(diǎn)收到CTS包時(shí)才開(kāi)始發(fā)送DATA包。MACA協(xié)議一定程度上減少了數(shù)據(jù)包的沖突,提高了信道利用率。但是繁瑣的控制包傳輸消耗了大量的時(shí)間,增加了網(wǎng)絡(luò)時(shí)延,并且數(shù)據(jù)傳輸完畢時(shí),該協(xié)議沒(méi)有設(shè)置確認(rèn)機(jī)制,也影響了數(shù)據(jù)傳輸準(zhǔn)確率。
圖1 MACAW協(xié)議傳輸流程
MACAW(MACA-Wireless)協(xié)議[10]是在MACA協(xié)議基礎(chǔ)上提出的改良協(xié)議。它在MACA協(xié)議的基礎(chǔ)上通過(guò)增加ACK包實(shí)現(xiàn)了數(shù)據(jù)幀確認(rèn)功能,提高了網(wǎng)絡(luò)傳輸可靠性和吞吐量,圖1給出了MACAW協(xié)議的傳輸流程。但是,當(dāng)水下傳感器網(wǎng)絡(luò)規(guī)模變大、節(jié)點(diǎn)增多并且節(jié)點(diǎn)分布不均勻時(shí),大量的RTS、CTS和ACK包將會(huì)消耗更多的傳輸時(shí)延,從而增加了網(wǎng)絡(luò)傳輸整體時(shí)延。本文所提出的CRD-MACAW協(xié)議在MACAW協(xié)議的基礎(chǔ)上進(jìn)行了改進(jìn),以更好地解決上述問(wèn)題。
CRD-MACAW協(xié)議的基本思想是:將分布在水下傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)按照特定機(jī)制進(jìn)行分簇,數(shù)據(jù)傳輸隨之分為簇內(nèi)傳輸和簇間傳輸。簇內(nèi)傳輸采用輪轉(zhuǎn)調(diào)度機(jī)制,簇間傳輸采用MACAW協(xié)議。
2.1 網(wǎng)絡(luò)初始化與分簇
首先,在網(wǎng)絡(luò)初始化之前預(yù)先設(shè)定一個(gè)網(wǎng)絡(luò)管理節(jié)點(diǎn)。網(wǎng)絡(luò)管理節(jié)點(diǎn)擁有三方面功能,第一是對(duì)網(wǎng)絡(luò)采取一定機(jī)制進(jìn)行分簇;第二是作為整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)匯聚節(jié)點(diǎn);第三是負(fù)責(zé)網(wǎng)絡(luò)動(dòng)態(tài)更新。
網(wǎng)絡(luò)初始化時(shí),網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)廣播自己的發(fā)送時(shí)間和節(jié)點(diǎn)標(biāo)識(shí)。管理節(jié)點(diǎn)根據(jù)各個(gè)節(jié)點(diǎn)的發(fā)送時(shí)間與廣播信息的接收時(shí)間來(lái)計(jì)算管理節(jié)點(diǎn)與網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)的距離l,并根據(jù)l和信號(hào)到達(dá)的角度α來(lái)對(duì)網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行分簇。分簇時(shí)l和α的值選取范圍根據(jù)網(wǎng)絡(luò)部署現(xiàn)狀進(jìn)行隨機(jī)設(shè)定。例如間距在
分簇完成后管理節(jié)點(diǎn)為每個(gè)簇設(shè)置一個(gè)簇號(hào)N,同時(shí)結(jié)合節(jié)點(diǎn)標(biāo)識(shí)為各個(gè)節(jié)點(diǎn)設(shè)置標(biāo)號(hào)。這個(gè)標(biāo)號(hào)是由簇號(hào)N和l來(lái)確定的,并且按照l(shuí)由小到大依次排列,即N1、N2、N3…Ni。這里將每個(gè)簇中標(biāo)號(hào)為N1的節(jié)點(diǎn)指定為該簇的簇首節(jié)點(diǎn)。簇首節(jié)點(diǎn)的功能就是本簇內(nèi)數(shù)據(jù)匯聚以及簇間通信。分簇完成后,管理節(jié)點(diǎn)把節(jié)點(diǎn)標(biāo)號(hào)廣播出去,使網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)都能得知自己的標(biāo)號(hào)、自己所在簇的簇號(hào)、簇內(nèi)成員節(jié)點(diǎn)的個(gè)數(shù)和簇首節(jié)點(diǎn),同時(shí)也能夠區(qū)分出其他簇中的節(jié)點(diǎn)。各個(gè)節(jié)點(diǎn)都會(huì)記錄下自己的標(biāo)號(hào)。圖2和圖3顯示出網(wǎng)絡(luò)初始化之前的原始狀態(tài)和網(wǎng)絡(luò)初始化之后的分簇狀態(tài)。
圖2 網(wǎng)絡(luò)原始狀態(tài) 圖3 網(wǎng)絡(luò)初始化之后的分簇狀態(tài)
2.2 輪轉(zhuǎn)調(diào)度設(shè)計(jì)
在上節(jié)所述的網(wǎng)絡(luò)初始化完成以后,網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)被分在各個(gè)簇內(nèi),而且每個(gè)節(jié)點(diǎn)都有自己的標(biāo)號(hào)。每個(gè)簇中按照標(biāo)號(hào)(Ni、Ni-1、Ni-2…N1)排列的順序,亦即l由大到小的排列就是簇內(nèi)節(jié)點(diǎn)的輪轉(zhuǎn)傳輸順序,而且是經(jīng)過(guò)優(yōu)化的數(shù)據(jù)傳輸順序,網(wǎng)絡(luò)中節(jié)點(diǎn)收到管理節(jié)點(diǎn)廣播信息之后會(huì)記錄該輪轉(zhuǎn)順序。
下面討論輪轉(zhuǎn)調(diào)度設(shè)計(jì)。
第一,輪轉(zhuǎn)調(diào)度流程。輪轉(zhuǎn)傳輸在各個(gè)簇內(nèi)進(jìn)行,一個(gè)輪轉(zhuǎn)順序代表一個(gè)傳輸時(shí)間。網(wǎng)絡(luò)初始化之后只有每個(gè)簇內(nèi)輪轉(zhuǎn)順序第一的節(jié)點(diǎn)處于激活狀態(tài),其他成員節(jié)點(diǎn)均處于等待狀態(tài)。每個(gè)節(jié)點(diǎn)只有接收到自己上級(jí)節(jié)點(diǎn)的觸發(fā)指令時(shí),才被激活,開(kāi)始進(jìn)行數(shù)據(jù)傳輸。當(dāng)簇內(nèi)一個(gè)源節(jié)點(diǎn)有數(shù)據(jù)需要發(fā)送并且收到上級(jí)節(jié)點(diǎn)觸發(fā)指令時(shí),直接將封裝有觸發(fā)指令的DATA包發(fā)送給它的下級(jí)節(jié)點(diǎn),同時(shí)啟動(dòng)ACK信號(hào)接收定時(shí)器。當(dāng)下級(jí)節(jié)點(diǎn)成功收到DATA包時(shí)被激活,立即返回上級(jí)節(jié)點(diǎn)一個(gè)ACK包用以確認(rèn)數(shù)據(jù)包成功接收,同時(shí)將自己緩存當(dāng)中的DATA包傳輸給它的下級(jí)節(jié)點(diǎn),以此類(lèi)推,直到數(shù)據(jù)成功到達(dá)簇首節(jié)點(diǎn)。簇首節(jié)點(diǎn)會(huì)將該數(shù)據(jù)以MACAW協(xié)議傳輸給其他簇首節(jié)點(diǎn)或者網(wǎng)絡(luò)管理節(jié)點(diǎn)。同時(shí),簇內(nèi)傳輸依然按照輪轉(zhuǎn)順序進(jìn)行。如果在ACK接收時(shí)間內(nèi)源節(jié)點(diǎn)未收到其下級(jí)節(jié)點(diǎn)返回的ACK確認(rèn)包,則采用時(shí)間退避算法進(jìn)行數(shù)據(jù)重傳。當(dāng)重傳次數(shù)達(dá)到重傳閾值時(shí)認(rèn)為該節(jié)點(diǎn)死亡或發(fā)生錯(cuò)誤,會(huì)有相應(yīng)的容錯(cuò)機(jī)制來(lái)進(jìn)行處理,下文中將會(huì)詳述。這里需要強(qiáng)調(diào)的是,每個(gè)簇的DATA包中觸發(fā)指令片段包含了目的節(jié)點(diǎn)標(biāo)號(hào),當(dāng)其他簇內(nèi)節(jié)點(diǎn)收到不同簇內(nèi)節(jié)點(diǎn)的數(shù)據(jù)包時(shí),通過(guò)辨別節(jié)點(diǎn)標(biāo)號(hào)中的簇號(hào)來(lái)選擇是否接收。當(dāng)簇號(hào)不同時(shí),直接丟棄該數(shù)據(jù),因此不同簇內(nèi)的節(jié)點(diǎn)間無(wú)法進(jìn)行數(shù)據(jù)傳輸。簇與簇之間只有簇首節(jié)點(diǎn)采用握手機(jī)制進(jìn)行數(shù)據(jù)傳輸。圖4給出了CRD-MACAW協(xié)議的傳輸流程。
圖4 CRD-MACAW協(xié)議傳輸流程
第二,觸發(fā)指令設(shè)計(jì)。簇內(nèi)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸時(shí),如果一個(gè)節(jié)點(diǎn)被激活,而該節(jié)點(diǎn)緩存區(qū)內(nèi)無(wú)數(shù)據(jù)需要傳輸,那么此時(shí)輪轉(zhuǎn)將會(huì)停止,從而造成網(wǎng)絡(luò)陷入不必要的局部停滯狀態(tài),這顯然是不合理的。這里,在每個(gè)節(jié)點(diǎn)的數(shù)據(jù)幀中加入簡(jiǎn)短的觸發(fā)指令片段,觸發(fā)指令片段中包括較短的觸發(fā)片段和下一級(jí)節(jié)點(diǎn)標(biāo)號(hào)等。當(dāng)一個(gè)節(jié)點(diǎn)被激活時(shí),如果該節(jié)點(diǎn)無(wú)數(shù)據(jù)傳輸,那么它將自己的觸發(fā)指令發(fā)送給它的下級(jí)節(jié)點(diǎn),當(dāng)它的下級(jí)節(jié)點(diǎn)收到該觸發(fā)指令時(shí),立即發(fā)送自己的數(shù)據(jù),并返回ACK信息給該發(fā)送節(jié)點(diǎn),從而避免了網(wǎng)絡(luò)陷入局部停滯狀態(tài)。
第三,容錯(cuò)機(jī)制。如果簇內(nèi)節(jié)點(diǎn)死亡之后,輪轉(zhuǎn)傳輸即將停止,也會(huì)造成局部網(wǎng)絡(luò)停滯。解決該問(wèn)題的思想是:當(dāng)一個(gè)源節(jié)點(diǎn)的下級(jí)節(jié)點(diǎn)死亡時(shí),或者如上面所述該源節(jié)點(diǎn)在重傳閾值內(nèi)沒(méi)有收到下級(jí)節(jié)點(diǎn)的ACK信號(hào)時(shí),該源節(jié)點(diǎn)會(huì)發(fā)送一個(gè)封裝有觸發(fā)指令的信號(hào)給簇內(nèi)其他節(jié)點(diǎn),信號(hào)內(nèi)包括自己的標(biāo)號(hào)和下級(jí)節(jié)點(diǎn)的標(biāo)號(hào)。簇內(nèi)其他節(jié)點(diǎn)收到該信息時(shí),比對(duì)自身標(biāo)號(hào),并且標(biāo)號(hào)為源節(jié)點(diǎn)的下下級(jí)節(jié)點(diǎn)被激活,開(kāi)始發(fā)送數(shù)據(jù)。同時(shí),源節(jié)點(diǎn)將其下下級(jí)節(jié)點(diǎn)作為自己新的下級(jí)節(jié)點(diǎn),記錄在自己下輪數(shù)據(jù)傳輸?shù)挠|發(fā)指令中;如果簇首節(jié)點(diǎn)死亡之后,簇首節(jié)點(diǎn)的上級(jí)節(jié)點(diǎn)將發(fā)送一個(gè)廣播信息給全網(wǎng)絡(luò),告知簇號(hào)為N的簇首節(jié)點(diǎn)已經(jīng)死亡。此時(shí),網(wǎng)絡(luò)中所有節(jié)點(diǎn)接收到該廣播信息后,則認(rèn)為簇號(hào)為N的源簇首節(jié)點(diǎn)的上級(jí)節(jié)點(diǎn)擔(dān)任該簇的新簇首節(jié)點(diǎn)。至此,容錯(cuò)過(guò)程完畢。
2.3 網(wǎng)絡(luò)動(dòng)態(tài)更新
在水下傳感器網(wǎng)絡(luò)傳輸過(guò)程當(dāng)中,節(jié)點(diǎn)死亡、節(jié)點(diǎn)流動(dòng)、節(jié)點(diǎn)被海水腐蝕等情況造成網(wǎng)絡(luò)中數(shù)據(jù)傳輸效率降低或局部停滯。針對(duì)此問(wèn)題,CRD-MACAW協(xié)議中的網(wǎng)絡(luò)管理節(jié)點(diǎn)會(huì)定期進(jìn)行網(wǎng)絡(luò)動(dòng)態(tài)更新,更新過(guò)程與網(wǎng)絡(luò)初始化過(guò)程相同。更新后的網(wǎng)絡(luò)中管理節(jié)點(diǎn)會(huì)及時(shí)清除死亡節(jié)點(diǎn),并進(jìn)行時(shí)間同步,保障各個(gè)簇內(nèi)輪轉(zhuǎn)傳輸正常有序進(jìn)行。
2.4 無(wú)誤包重傳時(shí)延
前文提到,CRD-MACAW協(xié)議由于分簇和輪轉(zhuǎn)調(diào)度機(jī)制而省去了繁雜的RTS包和CTS包傳輸從而節(jié)省了大量的傳輸時(shí)間,提高了網(wǎng)絡(luò)吞吐量和信道利用率。本節(jié)和2.5節(jié)著重介紹無(wú)誤包重傳時(shí)延和帶誤包重傳時(shí)延兩種情況下CRD-MACAW協(xié)議和MACAW協(xié)議對(duì)比。其中使用的參數(shù)名和意義如表1所示。
表1 文中使用的參數(shù)名和意義
首先,在MACAW協(xié)議中,n跳節(jié)點(diǎn)的平均傳輸時(shí)延為:
(1)
其中,Ds-d是源節(jié)點(diǎn)到目的節(jié)點(diǎn)的距離,由于每跳數(shù)據(jù)傳輸都需要RTS包、CTS包、DATA包和ACK包進(jìn)行一次交換,故總傳輸距離是4Ds-d。
MACAW協(xié)議中,n跳節(jié)點(diǎn)的總傳輸時(shí)延是:
TW=nTeq-W
(2)
在CRD-MACAW協(xié)議中分為極端情況和一般情況。極端情況在網(wǎng)絡(luò)傳輸中出現(xiàn)的概率非常小,甚至可以忽略不計(jì)。在此要分別進(jìn)行討論。
極端情況:網(wǎng)絡(luò)中數(shù)據(jù)傳輸路徑只經(jīng)過(guò)每個(gè)簇的簇首節(jié)點(diǎn),直到網(wǎng)絡(luò)管理節(jié)點(diǎn),不在簇內(nèi)進(jìn)行傳輸。此時(shí)n跳網(wǎng)絡(luò)傳輸?shù)目倳r(shí)延與MACAW協(xié)議相同:
Te-C=TW
(3)
一般情況:網(wǎng)絡(luò)中數(shù)據(jù)傳輸既經(jīng)過(guò)簇首節(jié)點(diǎn),又經(jīng)過(guò)簇內(nèi)節(jié)點(diǎn)。此時(shí),在n跳網(wǎng)絡(luò)中經(jīng)過(guò)的節(jié)點(diǎn)總數(shù)為n+1個(gè)。設(shè)經(jīng)過(guò)簇首節(jié)點(diǎn)的個(gè)數(shù)為m+1個(gè),其中包括網(wǎng)絡(luò)管理節(jié)點(diǎn);設(shè)經(jīng)過(guò)簇內(nèi)節(jié)點(diǎn)的個(gè)數(shù)為g個(gè)。那么易知簇間傳輸?shù)目倵l數(shù)為m跳,簇內(nèi)傳輸?shù)目偺鴶?shù)為g跳。并且有:
m+g=n
(4)
此時(shí),網(wǎng)絡(luò)傳輸?shù)目倳r(shí)延為:
(5)
其中,由于簇內(nèi)傳輸時(shí)每跳數(shù)據(jù)傳輸只需要DATA包和ACK包共兩次交換,簇間傳輸時(shí)與MACAW協(xié)議相同,需要四次交換,故源節(jié)點(diǎn)到目的節(jié)點(diǎn)傳輸總距離為(2g+4m)/n倍的Ds-d。從式(5)可知,當(dāng)g=0時(shí),也就是當(dāng)網(wǎng)絡(luò)傳輸遇到上述極端情況時(shí),兩種協(xié)議的網(wǎng)絡(luò)傳輸總時(shí)延相同。
2.5 帶誤包重傳時(shí)延
本節(jié)介紹帶誤包重傳情況下的兩種協(xié)議網(wǎng)絡(luò)時(shí)延。需要聲明的是,CRD-MACAW協(xié)議和MACAW協(xié)議在數(shù)據(jù)包需要重傳時(shí),均采用二進(jìn)制指數(shù)回退機(jī)制。CRD-MACAW協(xié)議中分為簇內(nèi)數(shù)據(jù)包重傳和簇間數(shù)據(jù)包重傳兩種情況。設(shè)第一次回退時(shí)間為t,回退次數(shù)為x;設(shè)兩個(gè)簇內(nèi)節(jié)點(diǎn)間的距離為L(zhǎng)1,兩個(gè)簇間節(jié)點(diǎn)間距離為L(zhǎng)2。則CRD-MACAW協(xié)議中簇內(nèi)傳輸時(shí)重傳增加時(shí)延為:
(6)
簇間傳輸時(shí)重傳增加時(shí)延為:
t·(2x-1)+xTother
(7)
那么,在CRD-MACAW協(xié)議中,重傳增加的總時(shí)延為:
(8)
在MACAW協(xié)議中,設(shè)兩個(gè)節(jié)點(diǎn)間距離為L(zhǎng),那么發(fā)生重傳時(shí),重傳增加的時(shí)延為:
t·(2x-1)+xTother
(9)
由式(6)~式(9)可知,當(dāng)傳感器網(wǎng)絡(luò)不中節(jié)點(diǎn)增多、節(jié)點(diǎn)分布較為分散時(shí),CRD-MACAW協(xié)議由于其加入分簇和輪轉(zhuǎn)調(diào)度機(jī)制,省去了大量RTS包和CTS包的傳輸,在理論上比MACAW協(xié)議要節(jié)省重傳時(shí)延。
下面討論帶誤包重傳情況下的網(wǎng)絡(luò)總時(shí)延。在水下傳感器網(wǎng)絡(luò)中,造成誤包的主要原因是沖突和誤碼率。針對(duì)MACAW協(xié)議和CRD-MACAW協(xié)議而言,造成誤包的絕大部分原因是誤碼率。而且CRD-MACAW協(xié)議中簇內(nèi)傳輸無(wú)法產(chǎn)生沖突,故網(wǎng)絡(luò)中發(fā)生沖突的幾率很小。在此,只討論由誤碼率引起的誤包重傳。結(jié)合2.2節(jié)可知,CRD-MACAW協(xié)議與MACAW協(xié)議一樣用ACK信號(hào)作為確認(rèn)信號(hào)傳輸給其上級(jí)節(jié)點(diǎn),那么兩種協(xié)議的誤碼率PE=1-(1-Pe)LACK,因此,在網(wǎng)絡(luò)中存在一定誤碼率且具有重傳機(jī)制的情況下,MACAW協(xié)議的總時(shí)延為:
(10)
那么,CRD-MACAW協(xié)議的總時(shí)延為:
(11)
本文采用NS-2網(wǎng)絡(luò)平臺(tái)[11-12]基礎(chǔ)下的Aqua-Sim水聲傳感網(wǎng)絡(luò)模擬器[13]作為CRD-MACAW協(xié)議的仿真工具。仿真過(guò)程中重點(diǎn)對(duì)比CRD-MACAW協(xié)議與MACAW協(xié)議在傳輸時(shí)延上的性能。
3.1 仿真條件
本仿真實(shí)驗(yàn)中重要討論傳輸節(jié)點(diǎn)間平均間距以及節(jié)點(diǎn)數(shù)量對(duì)傳輸時(shí)延的影響。仿真采用的部分參數(shù)如下:數(shù)據(jù)幀長(zhǎng)度2 000 bit,RTS包、CTS包和ACK包的長(zhǎng)度均為200 bit,數(shù)據(jù)傳輸速率為20 000 b/s,節(jié)點(diǎn)最大重傳次數(shù)為5次,誤碼率為10-5。節(jié)點(diǎn)間平均間距和節(jié)點(diǎn)數(shù)量會(huì)在仿真中給出,仿真環(huán)境為水聲環(huán)境。
3.2 仿真結(jié)果分析
圖5和圖6分別是傳感器節(jié)點(diǎn)平均間距和節(jié)點(diǎn)數(shù)量對(duì)傳輸時(shí)延的影響。由圖5可以看出,當(dāng)節(jié)點(diǎn)數(shù)量給定為10個(gè)時(shí),隨著節(jié)點(diǎn)平均間距的增大,CRD-MACAW協(xié)議和MACAW協(xié)議傳輸時(shí)延都在增大,但是CRD-MACAW協(xié)議在節(jié)點(diǎn)平均間距不斷增大時(shí)呈現(xiàn)出傳輸時(shí)延增長(zhǎng)速率逐漸減緩的趨勢(shì),而MACAW協(xié)議傳輸時(shí)延的增長(zhǎng)速率不斷增大;同時(shí),整個(gè)過(guò)程CRD-MACAW協(xié)議比MACAW協(xié)議傳輸時(shí)延平均小約26.4%,而且差距越來(lái)越大。這是因?yàn)椋S著節(jié)點(diǎn)間距的增大,采用CRD-MACAW協(xié)議時(shí)簇內(nèi)傳輸由于輪轉(zhuǎn)調(diào)度機(jī)制而省去了大量的控制幀傳輸,從而節(jié)約了時(shí)間;相反,采用MACAW協(xié)議傳輸時(shí),隨著節(jié)點(diǎn)平均間距增大,大量RTS、CTS包需要不斷長(zhǎng)距離傳輸,大幅增大了傳輸時(shí)延。
由圖6可以看出,當(dāng)節(jié)點(diǎn)平均間距給定在1 500 m,隨著節(jié)點(diǎn)數(shù)量的增大,CRD-MACAW協(xié)議和MACAW協(xié)議的傳輸時(shí)延都在增長(zhǎng),但是前者增長(zhǎng)速率逐漸減緩,后者增長(zhǎng)速率持續(xù)增大。整個(gè)過(guò)程CRD-MACAW協(xié)議的傳輸時(shí)延比MACAW協(xié)議傳輸時(shí)延平均小約31.2%,而且差距越來(lái)越大。這說(shuō)明,隨著節(jié)點(diǎn)數(shù)量的增長(zhǎng),采用CRD-MACAW協(xié)議傳輸時(shí),落在簇內(nèi)傳輸?shù)母怕瘦^大,簇內(nèi)傳輸由于輪轉(zhuǎn)調(diào)度機(jī)制而節(jié)省了大量傳輸時(shí)延,采用MACAW協(xié)議時(shí)則隨著節(jié)點(diǎn)數(shù)量增多,控制報(bào)文的傳輸次數(shù)也相應(yīng)增多,從而提高了傳輸時(shí)延。
通過(guò)圖5和圖6的對(duì)比可知,在水聲傳感器網(wǎng)絡(luò)中,當(dāng)網(wǎng)絡(luò)規(guī)模變大、節(jié)點(diǎn)數(shù)量增多、節(jié)點(diǎn)分布較分散時(shí),CRD-MACAW協(xié)議在傳輸時(shí)延上明顯優(yōu)于MACAW協(xié)議。
圖5 節(jié)點(diǎn)個(gè)數(shù)給定,節(jié)點(diǎn)間平均間距對(duì)傳輸時(shí)延的影響
圖6 節(jié)點(diǎn)間平均間距給定,節(jié)點(diǎn)數(shù)量對(duì)傳輸時(shí)延的影響
傳統(tǒng)的水聲傳感網(wǎng)MAC協(xié)議MACAW協(xié)議在MACA協(xié)議的基礎(chǔ)上通過(guò)增加了ACK確認(rèn)機(jī)制,在一定程度上提高了數(shù)據(jù)傳輸效率和傳輸可靠性。本文提出的CRD-MACAW協(xié)議在MACAW協(xié)議的基礎(chǔ)上通過(guò)分簇和輪轉(zhuǎn)調(diào)度的方式使簇內(nèi)傳輸過(guò)程減少了大量RTS包和CTS包,節(jié)省了大量傳輸時(shí)間;同時(shí)保留了ACK確認(rèn)機(jī)制,保持了MACAW協(xié)議的優(yōu)點(diǎn)。仿真結(jié)果表明,在傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)量增多、節(jié)點(diǎn)整體分布較為分散且局部集中的情況下,與MACAW協(xié)議相比,CRD-MACAW協(xié)議明顯減少了傳輸時(shí)延,提高了信道利用率。CRD-MACAW協(xié)議更適合應(yīng)用于海底導(dǎo)航、海洋環(huán)境監(jiān)測(cè)和災(zāi)害預(yù)警等水聲通信領(lǐng)域。
本文未來(lái)工作應(yīng)著力于網(wǎng)絡(luò)規(guī)模較大時(shí)分層協(xié)議的設(shè)計(jì),以不斷優(yōu)化CRD-MACAW協(xié)議來(lái)研究上層路由協(xié)議,使二者能夠在通信過(guò)程中達(dá)到較高的契合度,從而加強(qiáng)網(wǎng)絡(luò)資源的利用,降低網(wǎng)絡(luò)時(shí)延,進(jìn)一步提高信道利用率。
[1] RICE J, CREBER B, FLETCHER C, et al. Evolution of seaweb underwater acoustic networking[C]. Oceans 2000 MTS/IEEE Conference and Exhibition, 2000:2007-2017.
[2] 劉廣鐘, 耿偉. 水聲傳感器網(wǎng)絡(luò)分簇路由協(xié)議研究[J]. 微型機(jī)與應(yīng)用, 2012, 31(8):44-47.
[3] AKYILDIZ I F, POMPILI D, MELODIA T. Underwater acoustic sensor networks: research challenges[J]. Ad Hoc Networks, 2005, 3(3):257-279.
[4] 劉文靜. 水聲傳感器網(wǎng)絡(luò)MAC協(xié)議研究[D]. 大連:大連理工大學(xué), 2015.
[5] Xiao Yang, Zhang Yanping, GIBSON J H, et al. Performance analysis of p-persistent aloha for multi-hop underwater acoustic sensor networks[C]. International Conference on Embedded Software and Systems, IEEE, 2009:305-311.
[6] 王毅,高翔,方世良,等.Aloha-LPD:一種用于水聲通信網(wǎng)的MAC協(xié)議[J].東南大學(xué)學(xué)報(bào)(自然科學(xué)版),2009, 39(1):12-17.
[7] Fang Dong, Li Yu, Huang Haining, et al. A CSMA/CA-based MAC protocol for underwater acoustic networks[C]. International Conference on Wireless Communications Networking and Mobile Computing, IEEE, 2010:1-4.
[8] Zhao Qichao, LAMBERT A, BENSON C R. FS-MACA: a future scheduling MAC protocol in underwater acoustic networks[C]. Proceedings of the International Conference on Underwater Networks & Systems, 2014:1-5.
[9] Guo Xiaoming, FRATER M R, RYAN M J. A propagation-delay-tolerant collision avoidance protocol for underwater acoustic sensor networks[C]. IEEE Oceans OES and MTS, 2007:1-6.
[10] BHARGHAVAN V, DEMERS A, SHENKER S, et al. MACAW: a media access protocol for wireless LAN’s[J]. ACM Sigcomm Computer Communication Review, 2000, 24(4):212-225.
[11] KANTHIMATHI N, DEJEY. Balanced and multi-objective optimized opportunistic routing for underwater sensor networks[J]. Wireless Personal Communications, 2016:1-24.
[12] 石為人, 黃河, 鮮曉東,等. OMNET++與NS2在無(wú)線傳感器網(wǎng)絡(luò)仿真中的比較研究[J]. 計(jì)算機(jī)科學(xué), 2008, 35(10):53-57.
[13] Liu Tongqing, Han Guangjie, Zhu Chuan, et al. Application research on aqua-sim for underwater acoustic sensor networks[J]. Advanced Materials Research, 2012, 605-607:1046-1049.
Clustering rotation dispatching MAC protocol for underwater acoustic sensor network based on MACAW
Bao Wansong, Liu Guangzhong
(College of Information Engineering, Shanghai Maritime University, Shanghai 201306, China)
Aiming at the long delay but low utilization rate of channels of the present underwater acoustic sensor network, traditional underwater acoustic communication network MAC protocol MACAW has been improved into a new clustering rotation dispatching MAC protocol, CRD-MACAW. This protocol rotates the sensor nodes in the network with certain mechanism through the network initialization and network dynamic updating. And the data transmissions in the network are divided into transmissions in cluster and transmissions between clusters. Transmissions in cluster are done according to the rotating order matched by the managing node in network when clustering. RTS frame and CTS frame need not be sent between nodes, while transmissions between clusters are done using the MACAW protocol between the first nodes of every cluster, and finally the data in the network will be gathered at the managing node in network to be analyzed. The simulated result shows that this protocol can decrease the transmission delay effectively and improve the utilization rate of channels if nodes in the network are increasing and the node distribution is decentralized totally when comparing with the traditional MACAW protocol.
underwater acoustic sensor network; MAC protocol; clustering; rotation dispatching; CRD-MACAW protocol; MACAW protocol
國(guó)家自然科學(xué)基金(61202370);上海市教委科研創(chuàng)新項(xiàng)目(12ZZ151)
TN929.3
A
10.19358/j.issn.1674- 7720.2017.16.021
鮑萬(wàn)松,劉廣鐘.基于MACAW的分簇輪轉(zhuǎn)調(diào)度式水聲傳感網(wǎng)MAC協(xié)議[J].微型機(jī)與應(yīng)用,2017,36(16):73-77.
2017-02-22)
鮑萬(wàn)松(1990-),男,碩士研究生,主要研究方向:分布式計(jì)算與傳感器網(wǎng)絡(luò)。
劉廣鐘(1962-),男,博士,教授,主要研究方向:分布式數(shù)據(jù)庫(kù)、分布式人工智能、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、網(wǎng)絡(luò)計(jì)算、CIMS技術(shù)、物流信息化技術(shù)等。
網(wǎng)絡(luò)安全與數(shù)據(jù)管理2017年16期