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