王希陽,姜?jiǎng)倜?,楊愷?/p>
(上海海事大學(xué) 信息工程學(xué)院, 上海 201306)
?
基于接收端信號的水聲網(wǎng)絡(luò)MAC協(xié)議*
王希陽,姜?jiǎng)倜?,楊愷?/p>
(上海海事大學(xué) 信息工程學(xué)院, 上海 201306)
水聲網(wǎng)絡(luò)的信道具有數(shù)據(jù)速率低以及傳播時(shí)延長的特點(diǎn),如果采用握手機(jī)制減少數(shù)據(jù)沖突,將降低信道利用率和網(wǎng)絡(luò)的吞吐量。提出了一種基于接收節(jié)點(diǎn)發(fā)送短信號告知鄰居節(jié)點(diǎn)其接收狀態(tài)的水聲網(wǎng)絡(luò)MAC協(xié)議,即當(dāng)接收節(jié)點(diǎn)接收數(shù)據(jù)時(shí),向鄰居節(jié)點(diǎn)發(fā)送短信號通知其當(dāng)前時(shí)刻不要發(fā)送數(shù)據(jù),解決了隱藏終端和暴露終端的問題,并提高了網(wǎng)絡(luò)吞吐量;除此之外,使用短信號還能夠降低能量損耗。仿真結(jié)果表明該協(xié)議能夠?qū)崿F(xiàn)上述目的。
信號;接收端;水聲網(wǎng)絡(luò);MAC協(xié)議
對于共享媒介網(wǎng)絡(luò),節(jié)點(diǎn)需要媒體接入控制協(xié)議控制接入共享信道。共享媒介網(wǎng)絡(luò)中的隱藏終端和暴露終端問題導(dǎo)致網(wǎng)絡(luò)吞吐量大大降低。陸地上的無線網(wǎng)絡(luò)主要有兩種方法緩解隱藏終端,一種是采用握手機(jī)制,如MACA[1]協(xié)議;另一種是通過發(fā)送忙信號機(jī)制,基于這種機(jī)制的MAC協(xié)議有BTMA[2]、RI-BTMA[3]和DBTMA[4]。
目前已有許多MAC協(xié)議可以解決陸地上無線網(wǎng)絡(luò)的數(shù)據(jù)沖突,但是由于陸地上的MAC協(xié)議設(shè)計(jì)是以無線電波作為傳播媒介,傳播時(shí)延非常小,幾乎可以忽略,并且可用帶寬范圍很大,然而水下無線通信傳播時(shí)延長、可用帶寬非常窄,導(dǎo)致這些適用于陸地上的MAC協(xié)議不能直接應(yīng)用到水下無線網(wǎng)絡(luò)。水下通信主要是通過聲波作為通信媒介,而聲波在水中的傳播速度大約只有1 500 m/s,這導(dǎo)致了非常長的傳播時(shí)延。水聲信道的可用帶寬非常窄,只有幾到幾十千赫茲[5],如果再把信道劃分出一部分作為忙信號信道,就會降低信道利用率,所以利用忙信號信道發(fā)送忙信號解決數(shù)據(jù)沖突不適用于水聲信道。又由于水聲傳播時(shí)延長,對于基于握手機(jī)制的MAC協(xié)議也不適用于水下MAC協(xié)議。
如果利用聲波信號解決數(shù)據(jù)沖突的問題,就會避免基于握手機(jī)制帶來的長時(shí)延,同時(shí)使用非常短的聲波信號作為控制信號,提高了信道的利用率。本文基于這種思想提出了一種新穎的水聲網(wǎng)絡(luò)MAC協(xié)議,稱為“基于接收端信號”的MAC協(xié)議(RSSP)。該協(xié)議的實(shí)現(xiàn)將在本文第2節(jié)闡述。
當(dāng)前,對于水下MAC協(xié)議的研究并沒有陸地上MAC協(xié)議研究成熟,仍然處于研究的初期階段。由于水聲信道的一些獨(dú)特的特點(diǎn),使得水下MAC協(xié)議設(shè)計(jì)面臨巨大挑戰(zhàn)。
順序式CSMA[6]協(xié)議是一種無沖突的水聲網(wǎng)絡(luò)MAC協(xié)議。該協(xié)議結(jié)合了輪詢調(diào)度算法和CSMA協(xié)議。在該協(xié)議中,每個(gè)節(jié)點(diǎn)都以固定的順序發(fā)送數(shù)據(jù),不需要等待一個(gè)最大的傳播時(shí)延。該協(xié)議有效減少了數(shù)據(jù)包的沖突。但是每個(gè)節(jié)點(diǎn)需要一直偵聽信道和收到的所有的數(shù)據(jù)幀,這將增加能量損耗,并且只有輪詢到一個(gè)節(jié)點(diǎn)時(shí),該節(jié)點(diǎn)才能發(fā)送數(shù)據(jù)。
T-Lohi[7]是一種在發(fā)送節(jié)點(diǎn)基于聲調(diào)競爭信道的水聲網(wǎng)絡(luò)MAC協(xié)議。在該協(xié)議中,發(fā)送一個(gè)數(shù)據(jù)包的時(shí)間被分成兩個(gè)部分,信道預(yù)定時(shí)間(RP)和數(shù)據(jù)發(fā)送時(shí)間。信道預(yù)定時(shí)間又被分成了許多競爭環(huán)(CR)。當(dāng)發(fā)送節(jié)點(diǎn)想要發(fā)送數(shù)據(jù)簽時(shí),在CR期間先發(fā)送一個(gè)聲調(diào)給鄰居節(jié)點(diǎn),如果沒有收到來自鄰居的聲調(diào),則該節(jié)點(diǎn)成功預(yù)定到信道,然后發(fā)送數(shù)據(jù)包。T-Lohi協(xié)議利用時(shí)空不確定性和高時(shí)延特性,檢測沖突和競爭信道的節(jié)點(diǎn)數(shù),來提高信道利用率,并降低能量損耗。但是該協(xié)議需要在競爭環(huán)內(nèi)處于空閑狀態(tài)監(jiān)聽信道,并且對于水聲信道的長時(shí)延特點(diǎn),一個(gè)競爭環(huán)的時(shí)間太長。
在RIPT[8]協(xié)議中,提出了一種在接收節(jié)點(diǎn)使用握手機(jī)制的MAC協(xié)議。該協(xié)議根據(jù)水聲信道的長傳播時(shí)延特點(diǎn),在接收節(jié)點(diǎn)調(diào)度多個(gè)鄰居節(jié)點(diǎn)發(fā)送數(shù)據(jù)包的次序。這樣能夠獲得高的吞吐量,同時(shí)也減緩了隱藏終端的問題。這個(gè)協(xié)議也有一些不足之處,采用接收節(jié)點(diǎn)調(diào)度多個(gè)發(fā)送節(jié)點(diǎn)發(fā)送數(shù)據(jù)順序的方法,需要非常復(fù)雜的流量預(yù)測算法,同時(shí)對于水下信道長的傳播時(shí)延,四路握手機(jī)制相對降低了信道的利用率。
圖1 RSSP協(xié)議流程圖
2.1協(xié)議概述
本文提出的RSSP協(xié)議是一種基于競爭式的水下MAC協(xié)議。該協(xié)議是在接收節(jié)點(diǎn)通過發(fā)送一個(gè)不攜帶任何信息的短小信號,即通知信號(Notification Signal, NS), 通知鄰居節(jié)點(diǎn)當(dāng)前時(shí)刻不要發(fā)送數(shù)據(jù)。RSSP協(xié)議不需要像握手機(jī)制那樣在發(fā)送數(shù)據(jù)前,通過發(fā)送RTS/CTS控制包預(yù)定信道,而是在接收節(jié)點(diǎn)接收數(shù)據(jù)時(shí),向鄰居節(jié)點(diǎn)發(fā)送NS通知鄰居節(jié)點(diǎn)當(dāng)前正在接收數(shù)據(jù),當(dāng)鄰居節(jié)點(diǎn)接收到NS后不會向其他節(jié)點(diǎn)發(fā)送數(shù)據(jù)。從而解決了隱藏終端和暴露終端的問題,并提高了信道利用率。該協(xié)議的一個(gè)主要特點(diǎn)是通過信號解決隱藏終端和暴露終端的問題,發(fā)送信號而不是發(fā)送控制包(如RTS/CTS),這樣不僅提高了頻帶利用率,同時(shí)還降低了能量損耗,減小數(shù)據(jù)間的干擾。另外一個(gè)特點(diǎn)是由接收節(jié)點(diǎn)決定鄰居節(jié)點(diǎn)是否可以發(fā)送數(shù)據(jù),更有效地減少了數(shù)據(jù)的沖突。
2.2協(xié)議工作過程
當(dāng)接收節(jié)點(diǎn)接收數(shù)據(jù)時(shí)就向鄰居節(jié)點(diǎn)發(fā)送NS,表示接收節(jié)點(diǎn)當(dāng)前處于接收數(shù)據(jù)狀態(tài)。若鄰居節(jié)點(diǎn)偵聽到NS,則表示該鄰居節(jié)點(diǎn)的周圍存在處于接收數(shù)據(jù)的節(jié)點(diǎn);若沒有偵聽到NS,則表示該鄰居節(jié)點(diǎn)的周圍沒有存在處于接收數(shù)據(jù)狀態(tài)的節(jié)點(diǎn),如果該節(jié)點(diǎn)要發(fā)送數(shù)據(jù),那么可以發(fā)送MAC層隊(duì)列的數(shù)據(jù)。從而解決了隱藏終端和暴露終端的問題。RSSP協(xié)議流程圖如圖1所示,描述了節(jié)點(diǎn)發(fā)送數(shù)據(jù)包的過程。發(fā)送節(jié)點(diǎn)1競爭到信道,向接收節(jié)點(diǎn)1發(fā)送數(shù)據(jù)幀,接收節(jié)點(diǎn)1接收到來自發(fā)送節(jié)點(diǎn)1的數(shù)據(jù)幀后,如果發(fā)送節(jié)點(diǎn)1下一個(gè)數(shù)據(jù)幀的目的地址仍然是接收節(jié)點(diǎn)1,則接收節(jié)點(diǎn)1向鄰居節(jié)點(diǎn)(發(fā)送節(jié)點(diǎn)2、3)發(fā)送一個(gè)NS,發(fā)送節(jié)點(diǎn)2、3偵聽到NS后,不向其他節(jié)點(diǎn)發(fā)送數(shù)據(jù)。發(fā)送節(jié)點(diǎn)1等待一段時(shí)間Td后(其中Td=Tns+TSIFS,Tns為發(fā)送NS的時(shí)延,TSIFS為從接收狀態(tài)轉(zhuǎn)為發(fā)送狀態(tài)所需要的時(shí)間),向接收節(jié)點(diǎn)1發(fā)送下一個(gè)數(shù)據(jù)幀,當(dāng)發(fā)送節(jié)點(diǎn)1的下一個(gè)數(shù)據(jù)幀的目的地址不是接收節(jié)點(diǎn)1時(shí),接收節(jié)點(diǎn)1向發(fā)送節(jié)點(diǎn)1返回ACK確認(rèn)。
2.2.1數(shù)據(jù)幀的幀頭
在MAC層輸出隊(duì)列里,需要將數(shù)據(jù)幀進(jìn)行編號,如圖2所示。隊(duì)列里的數(shù)據(jù)幀根據(jù)目的地址進(jìn)行編序,如果有幾個(gè)連續(xù)的數(shù)據(jù)幀要發(fā)送到同一目的地址,則對這幾個(gè)連續(xù)數(shù)據(jù)幀由大到小編號,并在數(shù)據(jù)幀的幀頭里標(biāo)識該數(shù)據(jù)幀在連續(xù)隊(duì)列中的編號。接收節(jié)點(diǎn)根據(jù)數(shù)據(jù)幀頭中的編號決定向鄰居節(jié)點(diǎn)發(fā)送NS,還是向發(fā)送節(jié)點(diǎn)返回ACK確認(rèn)包。如果數(shù)據(jù)幀頭中的編號不為1,則接收節(jié)點(diǎn)向鄰居節(jié)點(diǎn)發(fā)送一個(gè)NS,否則接收節(jié)點(diǎn)向發(fā)送節(jié)點(diǎn)返回ACK確認(rèn)包。
圖2 MAC層數(shù)據(jù)幀編號
2.2.2接收節(jié)點(diǎn)發(fā)送通知信號
當(dāng)一個(gè)節(jié)點(diǎn)接收到數(shù)據(jù)時(shí),首先根據(jù)數(shù)據(jù)包的包頭信息中數(shù)據(jù)幀的編號,決定向鄰居節(jié)點(diǎn)發(fā)送一個(gè)NS還是一個(gè)ACK確認(rèn)包。如果編號為1,接收節(jié)點(diǎn)向發(fā)送節(jié)點(diǎn)發(fā)送一個(gè)ACK確認(rèn)包,然后該節(jié)點(diǎn)處于空閑狀態(tài);如果編號不為1,則表明發(fā)送節(jié)點(diǎn)的下一個(gè)數(shù)據(jù)包也是發(fā)送給當(dāng)前的接收節(jié)點(diǎn),此時(shí)接收節(jié)點(diǎn)向其鄰居節(jié)點(diǎn)發(fā)送一個(gè)NS,通知其鄰居節(jié)點(diǎn),該節(jié)點(diǎn)正在接收數(shù)據(jù)。鄰居節(jié)點(diǎn)接收到NS后,知道該節(jié)點(diǎn)正處于數(shù)據(jù)接收狀態(tài),此時(shí)如果鄰居節(jié)點(diǎn)有數(shù)據(jù)要發(fā)送,則退避等待該節(jié)點(diǎn)接收完數(shù)據(jù)。這樣就實(shí)現(xiàn)了接收節(jié)點(diǎn)調(diào)度發(fā)送節(jié)點(diǎn)的數(shù)據(jù)發(fā)送。
2.2.3數(shù)據(jù)的發(fā)送
當(dāng)一個(gè)節(jié)點(diǎn)要發(fā)送數(shù)據(jù)時(shí),該節(jié)點(diǎn)首先偵聽是否有來自鄰居節(jié)點(diǎn)的NS,如果收到來自鄰居節(jié)點(diǎn)的NS,則該節(jié)點(diǎn)等待一段時(shí)間 (Wait Period, WP),等待時(shí)間WP=τmax+Tns+TSIFS,其中τmax為到鄰居的最大傳播時(shí)延。如果在WP后沒有收到NS,則該節(jié)點(diǎn)發(fā)送數(shù)據(jù),否則繼續(xù)上述過程。如果在要發(fā)送數(shù)據(jù)時(shí)沒有收到來自鄰居節(jié)點(diǎn)的NS,該節(jié)點(diǎn)需要等待一個(gè)WP時(shí)間,WP時(shí)間后如果沒有收到來自鄰居節(jié)點(diǎn)的NS,則該節(jié)點(diǎn)開始發(fā)送數(shù)據(jù)。如果收到鄰居的NS,繼續(xù)重復(fù)上述過程。當(dāng)發(fā)送節(jié)點(diǎn)發(fā)送數(shù)據(jù)包的編號為1時(shí),發(fā)送完該數(shù)據(jù)包后,等待目的節(jié)點(diǎn)返回ACK確認(rèn)包;當(dāng)數(shù)據(jù)包的編號不為1時(shí),發(fā)送節(jié)點(diǎn)等待Td后發(fā)送下一個(gè)數(shù)據(jù)幀,直到當(dāng)前發(fā)送的數(shù)據(jù)幀的編號為1后,發(fā)送節(jié)點(diǎn)等待目的節(jié)點(diǎn)返回ACK確認(rèn)包。
3.1仿真場景及參數(shù)
本文將對RSSP在靜態(tài)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中的網(wǎng)絡(luò)吞吐量、掉包率和時(shí)延3個(gè)方面進(jìn)行分析,并與現(xiàn)有的基于CSMA的MAC協(xié)議作對比。在靜態(tài)網(wǎng)絡(luò)拓?fù)渲?,任意?jié)點(diǎn)隨機(jī)分布在1 000 m×1 000 m的范圍內(nèi),節(jié)點(diǎn)的發(fā)包率服從λ的泊松分布,水聲傳播速度為1 500 m/s,數(shù)據(jù)傳輸速率為4 000 b/s,數(shù)據(jù)包的長度為256 B。本文的仿真是對MAC協(xié)議的性能進(jìn)行分析,所以所有數(shù)據(jù)包的丟失都是由于MAC協(xié)議性能所導(dǎo)致。本文使用3個(gè)指標(biāo)評價(jià)MAC協(xié)議的性能。
(1)網(wǎng)絡(luò)吞吐量:在單位時(shí)間內(nèi)所收到的數(shù)據(jù)包的字節(jié)數(shù)。
(2)端到端延遲:所有數(shù)據(jù)包產(chǎn)生的時(shí)間與目的節(jié)點(diǎn)接收成功的時(shí)間差的平均值。
(3)掉包率:接收到數(shù)據(jù)包個(gè)數(shù)與發(fā)送數(shù)據(jù)包個(gè)數(shù)的比值。
3.2仿真結(jié)果
如圖3所示,當(dāng)負(fù)載很小時(shí),隨著負(fù)載的增加兩種協(xié)議吞吐量相差不大。由于當(dāng)負(fù)載很小時(shí),數(shù)據(jù)包的沖突很小,所以此時(shí)兩種協(xié)議的性能差不多。但是當(dāng)負(fù)載大于0.01時(shí),RSSP協(xié)議的吞吐量明顯比CSMA的高。這是因?yàn)楫?dāng)負(fù)載不斷增大時(shí), CSMA協(xié)議因隱藏終端而導(dǎo)致的數(shù)據(jù)包的沖突數(shù)量不斷增加。RSSP協(xié)議利用NS極大程度地減緩了隱藏終端的問題,使得吞吐量有了很大的提高。
圖3 RSSP與CSMA的吞吐量的比較
圖4所示為RSSP協(xié)議與CSMA協(xié)議的掉包率的比較。仿真結(jié)果中,隨著負(fù)載的增加,RSSP協(xié)議與CSMA協(xié)議的掉包率也隨之增加。但是當(dāng)負(fù)載大于0.01時(shí),RSSP協(xié)議的掉包率明顯小于CSMA協(xié)議。這也表明了通過在接收節(jié)點(diǎn)發(fā)送通知信號來控制發(fā)送節(jié)點(diǎn)發(fā)送數(shù)據(jù)很大程度上減少了數(shù)據(jù)的沖突,降低了掉包率。雖然RSSP協(xié)議采用接收節(jié)點(diǎn)發(fā)送通知信號的方法能夠在很大程度上緩解隱藏終端的問題,但是它不能完全解決隱藏終端問題,所以RSSP協(xié)議還是有一定的掉包率。
圖4 RSSP與CSMA的掉包率的比較
圖5 RSSP與CSMA的時(shí)延比較
在圖5對比了RSSP協(xié)議與CSMA協(xié)議的時(shí)延。當(dāng)負(fù)載很小時(shí),特別在負(fù)載小于0.005時(shí),RSSP協(xié)議的時(shí)延要比CSMA協(xié)議大,這是由于當(dāng)負(fù)載很小時(shí),數(shù)據(jù)發(fā)生沖突的量很少,同時(shí)RSSP協(xié)議的發(fā)送節(jié)點(diǎn)在發(fā)送數(shù)據(jù)前需要等待一段時(shí)間預(yù)定信道,并且發(fā)送節(jié)點(diǎn)發(fā)送連續(xù)編號的數(shù)據(jù)幀時(shí),當(dāng)發(fā)送完一個(gè)數(shù)據(jù)幀時(shí),需要等待一段時(shí)間才能發(fā)送下一個(gè)數(shù)據(jù)幀,所以RSSP協(xié)議的時(shí)延要比CSMA協(xié)議的時(shí)延大。但是當(dāng)負(fù)載比較大時(shí),RSSP協(xié)議的時(shí)延要比CSMA協(xié)議的時(shí)延小,這是由于RSSP協(xié)議利用接收節(jié)點(diǎn)發(fā)送通知信號能夠極大地減少數(shù)據(jù)幀的沖突,使得其時(shí)延比CSMA協(xié)議的時(shí)延小。
本文針對水聲網(wǎng)絡(luò)信道長且可變的傳播時(shí)延問題,為提高網(wǎng)絡(luò)吞吐量,提出了一種接收節(jié)點(diǎn)發(fā)送通知信號的方式來控制發(fā)送節(jié)點(diǎn)發(fā)送數(shù)據(jù)的MAC協(xié)議。其利用通知信號來告知鄰居節(jié)點(diǎn)當(dāng)前接收節(jié)點(diǎn)的狀態(tài),鄰居節(jié)點(diǎn)收到通知信號后,等待發(fā)送數(shù)據(jù)。并且該協(xié)議解決了由于長延遲所帶來的隱藏終端的問題。在最后的仿真中,分別對比了RSSP協(xié)議與經(jīng)典CDMA協(xié)議的吞吐量、掉包率和時(shí)延,比較結(jié)果表明RSSP協(xié)議能夠獲得比較高的吞吐量和比較低的掉包率。
[1] KARN P. MACA-a new channel access method for packet radio[C]. ARRL/CRRL Amateur Radio 9th Computer Networking Conference, 1990: 134-140.
[2] KLEINROCK L, TOBAGI F A. Packet switching in radio channels: Part I—carrier sense multiple-access modes and their throughput-delay characteristics[J].Communications, IEEE
Transactions on, 1975, 23(12): 1400-1416.
[3] WU C S, LI V. Receiver-initiated busy-tone multiple access in packet radio networks[C]. ACM SIGCOMM Computer Communication Review, ACM, 1987: 336-342.
[4] DENG J, HAAS Z J. Dual busy tone multiple access (DBTMA): a new medium access control for packet radio networks[C]. Universal Personal Communications, 1998 ICUPC'98 IEEE 1998 International Conference on. IEEE, 1998: 973-977.
[5] AKYILDIZ I F, POMPILI D, MELODIA T. Underwater acoustic sensor networks: research challenges[J].Ad Hoc Networks, 2005, 3(3): 257-279.
[6] CHEN Y J, WANG H L. Ordered CSMA: a collision-free MAC protocol for underwater acoustic networks[C]. OCEANS 2007. IEEE, 2007: 1-6.
[7] SYED A A, YE W, HEIDEMANN J. T-Lohi: a new class of MAC protocols for underwater acoustic sensor networks[C]. INFOCOM 2008 the 27th Conference on Computer Communications IEEE, IEEE, 2008: 789-797.
[8] CHIRDCHOO N, SOH W S, CHUA K C. RIPT: a receiver-initiated reservation-based protocol for underwater acoustic networks[J].Selected Areas in Communications, IEEE Journal on, 2008, 26(9): 1744-1753.
Receiver signal based protocol for underwater acoustic networks
Wang Xiyang,Jiang Shengming,Yang Kaijian
(School of Information Engineering, Shanghai Maritime University, Shinghai 201306, China)
The channel of underwater acoustic networks is characterized as low data rate and long propagation delay. Using the handshaking mechanism could reduce the data conflict, it will lower the channel utilization and network throughput. Thus in this paper, we propose a receiver sending short signal based protocol abbreviated to RSSP for underwater acoustic networks. In this protocol, the receiver notifies its neighbors to stop sending by sending a short signal when the receiver receiving data, which can alleviate the hidden terminal and exposed terminal problems to improve throughput. In addition, the RSSP uses a short signal can also reduce energy consumption. The simulation results show that the proposed protocol can acquire above targets.
signal; receiver; underwater acoustic networks; MAC protocol
國家自然科學(xué)基金(61472237)
TP393
A
10.19358/j.issn.1674- 7720.2016.15.018
2016-04-15)
王希陽(1989-),男,碩士研究生,主要研究方向:無線通信網(wǎng)絡(luò)協(xié)議和算法、水下傳感網(wǎng)絡(luò)。
姜?jiǎng)倜?1964-),男,博士,教授,主要研究方向:通信網(wǎng)絡(luò)結(jié)構(gòu)、協(xié)議和算法等。
楊愷健(1991-),男,碩士研究生,主要研究方向:無線網(wǎng)絡(luò)協(xié)議。
引用格式:王希陽,姜?jiǎng)倜?,楊愷? 基于接收端信號的水聲網(wǎng)絡(luò)MAC協(xié)議[J].微型機(jī)與應(yīng)用,2016,35(15):61-64.