詹長健,雷 磊,沈高青,李志林
(南京航空航天大學電子信息工程學院,南京 210016)
水聲信道具有帶寬窄、傳輸速率低、誤碼率高以及多普勒頻移和多徑效應嚴重的特性,特別是聲音,在水中的傳播速度僅為1 500 m/s,比電磁波在無線電信道的傳播速度低5個量級,使得水聲信道存在較高的時延。因此,現有成熟的介質訪問控制(MAC)協議不能直接應用于水聲信道,否則高時延會嚴重降低水聲傳感網絡的性能[1-2]。MAC協議可以協調多個節點公平地占用共享信道,避免傳輸沖突,提高網絡的整體性能。因此,針對水聲信道的特性,設計一種可以有效提高水聲傳感網絡性能的MAC協議非常必要。
文獻[3]提出了增加保護間隔的時隙ALOHA協議,來避免變化的傳播時延引起的傳輸沖突,通過修改時隙ALOHA協議的時隙間隔為T+a←τ(T為數據幀大小,a為0~1的系數,τ為最大傳播時延),協議可以減少節點隨機發送造成的傳輸沖突,然而減少沖突的代價是增加延遲[4]。文獻[3]提出時空不確定性概念,并論述了水聲傳感網絡MAC協議面臨的難題,即時間和空間的不確定性必須同時被解決,才能改善水聲傳感網絡MAC協議的性能。
因此,文獻[5]提出的S-FAMA協議引入了同步時隙,結合載波檢測和四次握手機制解決時空不確定性造成的沖突,該協議設置時隙長度為CTS幀的長度加最大傳播時延,保證了傳輸范圍內的節點都可以接收到RTS或CTS幀,解決了空間不確定性問題;同時節點只在一個時隙的開始時刻傳輸數據,有效地避免了因傳播時延不同而導致的接收沖突,消除了接收時間不確定性問題。S-FAMA協議要求待發送數據的節點對信道進行載波檢測,若信道空閑則在下一個時隙發送RTS幀;若節點在兩個時隙沒有完成RTS/CTS握手,即認為產生傳輸沖突,節點隨機選取幾個時隙進入退避狀態,否則在下一個時隙發送數據;在退避完成后,當節點檢測到信道空閑時,重復上述過程。
雖然S-FAMA協議解決了傳輸沖突和隱藏終端問題,但較長的時隙導致了較低的信道利用率。因此,文獻[6]提出的RC-FAMA協議引入一種RTS競爭機制,解決了節點因競爭信道失敗而多次重發RTS幀的問題。在多個RTS幀競爭信道的場景,RC-FAMA協議會給每一個RTS幀添加一個隨機生成的競爭數,稱為C-number,競爭數大的發送節點占用信道。因為RTS幀的長度遠比一個時隙短,所以發生RTS重疊沖突的概率比較低,利用RTS競爭機制可以顯著提升高負載下的網絡吞吐量。
然而上述協議都側重于在水聲傳感網絡中的單鏈路傳輸,沒有考慮高時延對多條傳輸鏈路的影響。因此,本文利用水聲信道的時空不確定性,提出一種基于S-FAMA協議的多鏈路傳輸MAC協議(ML-FAMA),以解決時隙較長的問題,提高信道利用率。
在水聲信道中,接收端的接收時刻等于發送端的發送時刻加上數據幀長度以及變化的傳播時延,這使得水聲信道有著不同于無線電信道的特性[7-8]。如圖1所示,距離較遠的發送端A和發送端B都向接收端C發送數據,不同的時延可能使得同步發送不會產生沖突,而異步發送卻會發生沖突。

圖1 水聲信道的同步和異步傳輸可能結果Fig.1 Possible results of synchronous and asynchronous transmission in underwater acoustic channels
很顯然,同步傳輸無沖突的前提是A的傳播時延大于數據幀的長度加上B的傳播時延。因此,利用節點之間的傳播時延和數據幀長度的數學關系,MAC協議就可以實現同步無沖突傳輸,縮短傳輸時間以及提高信道利用率。
傳統握手類MAC協議采取了較為保守的策略,即一個傳輸周期只允許一條傳輸鏈路占用信道。例如互為暴露終端的A與C都有待發送的數據,但成功競爭信道的節點會掛起其他發送節點,從而造成了不必要的阻塞[9]。因此,ML-FAMA協議采用一種新的握手機制解決多條傳輸鏈路競爭信道的問題,即一個節點在進行RTS/CTS握手過程中,只收到其他節點發送的RTS幀而沒收到CTS幀。事實上,數據幀在發送端重疊不會導致沖突,沖突只可能因為數據幀在接收端重疊。ML-FAMA協議可以使傳輸范圍內的節點在一個時隙內都接收到RTS幀,同時節點只在時隙的開始時刻發送數據,避免了傳輸范圍內的節點在當前傳輸周期隨機發送數據。上述握手機制可以使多個發送節點并行傳輸數據而不沖突,多發送并行傳輸時序圖如圖2所示。

圖2 多發送并行傳輸時序圖Fig.2 Timing diagram of multi-sending parallel transmission
另一方面,傳統的MAC協議都是以發送端為中心的MAC協議,即待發送的節點決定何時發送數據[10-11],但發送端可能會因為傳播時延的影響而做出錯誤的決策,如圖1所示。因此,ML-FAMA協議提出了以接收端為中心的策略,即接收節點決定何時傳輸數據。
對于RC-FAMA協議而言,水聲信道的高時延和相對較短的RTS幀,使得控制幀大概率不會在接收節點發生重疊。然而,RC-FAMA協議只允許一個發送節點占用信道,但如果改進的MAC協議可以使所有成功發送RTS幀的節點占用信道,則會大幅提高水聲網絡的吞吐量。
基于S-FAMA的MAC協議為同步協議,且節點在時隙的開始時刻傳輸數據,傳輸范圍內的節點都可以在一個時隙內收到數據幀,所以接收端可以通過計算接收時刻與開始時刻的差值得到節點之間的時延。采取這種方法具有3個方面的優點:1)只在節點請求傳輸數據的情況下計算節點之間的時延,避免維護一張時延映射表;2)接收節點可以得知發送節點傳輸數據幀大小和時延從而做出正確的決策;3)可以更快地感知節點之間的時延變化。
如圖3所示,接收節點利用已得知的傳播時延和數據幀大小,通過合理的算法規劃發送節點的傳輸,然后通過CTS控制幀將規劃告知所有節點。

圖3 多接收并發傳輸時序圖Fig.3 Sequence diagram of multi-receiving concurrent transmission
假設接收節點在一個時隙內成功接收n個節點發送的RTS幀,則可令發送節點與接收節點的傳播時延為r1≤r2≤r3…≤rn,每個發送節點對應的待發送數據長度為d1,d,…,dn。由圖3可知,若多條鏈路并發傳輸數據,接收節點接收數據的理想時延為r+d1+d2+…+dn,r為第一個傳輸數據節點的傳播時延。因此,若使傳輸時延盡可能小,則r值最小,即傳播時延最小的節點先發送數據。綜上所述,ML-FAMA協議的規劃算法步驟如下:
1)若r1+d1≤r2,則時延為r1、r2的節點可以同時發送數據。
2)若r1+d1>r2,則時延為r1的節點先發送數據,時延為r2的節點推遲合適的時間發送。
3)依次對比r2與r3、r3與r4、…、rn-1與rn,做出傳輸決策。
在ML-FAMA協議中,當檢測到信道空閑時,發送節點在下一個時隙開始時刻發送RTS幀,在控制幀中添加發送節點、接收節點、數據長度等信息;接收節點根據規劃算法對各個發送節點做出傳輸決策,并將決策和ACK應答時刻添加到CTS幀,然后廣播CTS幀;如果發送節點在兩個時隙沒有收到CTS幀或接收ACK超時,則默認發生傳輸沖突,進入退避狀態,等待信道空閑重發數據。
由于傳統握手類MAC協議的傳播時延遠小于一個退避時隙,二進制指數退避算法可以有效地避免傳輸沖突而不降低信道利用率[12]。可是MLFAMA協議的傳播時延約等于一個退避時隙,采用二進制指數退避算法會導致退避窗口隨著沖突增加而增大,從而增加傳輸延遲。另一方面,ML-FAMA協議期望在一個時隙內盡可能地接收到更多的RTS控制幀以實現多鏈路傳輸數據,較大的退避窗口也會減少RTS控制幀的個數,降低信道利用率。此外,水聲網絡的節點部署具有稀疏性[2],所以不必設置過大的退避窗口從而增加延遲。因此,采用固定退避窗口,理論上存在一個最優窗口值使得網絡吞吐量最大,顯然這與網絡規模、負載有關。
多鏈路傳輸拓撲示意圖如圖4所示。考慮圖4(a)所示的場景,互為暴露終端的A、C發送節點分別向不同節點發送數據。因為節點的最大傳輸距離小于B、D兩節點之間的距離,所以A、C兩節點并行傳輸數據不會產生沖突。與RC-FAMA協議僅允許一個節點占用信道不同,ML-FAMA協議允許節點A和C同時發送數據。以圖4(a)為例,假設在時間t內,每個節點可以成功傳輸λ數據幀且數據幀大小為l,則RC-FAMA協議理想的吞吐量為λl/t,而改進的MAC協議的吞吐量為2λl/t,吞吐量提高了1倍。圖4(b)展示了多個發送節點向同一個節點傳輸數據,發送節點可以互為連通終端或隱藏終端。例如,發送終端A、D互為隱藏終端,A、C互為連通終端。根據圖1得到的啟發,通過發送節點的傳播時延和數據幀的長度規劃發送節點的數據傳輸,可以實現一次握手多條鏈路并發傳輸數據。顯然,這種策略十分有益于需要將信息匯聚并轉發至外部網絡的水聲傳感網絡。

圖4 多鏈路傳輸拓撲示意圖Fig.4 Topology schematic diagram of multi-link transmission
假設在接收節點的傳輸范圍內,傳輸范圍為半徑等于R的圓形區域,隨機分布N個發送節點。記發送節點與接收節點的距離為r,水聲在RTS幀的長度內傳播的距離為d,則易得發送節點的分布概率密度函數[3]為:

若存在n(n≤N)個發送節點同時競爭信道,易得RTS控制幀不會沖突的條件是任意兩個節點之間的距離大于d,則無沖突概率為:

當n=3時,式(2)可化簡為:

以圖4(b)為例,假設每個發送節點傳輸的數據幀大小為l,則一次成功握手,RC-FAMA協議傳輸的數據大小為Pl,而改進的MAC協議的傳輸量為3Pl,提高了3倍。
通過利用水聲信道的時空不確定性,ML-FAMA協議在高時延的水聲信道實現了多鏈路傳輸數據,從而提高了水聲傳感網絡的吞吐量。本節的關注重點是ML-FAMA協議在分布式網絡取得最大吞吐量的最優退避窗口。本文采用文獻[3]提出的評估方法,參考DANESHGARAN等人的工作[13-14],建立二維馬爾科夫鏈模型描述ML-FAMA協議的飽和吞吐量與退避窗口的關系,從而得到最優退避窗口值。
二維馬爾科夫鏈模型假設條件如下:
1)網絡拓撲結構為分布式拓撲,由一個接收節點和N個發送節點組成,所有節點都可以監聽其他節點的數據傳輸。
2)信道是理想的,且不考慮捕獲效應。
3)發送節點都處于飽和狀態,即發送節點總有數據待發送。
4)傳輸的數據幀持續時間略大于一個時隙。
基于以上假設,本文以接收節點為圓心,發送節點隨機分布在直徑為節點最大傳輸范圍的圓形區域中,針對任意一個發送節點E的退避過程,構建如圖5所示的二維離散馬爾科夫鏈模型。

圖5 二維離散馬爾科夫鏈模型Fig.5 Two-dimensional discrete Markov chain model
在圖5中,m為節點最大重發次數,即最大退避階段,記第i次重發的退避窗口值為Wi。模型采用隨機變量s(t)、b(t)表示節點所處的退避狀態。其中,s(t)為節點在第t個離散時隙所處的退避階段,b(t)為節點當前時隙的退避剩余值[13]。為簡化表示,令P{i,k|j,n}=P{s(t+1)=i,b(t+1)=k|s(t)=j,b(t)=n}表示節點從狀態j轉移到狀態i,記Pf為條件發送失敗概率,即在發送節點E發送RTS控制幀時,至少存在一個其他節點的RTS控制幀與E的RTS控制幀在接收節點沖突的概率,則圖5所示的二維離散馬爾科夫鏈模型可以由以下狀態轉移概率等式描述[13]:

3.1.1 傳輸概率
記bi,k為節點在某個時隙處于i退避階段,退避計數器剩余值為k的穩態概率[15],即:

由式(4)、式(5)可得式(6)、式(7):

因此,可得節點處于任意一個退避狀態的穩態概率為:

由式(6)~式(8)可知,節點在任意一個退避狀態的穩態概率都可由退避狀態b0,0和節點條件發送失敗概率Pf表示,則由歸一化條件可得:

綜上所述,可得:

其中,τ為發送節點在任意一個時隙發送數據幀的概率,表明ML-FAMA協議的發送概率與節點沖突概率和重發次數無關,僅與退避窗口相關。
考慮到上述二維馬爾科夫鏈模型沖突只能發生在RTS控制幀競爭信道過程中。因此,接收節點在一個時隙內發生RTS控制幀重疊的概率,即為傳輸沖突概率。令Pcon表示不多于n個發送節點同時競爭信道,RTS控制幀不會重疊的概率。結合式(2),Pf和Pcon的值可由以下等式表示:

3.1.2 歸一化飽和吞吐量
節點競爭信道存在兩種情況,即只有一個發送節點競爭信道和多個發送節點同時競爭信道。因此,節點成功傳輸數據占用的時隙長度為:

其中,cei(l)表示對括號中的數向上取整,Tslot表示一個時隙長度,Tdata表示節點發送數據的平均長度,Vrate表示節點的傳輸速率,i表示節點成功傳輸數據幀的個數。
則根據式(12),節點成功傳輸數據的平均時隙長度為:

考慮到在任意一個時隙,至少有一個節點傳輸數據的概率為:

因此,在至少有一個節點傳輸數據的條件下,能夠成功被接收的概率為:

當發送節點競爭信道時,若節點不能在下一個時隙收到CTS控制幀,則認為本次發送的RTS控制幀與其他節點發送的控制幀發生沖突,因此發送節點沖突持續時間為:

則對于至少有一個節點傳輸數據的條件下,節點傳輸失敗的概率為:

網絡歸一化飽和吞吐量S被定義為單位時間內網絡中節點成功傳輸數據占用的時間:

根據上文建立的二維馬爾科夫鏈模型可知,節點在不同時隙可能會處于不同狀態。然而,在一個給定時隙發送節點E只能處于以下狀態:1)當前時隙沒有節點競爭信道,信道保持空閑;2)發送節點E競爭信道成功,并成功傳輸數據;3)發送節點E與其他發送節點競爭信道失敗,所有節點開始退避過程。歸一化飽和吞吐量可以表示為:

3.1.3 最優退避窗口
根據式(20),只要求得歸一化飽和吞吐量S的極大值對應的退避窗口值,就可以獲得當前網絡規模的最優退避窗口值,然而S(W)的表達式過于復雜,難以求得其解析解。因此,本節采用數值搜索法得到最優退避窗口值。令W的初始值為2,求得其對應的飽和吞吐量S(W)、S(W-1)以及S(W+1);判斷是否滿足不等式方程組式(21),若不滿足則將W值增加1,如此循環,直至S(W)滿足。

不同于無線網絡,水聲傳感網絡的發送功率遠大于接收功率。例如水聲節點在傳輸時功率為10 W,而在空閑或接收模式下功率僅為80 mW[16]。一般來說,水聲傳感網絡的傳播距離與比特率乘積為10Kb/s-km~70Kb/s-km。特別地,在淺水區域傳播距離與比特率乘積約為5Kb/s-km[4,17]。因此,本文設置仿真網絡中的發送節點隨機分布在以接收節點為圓心,半徑為750 m的圓形區域內。同時令仿真區域的水深為100 m,節點比特率為3 Kb/s。考慮到傳播時延對協議的影響,故對隨機生成50種拓撲的仿真結果取平均值,每種拓撲的仿真時間為30 min。仿真參數如表1所示。

表1 仿真參數Table 1 Simulation parameters
通過對比理論值和仿真值,本節驗證了上述理論模型的合理性。
圖6(a)、圖6(b)為退避窗口值分別為8和9的情況下,歸一化飽和吞吐量的理論和仿真的對比。圖6(a)、圖6(b)的理論值接近仿真值,誤差不超過0.05,這表明模型較為準確地描述了多鏈路并發傳輸的場景。從圖中可以看出,隨著水聲傳感器節點個數的增加,歸一化飽和吞吐量先增大后減小。一方面,當節點個數較少時,盡管發生沖突的概率較小,但退避過程引入的時延降低了吞吐量;另一方面,當節點個數較多時,節點頻繁發生傳輸沖突,不斷進入退避過程,較長的退避時間也使吞吐量降低。圖6表明根據水聲網絡規模選取合適的退避窗口值,可以使網絡飽和且吞吐量達到最大。

圖6 歸一化飽和吞吐量的理論值與仿真值對比Fig.6 Comparison of theory value and simulation value of normalized saturated throughput
因為水聲傳感網絡利用聲波傳遞信息,所以水聲節點不能直接接入外部網絡[18-19]。因此,水聲傳感網絡需要一個可以通過聲波和電磁波傳輸信息的匯聚節點,該節點將水聲傳感器節點收集的信息轉發至基站或衛星[20-21]。對于水聲傳感網絡末端數百米的近距離通信,即所有水聲節點將信息發送到匯聚節點的場景,圖7的仿真結果表明,ML-FAMA協議相對其他協議具有更好的性能。這是由于ML-FAMA協議允許一次握手、多條鏈路傳輸數據,減少了節點競爭信道的時間花費,提高了信道利用率。

圖7 不同退避窗口的歸一化飽和吞吐量比較Fig.7 Comparison of normalized saturation throughput of different backoff windows
為提高水聲信道利用率,本文利用水聲網絡的時空不確定性,在已有協議的基礎上提出一種新的多鏈路傳輸MAC協議。由于水聲信道中較短的通信鏈路具有更大的帶寬,因此水聲網絡遠距離通信采用多跳傳輸能夠獲得更高的吞吐量和更低的能耗。仿真結果表明,該協議能有效提高水聲傳感網絡的吞吐量。由于多跳傳輸帶來了更高的時延,為降低遠距離通信的時延,下一步將把近距離通信的多鏈路傳輸協議與遠距離通信相結合,以獲得更好的網絡性能。