王睿,王文燦,白麗,范兼睿,張莉涓,雷磊
(1.南京航空航天大學(xué)電子信息工程學(xué)院,南京 210016;2.中國人民解放軍96901部隊,北京 100089;3.北京航天自動控制研究所,北京 100854)
無人機自組織網(wǎng)絡(luò)(unmanned aerial vehicle ad?hoc network,UANET)[1?2]憑借其抗毀性強、節(jié)點機動性高等優(yōu)勢引起了業(yè)界與學(xué)術(shù)界的廣泛關(guān)注。然而,要充分利用UANET的優(yōu)勢,就必須考慮其特征,如無人機飛行軌跡、能耗、動態(tài)拓?fù)浜托诺罓顩r等。對于UANET,要在節(jié)點高速移動而導(dǎo)致網(wǎng)絡(luò)拓?fù)淇焖僮兓那闆r下保持穩(wěn)定的性能,必須使用有效的媒體接入控制(Media access control,MAC)協(xié)議來協(xié)調(diào)每個節(jié)點的數(shù)據(jù)包傳輸,并適應(yīng)網(wǎng)絡(luò)流量負(fù)載變化。因此,設(shè)計實用、可靠和高效的MAC協(xié)議是UANET中的關(guān)鍵問題。
MAC協(xié)議可以分為3類:基于競爭的MAC協(xié)議[3?4]、無競爭MAC協(xié)議[5?6]以及混合MAC協(xié)議[7?8]。已經(jīng)證明:在多跳、高網(wǎng)絡(luò)負(fù)載的情況下,基于競爭的MAC協(xié)議不具有擴展性。這是由于隱藏終端問題會引起傳輸沖突的增加[9],并且隨著節(jié)點數(shù)量的增加,傳輸沖突會變得更加嚴(yán)重。時分多址(Time di?vision multiple access,TDMA)接入?yún)f(xié)議作為一種無競爭的MAC協(xié)議,通過時隙調(diào)度實現(xiàn)了網(wǎng)絡(luò)中節(jié)點無競爭地發(fā)送數(shù)據(jù),從而實現(xiàn)了較高的信道利用率,并且在傳播時延大的環(huán)境以及多跳傳輸環(huán)境中有更優(yōu)異的表現(xiàn)。
為了提高節(jié)點的傳輸速率、擴大通信覆蓋范圍,在傳統(tǒng)自組織網(wǎng)絡(luò)MAC協(xié)議的基礎(chǔ)上,引入了節(jié)點間協(xié)作通信的概念。協(xié)作通信需要網(wǎng)絡(luò)中的多個節(jié)點以協(xié)作的方式工作,利用網(wǎng)絡(luò)中的潛在資源提升網(wǎng)絡(luò)性能。文獻[10]提出了一種可在802.11網(wǎng)絡(luò)中進行協(xié)作通信的協(xié)議,利用高數(shù)據(jù)速率節(jié)點幫助低數(shù)據(jù)速率節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)。利用對傳輸過程的監(jiān)聽,每個低數(shù)據(jù)速率節(jié)點維護一個協(xié)作表,潛在的協(xié)作節(jié)點可以幫助低數(shù)據(jù)速率節(jié)點進行傳輸。在傳輸過程中,每個低數(shù)據(jù)速率節(jié)點可以直接傳輸或者通過高數(shù)據(jù)速率協(xié)作節(jié)點傳輸,以使總傳輸時間最小。在文獻[11]中提出了一個用于無線傳感器網(wǎng)絡(luò)的協(xié)作MAC協(xié)議(Cooperative MAC,COMAC),該協(xié)議對基于802.11g的無線網(wǎng)絡(luò)在真實場景下實現(xiàn)協(xié)作,并利用從發(fā)送方節(jié)點的鄰近節(jié)點偵聽到的數(shù)據(jù)包來實現(xiàn)協(xié)作通信。COMAC增加了點對點場景下的傳輸范圍,并提高了數(shù)據(jù)包遞交成功率,同時可節(jié)省能耗。文獻[12]提出了基于多天線系統(tǒng)的協(xié)作Aloha協(xié)議(Cooperative Aloha,C?Aloha),通過實現(xiàn)分組重傳以獲得傳輸分集。該協(xié)作MAC協(xié)議設(shè)計增加了時隙Aloha系統(tǒng)的最大吞吐量,同時C?Aloha還可應(yīng)用于其他基于競爭的MAC協(xié)議。文獻[13]針對協(xié)作通信在MAC層面臨的問題和挑戰(zhàn)提出了一種跨層協(xié)作MAC設(shè)計方案,研究如何將物理層協(xié)作與MAC層集成,以實現(xiàn)更高的吞吐量和更可靠的通信。該跨層協(xié)作MAC協(xié)議支持多種傳輸速率和傳輸模式,性能優(yōu)于傳統(tǒng)的非協(xié)作MAC協(xié)議。
上述MAC協(xié)議主要針對單跳傳輸設(shè)計。然而,在網(wǎng)絡(luò)拓?fù)渲?,一對?目的S?D節(jié)點之間的通信距離往往大于單跳傳輸范圍。因此,假設(shè)有一節(jié)點恰好位于一對單跳不可達(dá)的S?D節(jié)點共同傳輸范圍內(nèi),且該節(jié)點具備一定的數(shù)據(jù)傳輸能力,則該節(jié)點不僅可以發(fā)送來自自己應(yīng)用層的數(shù)據(jù)包,還可以在S?D節(jié)點對之間轉(zhuǎn)發(fā)數(shù)據(jù)分組,這樣的中間節(jié)點稱為默認(rèn)中繼R節(jié)點。然而,在實際通信環(huán)境中,由于背景噪聲干擾變化、節(jié)點高速移動和節(jié)點損壞等原因很容易導(dǎo)致默認(rèn)中繼節(jié)點性能降低,甚至喪失中繼功能,因此對于中繼選擇與性能的研究非常重要。文獻[14]針對基站對移動站的組播通信場景設(shè)計了一種基于位置感知的分布式移動中繼選擇算法,該方法在第1階段將距離基站較遠(yuǎn)的成功傳輸移動站以較高的概率激活為移動中繼,從而提升第2階段的覆蓋性能,文章用數(shù)值與仿真結(jié)果證明了位置感知分布式(Location aware distributed,LAD)算法具有更高的能源利用率與覆蓋性能。文獻[15]針對多跳放大轉(zhuǎn)發(fā)大規(guī)模多輸入多輸出(Multiple input multiple output,MIMO)中繼系統(tǒng)設(shè)計提出了一個框架,該框架假設(shè)每個天線均有功率限制,并且在該框架的基礎(chǔ)上利用矩陣單調(diào)優(yōu)化推導(dǎo)出了具有最優(yōu)解的架構(gòu),仿真結(jié)果證明該方法具有更好的中繼性能。文獻[16]專注于多跳放大轉(zhuǎn)發(fā)MIMO中繼通信,提出了一個包括各種收發(fā)器設(shè)計的框架,將各種目標(biāo)函數(shù)統(tǒng)一為一個多目標(biāo)優(yōu)化問題,將每一跳的中繼操作理解為矩陣加權(quán)操作,對于僅具有純成形約束或聯(lián)合功率約束的兩種情況,都得出了最優(yōu)閉式解。
除此之外,使用輔助中繼節(jié)點協(xié)作傳輸機制可以大幅提升源節(jié)點與目的節(jié)點間中繼傳輸?shù)男阅?。對于一對超出單跳通信范圍的S?D節(jié)點來說,可以將除了默認(rèn)中繼節(jié)點R之外同樣具有中繼功能的節(jié)點稱為輔助中繼節(jié)點H,輔助中繼節(jié)點可以在默認(rèn)中繼節(jié)點R轉(zhuǎn)發(fā)失敗時進行協(xié)作轉(zhuǎn)發(fā),增加傳輸成功率,從而提高網(wǎng)絡(luò)吞吐量。目前已有許多針對輔助中繼節(jié)點轉(zhuǎn)發(fā)機制的研究。文獻[17]利用虛擬天線陣,提出了一種基于TDMA的協(xié)作MAC協(xié)議,即協(xié)作TDMA(Cooperative TDMA,C?TDMA),使協(xié)作傳輸能夠在瑞利衰落信道中進行,以提高正確接收數(shù)據(jù)包的概率和系統(tǒng)吞吐量。C?TDMA協(xié)議極大提升了傳統(tǒng)TDMA系統(tǒng)的吞吐量。文獻[18]提出了用于多跳中繼網(wǎng)絡(luò)的協(xié)作中繼TDMA(Coopera?tive relaying TDMA,CR?TDMA)機制,在該網(wǎng)絡(luò)中,默認(rèn)中繼節(jié)點可以利用附近的輔助中繼節(jié)點幫助轉(zhuǎn)發(fā),緩存隊列未滿的輔助中繼節(jié)點可以幫助轉(zhuǎn)發(fā)中繼數(shù)據(jù)包。CR?TDMA的一個特征是只有當(dāng)默認(rèn)中繼節(jié)點成功地從源節(jié)點接收數(shù)據(jù)包,輔助中繼節(jié)點才可以開始協(xié)作。由于源節(jié)點和默認(rèn)中繼節(jié)點之間不穩(wěn)定的信道狀況,該條件會導(dǎo)致利用協(xié)作資源的效率較低。在文獻[18]的基礎(chǔ)上,文獻[19]對協(xié)作機制進行了改進,即無論默認(rèn)中繼節(jié)點是否成功接收到了源節(jié)點S發(fā)送的數(shù)據(jù)包,都不會影響輔助中繼節(jié)點的協(xié)作行為,只要輔助中繼節(jié)點成功接收到S節(jié)點發(fā)送的中繼數(shù)據(jù)包并且自身的網(wǎng)絡(luò)層隊列為空,就會將該數(shù)據(jù)包加入網(wǎng)絡(luò)層隊列中,并且即使該中繼數(shù)據(jù)包在當(dāng)前時幀沒有被成功轉(zhuǎn)發(fā),也不會將其刪除,而是等到下個時幀繼續(xù)嘗試轉(zhuǎn)發(fā)。
雖然文獻[18]與文獻[19]都提出了有效的輔助中繼節(jié)點協(xié)作轉(zhuǎn)發(fā)機制,提升了中繼節(jié)點傳輸數(shù)據(jù)包的性能。但目前提出的TDMA協(xié)作轉(zhuǎn)發(fā)協(xié)議均是針對固定網(wǎng)絡(luò)拓?fù)湓O(shè)計的,且采用的時隙分配方式均為固定時隙分配,無法對網(wǎng)絡(luò)拓?fù)渥兓蚬?jié)點突發(fā)故障等狀況作出快速應(yīng)對。同時,當(dāng)節(jié)點自身業(yè)務(wù)流負(fù)載較大時,將會影響輔助中繼節(jié)點的協(xié)作性能。
針對上述缺點,本文提出一種基于動態(tài)中繼選擇的無人機自組網(wǎng)協(xié)作時分信道接入?yún)f(xié)議(Dynamic cooperative TDMA,DC?TDMA)。在每個時幀周期,該協(xié)議都會動態(tài)選擇有效的默認(rèn)中繼與輔助中繼節(jié)點以有效適應(yīng)網(wǎng)絡(luò)拓?fù)鋭討B(tài)變化,同時采用雙隊列協(xié)作機制可有效避免大流量負(fù)載對緩存隊列的影響,在提高中繼數(shù)據(jù)包投遞率的同時,也能夠降低端到端時延。
在如圖1所示的兩跳中繼網(wǎng)絡(luò)中,將源節(jié)點S預(yù)先確定用于轉(zhuǎn)發(fā)數(shù)據(jù)包給目的節(jié)點D的中繼節(jié)點R稱為默認(rèn)中繼節(jié)點,節(jié)點R周圍同樣可以中繼數(shù)據(jù)包的節(jié)點Hk(k=1,2,…)稱為源節(jié)點S的輔助中繼節(jié)點。為提高轉(zhuǎn)發(fā)成功率,S節(jié)點可以在附近的輔助中繼節(jié)點的中繼緩存隊列中沒有數(shù)據(jù)包的情況下,借助它們來幫助轉(zhuǎn)發(fā)數(shù)據(jù)分組。則數(shù)據(jù)傳輸可分解為4個類型,即S→R,S→Hk,R→D和Hk→D。
圖1 輔助中繼節(jié)點協(xié)作轉(zhuǎn)發(fā)示意圖Fig.1 Schematic diagram of helper relay nodes’cooperative forwarding
在本協(xié)議中,輔助中繼節(jié)點Hk只有在自身MAC層中繼緩存隊列為空時才可以開始協(xié)作,并將成功接收的中繼包存入中繼緩存隊列頭部,否則不參與協(xié)作,如圖2所示。
圖2 協(xié)作轉(zhuǎn)發(fā)機制緩存隊列示意圖Fig.2 Schematic diagram of cooperative forwarding mecha?nism’s cache queue
如果某一輔助中繼節(jié)點在當(dāng)前時幀接收到了一個中繼數(shù)據(jù)包,那么它會偵聽當(dāng)前時幀中默認(rèn)中繼節(jié)點R的發(fā)送。如果默認(rèn)中繼節(jié)點成功發(fā)送當(dāng)前時幀的數(shù)據(jù)包并收到了目的節(jié)點回復(fù)的ACK幀,則默認(rèn)中繼節(jié)點R和所有攜帶當(dāng)前時幀中繼數(shù)據(jù)包的輔助中繼節(jié)點Hk都會從緩存隊列中丟棄該中繼數(shù)據(jù)包。
在輔助中繼轉(zhuǎn)發(fā)時隙到來時,如節(jié)點Hk攜帶了目的地址為D的中繼數(shù)據(jù)包,則進行轉(zhuǎn)發(fā)。源節(jié)點S可偵聽節(jié)點Hk成功發(fā)送的數(shù)據(jù)包,隨后檢查并丟棄隊列中相同數(shù)據(jù)包。如節(jié)點D回送ACK,所有中繼節(jié)點會從隊列中丟棄相同數(shù)據(jù)包。接下來將對DC?TDMA協(xié)議的輔助中繼節(jié)點協(xié)作轉(zhuǎn)發(fā)性能進行分析。
默認(rèn)中繼節(jié)點R的緩存隊列長度為L,所以對于R來說,將觀察點設(shè)置在每個時幀傳輸時隙的末尾,則緩存隊列共有L+1種狀態(tài),狀態(tài)i表示緩存隊列中有i個數(shù)據(jù)包。將系統(tǒng)建模為馬爾科夫鏈,推導(dǎo)DC?TDMA協(xié)議的協(xié)作轉(zhuǎn)發(fā)的中繼數(shù)據(jù)包投遞率性能。在推導(dǎo)出馬爾科夫鏈的一步概率轉(zhuǎn)移矩陣后,可以求解出馬爾科夫鏈的穩(wěn)態(tài)分布,最終獲得DC?TDMA協(xié)議協(xié)作轉(zhuǎn)發(fā)的中繼數(shù)據(jù)包遞交成功率。
將數(shù)據(jù)傳輸階段之前的時隙(即廣播時隙、請求時隙、轉(zhuǎn)發(fā)請求時隙和分配時隙)統(tǒng)稱為控制時隙階段。中心節(jié)點在控制時隙階段中收集全網(wǎng)節(jié)點的請求信息,并進行時隙分配。在控制時隙階段的每個時隙,默認(rèn)中繼節(jié)點只可能以一定概率在非中繼緩存隊列中添加非中繼包,所以中繼緩存隊列不會產(chǎn)生變化,即控制時隙階段對中繼緩存隊列的狀態(tài)沒有影響。
因為數(shù)據(jù)傳輸階段由K個相同結(jié)構(gòu)的數(shù)據(jù)幀組成,所以可以先求解一個數(shù)據(jù)時幀內(nèi)的狀態(tài)轉(zhuǎn)移矩陣B。將從狀態(tài)i轉(zhuǎn)移到狀態(tài)j的轉(zhuǎn)移概率表示為Pj,i。則狀態(tài)轉(zhuǎn)移矩陣可以表示為
式中,Bi為與i的初始狀態(tài)對應(yīng)的行向量。將默認(rèn)中繼節(jié)點R的緩存隊列的初始長度分為3類:緩存隊列為空,緩存隊列已滿,緩存隊列非空且未滿[20]。下面分別推導(dǎo)這3種情況的轉(zhuǎn)移概率。
1.2.1 默認(rèn)中繼節(jié)點緩存隊列初始狀態(tài)為空時轉(zhuǎn)移概率
當(dāng)默認(rèn)中繼節(jié)點R的初始緩存隊列為空,假設(shè)該狀態(tài)(即i=0)轉(zhuǎn)移到狀態(tài)j,也就是說緩存隊列中增加了j個數(shù)據(jù)包。由于每個數(shù)據(jù)時幀中為源節(jié)點分配一個時隙,當(dāng)一個數(shù)據(jù)時幀結(jié)束時,默認(rèn)中繼節(jié)點的中繼緩存隊列中至多增加一個中繼數(shù)據(jù)包,因此,可以求出默認(rèn)中繼節(jié)點R的初始狀態(tài)由狀態(tài)i=0轉(zhuǎn)移到狀態(tài)j的概率Pj,0為
式中:Psucc,rs為默認(rèn)中繼節(jié)點R成功接收到源節(jié)點S發(fā)送的中繼包的概率,Psucc,hs為輔助中繼節(jié)點Hk成功接收到源節(jié)點S發(fā)送中繼包的概率,Pidle為輔助中繼節(jié)點緩存隊列為空的概率,Perr,dr為目的節(jié)點D沒有成功接收到默認(rèn)中繼節(jié)點R轉(zhuǎn)發(fā)包的概率,nh為輔助中繼節(jié)點的數(shù)量。當(dāng)默認(rèn)中繼節(jié)點成功接收到源節(jié)點發(fā)送的數(shù)據(jù)包,但沒有完成向目的節(jié)點的成功轉(zhuǎn)發(fā),同時輔助中繼節(jié)點也沒有轉(zhuǎn)發(fā)成功時,源節(jié)點的中繼數(shù)據(jù)包便會緩存在默認(rèn)中繼節(jié)點的緩存隊列中,等待下一個數(shù)據(jù)時幀到來時重新發(fā)送。
1.2.2 默認(rèn)中繼節(jié)點緩存隊列初始狀態(tài)為滿時轉(zhuǎn)移概率
當(dāng)默認(rèn)中繼節(jié)點R的初始緩存隊列已滿,則無法再接收源節(jié)點的數(shù)據(jù)包。所以在默認(rèn)中繼節(jié)點R自身數(shù)據(jù)時隙到來之前,其緩存隊列不會變化。在默認(rèn)中繼節(jié)點R的轉(zhuǎn)發(fā)時隙,如果目的節(jié)點成功接收中繼數(shù)據(jù)包,則節(jié)點R的緩存隊列會丟棄這個數(shù)據(jù)包,否則繼續(xù)保持不變。因此在中繼時隙結(jié)束時,默認(rèn)中繼節(jié)點R緩存隊列由狀態(tài)L轉(zhuǎn)移到狀態(tài)j的概率可以表示為
式中Psucc為默認(rèn)中繼節(jié)點成功發(fā)送中繼數(shù)據(jù)包的概率。
1.2.3 默認(rèn)中繼節(jié)點緩存隊列初始非空且未滿時轉(zhuǎn)移概率
在上面兩個小節(jié)中分別推導(dǎo)了默認(rèn)中繼節(jié)點緩存隊列初始狀態(tài)分別為i=0,i=L時的狀態(tài)轉(zhuǎn)移概率Pj,0,Pj,L,根據(jù)這兩個初始狀態(tài)的轉(zhuǎn)移概率即可表達(dá)出B0,BL。在這一節(jié)中,將會繼續(xù)推導(dǎo)默認(rèn)中繼節(jié)點R的初始緩存隊列非空且未滿時的轉(zhuǎn)移概率Bi(1≤i≤L-1)。
當(dāng)默認(rèn)中繼節(jié)點R的緩存隊列初始非空且未滿時,緩存隊列的狀態(tài)在源節(jié)點發(fā)送階段、默認(rèn)中繼節(jié)點轉(zhuǎn)發(fā)階段、輔助結(jié)點協(xié)作階段都可能產(chǎn)生變化,所以先分別求出這3個階段的概率轉(zhuǎn)移矩陣,再進行相乘,即可得到整個時幀的概率轉(zhuǎn)移矩陣??紤]到默認(rèn)中繼節(jié)點接收源節(jié)點的數(shù)據(jù)包有成功和不成功這兩種情況,所以Bi(1≤i≤L-1)可以表示為
式中,SY,RY,HY分別為默認(rèn)中繼節(jié)點成功接收了源節(jié)點發(fā)送的數(shù)據(jù)包情況下在源節(jié)點發(fā)送階段、默認(rèn)中繼節(jié)點轉(zhuǎn)發(fā)階段、輔助中繼節(jié)點協(xié)作階段的轉(zhuǎn)移概率矩陣,SN,RN,HN分別為默認(rèn)中繼節(jié)點未成功收到源節(jié)點發(fā)送數(shù)據(jù)包的情況下在源節(jié)點發(fā)送階段、默認(rèn)中繼節(jié)點轉(zhuǎn)發(fā)階段、輔助中繼節(jié)點協(xié)作階段的轉(zhuǎn)移概率矩陣。
(1)默認(rèn)中繼節(jié)點成功接收源節(jié)點數(shù)據(jù)包情況下的子矩陣推導(dǎo)
當(dāng)默認(rèn)中繼節(jié)點成功接收源節(jié)點發(fā)送的數(shù)據(jù)包的情況下,首先對SY進行推導(dǎo)。在源節(jié)點傳輸階段,默認(rèn)中繼節(jié)點的緩存隊列中會增加一個中繼數(shù)據(jù)包。因為初始狀態(tài)為i=0,i=L時的轉(zhuǎn)移概率子矩陣已推導(dǎo)出,所以只考慮1≤i≤L-1,即有L-1種初始狀態(tài),所以SY是一個(L-1)×(L+1)的矩陣,即[sj,i](L-1)×(L+1)。sj,i可以表示為
在默認(rèn)中繼節(jié)點的轉(zhuǎn)發(fā)時隙,RY=[rj,i](L-1)×(L+1),由式(7)可知,經(jīng)過源節(jié)點傳輸階段后,默認(rèn)中繼節(jié)點緩存隊列中至少有2個數(shù)據(jù)包,所以在中繼節(jié)點轉(zhuǎn)發(fā)時隙開始階段,一定滿足i≥2。在這一時隙中,默認(rèn)中繼節(jié)點的中繼緩存隊列有可能因為成功發(fā)送而從隊列中刪除一個數(shù)據(jù)包,所以rj,i可以表示為
在剩余的MR-1個時隙中,因為討論的是默認(rèn)中繼節(jié)點緩存隊列初始狀態(tài)(1≤i≤L-1)的情況,即默認(rèn)中繼節(jié)點成功接收源節(jié)點發(fā)送的數(shù)據(jù)包至少排在隊列中第2個,所以該數(shù)據(jù)包在當(dāng)前時幀的中繼轉(zhuǎn)發(fā)時隙不可能進行發(fā)送。如果至少有一個輔助中繼節(jié)點成功接收并轉(zhuǎn)發(fā)了源節(jié)點的數(shù)據(jù)包,則在其中一個輔助時隙中,默認(rèn)中繼節(jié)點會從緩存隊列刪除一個數(shù)據(jù)包。如果所有的輔助中繼節(jié)點都沒有成功接收源節(jié)點發(fā)送的數(shù)據(jù)包,則默認(rèn)中繼節(jié)點的緩存隊列不會發(fā)生變化。將矩陣HY表達(dá)為HY=[hj,i](L+1)×(L+1),則hj,i可以表示為
(2)默認(rèn)中繼節(jié)點未成功接收源節(jié)點數(shù)據(jù)包情況下的子矩陣推導(dǎo)
在默認(rèn)中繼節(jié)點沒有成功接收源節(jié)點發(fā)送的數(shù)據(jù)包的情況下,源節(jié)點傳輸階段緩存隊列中不會增加數(shù)據(jù)包,矩陣SN=[s_j,i](L+1)×(L+1),s_j,i可以表示為
在默認(rèn)中繼節(jié)點轉(zhuǎn)發(fā)時隙,RN=[rj,i](L+1)×(L+1),經(jīng)過源節(jié)點傳輸階段后,中繼節(jié)點緩存隊列中至少有1個數(shù)據(jù)包,所以在中繼節(jié)點轉(zhuǎn)發(fā)時隙開始階段,一定滿足i≥1。在這一時隙中,默認(rèn)中繼節(jié)點緩存隊列有可能因為成功發(fā)送而從緩存隊列中刪除一個數(shù)據(jù)包,所以rj,i可以表示為
因為默認(rèn)中繼節(jié)點沒有成功接收源節(jié)點的數(shù)據(jù)包,所以在剩余的MR-1個時隙中,中繼節(jié)點緩存隊列狀態(tài)將不受輔助中繼節(jié)點的影響,則
式中I為單位矩陣。隨后將式(5~10)代入式(4)可得到Bi(1≤i≤L-1),再聯(lián)立式(2~3)求出的B0和BL即可得出數(shù)據(jù)傳輸階段默認(rèn)中繼節(jié)點緩存隊列狀態(tài)轉(zhuǎn)移矩陣B。
令Πr=(πr0,πr1,···,πrL)為默認(rèn)中繼節(jié)點的緩存隊列各種狀態(tài)的的穩(wěn)態(tài)分布,通過求解矩陣方程ΠrB=Πr即可得出穩(wěn)態(tài)分布向量Πr。
接下來對協(xié)作的性能進行推導(dǎo)。中繼數(shù)據(jù)包投遞成功率可以用每個數(shù)據(jù)幀中成功轉(zhuǎn)發(fā)中繼數(shù)據(jù)包的數(shù)量來衡量,只有當(dāng)默認(rèn)中繼節(jié)點和輔助中繼節(jié)點均沒有成功轉(zhuǎn)發(fā)時,中繼數(shù)據(jù)包的轉(zhuǎn)發(fā)才不會成功,所以投遞成功率Th可以表示為
式中Psucc,rs(1-πrL)Psucc為默認(rèn)中繼節(jié)點成功接受源節(jié)點數(shù)據(jù)包,同時中繼緩存隊列非空,并且成功轉(zhuǎn)發(fā)給目的節(jié)點的概率,則1-Psucc,rs(1-πrL)Psucc為中繼節(jié)點因隊列滿而沒有成功轉(zhuǎn)發(fā)的概率,(1-Psucc,hsPidle)nh為所有輔助節(jié)點均沒有成功轉(zhuǎn)發(fā)的概率,則Th表示中繼數(shù)據(jù)包轉(zhuǎn)發(fā)成功的概率。
DC?TDMA協(xié)作策略基于動態(tài)時隙分配協(xié)議,分為同步過程、時隙請求過程、時隙分配過程以及數(shù)據(jù)傳輸過程。DC?TDMA時幀結(jié)構(gòu)如圖3所示。
圖3 DC?TDMA時幀結(jié)構(gòu)圖Fig.3 DC?TDMA time frame structure diagram
在每個控制幀的同步時隙階段,中心節(jié)點廣播同步幀,用于告知哪些節(jié)點在中心節(jié)點的一跳通信范圍內(nèi),同時可以讓待入網(wǎng)節(jié)點獲知網(wǎng)絡(luò)同步信息,從而發(fā)起入網(wǎng)請求。
時隙請求階段在網(wǎng)絡(luò)時幀的請求時隙與轉(zhuǎn)發(fā)請求時隙內(nèi)完成,兩種時隙的數(shù)量分別為N+1與N,N為網(wǎng)絡(luò)中節(jié)點數(shù)。請求時隙的第1個時隙與最后1個時隙用于新加入網(wǎng)絡(luò)的節(jié)點分別進行入網(wǎng)與發(fā)送請求幀,從第2個時隙開始的N-1個請求時隙用于網(wǎng)絡(luò)中除中心節(jié)點外的其他與中心節(jié)點一跳可達(dá)的節(jié)點發(fā)送各自的數(shù)據(jù)時隙請求。如果節(jié)點收到了兩跳節(jié)點的數(shù)據(jù)時隙請求幀,則確認(rèn)自己具有中繼功能,將自己標(biāo)記為中繼節(jié)點,隨后在后N個轉(zhuǎn)發(fā)請求時隙中將請求節(jié)點信息轉(zhuǎn)發(fā)給中心節(jié)點,中心節(jié)點將各節(jié)點請求發(fā)送數(shù)據(jù)的信息進行存儲。中心節(jié)點每收到一個數(shù)據(jù)時隙請求幀,就判斷發(fā)送節(jié)點是否有數(shù)據(jù)要發(fā)送,如果有,則存儲到本地記錄中。時隙請求階段結(jié)束后,中心節(jié)點通過遍歷記錄,即可獲得當(dāng)前網(wǎng)絡(luò)時幀內(nèi)需要發(fā)送數(shù)據(jù)分組的節(jié)點信息。在后N個轉(zhuǎn)發(fā)請求時隙中,當(dāng)中心節(jié)點收到轉(zhuǎn)發(fā)請求幀時,即可知發(fā)送該幀的節(jié)點具有中繼功能,將該節(jié)點添加到自身維護的中繼節(jié)點信息表中。
時隙分配階段在網(wǎng)絡(luò)時幀的分配時隙內(nèi)完成。時隙分配階段分別由中心節(jié)點與中繼節(jié)點廣播時隙分配幀和轉(zhuǎn)發(fā)時隙分配幀。在廣播時隙分配幀階段,中心節(jié)點根據(jù)請求時隙中存儲的待發(fā)送節(jié)點信息將當(dāng)前時幀數(shù)據(jù)發(fā)送階段的時隙分配給有發(fā)送需求的節(jié)點。同時在每個時幀中動態(tài)為每個節(jié)點選擇分配對應(yīng)默認(rèn)中繼節(jié)點,并通過廣播分配幀,將時隙分配信息和默認(rèn)中繼節(jié)點分配信息告知自己一跳通信范圍內(nèi)的各個節(jié)點。數(shù)據(jù)傳輸階段由K個相同結(jié)構(gòu)的數(shù)據(jù)幀組成,每個數(shù)據(jù)幀包含M個數(shù)據(jù)時隙,M的數(shù)量由中心節(jié)點決定后通過廣播分配幀來讓網(wǎng)絡(luò)中其他節(jié)點知曉。每個數(shù)據(jù)幀由MS個源節(jié)點傳輸時隙與MR個中繼節(jié)點傳輸時隙組成,即M=MS+MR。所有中繼節(jié)點(包括默認(rèn)中繼節(jié)點與輔助中繼節(jié)點)均在自己的轉(zhuǎn)發(fā)分配時隙廣播轉(zhuǎn)發(fā)時隙分配幀,將時隙分配信息告知網(wǎng)絡(luò)中的兩跳節(jié)點,至此全網(wǎng)節(jié)點都掌握了無沖突的時隙分配信息。
數(shù)據(jù)發(fā)送階段在數(shù)據(jù)時隙內(nèi)完成。全網(wǎng)節(jié)點在自己的數(shù)據(jù)時隙到來時從網(wǎng)絡(luò)層緩存隊列中取出數(shù)據(jù)包發(fā)送。節(jié)點接收到數(shù)據(jù)時隙分配幀后,即可獲知本節(jié)點在當(dāng)前時幀內(nèi)分配到的數(shù)據(jù)時隙編號。在自身數(shù)據(jù)時隙到來時,節(jié)點在一個時隙的時間內(nèi)完成數(shù)據(jù)包的傳輸與應(yīng)答。
(1)新節(jié)點入網(wǎng)流程
當(dāng)一跳范圍內(nèi)有新節(jié)點需要加入網(wǎng)絡(luò)時,節(jié)點首先通過接收當(dāng)前時幀的同步幀獲知時間同步信息以及當(dāng)前時幀中心節(jié)點ID等信息。隨后待入網(wǎng)新節(jié)點在當(dāng)前時幀請求階段的首個請求時隙中向中心節(jié)點發(fā)送入網(wǎng)請求。同時,在首個請求時隙內(nèi),待入網(wǎng)新節(jié)點按概率發(fā)送入網(wǎng)請求幀以避免沖突。中心節(jié)點收到入網(wǎng)請求幀后,回復(fù)入網(wǎng)應(yīng)答幀,同時將當(dāng)前時幀中的網(wǎng)絡(luò)節(jié)點數(shù)告知待入網(wǎng)新節(jié)點。
(2)節(jié)點退網(wǎng)流程
如果某節(jié)點需要主動退出網(wǎng)絡(luò),若該節(jié)點與中心節(jié)點一跳可達(dá),則在自身請求時隙向中心節(jié)點發(fā)送退網(wǎng)請求幀。若該節(jié)點是兩跳節(jié)點,則向中繼節(jié)點發(fā)送退網(wǎng)請求幀,中繼節(jié)點收到退網(wǎng)請求幀后,在自身轉(zhuǎn)發(fā)時隙向中心節(jié)點進行轉(zhuǎn)發(fā)。時隙請求階段結(jié)束后,中心節(jié)點將當(dāng)前時幀中退網(wǎng)節(jié)點信息加入分配幀告知網(wǎng)絡(luò)中其他節(jié)點,其他節(jié)點收到后,對自身維護的網(wǎng)絡(luò)節(jié)點數(shù)量、編號等信息進行更新。
本節(jié)在EXata仿真平臺下實現(xiàn)了該協(xié)議,并分別從中繼數(shù)據(jù)包投遞率和時延兩個角度對該協(xié)議的性能進行評估分析。節(jié)點在仿真區(qū)域中按照設(shè)定的拓?fù)浞植?,每一時幀中數(shù)據(jù)幀重復(fù)數(shù)K的取值為10。仿真中網(wǎng)絡(luò)層采用靜態(tài)路由,網(wǎng)絡(luò)中的仿真業(yè)務(wù)類型為恒定比特率(Constant bit rate,CBR)業(yè)務(wù),仿真時長設(shè)為60 s,所有仿真結(jié)果均為多次仿真取平均后的結(jié)果,其他仿真參數(shù)如表1所示。
表1 仿真參數(shù)Table 1 Simulation parameters
首先考慮網(wǎng)絡(luò)中除默認(rèn)中繼節(jié)點之外還有輔助中繼節(jié)點存在的情況。設(shè)網(wǎng)絡(luò)中源節(jié)點S與目的節(jié)點D位置固定,中繼節(jié)點R、H1、H2初始位置均位于源節(jié)點與目的節(jié)點一跳范圍內(nèi),且圍繞初始位置盤旋,可近似看作位置固定。
中繼節(jié)點R、H1、H2位置近似固定條件下的仿真拓?fù)涫疽鈭D如圖4所示。在這樣的拓?fù)錀l件下,隨著節(jié)點發(fā)包速率由慢到快逐漸增加,3種協(xié)議的中繼數(shù)據(jù)包投遞率隨發(fā)包速率的變化曲線如圖5所示。由圖5可以看出,當(dāng)節(jié)點發(fā)包速率為0~900個/s時,TDMA協(xié)議與OCR?TDMA協(xié)議的中繼數(shù)據(jù)包都可以及時被處理,此時中繼數(shù)據(jù)包投遞率均為1,而當(dāng)發(fā)包速率逐漸增加為1 000~1 500個/s時,普通TDMA協(xié)議由于輔助中繼節(jié)點不參與協(xié)作,故中繼數(shù)據(jù)包投遞率低于OCR?TDMA,但當(dāng)發(fā)包速率高于1 600個/s后,輔助中繼節(jié)點負(fù)載增加,不再出現(xiàn)網(wǎng)絡(luò)層為空的情況,所以不參與協(xié)作轉(zhuǎn)發(fā),此時性能等同于普通的TDMA協(xié)議,中繼數(shù)據(jù)包投遞率迅速降低,直到2 300個/s時趨近于0。而本文所提出的協(xié)議為了實現(xiàn)兩跳范圍內(nèi)內(nèi)節(jié)點的動態(tài)中繼選擇、入網(wǎng)退網(wǎng),因而引入了節(jié)點同步、時隙請求、轉(zhuǎn)發(fā)請求、時隙分配和轉(zhuǎn)發(fā)分配等控制階段的時隙開銷,導(dǎo)致在數(shù)據(jù)包發(fā)送速率較低時中繼數(shù)據(jù)包投遞率略低于TDMA,但由于節(jié)點有雙隊列存在,中繼轉(zhuǎn)發(fā)隊列與應(yīng)用層數(shù)據(jù)包到達(dá)隊列不是同一個,所以不受應(yīng)用層發(fā)包速率的影響,在節(jié)點發(fā)包速率超過1 600個/s時,輔助中繼節(jié)點緩存隊列不再出現(xiàn)為空的情況,OCR?TDMA協(xié)議中繼數(shù)據(jù)包投遞率急劇下降,但本文所提出的協(xié)議依然具有較高的中繼數(shù)據(jù)包投遞率,當(dāng)數(shù)據(jù)包發(fā)送速率達(dá)到2 300個/s時,TDMA和OCR?TDMA協(xié)議中繼包投遞率幾乎為0,本文所提協(xié)議依舊具有40%左右的中繼數(shù)據(jù)包投遞率。
圖4 固定仿真拓?fù)涫疽鈭DFig.4 Schematic diagram of fixed simulation topology
圖5 固定拓?fù)錀l件下中繼包投遞率隨發(fā)包速率變化曲線Fig.5 Curves of relay packet delivery rate changing with the packet sending rate under fixed topology
節(jié)點發(fā)包速率由慢到快逐漸增加,3種協(xié)議的端到端時延隨發(fā)包速率的變化如圖6所示。由圖6可以看出,當(dāng)節(jié)點發(fā)包速率較低時,數(shù)據(jù)包到達(dá)間隔較大,網(wǎng)絡(luò)層隊列中的數(shù)據(jù)包會被很快轉(zhuǎn)發(fā),所以具有很低的端到端時延。在發(fā)包速率為900~1 500個/s之間時,由于發(fā)包速率(即數(shù)據(jù)包到達(dá)率)的增加,因排隊時延增加,端到端時延開始增大。其中,由于輔助中繼節(jié)點未滿,存在協(xié)作轉(zhuǎn)發(fā),所以這個區(qū)間內(nèi)OCR?TDMA的端到端時延顯著低于普通TDMA協(xié)議。本文所提出的協(xié)議由于引入了節(jié)點同步、時隙請求、轉(zhuǎn)發(fā)請求、時隙分配和轉(zhuǎn)發(fā)分配等控制階段的時隙開銷,服務(wù)率略低于TDMA與OCR?TDMA協(xié)議,所以端到端時延最先增加,但在達(dá)到0.12 s后即保持穩(wěn)定的值,而OCR?TDMA協(xié)議隨著發(fā)包速率增加直到數(shù)據(jù)包到達(dá)率大于服務(wù)率,不再出現(xiàn)隊列非空的情況,從而不再參與協(xié)作,在發(fā)包速率超過1 600個/s后,性能與普通TDMA協(xié) 議相同,并急劇 增大,在 發(fā)包速 率為1 800個/s時,TDMA與OCR?TDMA協(xié)議的端到端時延約為本文所提出協(xié)議的2倍。
圖6 固定拓?fù)錀l件下端到端時延隨發(fā)包速率變化曲線Fig.6 Curves of end?to?end delay changing with the packet sending rate under fixed topology
當(dāng)網(wǎng)絡(luò)拓?fù)渥兓瘯r,本文所提出的協(xié)議相比TDMA與OCR?TDMA更能適應(yīng)網(wǎng)絡(luò)拓?fù)鋭討B(tài)變化。當(dāng)中繼節(jié)點動態(tài)運動并脫離目的節(jié)點視距通信范圍時,將不再具有中繼轉(zhuǎn)發(fā)功能。拓?fù)渥兓瘓D如圖7所示。
圖7 運動仿真拓?fù)涫疽鈭DFig.7 Motion simulation topology diagram
在初始網(wǎng)絡(luò)拓?fù)渲?,源與目的節(jié)點位置固定且一跳不可達(dá),節(jié)點R與節(jié)點H均位于源節(jié)點和目的節(jié)點一跳通信范圍內(nèi),以100 m/s的速度朝源節(jié)點方向移動,節(jié)點R′位于源節(jié)點一跳范圍內(nèi)、目的節(jié)點一跳范圍外,以100 m/s的速度向中繼節(jié)點反方向移動。虛線區(qū)域表示源與目的節(jié)點一跳通信范圍的交叉重疊部分。
在如上的拓?fù)鋭討B(tài)變化情況下,隨著節(jié)點發(fā)包速率的增加,3種協(xié)議的中繼數(shù)據(jù)包投遞率隨發(fā)包速率的變化曲線如圖8所示。由圖8可以看出,網(wǎng)絡(luò)拓?fù)涞膭討B(tài)變化導(dǎo)致TDMA協(xié)議與OCR?TDMA協(xié)議在原有默認(rèn)中繼節(jié)點(輔助節(jié)點)均移動出中繼范圍后,無法動態(tài)選擇新節(jié)點作為中繼節(jié)點,所以中繼數(shù)據(jù)包投遞率遠(yuǎn)小于DC?TDMA協(xié)議。在發(fā)包速率為0~800個/s時,3種協(xié)議的中繼數(shù)據(jù)包都可以被及時處理,此時投遞率比較穩(wěn)定,但由于TD?MA與OCR?TDMA協(xié)議無法動態(tài)選擇中繼節(jié)點,導(dǎo)致數(shù)據(jù)包投遞率只有DC?TDMA協(xié)議的1/6。當(dāng)發(fā)包速率在800~1 500個/s之間時,由于OCR?TDMA協(xié)議在輔助節(jié)點未失效時可以利用輔助節(jié)點進行協(xié)作轉(zhuǎn)發(fā),所以相較于TDMA具有更高的投遞率。當(dāng)發(fā)包速率超過1 500個/s時,輔助節(jié)點應(yīng)用層到達(dá)數(shù)據(jù)包無法及時處理,網(wǎng)絡(luò)層隊列不為空,無法協(xié)作轉(zhuǎn)發(fā),此時OCR?TDMA性能等同于TDMA,在發(fā)包速率為2 000個/s時投遞率趨于0,但DC?TDMA由于雙隊列機制與動態(tài)中繼選擇機制仍可保持較高投遞率。
圖8 拓?fù)鋭討B(tài)變化情況下中繼數(shù)據(jù)包投遞率隨發(fā)包速率變化曲線Fig.8 Curves of relay data packet delivery rate changing with the packet sending rate un?der the dynamic change of topology
隨著節(jié)點發(fā)包速率的增加,3種協(xié)議的平均端到端時延隨發(fā)包速率的變化如圖9所示。由圖9可以看出,當(dāng)發(fā)包速率在0~800個/s時,由于數(shù)據(jù)包可以被及時處理,3種協(xié)議的中繼數(shù)據(jù)包時延都趨近于0。但當(dāng)發(fā)包速率超過800個/s后,由于拓?fù)鋭討B(tài)變化導(dǎo)致原有中繼節(jié)點失效以及無輔助節(jié)點幫助協(xié)作轉(zhuǎn)發(fā),TDMA時延迅速上升。在發(fā)包速率為800~1 200個/s時,由于DC?TDMA引入了控制階段的時隙開銷,服務(wù)率略低于TDMA與OCR?TDMA協(xié)議,所以端到端時延最先增加,但在發(fā)包速率達(dá)到1 200個/s時即保持穩(wěn)定。而由于OCR?TDMA協(xié)議輔助節(jié)點網(wǎng)絡(luò)層隊列不為空無法協(xié)助轉(zhuǎn)發(fā),同時也無法應(yīng)對拓?fù)鋭討B(tài)變化,導(dǎo)致在發(fā)包速率超過1 200個/s后時延迅速增大。
圖9 拓?fù)鋭討B(tài)變化情況下端到端時延隨發(fā)包速率變化曲線Fig.9 Curves of end?to?end delay changing with the packet sending rate under the dynamic change of topology
當(dāng)發(fā)包速率為2 000個/s時,3種協(xié)議隨仿真時間統(tǒng)計的目的節(jié)點接收中繼數(shù)據(jù)包數(shù)量如圖10所示。由于TDMA協(xié)議與OCR?TDMA協(xié)議中繼(輔助)節(jié)點均是預(yù)先分配,無法動態(tài)適應(yīng)拓?fù)渥兓?,?dāng)中繼與輔助中繼節(jié)點均移動出目的節(jié)點一跳通信范圍后,則無法參與轉(zhuǎn)發(fā),導(dǎo)致10 s后目的節(jié)點無法再接收到源節(jié)點數(shù)據(jù)包。但由于OCR?TDMA協(xié)議利用了輔助中繼節(jié)點,所以O(shè)CR?TDMA相對TDMA可轉(zhuǎn)發(fā)更多中繼包。DC?TDMA協(xié)議可動態(tài)選擇中繼與輔助中繼節(jié)點,當(dāng)節(jié)點R′首先進入源節(jié)點與目的節(jié)點交叉通信范圍時,會發(fā)揮輔助中繼功能,幫助轉(zhuǎn)發(fā)節(jié)點R的數(shù)據(jù)包。而當(dāng)中繼與輔助中繼節(jié)點均移動出目的節(jié)點通信范圍后,中心節(jié)點會重新選擇并指定節(jié)點R′作為默認(rèn)中繼節(jié)點,從而盡最大可能保證在仿真運行時間內(nèi),源節(jié)點和目的節(jié)點之間一直存在中繼節(jié)點,相比TDMA與OCR?TDMA協(xié)議極大提高了網(wǎng)絡(luò)吞吐量。
圖10 發(fā)包速率為2 000個/s時接收中繼包數(shù)量隨時間變化曲線Fig.10 Curves of the number of received re?lay packets versus time when the pack?et sending rate is 2 000 per second
針對高速移動無人機自組織網(wǎng)絡(luò)環(huán)境,提出了DC?TDMA,采用中繼節(jié)點動態(tài)選擇機制,在每個時幀周期動態(tài)選擇更新有效的默認(rèn)中繼節(jié)點與輔助中繼節(jié)點,有效適應(yīng)拓?fù)渥兓2捎秒p隊列協(xié)作機制,可有效避免大流量負(fù)載對緩存隊列影響,在提高中繼數(shù)據(jù)包投遞率的同時也能降低端到端時延。仿真表明該協(xié)議與TDMA協(xié)議及OCR?TDMA協(xié)議相比,在網(wǎng)絡(luò)流量負(fù)載較大、網(wǎng)絡(luò)拓?fù)鋭討B(tài)變化的情況下均能保持穩(wěn)定的高數(shù)據(jù)包投遞率與低平均端到端時延。在本文的研究基礎(chǔ)上,未來可進一步考慮動態(tài)調(diào)整時隙分配方案中數(shù)據(jù)時幀的數(shù)量,從而在網(wǎng)絡(luò)拓?fù)渥兓那闆r下進一步提升網(wǎng)絡(luò)性能。