鄭文慶,金 虎,郭建蓬,馮 輝
(國防科技大學 電子對抗學院,安徽 合肥 230037)
Ad Hoc網絡的重要技術之一是對其介質訪問控制(Media Access Control,MAC)層協議的設計[1]。它決定了眾多節點如何公平、有效地共享無線信道資源。為保證通信網絡中高優先級分組的高吞吐量、低延時以及服務質量(Quality of Service,QoS),基于優先級概率統計的多址接入模式(Statistic Prioritybased Multiple Access,SPMA)協議應運而生[2]。
SPMA協議不同于傳統的信道接入模式協議。它通過協議棧各層之間的信息傳輸,可以極低時延完成各節點間的信息交互。SPMA協議不需事先為網絡中各節點預約或分配時隙,只需在網絡層數據包到達時統計信道占用率,通過將信道占用率與數據包閾值進行比較來決定業務分組是否接入信道[3]。如果此時信道占用率低于數據包閾值,則發送該數據包;如果信道占用率高于數據包閾值,則根據退避算法設定退避時間進行回退等待,到達退避時間后再次檢測信道占用率,并與閾值比較,判斷是否接入信道。
SPMA協議對信道的接入控制主要取決于各優先級設定的閾值大小。閾值越大,接入信道的概率越大;反之,越小。本文主要研究SPMA協議的接入閾值問題。首先,闡述SPMA協議的運行機制和特點;其次,根據碰撞模型提出各優先級的閾值設置方法;最后,對在該閾值方法下的SPMA協議進行系統仿真,得到系統性能隨系統負載變化的變化曲線。
SPMA協議主要為擴頻系統設計。該協議下,系統持續監測信道占用情況,并定時持續更新偵聽到的收發脈沖數目,根據信道中監測到的收發脈沖的數量和特性,判斷信道可能存在的多種狀態[4]。SPMA協議信道判斷與CSMA協議判斷機制不同。CSMA協議只要偵聽到有一個節點在發送,此時就判定信道為忙。而SPMA協議是偵聽監測信道中的脈沖數目,通過數值計算得到一個有關于信道占用情況的信道占用統計值。當有數據包需要發送時,根據偵聽統計得到的脈沖數據,計算當前信道的占用情況,并將計算得到的信道占用統計值與數據包閾值大小進行比較,從而判斷是否允許該包發送[5]。
SPMA協議的特點是采用了多種優先級的QoS服務機制[6]。當網絡層的數據包到達MAC層時,首先根據其優先級分別插入到相對應的隊列中;然后,取出隊列中最高優先級的數據包,將當前統計得到的信道占用率與此數據包優先級對應的閾值進行比較,如果信道占用率小于閾值,則發送該數據包,如果信道占用率大于閾值,數據包將根據其優先級及信道占用情況退避一段時間,到達時間后再次檢測信道占用情況判斷是否發送。其中,高優先級對應的閾值在數值上大于低優先級對應的閾值,從而保證高優先級有更大的概率接入信道[7]。
此外,在數據包退避時間內,如果有更低優先級的數據包到達,它將在隊列中排隊等待傳輸,直到更高優先級的數據包發送完畢;如果有更高優先級的數據包到達,則退避取消,并立即統計信道占用率,同時與該數據包閾值進行比較,以判斷是否能夠發送該數據包。
SPMA協議的接入控制流程,如圖1所示。協議中,數據包優先級的分類是在應用層確定,而實際應用中是人為決定的。當應用層產生的數據包經過網絡層到達MAC層時,首先根據優先級將數據包插入對應的隊列,判斷高優先級隊列中是否有包,并將較高優先級數據包轉為待發送狀態,然后將當前統計得到的信道占用率與待發送數據包的閾值進行比較。如果此時信道占用率低于閾值,則允許發送的數據包從隊列中移除并發送;如果信道占用率高于閾值,節點將根據數據包的優先級與信道占用率的值設定退避時間進行回退等待,到達退避時間后,再次檢測信道占用率,循環以上流程[8]。SPMA協議的工作狀態轉移,如圖2所示。

圖1 SPMA協議接入控制流程

圖2 SPMA協議工作狀態轉移
如圖3所示,如果網絡流量始終很高,當信道負載超過最大信道負載時,系統會首先執行低優先級回退操作,甚至丟棄低優先級的包。如果網絡流量居高不下,系統將嚴重超載。此時,系統將相繼退避更高優先級的數據包甚至棄包,直到信道負載下降,退避的數據包才可以接入信道,這叫做“削峰填谷”。這樣做的效果是在系統超載時,SPMA協議首先會延遲或抑制低優先級數據包的接入,控制低優先級的流量。隨著系統負載的增加,可控制信道負載,保持信道流量在一個比較穩定的水平,以保證系統高優先級業務的QoS質量,且使得整個網絡不至于在超載的情況下產生擁塞。

圖3 SPMA協議流量控制
下面簡要分析信道中數據包在時頻點上的碰撞原理[9]。如果不考慮分組超出隊列緩沖容量而導致的丟包,此時網絡節點分組的發送成功概率主要取決于分組的碰撞情況。如果在接收端接收到不同節點發送的脈沖在時間和頻率上出現重疊,則認為發生了脈沖碰撞[10]。
系統業務分組的發送特點是,將分組拆分為時長t的脈沖并以周期Th發送,其中發送占空比為Tδ=t/Th。由于傳播延時不確定,因此假定接收到的信號到達時刻在0~Th內是均勻分布的。假設每分組拆分的脈沖數量為n,且節點數為n個節點(cj,j=1,2,…,n)發送的數據到達接收節點cn+1的時間分別為tj,j=1,2,…,n,則節點cj(j=2,…,n)與另外目標節點c1發生碰撞的條件為|tj-t1|<Th/Tδ。此時,目標節點c1同不超過k個節點發生碰撞的概率為:

式中,Vl為l個節點同目標節點發生時間碰撞的概率,是一個l+1維時間約束區域;m為跳頻頻點數。
考慮到在物理層發送與接收數據時會采用編碼糾錯技術,當接收節點接收到的脈沖數量在編碼糾錯能力范圍內時,該數據分組可被成功恢復。假設數據分組拆分為Np個跳頻脈沖進行發送,采用編碼技術后,當接收到不少于Nm個脈沖時,可認為數據分組被成功接收,則數據分組成功概率為:

門限閾值需要與信道占用率進行比較,因此在研究門限閾值前需要研究信道占用情況。信道占用是基于統計收發數據包的數量得到的,并根據收發數據包的數量之和作一定數學運算,以科學合理地評價信道占用狀態。因為本文研究的信道占用狀態是根據收發數據包數量之和乘以脈沖時長并除以統計時間窗的時間長度得到的,所以計算信道占用率η(T )如式(3)所示,得到的信道占用率為[0,1]范圍內的數。因此,門限閾值的取值設置為[0,1]內的小數。

式中,nr為此節點接收到的數據包數量;nt為此節點發送的數據包數量;t0為數據脈沖時長;T為統計窗口時長。
SPMA協議中,數據包能否立即發送,取決于當前信道占用是否大于數據包對應優先級閾值。優先級閾值設置得過高,允許發送的優先級分組越多,信道負載越大,高優先級分組的傳輸質量將會降低;優先級閾值設置得過低,更多的低優先級分組將退避,造成不必要的信道資源浪費[11]。因此,需要合理設置優先級閾值,將信道負載控制在良好狀態。
假設網絡存在優先級0到優先級N-1共N個優先級業務,其中優先級0為最高優先級,各優先級業務所占的比例為ri,優先級對應的閾值為Thresholdi。閾值是由節點所處的電磁環境、物理層協議以及碰撞原理共同決定的。因此,無法給出確定公式。下面首先研究最低優先級閾值如何設置。
在網絡系統信道負載不大于最低優先級閾值ThresholdN-1對應的信道業務量時,所有優先級分組均不需要退避且隨到隨發。此時,可保證各優先級分組傳輸成功率不低于99%。因此,最低優先級閾值ThresholdN-1可采用ALOHA工作方式獲得。測試場景中,節點均采用ALOHA方式。基于信道碰撞原理,各節點無優先級控制,分組隨到隨發。逐漸增大網絡業務量,當分組傳輸成功率降低至接近99%時,獲取此時統計時間窗內信道上發送和接收的脈沖數量之和,經式(3)的數學運算得到ThresholdN-1。
本文的優先級閾值設置綜合考慮了碰撞原理、物理層誤包率性能和各優先級業務在總業務量中的所占比例,可得到相鄰優先級閾值的關系不等式:

可得,各優先級閾值范圍可通過最低優先級閾值ThresholdN-1計算得到,如式(5)所示:

通過采用上述方法設置優先級閾值,可以將信道占用控制在最低優先級閾值范圍內,保證高優先級分組的傳輸可靠性。例如,當信道占用剛大于ThresholdN-1時,優先級N-1分組進行退避。由于該業務量場景下信道占用不大于ThresholdN-2,此時系統能夠發送優先級N-2分組。為確保高優先級分組的傳輸成功率不低于99%,且可更大程度地利用信道資源,優先級N-2閾值ThresholdN-2可通過式(6)求得:

綜上所述,為提高高優先級業務的傳輸成功概率,并更大程度地提高信道利用率,其余各優先級閾值計算方法為:

本文采用OPNET仿真工具進行以下仿真實驗。為驗證系統性能,采用簡化的仿真場景。有100個節點分布在100 km×100 km的區域中靜止不動,且認為節點與節點間為單跳傳輸,信道傳輸速率為2 Mb/s。業務分為優先級0到優先級7共8個優先級,且各優先級所占比例如表1所示。每種優先級業務的包到達時間間隔服從泊松分布,包長為1 024 bit,目的地址選取為隨機發送地址。網絡系統負載范圍為1~10 Mb/s。假設時延僅考慮包接入等待時產生的時延和傳輸時延,其余時延均不考慮。

表1 各優先級所占比例及閾值取值
為得到各優先級對應的門限閾值,首先采用ALOHA工作方式進行仿真測試,且測試場景與上述SPMA協議場景相同。經過實驗研究,得到ALOHA協議下分組成功概率如圖4所示。可見,在傳輸成功概率降為99%時,統計得到的信道占用率為4%,因此Threshold7選取為4%。根據以上閾值設定方法可設置其余優先級閾值如表1所示,并基于以上參數進行仿真實驗。

圖4 ALOHA協議分組成功概率
本仿真通過對各個優先級分組成功概率和時延采樣取值,得到成功率和時延隨系統業務量的變化曲線如圖5、圖6所示。

圖5 各優先級成功率隨系統業務量變化曲線

圖6 各優先級時延隨系統業務量變化曲線
圖5 為各個優先級分組的成功發送概率隨系統業務量的變化曲線。由圖5可知,當系統業務量超過一定數值后,最低優先級數據包開始回退產生時延甚至棄包,成功發送概率開始降低,說明此時信道占用已經超過最低優先級對應的閾值。隨著系統業務量的逐漸增大,信道負載逐漸增大,較高優先級數據包對應的閾值相繼開始小于信道占用,此時開始回退甚至棄包,成功發送概率也開始下降。由于本協議可通過抑制低優先級的接入達到控制信道負載的目的,因此可始終為最高優先級業務提供高QoS保證,其成功發送概率可保持在99%以上。
圖6為各優先級端到端時延隨系統業務量的變化曲線。由圖6可知,當系統業務量超過一定數值后,信道占用開始超過最低優先級閾值,最低優先級進行回退。隨著系統業務量的增大,之后較高優先級也依次開始回退,退避的包分組端到端時延急劇增大。圖6中,當系統業務量達到一定界限后,低優先級數據包的端到端時延會急劇增大,可使信道負載保持在穩定水平,進而保證系統中高優先級業務的高通信質量。此外,高優先級業務接入信道時優先接入無需等待,因此其端到端時延僅有通信距離產生的很小的傳輸時延。
為滿足系統通信時對多優先級業務的服務質量要求,保證高優先級業務的高QoS質量,本文對SPMA協議接入閾值進行研究。首先闡述了SPMA協議的運行機制,其次根據碰撞原理和ALOHA協議仿真得到SPMA協議的閾值設置方法,最后通過仿真實驗驗證了本閾值計算方法的可行性。通過以上過程可發現,SPMA協議通過給各個數據包設置不同優先級,同時設置優先級對應的閾值,再通過偵聽信道占用狀態與預先設置的閾值進行比較來判斷是否接入信道,實現了系統對多優先級業務的QoS服務機制,滿足了系統對高優先級業務高成功概率、低時延、高服務質量的要求。