李 莉,李 進,路晨賀,靳曉珂,魏宗博
(1.沈陽化工大學 計算機科學與技術學院,遼寧 沈陽 110142;2.遼寧省化工過程工業智能化技術重點實驗室,遼寧 沈陽 110142)
由于水下環境復雜多變,水聲通信信道具有長傳播延時、可用帶寬窄、能量受限、多普勒效應及多徑效應明顯等特點[1-5],使得水聲傳感器網絡技術的發展受到嚴重制約,亟需性能優秀的MAC和路由協議等。高效的MAC協議可以控制網絡節點對時間和資源的調度,減少數據沖突,縮短網絡延時,使信道資源得到充分利用[6-8]。
在水聲傳感器網絡中,預約類 MAC 協議結構復雜,但可以明顯降低數據包沖突的概率,提高網絡的吞吐量。目前,預約類MAC協議的研究主要基于Carrier Sense Multiple Access (CSMA)協議開展,UW-CSMA/CA[9]協議是根據水聲傳感器網絡的特點對陸上CSMA/CA[10]協議進行的改進,該協議能夠根據信道監聽結果和網絡分配矢量Network Allocation Vector (NAV)[11]值確定節點數據的發送和接收。但是由于該協議NAV值的設置不能根據節點間距離進行調整,而是簡單地采用網絡中的最大傳播延時進行計算,導致網絡傳播延時比較大[12]。本文針對UW-CSMA/CA協議的NAV問題進行改進,設計了Adjustable-NAV-MAC(AN-MAC)協議,以此改善冗余延時問題。
同時,為了使協議的仿真環境更加接近實際網絡情況,本文基于NS-Miracle仿真器進行拓展,將NS-Miracle中的Bellhop聲射線模型與世界海洋仿真系統WOSS進行結合,根據實際水域環境數據(溫度、聲速剖面及沉積物等)模擬聲波在水下的傳輸特性,仿真水聲傳感器網絡的運行過程,獲取更接近實際情況的仿真數據,提高仿真結果的有效性。
UW-CSMA/CA協議采用具有物理載波偵聽和虛擬載波偵聽的握手機制,數據通信過程包括RTS-CTS-DATA-ACK幾個傳輸階段[13-14]。該協議的通信過程如圖1所示,S是源節點,D是目的節點。

圖1 UW-CSMA/CA協議的通信過程Fig.1 Communication process of UW-CSMA/CA protocol
在網絡中,當源節點有數據包要發送時,應先通過載波偵聽技術對信道進行偵聽。如果信道繁忙,發送方則需要進行退避;如果信道空閑,則源節點發送RTS控制幀預約信道。當目的節點接收到RTS,且在以后的一段時間內不存在數據通信,則向源節點回復CTS。在源節點接收到CTS后,立即發送DATA。目的節點在接收到源節點發送的DATA后,立即回復ACK并結束此次通信。源節點接收到ACK后也隨即結束此次通信。但是當數據通信過程發生異常時,如源節點未接收到CTS或ACK超時,源節點則采用NAV機制退避并進行數據重傳處理。而對于網絡中的其他鄰節點,接收到不是發送給自己的數據包時,將保持靜默,保證此次通信順利完成。
圖2為UW-CSMA/CA協議的NAV設置及握手過程。通過RTS,CTS控制幀握手,DATA數據幀與ACK確認幀交互,實現了數據傳輸。在通信過程中,節點在偵聽控制幀時,鄰節點會根據控制幀中包含的傳輸時間設置NAV,然后在偵聽到新的控制幀時更新NAV。而源節點與目的節點間的傳播延時也是設置NAV的必要條件。以設置UW-CSMA/CA協議的NAVCTS為例,目的節點接收到CTS幀后,節點間還需要進行3次幀的傳播,分別為目的節點返回CTS幀,源節點發送DATA數據,接收節點返回確認ACK,且經過2個幀間間隙。則NAVCTS設置為CTS幀、DATA和ACK幀三者之間傳播延時與DATA數據及ACK幀傳輸時間的總和。

圖2 NAV設置及握手過程Fig.2 NAV configurations and handshake process
如圖2所示,鄰節點根據偵聽到CTS設置相應的NAV,具體實現如下:
(1)
式中,Tmp_delay為網絡節點間的最大傳播延時;SIFS為幀間間隙。
由于該協議不獲取網絡中節點的位置信息,式中Tmp_delay被設置為網絡中節點間的最大傳播延時。由于網絡中各節點的位置不同,節點間的距離均小于或等于最大距離,節點間的傳播延時一定小于或等于最大傳播延時。因此,采用最大延時作為退避時間將會使網絡中的整體延時加大,降低了網絡的吞吐量。針對以上問題,本文對NAV設置方式進行了改進,采用節點間距離計算節點間實際延時替換最大延時來降低節點退避時間,該協議稱為AN-MAC協議,其NAV設置及握手過程如圖3所示。

圖3 AN-MAC協議的NAV設置以及握手過程Fig.3 NAV configurations and handshake process of AN-MAC protocol
由圖3可以看出,圖中的Tap_delay為源節點到目的節點的實際傳播延時,它可以通過修改RTS/CTS幀結構,根據節點間距離及水聲傳播速度等方式進行計算和存儲,其小于圖2中的最大傳播延時Tmp_delay,采用Tap_delay代替Tmp_delay來計算NAV,具體實現如下:
(2)

本文主要對UW-CSMA/CA協議的傳輸機制以及NAV取值問題進行分析,通過調節NAV對節點間通信時的退避時間進行分配,提出了一種根據實際距離分配NAV的方法——AN-MAC協議,將傳統的NAV確定方法結合節點距離測定算法進行改進,用來解決鄰節點NAV配置冗余問題,從而降低網絡整體的延時,提高網絡吞吐量。
為實現AN-MAC協議中NAV的設置,對UW-CSMA/CA協議做出如下具體改進:
(1) 幀結構
修改RTS幀和CTS幀結構,如圖4所示,在RTS幀和CTS幀中添加時間存儲站字段,該字段是為了計算源節點與目的節點間的傳輸時間差,即2節點間的實際傳播延時Tap_delay。具體操作:在源節點發送RTS幀時記錄當前時刻Ti,當目的節點發送CTS控制幀時記錄當前時刻Tk,在時間存儲字段中記錄2節點單次傳播延時Tap_delay,其為Tk與Ti的算術差。
考慮鄰居節點沖突問題,建立了鄰居節點NAV表,由于協議需要源節點的CTS/ACK的發送信息才能管理鄰居NAV表,因此將附加字段(即發送節點地址)添加到CTS/ACK。

圖4 AN-MAC協議的幀結構Fig.4 Frame structure of AN-MAC protocol
(2) 協議通信過程
AN-MAC協議的具體通信過程如圖5所示。
源節點開始建立通信時,以源節點與目的節點間的實際傳播延時Tap_delay來計算NAVRTS,這樣NAVRTS被記錄在RTS幀中,監測到RTS幀的所有節點會通過RTS中的NAVRTS來進行自身NAV的計算,NAVRTS的計算如下:
NAVRTS=4Tap_delay+3SIFS+TCTS+TDATA+TACK。
(3)

圖5 AN-MAC協議的通信過程Fig.5 Communication process of AN-MAC protocol
當目的節點接收到RTS幀后,讀取其中的NAVRTS,并根據時間存儲站計算出Tap_delay,然后目的節點發送CTS幀時會獲取RTS中的Tap_delay進行NAVCTS的計算,NAVCTS的計算如式(4)所示。對于DATA幀以及ACK幀的NAV確定也是在Tap_delay基礎上進行的。當其他節點偵聽到CTS幀時,會在NAVCTS基礎上進行更新。
NAVCTS=3Tap_delay+2SIFS+TDATA+TACK。
(4)
在接收到CTS幀之后,源節點能夠獲取Tap_delay,并在此基礎上計算TDATA,然后源節點將包含TDATA的數據包DATA發送給目的節點。目的節點接收到來自源節點的DATA數據包后,其他的鄰節點已經根據接收到RTS幀和DATA幀中的數據將它們的NAV值更新。若目的節點與源節點相距較小,則根據Tap_delay計算得出新的NAVRTS值也會小于NAVRTS,節點取消其當前的NAV計時器,并使用TDATA(式(5))重啟它們。
NAVDATA=2Tap_delay+SIFS+TACK。
(5)
最后,目的節點返回NAVACK=0,傳輸范圍內的其他節點清除NAV配置開始重新爭用信道。
節點間的實際傳播延時計算如下:
(6)
式中,Tap_delay為實際傳播延時,單位為s;l為傳播距離,單位為m;Vs_speed為聲波在海水中的傳播速度,單位為m/s。
由于Tap_delay≤Tmp_delay,使AN-MAC整體傳輸NAV更接近實際,同時,計算更精確。
在接下來的現場測評環節,63名選民代表參加了投票。“優秀票57票,稱職票5票,基本稱職票1票,不稱職票0票,總體評價為優秀。”鎮人大主席宣布測評結果的話音剛落,會場響起了熱烈的掌聲,李興軍緊張的神情才稍稍放松了下來。
本文將世界海洋仿真系統[15](World Ocean Simulation System,WOSS)與聲射線模型Bellhop[16]結合對NS-Miracle[17](Multi-Interface Cross-Layer Extension Library for the Network Simulator)的水聲傳輸信道進行擴展,使擴展后的 NS-Miracle 仿真系統能夠更準確地模擬實際水聲網絡的相關特性[18]。
本文基于擴展后的NS-Miracle仿真系統對UW-CSMA/CA協議與本文提出的AN-MAC進行仿真對比分析。典型的水下傳感器網絡分為集中式的拓撲結構、分布式拓撲結構和鏈式多跳拓撲結構[19]。本文仿真采用如圖6所示的鏈式多跳拓撲結構,仿真實驗中相鄰節點間距離為1 000 m,通信系統模型采用BPSK,網絡層采用靜態路由。其他仿真參數設置如表1所示。

圖6 網絡仿真拓撲Fig.6 Network simulation topology diagram

表1 網絡仿真參數設置
衡量網絡性能的指標通常包括吞吐量、延時、誤碼率、能耗等。由于AN-MAC協議在UW-CSMA/CA 的基礎上對NAV的設置進行改進,所以仿真著重對歸一化吞吐量和網絡平均延時進行分析。
仿真實驗設置每個節點的發包周期在15~200 s,共進行了11組仿真實驗,每組實驗重復10次并取平均值,實驗分組情況如表2所示。

表2 網絡節點平均發包周期
根據仿真結果計算每次仿真的平均吞吐量和平均延時,為了方便比較協議的性能,對平均吞吐量做了如式(7)所示的歸一化處理:
(7)
式中,τn為歸一化吞吐量;τ為網絡平均吞吐量;t為發包周期;Lp為以字節為單位的包長。
AN-MAC協議與UW-CSMA/CA協議的歸一化吞吐量對比如圖7所示。

圖7 歸一化吞吐量仿真結果對比Fig.7 Comparison of normalized throughput simulation results
從圖7可以看出,隨著節點發包率的增加,歸一化吞吐量總體呈下降趨勢,當平均發包率較低時,網絡中傳輸的數據包較少,網絡容量足夠,數據包沖突概率較低,因此二者網絡平均吞吐量未呈現明顯差異。當平均發包率120~140 b/s時,數據包傳輸達到網絡負荷,沖突概率明顯增大,隨著發包率上升,二者歸一化吞吐量差異逐漸明顯。但是總體上AN-MAC協議的歸一化吞吐量要高于UW-CSMA/CA協議。

圖8 平均延時仿真結果對比Fig.8 Comparison of average delay simulation results
以上仿真結果表明,AN-MAC協議根據節點間的實際距離計算和分配NAV,可以減少網絡的平均延時,從而提高歸一化吞吐量。當網絡中負載變大達到極限時,協議的性能會明顯變差,網絡的傳輸延時明顯上升,吞吐量下降,但是總體看來,在延時和吞吐量方面,AN-MAC協議相對于UW-CSMA/CA協議均有所改善,對信道利用率的提高有一定幫助。
本文對水聲傳感器網絡MAC協議進行了研究,分析了基于RTS/CTS握手機制的沖突避免MAC協議UW-CSMA/CA中NAV值設置帶來的延時冗余問題,并對其進行了改進,提出了一種按節點實際距離計算和分配NAV的AN-MAC協議。根據節點間的實時距離計算出實際的傳播延時來代替最大傳輸延時,用其確定各節點的NAV值,進而減少冗余延時。為了提高仿真結果的有效性,將Bellhop信道模型和世界海洋系統結合對AN-MAC協議和UW-CSMA/CA協議進行了仿真。結果表明,AN-MAC協議在歸一化吞吐量和平均延時方面較UW-CSMA/CA均有改善,提高了網絡中的吞吐量,減少了網絡延時,對信道資源的利用率有所提高。