劉海洋,姜勝明
(上海海事大學信息工程學院,上海 201306)
近幾十年來,水聲網絡(Underwater Acoustic Net?works)[1-4]受到越來越多專家的關注,因為它得到了廣泛的應用支持。雖然水聲網絡的吸收率相對較低,使得聲波在水下的傳播變得普遍,但水聲通信仍然面臨著高誤碼率、高傳播延遲和時延方差等問題。一個較好的介質訪問控制(MAC)協議在水下網絡設計中具有重要的意義,因為MAC協議的目標是協調多個節點訪問共享信道,以確保高吞吐量和數據可靠性。
陸地上的MAC協議的傳播媒介是無線電波,具有可用帶寬范圍廣,傳播時延極小,幾乎可以忽略不計的特點。然而由于在水下,無線電波具有高吸收率的特點,傳播的距離比較短,光也會在水中發生反射、折射以及衰減等特點,不適用于水下環境。由于水聲信道具有可用帶寬窄,多路徑和衰退現象嚴重,水下聲波的傳播延遲大,高誤碼率、遺失連通性等特點,忙信號信道發送忙信號以及基于握手機制的MAC協議均不適用于水下聲學網絡。
基于水下的復雜環境以及陸地上所現有的MAC協議的基礎上,本文提出了一種基于競爭式的接收端控制并且由接收端決定接收計劃的方法來解決數據傳輸時在水下無線網絡通信過程中的沖突問題,這樣不僅沒有產生握手機制所帶來的非常大的傳播時延,而且利用帶有接收節點的接收計劃的非常短小的數據幀作為通知鄰居節點是否發送數據或者進入等待的方式,可以很大程度上地減少傳播過程中的擁塞,并且有效地提高了信道的利用率。本文在這種思想的引導下,提出了一種有別于傳統MAC協議的水下介質訪問協議,叫做“基于接收端控制的水下介質訪問協議”。該協議的具體設計以及具體的實現將在本文的第二節詳細描述。
現在的水下聲學網絡中的MAC協議主要可以分為兩類:其中的一類屬于競爭式的MAC協議;另一類屬于節點調度的MAC協議[5]。類屬于競爭式的MAC協議需要發送節點利用偵聽的方式,通過競爭獲取信道的使用,在競爭的過程中數據發送沖突的可能性不能避免;類屬于調度的MAC協議利用節點進行控制數據的發送和接收,來達到避免數據沖突的目的。
PCAP[6]是一種基于握手機制的MAC協議,這個協議的優點RTS信號在發送方發送結束后,等待接收節點回復CTS之前,做其他的操作。由于接收方在RTS信號到達時等待一段時間再回復一個CTS信號,握手的最大時間相當于一個往返時間的最大值。發送方在發送 RTS信號后最大等待時間為 Ta=2(Td-(rx-tx)),其中Td代表通信雙方間的最大傳播延遲,tx代表RTS傳輸時間,rx代表接收方接收到RTS幀的時間。實驗數據顯示,水聲網絡中PCAP數據傳輸速率低的情況下它的吞吐量要優于Aloha,但是,數據傳輸速率變大的時候,PCAP的吞吐量優勢不再明顯。
Order CSMA[7]是一種水下無沖突的水聲網絡MAC協議,它將傳統的CSMA協議與輪詢調度算法優點相結合。在這個協議當中,每個節點都根據自身固定的順序發送數據,不需要像RTS/CTS那樣在等待一個最大的傳播延遲。這個協議可以在一定程度上減少接收端數據包的沖突。但是,由于所有的節點都要不停歇地對信道和所有收到的數據幀進行偵聽,這樣就會造成能量的浪費,而且,只有輪詢到一個節點的時候,這個節點才能向鄰居節點發送數據,信道的利用率較低。
RSSP[8]協議利用不攜帶任何信息的短小信號,告知鄰居節點當前時刻不要發送數據,此協議很大程度上解決了隱藏終端帶來的吞吐量等問題;但是由于每次接收完成一個數據信息時都需要進行等待,廣播短小信號對網絡吞吐量,信道的利用率以及時延等特性仍有進一步的提升空間。
本文提出的協議是在競爭的基礎上,基于接收端發送接收計劃表進行數據傳輸控制的水下MAC協議。該協議是在接收節點處定義一個數據幀,此數據幀中攜帶著接收節點此時的接收計劃信息,即數據幀為(Receiving Schedule,RS),再定義一個短小的脈沖信號(Notice Signal,NS)。此協議不需要像非競爭式的握手機制那樣進行預先預定信道,而是在接收數據前發送一個攜帶接收計劃表的數據幀RS,當發送節點接收到此數據幀時,根據接收計劃表中的接收計劃進行數據的發送。接收節點在接收完成一個數據幀時,如果此數據幀不在接收計劃的最后一個數據幀,那么返回一個NS告知鄰居節點此時節點正在接收數據,鄰居節點進行退避等待。該協議的一個主要的作用就是利用攜帶有接收計劃表的數據幀和一個脈沖信號來解決隱藏終端的問題,接收節點通過發送僅攜帶接收計劃表的數據幀和非常短小的脈沖信號,來減少數據沖突,提高網絡吞吐量。
(1)發送的數據幀格式
在MAC層的輸出隊列中,節點的發送隊列根據接收計劃來執行,如果某一鄰居節點需要向同一接收節點發送幾個連續的數據幀,并且接收計劃中的最后一個數據幀仍在此連續數據幀中間,那么對這幾個數據幀進行從小到大編號,并在數據幀的幀頭里對這些連續隊列的編號進行標記,當接收節點接收到計劃表中最后一個數據幀時,根據此時數據幀的編號決定接收節點是返回NS進行繼續接收還是返回一個ACK確認幀。如果接收節點接收到的最后一個數據幀編號不是1,返回NS并繼續接收下一個數據幀,否則返回ACK確認幀。

圖1 MAC層幀的編號
(2)接收節點發送接收計劃
當接收節點決定接收數據的時候,鄰居節點進行偵聽和信道的競爭,接收節點根據發送節點發送的數據幀長度以及時延大小決定此時的接收計劃。在接收節點接收數據之前,首先發送攜帶有接收計劃的RS,發送節點發送數據,當一個數據幀接收完成的時候,如果接收計劃還有后續的數據幀需要接收,返回一個NS,告知鄰居節點此時處于接收狀態,鄰居節點進行等待。當接收隊列接收數據完成的時候,接收節點返回一個ACK確認幀,那么此接收節點處于空閑狀態,鄰居節點可以開始進行信道的競爭。這樣可以實現由接收節點決定發送節點的數據發送,從而有效地解決了隱藏終端的問題。
(3)發送節點發送數據
當發送節點要發送數據的時候,首先需要進行信道的競爭,接收節點向發送節點發送RS,發送節點根據接收計劃發送數據幀,當接收計劃中的數據幀尚未接收完成時,接收節點廣播NS告知鄰居節點此時接收節點需要繼續接收數據,鄰居節點需要等待一段時間(Wait Time,WT),等待時間 WT=Tmax+Pmax+SSn+Tsifs+Tns;其中,Tmax為RS的最大發送時延,Pmax為ACK傳播的最大時延,SSn為接收隊列中發送節點數據幀隊列發送所用時間總和,Tsifs為鄰居節點由等待狀態轉變為發送狀態所用的時間,Tns為NS所用時間總和。接收節點將接收計劃完成后返回一個ACK,那么重新進行信道的競爭。
本文將對此協議在靜態網絡拓撲結構中的網絡吞吐量、掉包率和時延這三個方面進行一一對比分析,并與現有的CSMA協議進行對比分析。在靜態網絡拓撲結構中,隨機選取任意個數的節點進行隨機分布在大小為1000m×1000m的范圍內,節點的發包速率以及個數服從特征值為λ的泊松分布,在水下環境中,聲音的傳播速度是大約為1500m/s,數據在水下的傳輸速率是4000bit/s,每個數據包的大小為256 B。本文進行的仿真是對此新的MAC協議的性能進行分析,在仿真過程中,所有的數據包的丟失都默認為為本協議的性能不足所造成。本文中使用三個指標來評價此MAC協議的性能。
(1)網絡吞吐量:單位時間內所收到的數據包的字節數。
(2)丟包率:接收節點接收到的數據包與發送節點發送的數據包的比值。
(3)節點的平均時延:所有數據包產生的時間與目的節點接收成功的時間差的平均值。
仿真結果如圖2所示,當負載較小時,此協議與CSMA協議的吞吐量變化基本一致,當負載大于0.85時,由于隱藏終端導致的數據包的沖突不斷增加,本協議的吞吐量明顯比CSMA的高。本協議利用接收節點進行安排接收隊列,可以減少數據的沖突,從而提升了吞吐量。

圖2 本協議與CSMA協議吞吐量的比較
在圖3中對比節點的丟包率,兩者的丟包率均隨著負載的增加而變大,但當負載大于0.005時,本協議的丟包率明顯小于CSMA協議,仿真結果說明基于接收端接收計劃來控制數據的發送在很大程度上減少了數據的沖突,從而使得丟包率降低。根據圖示,此協議雖然可以在很大程度上減少丟包率,因為不能完全解決隱藏終端的問題,所以也存在一定的丟包率。

圖3 本協議與CSMA協議的節點的丟包率的比較
圖4對兩個協議中節點傳播的平均時延進行對比,在負載較小時,CSMA協議的時延小于本協議,這是因為低負載的時候數據包沖突較小,而本協議因為接收節點需要發送接收計劃表浪費了一部分時間。當負載大于0.015的時候,本協議的時延小于CSMA協議,這是因為本協議由接收節點決定發送節點的發送隊列,從而數據有序的進行發送。解決了隱藏終端的問題,從而減少了數據包的沖突,使得鄰居節點的等待時間減少。

圖4 本協議與CSMA協議時延的比較
本文為了解決復雜水下隱藏終端問題,提高網絡的吞吐量,降低節點的丟包率以及減小數據傳播的時延,提出了一種基于接收端控制收發數據的MAC協議,此協議利用接收節點發送帶有接收計劃信息數據幀告知發送節點此時接收節點的接收隊列,發送節點根據接收節點的接收隊列進行數據的發送,接收節點接收完成一個數據幀時,當此數據幀不在接收計劃的最后時,接收節點返回NS,鄰居節點進行退避等待。此協議在一定程度上解決了隱藏終端問題。在EXE?AT仿真平臺上,模擬分析了本協議與CSMA協議的吞吐量、丟包率以及傳播的平均時延,仿真結果表明,本協議具有更好的吞吐量以及更小的丟包率。
[1]Chirdchoo N,Soh W S,Chua K C.Aloha based MAC Protocols with Collision Avoidance for Underwater Acoustic Networks[C].Proc of 26th IEEE International Conference on Computer Communications.Anchorage:IEEE,2007:2271-2275.
[2]State-of-the-Art Medium Access Control(MAC)Protocols for Underwater Acoustic Networks:A Survey Based on A MAC Reference Model Shengming Jiang IEEE Communications Surveys&Tutorials Year:2018,Volume:20,Issue:1 Pages:96-131.
[3]K.Chen,M.Ma,E.Cheng,F.Yuan,W.Su,A Survey on MAC Protocols for Underwater Wireless Sensor Networks,IEEE Commun.Surv.Tutor.(ISSN:1553-877X),16(3)(2014)1433-1447.
[4]Chirdchoo N,Soh W S,Chua K C.MACA-MN:A MACA Based MAC Protocol for Underwater Acoustic Networks with Packet Train for Multiple Neighbors[C].Proc of 67th IEEE Vehicular Technology Conference.Singapore:IEEE,2008:46-50.
[5]Shah G A.A Survey on Medium Access Control in Underwater Acoustic Sensor Networks[D].Proc of International Conference on Advanced Information Networking and Applications Workshops.Bradford:IEEE,2009:1178-1183.
[6]X.Guo,M.R.Frater,and M.J.Ryan.A Propagation Delay Tolerant Collision Avoidance Protocol for Underwater Acoustic Sensor Networks[A].In Proc.MTS/IEEE OCEANS.Boston,MA,USA,2006.
[7]CHAN Y J WANG H L.Ordered CSMA:A Collision Free MAC Protocol for Underwater Acousitic Networks[C].OCAEAS 2007.IEEE,2007:1-6.
[8]王希陽,姜勝明,楊凱健.基于接收端信號的水聲網絡MAC協議[J].微型機與應用,2016,35(15):61-64.