劉景景,李春國,宋 康,劉傳洋
(1.池州學院機電工程學院,安徽 池州 247000;2.東南大學電子科學與工程學院,江蘇 南京 210096;3.青島大學電子信息學院,山東 青島 266071)
水聲通信無線自組織網(wǎng)絡廣泛應用于石油和化學品泄漏監(jiān)測、潛艇檢測和監(jiān)視、探測和觀察具有廣域覆蓋的海洋,移動節(jié)點用于監(jiān)聽水下活動,并使用聲學多跳路由向其他移動節(jié)點傳輸數(shù)據(jù)[1-2]。水聲通信無線自組織網(wǎng)絡面臨著長傳播延遲、傳輸功率消耗較高、傳播節(jié)點移動性的挑戰(zhàn)。雖然聲學通信技術有所進步,水中聲學信號的傳輸速度為1 500m/s,比無線電信號傳輸速度為3×108m/s慢5個數(shù)量級,由于傳播延遲比較長,導致帶寬嚴重受限[3];與地面無線電相比,水下聲學調(diào)制解調(diào)器消耗大量能量,聲學調(diào)制解調(diào)器發(fā)射功率將近是接收功率的100倍;另外由于復雜的水下環(huán)境,水下無線信道的不可靠性進一步加劇了數(shù)據(jù)通信。長傳播延遲對網(wǎng)絡協(xié)議的設計有很大的影響,應用于地面分組無線自組織網(wǎng)絡的多路訪問控制(Multiple Access Control,MAC)協(xié)議不能直接用于水下傳感器網(wǎng)絡,在1 500m范圍內(nèi),聲信號的傳播時間為1s,對于256字節(jié)數(shù)據(jù)包,數(shù)據(jù)速率為50kbps,數(shù)據(jù)包分組傳輸?shù)臅r間只需要0.04s,聲信號的傳播延遲遠遠大于分組傳輸時間[4]。
在多跳無線網(wǎng)絡中,有效利用有限的網(wǎng)絡資源,載波偵聽多路訪問(Carrier Sense Multiple Access,CSMA)為數(shù)據(jù)流競爭提供了合理的性能和公平性,CSMA可以支持節(jié)點移動,由于移動水下網(wǎng)絡中聲信號傳播延遲過長,導致了系統(tǒng)吞吐量嚴重下降,由于傳播延遲,載波傳感器無法檢測到數(shù)據(jù)傳輸,導致CSMA中的載波偵聽無法阻止數(shù)據(jù)包沖突,從而降低了CSMA協(xié)議的性能[5]。
科研工作者們注意力集中在利用聲學信道的時間或空間重用以提高吞吐量。例如,時隙FAMA(S-FAMA)使用時隙來通過將分組傳輸對齊到時隙(如在時隙Aloha中)來降低沖突的可能性,而傳播延遲容忍沖突避免協(xié)議(PCAP)允許節(jié)點發(fā)送多個傳輸時隙預留請求(即請求發(fā)送RTS)[6]。在Underwater FLASHR(UW-FLASHR)中,時隙被劃分為預留和數(shù)據(jù)傳輸周期,以實現(xiàn)有效的信道預留并最小化由控制分組交換引起的數(shù)據(jù)分組丟失[7]9。為了獲得更好的信道利用率,大多數(shù)協(xié)議試圖通過重復試錯法,使用強力學習來構建時分多址(TDMA)調(diào)度,或者解決計算難度最大的調(diào)度問題,如STMAC和STUMP[8-10]。基于TDMA的調(diào)度方法能提高傳統(tǒng)的CSMA類隨機信道訪問協(xié)議,但是需要仔細安排傳輸,當多個數(shù)據(jù)包同時從不同的發(fā)送者到達時,接收器嘗試解碼數(shù)據(jù)包時會發(fā)生沖突,如果每個節(jié)點具有相鄰節(jié)點的傳播延遲信息及其傳輸調(diào)度,則每個節(jié)點可以預測其即將到來的分組傳輸是否與另一個傳輸沖突。
本文在CSMA協(xié)議的基礎上提出了一種傳輸調(diào)度算法,通過時間和空間重用原則,采用增加并發(fā)傳輸?shù)臋C會來補償長傳播延遲,提高網(wǎng)絡吞吐量,降低節(jié)點暴露沖突的可能性。
載波偵聽多路訪問(Carrier Sense Multiple Access,CSMA)采用控制包交換機制(RTS-CTS- DATA-ACK)競爭信道使用權。帶有沖突檢測的載波監(jiān)聽多路訪問CSMA/CD是一種分布式爭用型介質(zhì)訪問控制協(xié)議,應用于數(shù)據(jù)鏈路層[11]。CSMA/CD的基本原理是:所有節(jié)點都共享網(wǎng)絡傳輸信道,節(jié)點在發(fā)送數(shù)據(jù)之前,首先檢測信道是否空閑,如果信道空閑則發(fā)送,否則就等待;在發(fā)送出信息后,再對沖突進行檢測,當發(fā)現(xiàn)沖突時,則取消發(fā)送。
水聲通信無線自組織網(wǎng)絡在長傳播等待時間內(nèi)利用時間重用原則允許多個節(jié)點在同一競爭域內(nèi)傳輸,通過節(jié)點非沖突傳輸?shù)讲煌哪康牡?,解決暴露終端問題。圖1給出了時間重用示意圖。節(jié)點x1在不同的時間內(nèi)與節(jié)點x2和節(jié)點x3進行通信,節(jié)點x1先向節(jié)點x2發(fā)送數(shù)據(jù)包Data1,稍后再向節(jié)點x3發(fā)送數(shù)據(jù)包Data2;節(jié)點x2接收完數(shù)據(jù)包Data1后向節(jié)點x1發(fā)送確認信號Ack1,節(jié)點x3接收完數(shù)據(jù)包Data2后向節(jié)點x1發(fā)送確認信號Ack2。上述情況使數(shù)據(jù)(Data)和確認(Ack)能夠在沒有碰撞的情況下傳輸和接收。
為了利用時間重用,文獻[7]2-8提出了一種變型的時分多址(Time Division Multiple Access,TDMA)協(xié)議,有效地提高信道利用率。TDMA把時間分割成周期性的幀,每一個幀再分割成若干個時隙向基站發(fā)送信號,在滿足定時和同步的條件下,基站分別在各時隙中接收各移動終端信號。
圖1 時間重用示意圖
水聲通信無線自組織網(wǎng)絡通過空間重用允許節(jié)點并發(fā)傳輸提高信道利用率。如圖2所示,節(jié)點A與節(jié)點B進行通信,節(jié)點C與節(jié)點D進行通信,節(jié)點A在其碰撞域中獲得通道的獨占訪問權,節(jié)點A和節(jié)點C之間存在節(jié)點暴露問題,為了避免節(jié)點暴露問題,引入節(jié)點空間重用。節(jié)點A發(fā)送Rts給節(jié)點B,節(jié)點B接收Rts和數(shù)據(jù),同時節(jié)點C發(fā)送Rts給節(jié)點D,節(jié)點D接收Rts和數(shù)據(jù);節(jié)點B接收完數(shù)據(jù)發(fā)送Ack給節(jié)點A,節(jié)點D接收完數(shù)據(jù)發(fā)送Ack給節(jié)點C。節(jié)點A和節(jié)點C可以同時通信,從而使傳輸介質(zhì)能夠在空間上重用。
圖2 空間重用示意圖
水聲通信無線自組織網(wǎng)絡傳播延遲相對較長,節(jié)點通信在Rts/Cts握手后,相鄰節(jié)點之間的數(shù)據(jù)傳輸會與Rts控制幀發(fā)生碰撞。Rts等待時間大于傳輸幀達到最大傳輸范圍的傳播延遲和Cts等待時間大于Rts的傳輸時間加上兩倍的最大傳播延遲時間可以實現(xiàn)節(jié)點無碰撞傳輸。結合圖2,兩個節(jié)點A和C相互暴露,節(jié)點A首先傳輸一個Rts給節(jié)點B,節(jié)點B在等待適當?shù)臅r間(即總分組傳輸時間+最大傳播延遲)后用Cts回答。在節(jié)點B等待Cts傳輸時,節(jié)點C也接收到節(jié)點A發(fā)出的Rts并有數(shù)據(jù)要發(fā)送。
表1給出了傳輸調(diào)度算法偽碼描述,結合圖2、圖3闡述延遲傳輸調(diào)度算法(DTSA)。以下兩個條件成立,節(jié)點C可以向節(jié)點D傳輸:(1)節(jié)點傳輸Rts和數(shù)據(jù)傳輸不得干擾鄰節(jié)點的接收,即節(jié)點C的Rts傳輸不應干擾節(jié)點A對Cts和Ack接收;(2)節(jié)點即將接收的Cts和Ack不得被鄰節(jié)點數(shù)據(jù)傳輸干擾,即節(jié)點C的Cts和Ack接收不應被節(jié)點A的Data傳輸干擾。
圖3 延遲傳輸調(diào)度算法流程圖
對于條件(1),節(jié)點C檢查發(fā)送的Rts是否會干擾節(jié)點A接收節(jié)點B發(fā)送的Cts。在t=0,節(jié)點B發(fā)送的Cts在到達節(jié)點A的時間TCts(B)
TCts(B)=TRts(A)+VCtl+τCts(B)+VB→A
(1)
式中:TRts(A)表示節(jié)點A發(fā)送Rts的傳輸時間;VCtl為任意兩節(jié)點控制包的最大傳播延遲時間;τCts(B)表示Cts幀處理時間;VB→A表示節(jié)點B發(fā)送Cts的傳輸時間。
節(jié)點B向節(jié)點A發(fā)送Cts信號持續(xù)時間VCts(B)
(2)
式中:lCts表示Cts的數(shù)據(jù)長度,λData表示數(shù)據(jù)包的傳輸速率。
類似地,B發(fā)送Ack的到達節(jié)點A時間TAck(B)
TAck(B)=TCts(B)+VData+τData(A)+τAck(B)+VB→A
(3)
式中:VData為任意兩節(jié)點數(shù)據(jù)包最大傳播延遲時間;τData表示Data數(shù)據(jù)幀處理時間;τAck(B)表示Ack幀處理時間。
節(jié)點B向節(jié)點A發(fā)送Ack持續(xù)時間VAck(B)
(4)
式中:lAck表示Ack的數(shù)據(jù)長度,λData表示數(shù)據(jù)包的傳輸速率。
節(jié)點C向節(jié)點A發(fā)送Rts時間不在公式(2)、(4)的區(qū)間內(nèi)即可避免干擾。
至于對于條件(2),節(jié)點C接收節(jié)點D發(fā)送的Cts和Ack時間是否與節(jié)點A向節(jié)點B發(fā)送Data持續(xù)時間存在干擾。節(jié)點D發(fā)送的Cts在到達節(jié)點C的時間TCts(D)
TCts(D)=TRts(C)+VCtl+τCts(D)+VD→C
(5)
式中:TRts(D)表示節(jié)點D發(fā)送的Rts的傳輸時間;VCtl為任意兩節(jié)點控制包的最大傳播延遲時間;τCts(D)表示Cts幀處理時間;VD→C表示節(jié)點D發(fā)送的Cts的傳輸時間。
節(jié)點D向節(jié)點C發(fā)送Cts信號持續(xù)時間VCts(D)
(6)
式中:lCts表示Cts的數(shù)據(jù)長度,λData表示數(shù)據(jù)包的傳輸速率。
類似地,D發(fā)送的Ack的到達節(jié)點C時間TAck(D)
TAck(D)=TCts(D)+VData+τData(C)+τAck(D)+VD→C
(7)
式中:VData為任意兩節(jié)點數(shù)據(jù)包最大傳播延遲時間;τData表示Data數(shù)據(jù)幀處理時間;τAck(D)表示Ack幀處理時間。
節(jié)點D向節(jié)點C發(fā)送Ack持續(xù)時間VAck(D)
(8)
式中:lAck表示Ack的數(shù)據(jù)長度,λData表示數(shù)據(jù)包的傳輸速率。
節(jié)點C接收節(jié)點A發(fā)送的Data時間TData(A)
TData(A)=TRts(A)+2VCtl+τCts(B)+τData(A)+VA→C
(9)
節(jié)點A向節(jié)點C發(fā)送Data信號持續(xù)時間VData(A)
(10)
當(6)和(8)的時間范圍不在(10)的范圍中時,節(jié)點C進行Rts無干擾傳輸。
表1 傳輸調(diào)度算法偽碼描述
將本文提出的DTSA性能與兩種CSMA性能進行比較,即Slotted FAMA(S-FAMA)[12]、帶有Ack的CS-ALOHA[13]。S-FAMA基于Rts/Cts握手的同步水下MAC協(xié)議,對信道進行時隙獨占訪問,確保在時隙開始之前發(fā)送的任何幀在時隙持續(xù)時間結束之前到達目的地。具有Ack的CS-ALOHA適用于水下環(huán)境的ALOHA,每個節(jié)點在信道空閑時發(fā)送而不執(zhí)行Rts/Cts握手過程。為了評估提出算法的性能,將吞吐量作為單位負載量的函數(shù)來衡量,吞吐量為仿真時間內(nèi)控制幀的數(shù)量,單位負載量為仿真時間內(nèi)數(shù)據(jù)幀的數(shù)量。
在仿真參數(shù)為傳輸范圍1 500m,數(shù)據(jù)長度分別為512bt、1 024bt下,圖4、圖5給出了三種算法在線性拓撲下吞吐量對比曲線。通過兩圖對比可以得出吞吐量隨著數(shù)據(jù)長度的增加而增大。由于S-FAMA只有一對節(jié)點進行Rts/Cts握手傳輸,吞吐量相對來說比較小。CS-ALOHA利用空間重用進一步提高吞吐量,但是CS-ALOHA不能避免節(jié)點碰撞;DTSA可以避免節(jié)點碰撞,從而吞吐量更高。
圖4 線性拓撲負載數(shù)據(jù)長度為512bt下吞吐量對比圖
圖5 線性拓撲負載數(shù)據(jù)長度為1 024bt下吞吐量對比圖
圖6、圖7給出了三種算法在節(jié)點為星型拓撲、傳輸范圍為1 500m、不同數(shù)據(jù)長度下吞吐量對比曲線,由于星型拓撲采用外圍4個節(jié)點向中心節(jié)點進行傳輸,相對于圖4、圖5線性吞吐量要小一些。圖6為負載數(shù)據(jù)長度為512bt下吞吐量曲線圖,圖7為負載數(shù)據(jù)長度為1 024bt下吞吐量曲線圖,通過兩圖對比可以得出在星型拓撲結構下吞吐量隨著數(shù)據(jù)長度的增加同樣增大。圖7中CS-ALOHA性能不穩(wěn)定,吞吐量很小是因為隨著數(shù)據(jù)長度增大,超過CS-ALOHA處理上限,使得碰撞率增大,吞吐量降低;DTSA能較好避免節(jié)點碰撞,吞吐量也進一步提高。
圖6 星型拓撲負載數(shù)據(jù)長度為512bt下吞吐量對比圖
圖7 星型拓撲負載數(shù)據(jù)長度為1 024bt下吞吐量對比圖
本文在CSMA協(xié)議的基礎上,提出了一種用于水聲通信無線自組織網(wǎng)絡的延遲傳輸調(diào)度算法(DTSA),利用時間和空間重用原則,檢測相鄰節(jié)點傳播延遲及其預期信息進行傳輸調(diào)度,增加并發(fā)傳輸?shù)臋C會來補償長傳播延遲,降低節(jié)點暴露沖突的可能性。通過仿真分析,DTSA性能明顯優(yōu)于S-FAMA和CS-ALOHA,提出的DTSA算法可以顯著提高整體吞吐量,有效地處理由物理位置和傳播延遲引起的空間不公平性。