白梓佑,劉蕓江,周得敏
(空軍工程大學 信息與導航學院,陜西 西安 710077)
在戰(zhàn)術數(shù)據(jù)網(wǎng)絡中,為了使網(wǎng)絡節(jié)點有效利用信道資源,一般通過媒質(zhì)接入控制(Media Access Control,MAC)協(xié)議來協(xié)調(diào)節(jié)點接入無線信道的時間[1]。無線網(wǎng)絡的MAC 協(xié)議可以分為兩種類型:競爭型MAC 協(xié)議和調(diào)度型MAC 協(xié)議[2]。TDMA 協(xié)議采用時間調(diào)度的方式讓節(jié)點在確定的時刻接入信道,可有效地避免數(shù)據(jù)沖突,在軍事中得到廣泛應用,如北約Link16 和Link22 數(shù)據(jù)鏈都采用TDMA 協(xié)議[3]。但傳統(tǒng)TDMA 協(xié)議在業(yè)務量小或網(wǎng)絡節(jié)點間業(yè)務量不對稱的情況下會造成信道資源的嚴重浪費。
為提高信道利用率,改善網(wǎng)絡性能,人們對TDMA協(xié)議展開了大量研究。文獻[4]將時隙分成競爭部分和數(shù)據(jù)部分,每個競爭時隙對應一個較大的數(shù)據(jù)傳輸時隙,節(jié)點在競爭部分獲得的交互信息,確定數(shù)據(jù)段時隙的使用權。文獻[5]提出一種無競爭的基于TDMA的CA-TDMA 協(xié)議,通過對超幀中競爭時隙的直接分配和數(shù)據(jù)時隙的相互申請來實現(xiàn)在整個網(wǎng)絡中無時隙競爭。文獻[6]提出一種適用于Link22 的動態(tài)時隙分配算法,在時隙預約階段,系統(tǒng)為不同數(shù)據(jù)包劃分不同的優(yōu)先級,根據(jù)數(shù)據(jù)包的優(yōu)先級生成完整的時隙分配列表。目前,諸多TDMA 的改進協(xié)議[4-6]均采用預約的方式提高時隙的利用效率,但當網(wǎng)絡中存在暴露終端、隱藏終端問題,或因無線信道傳輸損耗等問題使得網(wǎng)絡中部分節(jié)點不能正確接收預約信息時,這些節(jié)點將無法確定時隙分配信息,出現(xiàn)不同用戶之間發(fā)送信息的不同步現(xiàn)象。
本文在傳統(tǒng)TDMA 協(xié)議的基礎上,提出并設計了一種利用信道偵聽的動態(tài)TDMA 協(xié)議(CS-TDMA,TDMA utilizing channel sense),該協(xié)議利用無線信道中信號通過廣播方式傳播的特點,各節(jié)點分別根據(jù)偵聽到的其他節(jié)點的信息,獨立估計其他節(jié)點業(yè)務量的大小,當時隙剩余時主動通知業(yè)務量大的節(jié)點占用將剩余時隙發(fā)送數(shù)據(jù),避免了時隙分配信息不同步的現(xiàn)象。
在TDMA 網(wǎng)絡中,一個節(jié)點發(fā)送數(shù)據(jù)時,其它節(jié)點都處于接收狀態(tài)。因此,根據(jù)整個時隙發(fā)送數(shù)據(jù)量的大小,便可判斷該節(jié)點的時隙是否完全利用。每個節(jié)點設置一個計數(shù)器對其他節(jié)點的業(yè)務量情況進行打分,判斷業(yè)務量大小的臨界值設為一個固定值,其取值小于理論最大發(fā)送數(shù)據(jù)量。將每個節(jié)點在一段時間內(nèi)的打分情況進行累加,以此來評估該節(jié)點業(yè)務量的大小。若某節(jié)點時隙剩余,就向業(yè)務量評估最高的節(jié)點發(fā)出ATS(access to send)消息包,通知其立即占用剩余時隙發(fā)送數(shù)據(jù)。由此,便可根據(jù)節(jié)點間業(yè)務量的大小情況動態(tài)地占用時隙,且避免了在預約的方法中可能造成時隙使用混亂的情況。CS-TDMA 和TDMA 協(xié)議的原理,分別如圖1 和圖2 所示。
圖1 CS-TDMA 協(xié)議原理
圖2 TDMA 協(xié)議原理
采用指數(shù)遞增的方法為節(jié)點的業(yè)務量進行打分。網(wǎng)絡初始化時,將節(jié)點計分和增量值初始化,score=0,gain=1,并選定臨界值。若檢測到節(jié)點發(fā)送的數(shù)據(jù)量達到臨界值,為該節(jié)點計1 分,若下一時幀的時隙仍然完全利用,計2 分,再下次計4 分,依此類推;若未達到臨界值,則減去前一時幀的計分。具體計算方法如下:
步驟1 統(tǒng)計節(jié)點N 在時隙n 內(nèi)發(fā)送的數(shù)據(jù)量Gslot;
步驟2 比較Gslot和Gmax的大小,Gslot>Gmax執(zhí)行步驟3,否則執(zhí)行步驟4;
步驟3 gain=2*gain;score=score+gain;跳至步驟5;
步驟4 score=score-gain;
步驟5 若score <=0,score=0,gain=1;
步驟6 存儲節(jié)點N 在該時隙獲得的score 和gain 值,作為下一時幀初始值。
CS-TDMA 協(xié)議中,當時隙開始時,處于發(fā)送狀態(tài)的節(jié)點首先發(fā)送自身緩存的數(shù)據(jù),若數(shù)據(jù)發(fā)送完畢,但時隙還有剩余,則向自身統(tǒng)計中的業(yè)務量值最高的節(jié)點發(fā)送ATS 信息;處于接收狀態(tài)的節(jié)點,對接收到的數(shù)據(jù)進行統(tǒng)計處理,若接收到的是ATS 信息,則立即發(fā)送本節(jié)點緩存數(shù)據(jù)直到時隙結束。具體時隙分配流程如圖3 所示。
圖3 CS-TDMA 協(xié)議時隙分配算法
利用OPNET 仿真平臺,仿真模型主要從網(wǎng)絡模型、節(jié)點模型和進程模型3 個層次建立[7]。網(wǎng)絡模型就是將一定數(shù)目的節(jié)點分布在適合的網(wǎng)絡范圍內(nèi),反應網(wǎng)絡的拓撲結構;節(jié)點模型體現(xiàn)節(jié)點內(nèi)部的通信流程;進程模型用源代碼和有限狀態(tài)機來描述協(xié)議。
場景中設置節(jié)點數(shù)為12 個,將節(jié)點分布于60 km×80 km 的范圍內(nèi),節(jié)點間通信距離約為15 km。節(jié)點模型由4 部分組成:source 進程、CS_TDMA 隊列、發(fā)射天線rt 和接收天線rr。其中,source 進程模擬數(shù)據(jù)業(yè)務的產(chǎn)生,以及發(fā)送業(yè)務量和接收業(yè)務量相關的統(tǒng)計;CS-TDMA 隊列負責數(shù)據(jù)緩存、時隙的劃分和分配,并控制節(jié)點接入信道,是CS_TDMA 協(xié)議的主要實現(xiàn)部分;rt 進程和rx 進程分別負責發(fā)送數(shù)據(jù)到無線信道和從無線信道中接收數(shù)據(jù)。
圖4 網(wǎng)絡和節(jié)點模型
進程模型使用有限狀態(tài)機(FSM)來描述進程的邏輯行為,有限狀態(tài)機使用狀態(tài)轉移圖來表示狀態(tài)的轉移。根據(jù)協(xié)議思想,建立的CS-TDMA 進程模型如圖5所示,其狀態(tài)名稱及作用表述如下:(1)init(初始化狀態(tài))。程序執(zhí)行時進入本狀態(tài),定義統(tǒng)計量和變量,初始化變量。(2)idle(空閑狀態(tài))。等待中斷。節(jié)點產(chǎn)生自中斷,或當source 和rr 進程中傳來的數(shù)據(jù)時產(chǎn)生流中斷,任意類型中斷產(chǎn)生后按時間順序執(zhí)行。(3)Stream_intr(接收源數(shù)據(jù)狀態(tài))。當source 進程產(chǎn)生的數(shù)據(jù)后,發(fā)生數(shù)據(jù)中斷,將產(chǎn)生的數(shù)據(jù)插入緩存隊列。(4)Slot_intr(時隙中斷狀態(tài))。判斷當前時隙是否為本節(jié)點所占時隙時,發(fā)生時隙中斷,并轉入transmit 狀態(tài)。(5)Receive(接收信道數(shù)據(jù)狀態(tài))。接收通過rr進程從信道中接收到的數(shù)據(jù),包括業(yè)務數(shù)據(jù)、ATS 信息和其他指令信息。(6)Transmit(發(fā)送數(shù)據(jù)至信道狀態(tài))。當本節(jié)點發(fā)生時隙中斷或接收到ATS 信息后,將隊列中的數(shù)據(jù)通過上傳至rt 進程,發(fā)送到信道。
圖5 CS-TDMA 進程模型
通過與TDMA 協(xié)議的仿真對比,分析CS-TDMA協(xié)議性能。仿真分為兩部分:場景一中各節(jié)點的業(yè)務量大小保持一致,通過修改source 進程中數(shù)據(jù)包產(chǎn)生的時間間隔進行了多次仿真,模擬網(wǎng)絡不同的網(wǎng)絡負載程度;場景二中分為兩種類型的節(jié)點,用兩個source進程通過修改數(shù)據(jù)包產(chǎn)生時間間隔,設置為業(yè)務空閑節(jié)點和業(yè)務繁忙節(jié)點,模擬節(jié)點間業(yè)務量不均勻的情形。
場景一及參數(shù)設置:數(shù)據(jù)包的到達服從Poisson 分布,設置不同的數(shù)據(jù)包到達時間分別為0.1 s、0.25 s、0.5 s、1 s、2 s、3 s、4 s、5 s,數(shù)據(jù)發(fā)送速率為9.6 kbit·s-1,業(yè)務數(shù)據(jù)包大小200 bit,ATS 數(shù)據(jù)包大小為32 bit,Gmax 取5 000 bit,隊列可容納數(shù)據(jù)包數(shù)為50,時隙大小1 s,仿真時間1 h。
(1)消息投遞率。如圖6 所示,數(shù)據(jù)產(chǎn)生間隔時間為0.25 s 時,理論上網(wǎng)絡負載為200×12×4=9 600 bit·s-1,達到飽和業(yè)務量。但由于信道不能完全利用,網(wǎng)絡仍處于擁擠狀態(tài),CS-TDMA 協(xié)議較少有時隙剩余,兩種協(xié)議的消息投遞率基本相同;當在時間間隔約為0.5 s時,網(wǎng)絡擁擠得以緩解,消息投遞率逐漸趨于穩(wěn)定,由于存在空閑時隙,CS-TDMA 協(xié)議可通過ATS 消息動態(tài)利用時隙,消息投遞率高于TDMA 協(xié)議;當數(shù)據(jù)產(chǎn)生間隔>1 s 后,CS-TDMA 協(xié)議的消息投遞率高于TDMA協(xié)議,并隨著間隔增大,差距逐漸減小,這是因業(yè)務量減小,TDMA 協(xié)議較少會出現(xiàn)擁擠現(xiàn)象??傮w上CS-TDMA 協(xié)議的正確接收率高于固定TDMA。
圖6 消息投遞率對比
(2)吞吐量。如圖7 所示,在時間間隔<0.25 s 時從消息投遞率曲線可看出網(wǎng)絡處于擁擠狀態(tài),即使間隔再小,網(wǎng)絡吞吐量也很難上升。此時,平均每個時隙發(fā)送的數(shù)據(jù)量也達到最大值,可作為業(yè)務評估算法單個時隙發(fā)送數(shù)據(jù)的最大值約7 000 bit,但為了確保協(xié)議穩(wěn)定有效,取臨界值Gmax=5 000 bit。同時可以發(fā)現(xiàn),CS-TDMA 協(xié)議的最大網(wǎng)絡吞吐量略高于TDMA協(xié)議。當時間間隔逐漸增大時與消息投遞率一致,CS-TDMA 協(xié)議的優(yōu)勢減小。說明在業(yè)務量較小時,TDMA 協(xié)議和CS-TDMA 協(xié)議均具有良好的性能。
圖7 吞吐量對比
(3)時延。如圖8 所示,當時間間隔<0.25 s,網(wǎng)絡處于擁擠狀態(tài)時,CS-TDMA 協(xié)議的平均端到端時延略低于TDMA 協(xié)議;當時間間隔>0.5 s,網(wǎng)絡不再擁擠時,CS-TDMA 協(xié)議的時延穩(wěn)定比TDMA 協(xié)議約低1 s,說明CS-TDMA 協(xié)議可有效且穩(wěn)定的改進TDMA的時延性能。
圖8 平均端到端時延對比
結合消息投遞率和吞吐量的分析,可以發(fā)現(xiàn)CSTDMA 協(xié)議不僅繼承量了TDMA 協(xié)議保證節(jié)點間無碰撞公平發(fā)送數(shù)據(jù)的優(yōu)點,而且在對實時性要求較高的網(wǎng)絡中較TDMA 協(xié)議具有更突出的性能。
場景二及參數(shù)設置:任意選擇6 個節(jié)點選為業(yè)務繁忙節(jié)點,數(shù)據(jù)包產(chǎn)生間隔0.1 s,剩余6 個節(jié)點為業(yè)務變化節(jié)點,設置不同的數(shù)據(jù)包到達時間分別為0.1 s、0.5 s、1 s、1.5 s、2 s、2.5 s、3 s、4 s、5 s,其他條件保持不變。
如圖9 所示,在各節(jié)點間業(yè)務量不均勻的情況下,TDMA 協(xié)議的平均端到端時延持續(xù)較高,雖隨著1/2節(jié)點業(yè)務量的減小而有所降低,但幅度較小,并趨于穩(wěn)定在較高的時間;CS-TDMA 協(xié)議中,當1/2 節(jié)點的業(yè)務量降低時,網(wǎng)絡的端到端時大幅度降低,并穩(wěn)定相對TDMA 協(xié)議較低的時間上,且該時間約等于如圖8 所示的各節(jié)點業(yè)務量均勻時趨于穩(wěn)定的時間,說明在各節(jié)點業(yè)務量不均等的情況下,CS-TDMA 實現(xiàn)了時隙的動態(tài)利用,網(wǎng)絡時延較TDMA 協(xié)議有大幅度減?。?]。
圖9 平均端到端時延對比
針對TDMA 協(xié)議在網(wǎng)絡中各節(jié)點業(yè)務量不均勻的情況下,信道利用率低的問題,本文提出了一種利用信道偵聽的CS-TDMA 協(xié)議,該協(xié)議利用無線網(wǎng)絡的廣播特性,統(tǒng)計各節(jié)點的業(yè)務量大小,并在時隙剩余時主動通知業(yè)務繁忙節(jié)點利用剩余時隙發(fā)送數(shù)據(jù),實現(xiàn)了時隙的動態(tài)利用。仿真結果表明,CS-TDMA 協(xié)議在消息投遞率和吞吐量方面較TDMA 協(xié)議略有提高;在網(wǎng)絡時延方面,尤其是當節(jié)點間業(yè)務量不均勻時,CS-TDMA 協(xié)議較TDMA 協(xié)議有較大提高。
[1] 李西洋,范平志.移動自組織網(wǎng)絡中的多信道MAC 調(diào)度碼的設計與分析[J].通信學報,2014,35(5):57-64.
[2] 張曉玲,梁煒,于海斌,等.無線傳感器網(wǎng)絡傳輸調(diào)度方法綜述[J].通信學報,2012,33(5):143-157.
[3] 孫繼銀,付光遠,車曉春,等.戰(zhàn)術數(shù)據(jù)鏈技術與系統(tǒng)[M].北京:國防工業(yè)出版社,2009.
[4] Jiang S,Rao J,He D,et al.A simple distributed PRMA for MANETs[J].IEEE Transactions on Vehic Technology,2002,51:293-305.
[5] 任昊翔,郭達偉,邵凝寧,等.一種新型的無競爭的基于TDMA 的MAC 協(xié)議[J].傳感技術學報,2013,26(1):89-94.
[6] 王塬琨,毛玉泉,丁笑亮,等.一種基于優(yōu)先級的TDMA 動態(tài)時隙分配算法[J].艦船電子工程,2009,29(11):83-86.
[7] 陳敏.OPNET 網(wǎng)絡仿真[M].北京:清華大學出版社,2004.
[8] 楊棣,梁剛.在Ad Hoc 網(wǎng)絡中的動態(tài)TDMA 時隙分配[J].電子科技,2009,22(11):19-22,27.