王希陽,,姜勝明,楊愷健
?。ㄉ虾:J麓髮W 信息工程學院,, 上海 201306)
摘要:水聲網(wǎng)絡的信道具有數(shù)據(jù)速率低以及傳播時延長的特點,如果采用握手機制減少數(shù)據(jù)沖突,,將降低信道利用率和網(wǎng)絡的吞吐量,。提出了一種基于接收節(jié)點發(fā)送短信號告知鄰居節(jié)點其接收狀態(tài)的水聲網(wǎng)絡MAC協(xié)議,即當接收節(jié)點接收數(shù)據(jù)時,,向鄰居節(jié)點發(fā)送短信號通知其當前時刻不要發(fā)送數(shù)據(jù),,解決了隱藏終端和暴露終端的問題,并提高了網(wǎng)絡吞吐量,;除此之外,,使用短信號還能夠降低能量損耗。仿真結果表明該協(xié)議能夠實現(xiàn)上述目的,。
關鍵詞:信號,;接收端;水聲網(wǎng)絡,;MAC協(xié)議
0引言
對于共享媒介網(wǎng)絡,,節(jié)點需要媒體接入控制協(xié)議控制接入共享信道。共享媒介網(wǎng)絡中的隱藏終端和暴露終端問題導致網(wǎng)絡吞吐量大大降低,。陸地上的無線網(wǎng)絡主要有兩種方法緩解隱藏終端,,一種是采用握手機制,如MACA[1]協(xié)議,;另一種是通過發(fā)送忙信號機制,,基于這種機制的MAC協(xié)議有BTMA[2]、RIBTMA[3]和DBTMA[4],。
目前已有許多MAC協(xié)議可以解決陸地上無線網(wǎng)絡的數(shù)據(jù)沖突,,但是由于陸地上的MAC協(xié)議設計是以無線電波作為傳播媒介,傳播時延非常小,,幾乎可以忽略,,并且可用帶寬范圍很大,然而水下無線通信傳播時延長,、可用帶寬非常窄,,導致這些適用于陸地上的MAC協(xié)議不能直接應用到水下無線網(wǎng)絡,。水下通信主要是通過聲波作為通信媒介,而聲波在水中的傳播速度大約只有1 500 m/s,,這導致了非常長的傳播時延,。水聲信道的可用帶寬非常窄,只有幾到幾十千赫茲[5],,如果再把信道劃分出一部分作為忙信號信道,,就會降低信道利用率,所以利用忙信號信道發(fā)送忙信號解決數(shù)據(jù)沖突不適用于水聲信道,。又由于水聲傳播時延長,對于基于握手機制的MAC協(xié)議也不適用于水下MAC協(xié)議,。
如果利用聲波信號解決數(shù)據(jù)沖突的問題,,就會避免基于握手機制帶來的長時延,同時使用非常短的聲波信號作為控制信號,,提高了信道的利用率,。本文基于這種思想提出了一種新穎的水聲網(wǎng)絡MAC協(xié)議,稱為“基于接收端信號”的MAC協(xié)議(RSSP),。該協(xié)議的實現(xiàn)將在本文第2節(jié)闡述,。
1相關工作
當前,對于水下MAC協(xié)議的研究并沒有陸地上MAC協(xié)議研究成熟,,仍然處于研究的初期階段,。由于水聲信道的一些獨特的特點,使得水下MAC協(xié)議設計面臨巨大挑戰(zhàn),。
順序式CSMA[6]協(xié)議是一種無沖突的水聲網(wǎng)絡MAC協(xié)議,。該協(xié)議結合了輪詢調度算法和CSMA協(xié)議。在該協(xié)議中,,每個節(jié)點都以固定的順序發(fā)送數(shù)據(jù),,不需要等待一個最大的傳播時延。該協(xié)議有效減少了數(shù)據(jù)包的沖突,。但是每個節(jié)點需要一直偵聽信道和收到的所有的數(shù)據(jù)幀,,這將增加能量損耗,并且只有輪詢到一個節(jié)點時,,該節(jié)點才能發(fā)送數(shù)據(jù),。
TLohi[7]是一種在發(fā)送節(jié)點基于聲調競爭信道的水聲網(wǎng)絡MAC協(xié)議。在該協(xié)議中,,發(fā)送一個數(shù)據(jù)包的時間被分成兩個部分,,信道預定時間(RP)和數(shù)據(jù)發(fā)送時間。信道預定時間又被分成了許多競爭環(huán)(CR),。當發(fā)送節(jié)點想要發(fā)送數(shù)據(jù)簽時,,在CR期間先發(fā)送一個聲調給鄰居節(jié)點,,如果沒有收到來自鄰居的聲調,則該節(jié)點成功預定到信道,,然后發(fā)送數(shù)據(jù)包,。TLohi協(xié)議利用時空不確定性和高時延特性,檢測沖突和競爭信道的節(jié)點數(shù),,來提高信道利用率,,并降低能量損耗。但是該協(xié)議需要在競爭環(huán)內處于空閑狀態(tài)監(jiān)聽信道,,并且對于水聲信道的長時延特點,,一個競爭環(huán)的時間太長。
在RIPT[8]協(xié)議中,,提出了一種在接收節(jié)點使用握手機制的MAC協(xié)議,。該協(xié)議根據(jù)水聲信道的長傳播時延特點,在接收節(jié)點調度多個鄰居節(jié)點發(fā)送數(shù)據(jù)包的次序,。這圖1RSSP協(xié)議流程圖樣能夠獲得高的吞吐量,,同時也減緩了隱藏終端的問題。這個協(xié)議也有一些不足之處,,采用接收節(jié)點調度多個發(fā)送節(jié)點發(fā)送數(shù)據(jù)順序的方法,,需要非常復雜的流量預測算法,同時對于水下信道長的傳播時延,,四路握手機制相對降低了信道的利用率,。
2協(xié)議設計
2.1協(xié)議概述
本文提出的RSSP協(xié)議是一種基于競爭式的水下MAC協(xié)議。該協(xié)議是在接收節(jié)點通過發(fā)送一個不攜帶任何信息的短小信號,,即通知信號(Notification Signal, NS), 通知鄰居節(jié)點當前時刻不要發(fā)送數(shù)據(jù),。RSSP協(xié)議不需要像握手機制那樣在發(fā)送數(shù)據(jù)前,通過發(fā)送RTS/CTS控制包預定信道,,而是在接收節(jié)點接收數(shù)據(jù)時,,向鄰居節(jié)點發(fā)送NS通知鄰居節(jié)點當前正在接收數(shù)據(jù),當鄰居節(jié)點接收到NS后不會向其他節(jié)點發(fā)送數(shù)據(jù),。從而解決了隱藏終端和暴露終端的問題,,并提高了信道利用率。該協(xié)議的一個主要特點是通過信號解決隱藏終端和暴露終端的問題,,發(fā)送信號而不是發(fā)送控制包(如RTS/CTS),,這樣不僅提高了頻帶利用率,同時還降低了能量損耗,,減小數(shù)據(jù)間的干擾,。另外一個特點是由接收節(jié)點決定鄰居節(jié)點是否可以發(fā)送數(shù)據(jù),更有效地減少了數(shù)據(jù)的沖突。
2.2協(xié)議工作過程
當接收節(jié)點接收數(shù)據(jù)時就向鄰居節(jié)點發(fā)送NS,,表示接收節(jié)點當前處于接收數(shù)據(jù)狀態(tài),。若鄰居節(jié)點偵聽到NS,則表示該鄰居節(jié)點的周圍存在處于接收數(shù)據(jù)的節(jié)點,;若沒有偵聽到NS,,則表示該鄰居節(jié)點的周圍沒有存在處于接收數(shù)據(jù)狀態(tài)的節(jié)點,如果該節(jié)點要發(fā)送數(shù)據(jù),,那么可以發(fā)送MAC層隊列的數(shù)據(jù),。從而解決了隱藏終端和暴露終端的問題。RSSP協(xié)議流程圖如圖1所示,,描述了節(jié)點發(fā)送數(shù)據(jù)包的過程,。發(fā)送節(jié)點1競爭到信道,向接收節(jié)點1發(fā)送數(shù)據(jù)幀,,接收節(jié)點1接收到來自發(fā)送節(jié)點1的數(shù)據(jù)幀后,,如果發(fā)送節(jié)點1下一個數(shù)據(jù)幀的目的地址仍然是接收節(jié)點1,則接收節(jié)點1向鄰居節(jié)點(發(fā)送節(jié)點2,、3)發(fā)送一個NS,發(fā)送節(jié)點2,、3偵聽到NS后,,不向其他節(jié)點發(fā)送數(shù)據(jù)。發(fā)送節(jié)點1等待一段時間Td后(其中Td=Tns+TSIFS,,Tns為發(fā)送NS的時延,,TSIFS為從接收狀態(tài)轉為發(fā)送狀態(tài)所需要的時間),向接收節(jié)點1發(fā)送下一個數(shù)據(jù)幀,,當發(fā)送節(jié)點1的下一個數(shù)據(jù)幀的目的地址不是接收節(jié)點1時,,接收節(jié)點1向發(fā)送節(jié)點1返回ACK確認。
2.2.1數(shù)據(jù)幀的幀頭
在MAC層輸出隊列里,,需要將數(shù)據(jù)幀進行編號,,如圖2所示。隊列里的數(shù)據(jù)幀根據(jù)目的地址進行編序,,如果有幾個連續(xù)的數(shù)據(jù)幀要發(fā)送到同一目的地址,,則對這幾個連續(xù)數(shù)據(jù)幀由大到小編號,并在數(shù)據(jù)幀的幀頭里標識該數(shù)據(jù)幀在連續(xù)隊列中的編號,。接收節(jié)點根據(jù)數(shù)據(jù)幀頭中的編號決定向鄰居節(jié)點發(fā)送NS,,還是向發(fā)送節(jié)點返回ACK確認包。如果數(shù)據(jù)幀頭中的編號不為1,,則接收節(jié)點向鄰居節(jié)點發(fā)送一個NS,,否則接收節(jié)點向發(fā)送節(jié)點返回ACK確認包。
2.2.2接收節(jié)點發(fā)送通知信號
當一個節(jié)點接收到數(shù)據(jù)時,,首先根據(jù)數(shù)據(jù)包的包頭信息中數(shù)據(jù)幀的編號,,決定向鄰居節(jié)點發(fā)送一個NS還是一個ACK確認包。如果編號為1,,接收節(jié)點向發(fā)送節(jié)點發(fā)送一個ACK確認包,,然后該節(jié)點處于空閑狀態(tài);如果編號不為1,,則表明發(fā)送節(jié)點的下一個數(shù)據(jù)包也是發(fā)送給當前的接收節(jié)點,,此時接收節(jié)點向其鄰居節(jié)點發(fā)送一個NS,通知其鄰居節(jié)點,,該節(jié)點正在接收數(shù)據(jù),。鄰居節(jié)點接收到NS后,知道該節(jié)點正處于數(shù)據(jù)接收狀態(tài),,此時如果鄰居節(jié)點有數(shù)據(jù)要發(fā)送,,則退避等待該節(jié)點接收完數(shù)據(jù)。這樣就實現(xiàn)了接收節(jié)點調度發(fā)送節(jié)點的數(shù)據(jù)發(fā)送,。
2.2.3數(shù)據(jù)的發(fā)送
當一個節(jié)點要發(fā)送數(shù)據(jù)時,,該節(jié)點首先偵聽是否有來自鄰居節(jié)點的NS,如果收到來自鄰居節(jié)點的NS,,則該節(jié)點等待一段時間 (Wait Period, WP),,等待時間WP=τmax+Tns+TSIFS,其中τmax為到鄰居的最大傳播時延。如果在WP后沒有收到NS,,則該節(jié)點發(fā)送數(shù)據(jù),,否則繼續(xù)上述過程。如果在要發(fā)送數(shù)據(jù)時沒有收到來自鄰居節(jié)點的NS,,該節(jié)點需要等待一個WP時間,,WP時間后如果沒有收到來自鄰居節(jié)點的NS,則該節(jié)點開始發(fā)送數(shù)據(jù),。如果收到鄰居的NS,,繼續(xù)重復上述過程。當發(fā)送節(jié)點發(fā)送數(shù)據(jù)包的編號為1時,,發(fā)送完該數(shù)據(jù)包后,,等待目的節(jié)點返回ACK確認包;當數(shù)據(jù)包的編號不為1時,,發(fā)送節(jié)點等待Td后發(fā)送下一個數(shù)據(jù)幀,,直到當前發(fā)送的數(shù)據(jù)幀的編號為1后,發(fā)送節(jié)點等待目的節(jié)點返回ACK確認包,。
3仿真和結果分析
3.1仿真場景及參數(shù)
本文將對RSSP在靜態(tài)網(wǎng)絡拓撲結構中的網(wǎng)絡吞吐量,、掉包率和時延3個方面進行分析,并與現(xiàn)有的基于CSMA的MAC協(xié)議作對比。在靜態(tài)網(wǎng)絡拓撲中,,任意節(jié)點隨機分布在1 000 m×1 000 m的范圍內,,節(jié)點的發(fā)包率服從λ的泊松分布,水聲傳播速度為1 500 m/s,,數(shù)據(jù)傳輸速率為4 000 b/s,,數(shù)據(jù)包的長度為256 B。本文的仿真是對MAC協(xié)議的性能進行分析,,所以所有數(shù)據(jù)包的丟失都是由于MAC協(xié)議性能所導致,。本文使用3個指標評價MAC協(xié)議的性能。
?。?)網(wǎng)絡吞吐量:在單位時間內所收到的數(shù)據(jù)包的字節(jié)數(shù),。
(2)端到端延遲:所有數(shù)據(jù)包產(chǎn)生的時間與目的節(jié)點接收成功的時間差的平均值,。
?。?)掉包率:接收到數(shù)據(jù)包個數(shù)與發(fā)送數(shù)據(jù)包個數(shù)的比值。
3.2仿真結果
如圖3所示,,當負載很小時,,隨著負載的增加兩種協(xié)議吞吐量相差不大。由于當負載很小時,,數(shù)據(jù)包的沖突很小,,所以此時兩種協(xié)議的性能差不多。但是當負載大于0.01時,,RSSP協(xié)議的吞吐量明顯比CSMA的高。這是因為當負載不斷增大時,, CSMA協(xié)議因隱藏終端而導致的數(shù)據(jù)包的沖突數(shù)量不斷增加,。RSSP協(xié)議利用NS極大程度地減緩了隱藏終端的問題,使得吞吐量有了很大的提高,。
圖4所示為RSSP協(xié)議與CSMA協(xié)議的掉包率的比較,。仿真結果中,隨著負載的增加,,RSSP協(xié)議與CSMA協(xié)議的掉包率也隨之增加,。但是當負載大于0.01時,RSSP協(xié)議的掉包率明顯小于CSMA協(xié)議,。這也表明了通過在接收節(jié)點發(fā)送通知信號來控制發(fā)送節(jié)點發(fā)送數(shù)據(jù)很大程度上減少了數(shù)據(jù)的沖突,,降低了掉包率。雖然RSSP協(xié)議采用接收節(jié)點發(fā)送通知信號的方法能夠在很大程度上緩解隱藏終端的問題,,但是它不能完全解決隱藏終端問題,,所以RSSP協(xié)議還是有一定的掉包率。
在圖5對比了RSSP協(xié)議與CSMA協(xié)議的時延。當負載很小時,,特別在負載小于0.005時,,RSSP協(xié)議的時延要比CSMA協(xié)議大,這是由于當負載很小時,,數(shù)據(jù)發(fā)生沖突的量很少,,同時RSSP協(xié)議的發(fā)送節(jié)點在發(fā)送數(shù)據(jù)前需要等待一段時間預定信道,并且發(fā)送節(jié)點發(fā)送連續(xù)編號的數(shù)據(jù)幀時,,當發(fā)送完一個數(shù)據(jù)幀時,,需要等待一段時間才能發(fā)送下一個數(shù)據(jù)幀,所以RSSP協(xié)議的時延要比CSMA協(xié)議的時延大,。但是當負載比較大時,,RSSP協(xié)議的時延要比CSMA協(xié)議的時延小,這是由于RSSP協(xié)議利用接收節(jié)點發(fā)送通知信號能夠極大地減少數(shù)據(jù)幀的沖突,,使得其時延比CSMA協(xié)議的時延小,。
4結論
本文針對水聲網(wǎng)絡信道長且可變的傳播時延問題,為提高網(wǎng)絡吞吐量,,提出了一種接收節(jié)點發(fā)送通知信號的方式來控制發(fā)送節(jié)點發(fā)送數(shù)據(jù)的MAC協(xié)議,。其利用通知信號來告知鄰居節(jié)點當前接收節(jié)點的狀態(tài),鄰居節(jié)點收到通知信號后,,等待發(fā)送數(shù)據(jù),。并且該協(xié)議解決了由于長延遲所帶來的隱藏終端的問題。在最后的仿真中,,分別對比了RSSP協(xié)議與經(jīng)典CDMA協(xié)議的吞吐量,、掉包率和時延,比較結果表明RSSP協(xié)議能夠獲得比較高的吞吐量和比較低的掉包率,。
參考文獻
?。?] KARN P. MACAa new channel access method for packet radio[C]. ARRL/CRRL Amateur Radio 9th Computer Networking Conference, 1990: 134140.
?。?] KLEINROCK L, TOBAGI F A. Packet switching in radio channels: Part I—carrier sense multipleaccess modes and their throughputdelay characteristics[J].Communications, IEEE Transactions on, 1975, 23(12): 14001416.
?。?] WU C S, LI V. Receiverinitiated busytone multiple access in packet radio networks[C]. ACM SIGCOMM Computer Communication Review, ACM, 1987: 336342.
?。?] 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: 973977.
?。?] AKYILDIZ I F, POMPILI D, MELODIA T. Underwater acoustic sensor networks: research challenges[J].Ad Hoc Networks, 2005, 3(3): 257279.
[6] CHEN Y J, WANG H L. Ordered CSMA: a collisionfree MAC protocol for underwater acoustic networks[C]. OCEANS 2007. IEEE, 2007: 16.
?。?] SYED A A, YE W, HEIDEMANN J. TLohi: a new class of MAC protocols for underwater acoustic sensor networks[C]. INFOCOM 2008 the 27th Conference on Computer Communications IEEE, IEEE, 2008: 789797.
?。?] CHIRDCHOO N, SOH W S, CHUA K C. RIPT: a receiverinitiated reservationbased protocol for underwater acoustic networks[J].Selected Areas in Communications, IEEE Journal on, 2008, 26(9): 17441753.