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