王琦,周鋒
(1.哈爾濱工程大學 水聲技術全國重點實驗室,黑龍江 哈爾濱 150001;2.海洋信息獲取與安全工業(yè)和信息化部重點實驗室(哈爾濱工程大學),黑龍江 哈爾濱 150001;3.哈爾濱工程大學 水聲工程學院,黑龍江 哈爾濱 150001)
水下傳感器網(wǎng)絡是由眾多的部署在水下的傳感器節(jié)點組成,這些水下節(jié)點可以搭載各種傳感器,對所在的水下區(qū)域的生物、物理和化學等信息進行采集和監(jiān)測[1-2]。通常,水下傳感器節(jié)點采集的信息需要被傳輸?shù)剿婊虬痘鶖?shù)據(jù)中心進行處理,節(jié)點間有序高效的信息傳輸,需要媒體接入控制(MAC)協(xié)議進行協(xié)調(diào)。但是,由于水下傳感器網(wǎng)絡使用聲信道作為傳輸通道,聲信道具有速率低、帶寬窄和傳播延遲高的特點,使得高效率的水下傳感器網(wǎng)絡的MAC協(xié)議的設計遇到巨大挑戰(zhàn)。水下聲信號的傳播速度(約1 500 m/s)是一個實時變化的物理量,受水下的溫度、鹽度和深度影響。水下聲信號的傳播延時比陸上無線電信號的傳播時延高約5個數(shù)量級。由于節(jié)點間這種變化的長傳播時延,水下傳感器網(wǎng)絡節(jié)點間傳輸信息具有時間不確定性。另外,由于節(jié)點部署在水下的不同位置上,多個節(jié)點間具有不同的傳輸距離,導致2個源節(jié)點同時給同一個目標節(jié)點發(fā)送信息時,目標節(jié)點可以無碰撞的接收信息。而在不同時刻給同一個目標節(jié)點發(fā)送信息時,來自2個源節(jié)點的信息在目標節(jié)點發(fā)生碰撞。上述現(xiàn)象描述了水下傳感器網(wǎng)絡節(jié)點間傳輸信息具有的空間不確定性。水下聲信道的這種時空不確定性,使得成熟的陸上無線電網(wǎng)絡的MAC協(xié)議,不能直接應用于水下傳感器網(wǎng)絡,只能針對水下傳感器網(wǎng)絡具有的時空不確定性特點,設計適用于水下傳感器網(wǎng)絡的MAC協(xié)議。
本文提出了一種新型的適用于水下傳感器網(wǎng)絡的基于接收端同步的并發(fā)媒體接入控制協(xié)議,即CMACRS。該協(xié)議的主要目標是解決影響水下傳感器網(wǎng)絡MAC協(xié)議性能的時空不確定性問題。CMACRS由請求階段、數(shù)據(jù)傳輸階段和應答階段組成。發(fā)送節(jié)點采用預約的方式接入信道,在數(shù)據(jù)傳輸階段,發(fā)送節(jié)點并發(fā)傳輸數(shù)據(jù)。本文主要有2點貢獻:1)將數(shù)據(jù)傳輸時間劃分時隙,來抑制時間不確定性的影響。同時,采用接收同步和并發(fā)傳輸來消除空間不確定性帶來的干擾。2)不同于已有協(xié)議在請求階段的請求發(fā)送控制包(RTS)和指示發(fā)送控制包(CTS)的握手機制,新協(xié)議只要求節(jié)點發(fā)送單次請求消息,縮短了數(shù)據(jù)傳輸周期。
基于時間同步的競爭類MAC協(xié)議分為非握手協(xié)議和握手協(xié)議。非握手類MAC協(xié)議:T-Lohi[3]是一個載波感知多址接入風格(CSMA)的信道預約類型的MAC協(xié)議,其工作過程分為信道預約階段和數(shù)據(jù)傳輸階段。發(fā)送短脈沖信號的節(jié)點監(jiān)聽信道,根據(jù)接收到的脈沖信號進行數(shù)據(jù)發(fā)送或退避,但是,該協(xié)議需要節(jié)點部署專用硬件設備來接聽脈沖信號。TARS[4]是一個多路接入共享信道風格(Aloha)的協(xié)議,該協(xié)議將數(shù)據(jù)傳輸成功概率定義為節(jié)點數(shù)據(jù)隊列空概率、數(shù)據(jù)發(fā)送概率和條件發(fā)送概率的函數(shù),每次數(shù)據(jù)發(fā)送時,計算發(fā)送概率,使得數(shù)據(jù)傳輸成功率為最大值,同時,該協(xié)議考慮了節(jié)點移動場景。并且通過設計基于接收同步的時隙級傳輸方案,來抑制時空不確定性。但是,若要維護鄰節(jié)點的發(fā)送數(shù)據(jù)隊列空概率值,需要節(jié)點間不斷交互控制信息,在流量快速變化的動態(tài)網(wǎng)絡場景,未及時更新的發(fā)送概率值導致協(xié)議性能下降。DAP-MAC[5]是一個類似概率Aloha類型的協(xié)議。該協(xié)議根據(jù)到接收節(jié)點的距離,將鄰節(jié)點分為兼容集和干擾集,兼容集中的鄰節(jié)點,可以在同時隙向接收節(jié)點發(fā)送數(shù)據(jù),但是,干擾集中的鄰節(jié)點不能同時發(fā)送數(shù)據(jù)。而且,該協(xié)議只適用于傳播時延遠大于數(shù)據(jù)傳輸時長的場景,當兼容集的鄰節(jié)點數(shù)較少時,數(shù)據(jù)發(fā)送概率下降為和概率Aloha接近。DTMAC[6]是一個延遲容忍協(xié)議,也是一個Aloha類型的協(xié)議。該協(xié)議提出了一種分布式訂單采集算法,根據(jù)數(shù)據(jù)發(fā)送概率和發(fā)送次數(shù)獲得最優(yōu)吞吐量。但是,該協(xié)議只適用于突發(fā)包業(yè)務場景。
握手類MAC協(xié)議:Slotted-FAMA[7]是一個時隙級握手MAC協(xié)議,協(xié)議將時隙長度設置為數(shù)據(jù)傳輸時長與傳播時延之和,通過收發(fā)節(jié)點間的RTS/CTS控制包交互,有效地解決隱藏終端問題,降低數(shù)據(jù)碰撞概率。但是,獨占信道的一對收發(fā)節(jié)點,使得每次數(shù)據(jù)傳輸引入的長傳播時延導致網(wǎng)絡性能顯著下降。DOTS[8]是一個基于時間同步的握手協(xié)議,其利用接收端的時空重用來提高吞吐量。該協(xié)議在監(jiān)聽到鄰節(jié)點的RTS包時,利用其維護的鄰節(jié)點時延表,避開相鄰節(jié)點接收指示發(fā)送控制包(CTS)、數(shù)據(jù)包(DATA)和應答包(ACK)的時間,實現(xiàn)并發(fā)數(shù)據(jù)傳輸。但是,該協(xié)議性能受限于節(jié)點監(jiān)聽效果。FDCA[9]是一個基于全雙工的時間同步握手協(xié)議,基于全雙工聲調(diào)制解調(diào)器工作特點,設計發(fā)送端和接收端的碰撞避免機制。其利用發(fā)送端和接收端的信道重用,可以同時啟動多個握手過程進行并發(fā)傳輸,提高了網(wǎng)絡吞吐量。但是,協(xié)議性能受限于節(jié)點監(jiān)聽效果。
基于分布式調(diào)度的并發(fā)傳輸?shù)乃翸AC協(xié)議,即DS[10],支持多傳輸任務的并發(fā),提高了網(wǎng)絡吞吐量等性能指標。但是,該協(xié)議只考慮了非時隙級場景。新協(xié)議CMACRS同樣采用分布式并發(fā)發(fā)送時間調(diào)度原理,支持基于接收端同步的時隙級場景。近年來,水下傳感器網(wǎng)絡的時間同步技術[11-14]和定位技術[15-19]逐漸成為研究熱點。同時,水下聲通信調(diào)制編碼技術[20-22]的發(fā)展可以支持節(jié)點間較大的聲通信速率,這些都為CMACRS協(xié)議后續(xù)在水下傳感器網(wǎng)絡的部署,提供了有力的技術支持。
CMACRS將每輪數(shù)據(jù)傳輸過程分為3個階段:信道預約階段、數(shù)據(jù)傳輸階段和數(shù)據(jù)應答階段。3個階段共同構成一個數(shù)據(jù)傳輸周期。在信道預約階段,有數(shù)據(jù)傳輸需求的節(jié)點,發(fā)送信道請求消息(REQ)通知其他節(jié)點即將到來的傳輸任務,其他節(jié)點接收到信道請求消息之后,將該傳輸任務記錄到任務隊列。信道申請階段結束后,網(wǎng)絡中每個節(jié)點通過一個發(fā)送時隙調(diào)度算法,得到一張相同的發(fā)送時間表。每個發(fā)送節(jié)點根據(jù)表中分配給自己的發(fā)送時隙和發(fā)送相位,在數(shù)據(jù)傳輸階段發(fā)送數(shù)據(jù)包(DATA)。數(shù)據(jù)包傳輸完成后,啟動數(shù)據(jù)應答消息(ACK)發(fā)送,數(shù)據(jù)應答消息的發(fā)送時隙調(diào)度原理與數(shù)據(jù)包相同。數(shù)據(jù)應答階段結束后,啟動一個新周期的數(shù)據(jù)傳輸,上述過程如圖1所示。
圖1 CMACRS時序Fig.1 CMACRS frame
本文提出的新協(xié)議CMACRS是一種時隙級同步的水下MAC協(xié)議,支持水下傳感器網(wǎng)絡多個傳輸任務的并發(fā)執(zhí)行,多個傳輸任務的發(fā)送節(jié)點在信道預約階段發(fā)送控制包請求接入信道,當水聲信道惡劣的通信環(huán)境導致控制包丟包時,部分發(fā)送節(jié)點得到的數(shù)據(jù)發(fā)送時間表出現(xiàn)差異,使得數(shù)據(jù)傳輸階段的接收端數(shù)據(jù)包發(fā)生碰撞,CMACRS的時隙調(diào)節(jié)機制將數(shù)據(jù)包碰撞控制在對應的時隙內(nèi),即2個傳輸任務沖突時,只會干擾彼此,不會影響其他傳輸任務。如圖2所示,假設水下傳感器網(wǎng)絡有3個傳輸任務,3個傳輸任務對應的接收節(jié)點分別是D1、D2和D3,在信道預約階段,傳輸任務3的發(fā)送節(jié)點沒有接收到其他2個傳輸任務的信道請求控制包,而其他2個傳輸任務的發(fā)送節(jié)點都收到了全部3個任務的請求信息,在非時隙級場景下,3個數(shù)據(jù)包在接收節(jié)點互相碰撞,全部傳輸失敗。時隙級場景下,碰撞控制在對應時隙內(nèi),傳輸任務1的數(shù)據(jù)包DATA1接收成功,時隙調(diào)節(jié)機制的優(yōu)點是可以降低惡劣通信環(huán)境下的數(shù)據(jù)包碰撞率。
圖2 時隙調(diào)節(jié)效果Fig.2 The effect of slotted adjustment
首先,需要設計時隙的長度,為了減少節(jié)點間的總傳輸時長,時隙長度Ts只包含數(shù)據(jù)包傳輸時長Ttx和其他擾動補償值。其他擾動補償值應該包含2部分,即聲速變化擾動[4]和節(jié)點間相對移動的擾動。時隙長度的計算公式為:
(1)
式中:Dmax為節(jié)點間最大傳播距離;αmax為節(jié)點間最大多普勒擴展因子;αmax=Vmax/Cmin;Vmax為節(jié)點間最大相對移動速度;Tmax為節(jié)點間最大傳播時延;Tmax=Dmax/Cmin;Cmax和Cmin分別為最大聲速和最小聲速。
將節(jié)點間的傳輸時間劃分為時隙后,需要保證接收端收到的數(shù)據(jù)包位于一個完整的時隙之內(nèi),即基于接收端同步,如圖3所示。
圖3 接收端同步Fig.3 Receiver synchronization
但是,節(jié)點間的隨機距離不能保證發(fā)送數(shù)據(jù)包的傳播時延是時隙長度的整數(shù)倍,這時,需要根據(jù)節(jié)點間的距離對數(shù)據(jù)發(fā)送時刻進行相位補償,使得數(shù)據(jù)包到達接收節(jié)點時,位于一個完整的時隙之內(nèi)。如圖3所示,發(fā)送節(jié)點S1向節(jié)接收點D發(fā)送的數(shù)據(jù)DATA1沒有進行相位補償,則DATA1在接收端占用了2個相鄰的時隙。而發(fā)送節(jié)點S2向節(jié)點D發(fā)送的數(shù)據(jù)DATA2進行了相位補償,則DATA2在接收端位于一個完整時隙內(nèi),實現(xiàn)了接收端同步。
數(shù)據(jù)發(fā)送相位補償,即Tph,需要考慮節(jié)點間相對移動的影響[4],其計算公式為:
(2)
式中:dSiDi為節(jié)點Si和節(jié)點Di之間的傳播距離;Δdmax=αmaxDmax,mod是做取模運算。
當有多個發(fā)送節(jié)點向不同的接收節(jié)點傳輸數(shù)據(jù)時,每個待分配發(fā)送時隙的節(jié)點的數(shù)據(jù)傳輸,都不能干擾已經(jīng)分配了發(fā)送時隙的傳輸任務的數(shù)據(jù)接收[10]。如圖4所示,S1→D1、S2→D2和S3→D3分別表示3個傳輸任務。
假設節(jié)點S1在時隙T1發(fā)送數(shù)據(jù)包DATA1給節(jié)點D1,要求節(jié)點S2和節(jié)點S3發(fā)送的數(shù)據(jù)包被節(jié)點D1接收時,接收時間落在DATA1之后。節(jié)點S2和節(jié)點S3分別計算滿足上述條件的發(fā)送時隙,分別得到時隙號T22和T23,采用局部最優(yōu)策略,取T22和T23的最小值保存為第2個發(fā)送時隙T2的值。
假設T22小于T23,節(jié)點S2在時隙T2發(fā)送數(shù)據(jù)包DATA2給節(jié)點D2,要求節(jié)點S3發(fā)送的數(shù)據(jù)包被節(jié)點D1接收時,接收時間落在DATA1之后,同時,被節(jié)點D2接收時,接收時間落在DATA2之后。為滿足上述條件,節(jié)點S3計算得到2個時隙號T31和T32,取T31和T32的最大值作為發(fā)送時隙T3,節(jié)點S3在時隙T3發(fā)送數(shù)據(jù)包DATA3給節(jié)點D3。上述過程中,節(jié)點S1、S2和S3根據(jù)相同的傳輸任務信息,采用相同的算法,都得到了相同的時隙T1、T2和T3的值,完成發(fā)送時隙調(diào)度計算。發(fā)送時隙調(diào)度算法:
(3)
式中:rk表示節(jié)點Sk向節(jié)點Dk發(fā)送數(shù)據(jù)的傳播時延,單位是時隙數(shù);rkn表示節(jié)點Sk向節(jié)點Dn發(fā)送數(shù)據(jù)的傳播時延;rn表示節(jié)點Sn向節(jié)點Dn發(fā)送數(shù)據(jù)的傳播時延;rnk表示節(jié)點Sn向節(jié)點Dk發(fā)送數(shù)據(jù)的傳播時延;T1和Tj表示發(fā)送時隙;Tjn表示發(fā)送時隙的備選值;AD為已經(jīng)分配發(fā)送時間的傳輸任務集合;UD為未分配發(fā)送時間的傳輸任務集合;N為傳輸任務數(shù);mk為節(jié)點Sk和節(jié)點Dk間的傳輸任務占用的傳輸時隙數(shù),mk≥1。λ∈{0,1},當節(jié)點間時延差的最大值等于0時,即max{rk-rnk,rkn-rn}=0,則節(jié)點Sn發(fā)送的數(shù)據(jù)包到達節(jié)點Dk時,存在占用前一個時隙的風險,需要加保護時隙,令λ=1,否則λ=0。根據(jù)等式(3)計算得到N個發(fā)送時隙,每個傳輸任務分配一個指定的發(fā)送時隙。
為了便于理解和使用,將等式(3)的偽碼列出,T′和T″為臨時變量,其他符號含義同上文一致。傳輸時隙分配算法如下。
T1=rmax
forj=2~N
w=1
whileUD≠?
n∈UD
fori=1~(j-1)
k∈AD
T″[i]=Tik+max{rk-rnk,rkn-rn}+mk
if max{rk-rnk,rkn-rn}==0
T″[i]=T″[i]+1
end if
end for
T′[w]=max{T″}
w=w+1
end while
Tj=min{T′}
UD=UD-n
AD=AD∪n
end for
(4)
式中:LREQ為信道請求消息包的傳輸時長;T0為信道申請階段的時長。不等式(4)的圖形表示如圖5所示,從圖中可以看出,隨著網(wǎng)絡節(jié)點數(shù)的增加,無碰撞概率下界呈現(xiàn)下降趨勢。同時,無碰撞概率下界受T0影響,當T0較大時,可以得到較好的無碰撞概率下界。所以,可以根據(jù)組網(wǎng)規(guī)模,調(diào)整T0獲取合適的無碰撞概率,抑制由信道請求消息碰撞導致的丟包。
圖5 無碰撞概率下界Fig.5 Lower bound of none-collision probability
仿真在Matlab平臺上實現(xiàn),采用矩陣模擬收發(fā)節(jié)點的時間線,可以有效地模擬節(jié)點同時接收到多個數(shù)據(jù)包時產(chǎn)生的碰撞。仿真中,組成水下傳感器網(wǎng)絡的節(jié)點隨機分布在1 km×1 km的矩形區(qū)域內(nèi),水深設置為100 m。網(wǎng)絡設置為單跳網(wǎng)絡。仿真中設置數(shù)據(jù)包載荷為64 Byte,控制包長為4 Byte,節(jié)點發(fā)射功率設置為20 W,接收功率設置為0.5 W,數(shù)據(jù)傳遞速率設置為0.25 kb/s。在仿真初始階段,網(wǎng)絡中的全部節(jié)點完成時間同步。聲速設置為1 500 m/s,每個節(jié)點根據(jù)泊松分布生成數(shù)據(jù)包。仿真只考慮數(shù)據(jù)包碰撞引起的丟包,即不考慮水下物理信道的惡劣通信環(huán)境導致的丟包。新協(xié)議CMACRS是對協(xié)議DS[10]的時隙級改進,兩者的發(fā)送時間調(diào)度方法相同,主要區(qū)別在于DS的發(fā)送時間是具體時刻值,而新算法CMACRS的發(fā)送時間可以用時隙號表示,仿真中選取DS作為比對協(xié)議,可以更好的觀察CMACRS的時隙機制對網(wǎng)絡性能的改進效果,由于仿真環(huán)境及其各種參數(shù)的差異,在仿真結果中,將其記為DS-like。使用歸一化吞吐量、平均端到端時延、交付率和平均能耗評估協(xié)議性能。歸一化吞吐量定義為單位時間內(nèi)成功傳輸?shù)臄?shù)據(jù)比特數(shù)與數(shù)據(jù)傳遞速率的比值。平均端到端時延定義為數(shù)據(jù)包產(chǎn)生時刻和數(shù)據(jù)包接收時刻的平均間隔值與數(shù)據(jù)包時長的比值(包)。交付率定義為總的成功傳輸?shù)臄?shù)據(jù)包數(shù)與總的發(fā)送的數(shù)據(jù)包數(shù)的比值。平均能耗定義為數(shù)據(jù)傳輸階段總能耗與成功接收到的數(shù)據(jù)包數(shù)的比值(J/包)。
新協(xié)議和DS-like在不同網(wǎng)絡業(yè)務量場景的歸一化吞吐量顯示在圖6中,網(wǎng)絡業(yè)務量定義為單位時間內(nèi)生成的數(shù)據(jù)比特數(shù)與數(shù)據(jù)傳遞速率的比值,對2種協(xié)議,分別做了20、30和40個用戶場景的仿真。隨著網(wǎng)絡業(yè)務量的增加,CMACRS的歸一化吞吐量呈現(xiàn)上升趨勢,其值達到0.4,而吞吐量隨著用戶數(shù)增加略有下降。DS-like的歸一化吞吐量也呈現(xiàn)相同的規(guī)律,但是,其吞吐量性能低于CMACRS,由于CMACRS采用的基于接收端的時隙級方案,使得網(wǎng)絡中所有用戶的數(shù)據(jù)包接收同步,在發(fā)生碰撞時只影響單個時隙內(nèi)的數(shù)據(jù)包,而DS-like是非時隙級協(xié)議,在發(fā)生碰撞時會影響相鄰的2個數(shù)據(jù)包。
圖6 不同網(wǎng)絡業(yè)務量的歸一化吞吐量Fig.6 Normalized throughput under different loads
新協(xié)議和DS-like在不同網(wǎng)絡業(yè)務量場景的平均端到端時延顯示在圖7中。平均端到端時延定義為成功傳輸?shù)臄?shù)據(jù)包平均端到端時長與數(shù)據(jù)包時長的比值,當業(yè)務量增加導致的數(shù)據(jù)包重傳次數(shù)上升時,平均端到端時延隨之上升。
圖7 不同網(wǎng)絡業(yè)務量的平均端到端時延Fig.7 Average end-to-end delay under different loads
仿真結果顯示,隨著網(wǎng)絡業(yè)務量的增加,2種協(xié)議的平均端到端時延都呈現(xiàn)上升趨勢。CMACRS的平均端到端時延在業(yè)務量為2.5時,達到數(shù)據(jù)包時長的2.2倍,而DS-like平均端到端時延最大值為2.4倍數(shù)據(jù)包時長,同時,DS-like的平均端到端時延隨著用戶數(shù)的增加,呈現(xiàn)明顯的上升趨勢,而CMACRS略有波動。
新協(xié)議和DS-like在不同網(wǎng)絡業(yè)務量場景的交付率如圖8所示。交付率定義為總的成功接收數(shù)據(jù)包數(shù)與發(fā)送數(shù)據(jù)包數(shù)的比值,當成功傳輸?shù)臄?shù)據(jù)包減少時,交付率隨之下降。而業(yè)務量的增加會導致成功接收的數(shù)據(jù)包減少,最終影響交付率。仿真結果顯示,隨著網(wǎng)絡業(yè)務量的增加,2種協(xié)議的交付率都呈現(xiàn)下降趨勢,仿真結果符合預期。由于新協(xié)議采用的時隙級方案可以更好地抑制碰撞,交付率更高,同時,隨著用戶數(shù)的增加,相對于DS-like,交付率性能呈現(xiàn)更小的波動性。
圖8 不同網(wǎng)絡業(yè)務量的交付率Fig.8 Delivery rate under different loads
新協(xié)議和DS-like在不同網(wǎng)絡業(yè)務量場景的平均能耗顯示在圖9中。平均能耗主要受數(shù)據(jù)包重傳次數(shù)和單次數(shù)據(jù)發(fā)射能耗的影響,當數(shù)據(jù)包載荷一定時,業(yè)務量的增加導致重傳次數(shù)的上升,最終導致平均能耗上升。仿真結果顯示,隨著網(wǎng)絡業(yè)務量的增加,2種協(xié)議的平均能耗都呈現(xiàn)上升趨勢。CMACRS有更小的平均能耗,在網(wǎng)絡業(yè)務量為2.5時,平均能耗達到最大值80 J/包。而DS-like的平均能耗最大值達到100 J/包,而且,其平均能耗更易受用戶數(shù)增加的影響。
圖9 不同網(wǎng)絡業(yè)務量的平均能耗Fig.9 Average energy consumption under different loads
新協(xié)議和DS-like在不同數(shù)據(jù)包載荷的歸一化吞吐量如圖10所示,數(shù)據(jù)包載荷從30 byte~100 byte變化,仿真環(huán)境配置20個隨機分布節(jié)點,業(yè)務量設置為2。隨著數(shù)據(jù)包載荷的增加,每次數(shù)據(jù)包的成功接收,都可以獲得更多的傳輸成功數(shù)據(jù)比特數(shù),使得吞吐量上升,但是,總的數(shù)據(jù)傳輸時長也相應增加會抑制吞吐量上升的趨勢。仿真結果顯示2種協(xié)議的吞吐量隨著數(shù)據(jù)包載荷的增加而緩慢上升,仿真結果符合預期。由于CMACRS采用的基于接收端的時隙級方案,相對于非時隙級的DS-like,在發(fā)生碰撞時,受影響的數(shù)據(jù)包更少,其吞吐量性能優(yōu)于DS-like。
圖10 不同數(shù)據(jù)包載荷的歸一化吞吐量Fig.10 Normalized throughput under different packet sizes
新協(xié)議和DS-like在不同數(shù)據(jù)包載荷的平均端到端時延如圖11所示,仿真中將平均端到端時延定義為成功傳輸?shù)臄?shù)據(jù)包平均端到端時長與數(shù)據(jù)包時長的比值。如果發(fā)生丟包,則重傳導致傳輸數(shù)據(jù)包的端到端時長增加。當業(yè)務量不變時,數(shù)據(jù)碰撞導致的丟包率也不變,所以平均端到端時延只受數(shù)據(jù)包載荷的影響,隨著數(shù)據(jù)包載荷的增加,平均端到端時延呈現(xiàn)下降趨勢,仿真結果也呈現(xiàn)預期的趨勢。而CMACRS的低碰撞率,使得其平均端到端時延性能優(yōu)于DS-like。
圖11 不同數(shù)據(jù)包載荷的平均端到端時延Fig.11 Average end-to-end delay under different packet sizes
新協(xié)議和DS-like在不同數(shù)據(jù)包載荷的交付率如圖12所示,交付率與節(jié)點接收到的數(shù)據(jù)包數(shù)成正比,交付率隨數(shù)據(jù)包碰撞導致的丟包率變化而變化,當業(yè)務量保持不變時,數(shù)據(jù)包碰撞導致的丟包率也不變,則交付率保持穩(wěn)定,仿真結果顯示,新協(xié)議和DS-like的交付率不隨數(shù)據(jù)包載荷的增加而變化,仿真結果符合預期。CMACRS基于時隙級的機制,使得其具有相對較低的碰撞率,其交付率性能優(yōu)于DS-like。
圖12 不同數(shù)據(jù)包載荷的交付率Fig.12 Delivery rate under different packet sizes
新協(xié)議和DS-like在不同數(shù)據(jù)包載荷的平均能耗顯示在圖13。由于節(jié)點發(fā)射功率遠高于接收功率,平均能耗主要受數(shù)據(jù)包重傳次數(shù)和單次數(shù)據(jù)發(fā)射能耗的影響。由于交付率不隨數(shù)據(jù)包載荷的增加而變化,數(shù)據(jù)包載荷的增加不會影響丟包導致的數(shù)據(jù)重傳。所以,平均能耗只受數(shù)據(jù)包載荷值的影響。從仿真結果可以看出,新協(xié)議和DS-like的平均能耗隨著數(shù)據(jù)包載荷的增加呈線性上升趨勢,仿真結果符合預期。而CMACRS更高的交付率,使得其平均能耗性能優(yōu)于DS-like。
圖13 不同數(shù)據(jù)包載荷的平均能耗Fig.13 Average energy consumption under different packet sizes
1)采用了基于接收端同步的時隙級機制,在發(fā)生數(shù)據(jù)包碰撞時,只影響共用時隙內(nèi)的數(shù)據(jù),維持相對較低的碰撞率,獲得更高的吞吐量性能。
2)新協(xié)議只發(fā)送單路信道申請消息,降低了數(shù)據(jù)包的端到端時延。
仿真結果表明,在網(wǎng)絡吞吐量等性能方面,新協(xié)議優(yōu)于非時隙級的分布式并發(fā)MAC協(xié)議。但是,新協(xié)議只涉及單跳網(wǎng)絡場景,對于處于相鄰單跳網(wǎng)絡的邊緣節(jié)點場景未涉及,未來可以開展邊緣節(jié)點時隙級并發(fā)調(diào)度算法的研究。