石佳川,劉劍飛,秦 浩,王蒙軍
(河北工業(yè)大學(xué)電子信息工程學(xué)院,天津 300401)
IEEE 802.15.4/ZigBee作為一種低速率、低功耗的無線通信技術(shù)日益普及,廣泛應(yīng)用在智能電網(wǎng)、照明控制以及樓宇自動(dòng)化等方面[1]。然而,載波監(jiān)聽多路訪問/沖突避免(CSMA/CA)算法作為ZigBee的MAC協(xié)議層核心算法,不能區(qū)分業(yè)務(wù)的優(yōu)先級(jí),很難滿足業(yè)務(wù)多元化發(fā)展需求;此外,ZigBee在組網(wǎng)、數(shù)據(jù)融合和網(wǎng)絡(luò)管理等方面的技術(shù)難度隨著網(wǎng)絡(luò)規(guī)模增大而大幅上升,甚至導(dǎo)致網(wǎng)絡(luò)性能的極速惡化[2]。為此,人們提出了CSMA/CA的多種改進(jìn)的方法。
文獻(xiàn)[3-4]采用離散馬爾科夫鏈模型分析了標(biāo)準(zhǔn)算法性能;文獻(xiàn)[5]通過仿真實(shí)驗(yàn)分析了算法的不同參數(shù)對(duì)網(wǎng)絡(luò)性能的影響;文獻(xiàn)[6]提出通過修改競(jìng)爭(zhēng)窗口來區(qū)分業(yè)務(wù)優(yōu)先級(jí),但未進(jìn)行網(wǎng)絡(luò)方面的優(yōu)化;文獻(xiàn)[7]通過更改競(jìng)爭(zhēng)窗口變化規(guī)則來優(yōu)化網(wǎng)絡(luò);文獻(xiàn)[8]提出根據(jù)網(wǎng)絡(luò)負(fù)荷來調(diào)整競(jìng)爭(zhēng)窗口;文獻(xiàn)[9]提出了pnl_ASDB算法,該算法根據(jù)信道負(fù)荷動(dòng)態(tài)改變競(jìng)爭(zhēng)窗口值來區(qū)分不同業(yè)務(wù)優(yōu)先級(jí)。在文獻(xiàn)[7-8]基礎(chǔ)上,文獻(xiàn)[10]提出了pnl_ls算法,該算法根據(jù)網(wǎng)絡(luò)負(fù)荷狀況來預(yù)測(cè)下一次的BE初始值。上述改進(jìn)算法均在某一方面改善了網(wǎng)絡(luò)性能,但缺乏對(duì)網(wǎng)絡(luò)綜合性能的考慮,本文針對(duì)現(xiàn)有CSMA/CA算法及其改進(jìn)算法的缺陷,提出一種基于優(yōu)先級(jí)的CSMA/CA優(yōu)化算法。不僅可以區(qū)分不同優(yōu)先級(jí)的業(yè)務(wù),同時(shí)優(yōu)化了網(wǎng)絡(luò)的整體性能。
CSMA/CA算法需要維護(hù)3個(gè)主要參數(shù):競(jìng)爭(zhēng)窗口(CW)、退避次數(shù)(NB)和退避指數(shù)(BE)。其中,CW表示在傳輸數(shù)據(jù)前需要進(jìn)行信道檢測(cè)連續(xù)為空的次數(shù);NB表示節(jié)點(diǎn)接入信道時(shí),執(zhí)行CSMA/CA算法的退避的次數(shù);BE則決定了在進(jìn)行信道檢測(cè)之前節(jié)點(diǎn)需要等待的退避周期數(shù)量。
分析表明,進(jìn)行較高次數(shù)的信道檢測(cè)能夠提高網(wǎng)絡(luò)吞吐量,但同時(shí)會(huì)增大網(wǎng)絡(luò)時(shí)延[3];較小的退避指數(shù)會(huì)增加吞吐量,可以減小時(shí)延[11],充足的信道檢測(cè)次數(shù)和較高退避指數(shù)是減小數(shù)據(jù)包碰撞的保證。據(jù)此,本文提出了根據(jù)網(wǎng)絡(luò)負(fù)荷設(shè)置競(jìng)爭(zhēng)窗口的方法確定網(wǎng)絡(luò)中不同業(yè)務(wù)的優(yōu)先級(jí);同時(shí),在低網(wǎng)絡(luò)負(fù)荷時(shí)減小信道檢測(cè)次數(shù)和退避指數(shù),在高網(wǎng)絡(luò)負(fù)荷時(shí)增大信道檢測(cè)次數(shù)和退避指數(shù),從而優(yōu)化網(wǎng)絡(luò)性能。
算法流程圖如圖1所示。
圖1 算法流程圖
根據(jù)最近一次業(yè)務(wù)分組傳輸時(shí),信道檢測(cè)為空閑的次數(shù)與信道檢測(cè)的總次數(shù)的比值定義網(wǎng)絡(luò)狀況指數(shù)PN。用PN來預(yù)測(cè)此次業(yè)務(wù)分組傳輸?shù)木W(wǎng)絡(luò)狀況。
(1)
式中:idle_cca是最近一次業(yè)務(wù)分組傳輸時(shí)信道檢測(cè)為空閑的次數(shù),total_cca是信道檢測(cè)的總次數(shù)。本文以0.5為臨界點(diǎn),定義PN>0.5時(shí)為低負(fù)荷,PN≤0.5時(shí)為高負(fù)荷。
如前所述,競(jìng)爭(zhēng)窗口為傳輸數(shù)據(jù)前進(jìn)行信道檢測(cè)連續(xù)為空的次數(shù)。因此,通過降低檢測(cè)次數(shù)可以保證優(yōu)先級(jí)高的業(yè)務(wù)優(yōu)先傳輸。算法中結(jié)合當(dāng)前的網(wǎng)絡(luò)狀況確定不同優(yōu)先級(jí)數(shù)據(jù)競(jìng)爭(zhēng)窗口的CW值。
業(yè)務(wù)優(yōu)先級(jí)確定后,為了優(yōu)化網(wǎng)絡(luò)數(shù)據(jù)傳輸性能,本文提出了基于網(wǎng)絡(luò)負(fù)荷自適應(yīng)調(diào)整退避指數(shù)BE的策略。BE值的賦值策略如下:
①首次檢測(cè)時(shí)BE值均設(shè)置為2。
②當(dāng)PN>0.5時(shí),網(wǎng)絡(luò)狀況較好。
③當(dāng)PN≤0.5時(shí),網(wǎng)絡(luò)狀況較差,需要?jiǎng)澐侄喾N情況,更準(zhǔn)確的確定網(wǎng)絡(luò)狀況。
若上一次數(shù)據(jù)傳輸成功,則
若上一次數(shù)據(jù)傳輸失敗,則
式中:采用曲線擬合預(yù)測(cè)BE值策略如下:
首先假設(shè)預(yù)測(cè)BE的方程為
BE=a0+a1x+a2x2
(2)
各個(gè)參數(shù)的計(jì)算公式如下:
(3)
式中:xi為數(shù)據(jù)包第i次發(fā)送成功,yi為第i個(gè)數(shù)據(jù)包發(fā)送成功的BE值。本文m值取4,即采用近4次的BE值進(jìn)行預(yù)測(cè),計(jì)算時(shí)初始BE值均設(shè)置為2。
調(diào)整BE值時(shí),若BE值大于規(guī)定的最大值時(shí),則將其設(shè)置為最大值;若BE值小于規(guī)定最小值時(shí),則設(shè)置為最小值。為了獲得較大退避指數(shù)調(diào)節(jié)空間,本文算法的BE值最大為6,最小為1。
圖2 節(jié)點(diǎn)馬爾科夫鏈模型
假設(shè)IEEE802.15.4網(wǎng)絡(luò)模型為只有1個(gè)協(xié)調(diào)節(jié)點(diǎn)的單跳星型網(wǎng)絡(luò)拓?fù)?且所有節(jié)點(diǎn)偵聽范圍足夠大,故不考慮隱藏節(jié)點(diǎn)問題。在建模過程中,先不考慮信道負(fù)荷情況,對(duì)于高優(yōu)先級(jí)業(yè)務(wù),進(jìn)行1次信道檢測(cè);對(duì)于低優(yōu)先級(jí)業(yè)務(wù),進(jìn)行2次信道檢測(cè)。通過馬爾科夫鏈模型來分析算法參數(shù)設(shè)置對(duì)網(wǎng)絡(luò)性能的影響。
根據(jù)文獻(xiàn)[11-12]的CSMA/CA算法的馬爾科夫鏈模型,設(shè)隨機(jī)過程M(t)表示t時(shí)刻的退避次數(shù),隨機(jī)過程N(yùn)(t)表示t時(shí)刻的退避時(shí)隙,{M(t),N(t)}表示模型中t時(shí)刻的設(shè)備狀態(tài)。則{M(t)=-1,N(t)=-1}表示沒有數(shù)據(jù)包準(zhǔn)備傳輸?shù)臓顟B(tài),{M(t),N(t)=0}和{M(t),N(t)=-1}分別表示準(zhǔn)備第1次和第2次執(zhí)行CCA狀態(tài),{M(t)=-1,N(t)=n}表示數(shù)據(jù)傳輸狀態(tài),其中n∈[0,G-1]。G是數(shù)據(jù)包長(zhǎng)度,單位為時(shí)隙。由此建立的二維隨機(jī)離散馬爾科夫鏈模型,如圖2所示。圖2中,P表示數(shù)據(jù)傳輸概率,當(dāng)P=1時(shí)表示飽和狀態(tài),當(dāng)P<1時(shí)表示非飽和狀態(tài)。虛線為高優(yōu)先級(jí)數(shù)據(jù)傳輸成功的情況,實(shí)線為低優(yōu)先級(jí)數(shù)據(jù)傳輸成功的情況。α表示第1次進(jìn)行信道檢測(cè)為空的概率,β表示第2次進(jìn)行信道檢測(cè)為空的概率,m表示最大退避次數(shù)。
在建模過程中為了方便分析,高優(yōu)先級(jí)數(shù)據(jù)設(shè)定為進(jìn)行1次信道檢測(cè)。其模型狀態(tài)轉(zhuǎn)移概率如下:
①節(jié)點(diǎn)從空閑狀態(tài)轉(zhuǎn)入到傳輸狀態(tài)的概率為
(4)
②節(jié)點(diǎn)保持自身空閑狀態(tài)的概率為
p{-1,-1|-1,-1}=1-p0
(5)
③在每一次的隨機(jī)退避過程中,退避時(shí)隙依計(jì)數(shù)器次遞減的概率為
p{i,k|i,k+1}=1,k∈(0,G-2),k∈(0,W0-1)
(6)
④退避結(jié)束時(shí),退避時(shí)隙計(jì)數(shù)器為0,節(jié)點(diǎn)進(jìn)行信道檢測(cè)狀態(tài)為空閑的概率為
p{i,-1|i,0}=1-α,i∈(0,m)
(7)
⑤退避結(jié)束時(shí),退避時(shí)隙計(jì)數(shù)器為0,節(jié)點(diǎn)進(jìn)行信道檢測(cè)狀態(tài)為忙,退避次數(shù)計(jì)數(shù)器加1,進(jìn)入下一次退避的概率為
(8)
⑥業(yè)務(wù)數(shù)據(jù)包進(jìn)入傳輸狀態(tài)時(shí),數(shù)據(jù)包依次傳輸?shù)母怕蕿?/p>
p{-2,k+1|-2,k}=1,k∈(0,G-2)
(9)
⑦一次傳輸結(jié)束,節(jié)點(diǎn)有高優(yōu)先級(jí)數(shù)據(jù)需要傳輸時(shí),初始化退避時(shí)隙的概率為
(10)
⑧一次傳輸失敗,當(dāng)前的業(yè)務(wù)數(shù)據(jù)包將被丟棄,此時(shí)數(shù)據(jù)傳輸隊(duì)列不為空,重新初始化退避時(shí)隙的概率為
(11)
⑨一次傳輸失敗,當(dāng)前的業(yè)務(wù)數(shù)據(jù)包將被丟棄,此時(shí)數(shù)據(jù)傳輸隊(duì)列為空,節(jié)點(diǎn)轉(zhuǎn)入空閑狀態(tài)的概率為
p{-1,-1|m,-1}=α(1-p0)
(12)
設(shè)bi,k是節(jié)點(diǎn)在M(t)=i,N(t)=k的穩(wěn)態(tài)概率,由馬爾科夫鏈規(guī)律,有如下公式成立:
(13)
由馬爾科夫鏈的歸一性可得:
(14)
聯(lián)立以上公式可以得到高優(yōu)先級(jí)節(jié)點(diǎn)第1次退避時(shí)隙結(jié)束后的概率b0,0為:
(15)
m′=2(1-p0)(1-α)+2G(1-α)(1-αm+1)p0
(16)
當(dāng)信道檢測(cè)狀態(tài)為空閑時(shí),高優(yōu)先級(jí)業(yè)務(wù)數(shù)據(jù)傳輸?shù)母怕蕿棣?,則有:
γ1=(1-αm+1)b0,0
(17)
信道檢測(cè)狀態(tài)為忙的概率α為:
α=1-(1-λ1)n-1
(18)
通過式(17)、式(18)可以計(jì)算出γ1和α。對(duì)于計(jì)算過程中所涉及到的非線性方程組,本文采用不動(dòng)點(diǎn)迭代法求解。
當(dāng)?shù)蛢?yōu)先級(jí)業(yè)務(wù)進(jìn)行網(wǎng)絡(luò)傳輸時(shí),業(yè)務(wù)數(shù)據(jù)設(shè)定進(jìn)行2次CCA。其模型狀態(tài)轉(zhuǎn)移概率比高優(yōu)先級(jí)多了以下4種情況:
①退避結(jié)束時(shí),退避時(shí)隙計(jì)數(shù)器為0,節(jié)點(diǎn)進(jìn)行第2次CCA狀態(tài)為空閑的概率為
p{i-1|i,0}=1-β,i∈(0,m)
(19)
②退避結(jié)束時(shí),退避時(shí)隙計(jì)數(shù)器為0,節(jié)點(diǎn)進(jìn)行第2次CCA信道狀態(tài)為忙,退避次數(shù)計(jì)數(shù)器加1,進(jìn)入下一次退避的概率為
(20)
③當(dāng)退避次數(shù)達(dá)到最大值并且進(jìn)行第2次CCA信道狀態(tài)為忙時(shí),當(dāng)前的業(yè)務(wù)數(shù)據(jù)包將被丟棄,此時(shí)數(shù)據(jù)傳輸隊(duì)列不為空,重新初始化退避時(shí)隙的概率為
(21)
④當(dāng)退避次數(shù)達(dá)到最大值并且進(jìn)行第2次CCA信道狀態(tài)為忙時(shí),當(dāng)前的業(yè)務(wù)數(shù)據(jù)包將被丟棄,此時(shí)數(shù)據(jù)傳輸隊(duì)列為空,節(jié)點(diǎn)轉(zhuǎn)入空閑狀態(tài)的概率為
p{-1,-1|m,-1}=β(1-p0)
(22)
由馬爾科夫鏈規(guī)律可得:
(23)
由馬爾科夫鏈的歸一性可得
(24)
(25)
n′=2(1-p0)(1-q)+2Gp0(1-q)(1-qm+1)+
2p0(1-α)(1-qm+1)
(26)
節(jié)點(diǎn)執(zhí)行兩次CCA的結(jié)果都為空閑時(shí),低優(yōu)先級(jí)業(yè)務(wù)數(shù)據(jù)傳輸概率為γ2,則有
(27)
節(jié)點(diǎn)執(zhí)行一次CCA后,信道為閑的概率為α,則有
α=1-(1-γ2)n-1
(28)
節(jié)點(diǎn)執(zhí)行兩次CCA后,信道為忙的概率為β,則有
β=[1-(1-γ2)n-1](1-β)
(29)
聯(lián)立式(27)~式(29),同樣通過不動(dòng)點(diǎn)迭代法求解出α、β和γ2的值。
與802.11的CSMA/CA算法不同,802.15.4的時(shí)隙是一個(gè)定值,為了分析網(wǎng)絡(luò)吞吐量、時(shí)延等參數(shù),本文建立了基于優(yōu)先級(jí)的信道馬爾科鏈模型,如圖3所示。
圖3 信道馬爾科夫鏈模型
圖3中,clear表示初始狀態(tài),cca表示即將進(jìn)行信道檢測(cè)狀態(tài),success_H表示高優(yōu)先級(jí)數(shù)據(jù)傳輸成功狀態(tài),success_L表示低優(yōu)先級(jí)數(shù)據(jù)傳輸成功狀態(tài),failure表示傳輸失敗狀態(tài)。f1表示高優(yōu)先級(jí)數(shù)據(jù)傳輸成功的概率,f2表示低優(yōu)先級(jí)數(shù)據(jù)傳輸成功的概率,f3表示傳輸失敗的概率,f4表示無數(shù)據(jù)或正在監(jiān)聽是否有數(shù)據(jù)需要傳輸?shù)母怕省?/p>
只考慮高優(yōu)先級(jí)數(shù)據(jù)情況時(shí),由于通過CSMA/CA進(jìn)行信道競(jìng)爭(zhēng),同一時(shí)間只能有一個(gè)節(jié)點(diǎn)成功傳輸數(shù)據(jù),所以高優(yōu)先級(jí)數(shù)據(jù)成功傳輸?shù)母怕师?為
α1=N1γ1(1-γ1)N1-1
(30)
高優(yōu)先級(jí)數(shù)據(jù)保持自身狀態(tài)概率α2為
α2=(1-γ1)N1
(31)
高優(yōu)先級(jí)數(shù)據(jù)傳輸失敗的概率α3為
(32)
經(jīng)過數(shù)學(xué)分析可得
α1+α2+α3=1
(33)
式(33)符合馬爾科夫鏈各狀態(tài)和為一的規(guī)律。
同理,只分析低優(yōu)先級(jí)數(shù)據(jù)時(shí),可以得到低優(yōu)先級(jí)數(shù)據(jù)傳輸成功的概率β1為
β1=N2γ2(1-γ2)N2-1
(34)
低優(yōu)先級(jí)數(shù)據(jù)保持自身狀態(tài)概率β2為
β2=(1-γ2)N2
(35)
低優(yōu)先級(jí)數(shù)據(jù)傳輸失敗的概率β3為
(36)
同理可得
β1+β2+β3=1
(37)
以上是不同優(yōu)先級(jí)數(shù)據(jù)分別考慮的情況,當(dāng)信道中不同優(yōu)先級(jí)數(shù)據(jù)同時(shí)存在時(shí)(假設(shè)兩種優(yōu)先級(jí)數(shù)據(jù)互不影響),考慮高優(yōu)先級(jí)數(shù)據(jù)傳輸成功的情況,即高優(yōu)先級(jí)數(shù)據(jù)傳輸成功同時(shí),低優(yōu)先級(jí)數(shù)據(jù)保持自身狀態(tài)或傳輸失敗時(shí),其概率f1為
f1=α2β1+α2β3
(38)
考慮低優(yōu)先級(jí)數(shù)據(jù)傳輸成功的情況,即低優(yōu)先級(jí)數(shù)據(jù)傳輸成功同時(shí),高優(yōu)先級(jí)數(shù)據(jù)保持自身狀態(tài)或傳輸失敗時(shí),其概率f2為
f2=α1β2+α3β2
(39)
考慮整個(gè)信道維持自身狀態(tài)的情況,即兩種數(shù)據(jù)均維持自身狀態(tài)時(shí),其概率f4為
f4=α1β1
(40)
除以上所述情況之外均為為數(shù)據(jù)傳輸失敗,其概率f3為
f3=α1β3+α2β2+α3β1+α3β3
(41)
由分析可得
f1+f2+f3+f4=1
(42)
式(42)符合馬爾科夫鏈的歸一性。
根據(jù)圖3的信道馬爾科夫鏈模型,把πa、πs1、πs2、πf分別定義為即將進(jìn)行CCA狀態(tài)、高優(yōu)先級(jí)數(shù)據(jù)發(fā)送成功狀態(tài)、低優(yōu)先級(jí)數(shù)據(jù)發(fā)送成功狀態(tài)、發(fā)送失敗狀態(tài)的穩(wěn)態(tài)概率。有如下狀態(tài)概率轉(zhuǎn)移規(guī)律:
(43)
本文分別從信道接入概率、系統(tǒng)吞吐量和信道時(shí)延3個(gè)方面來分析算法性能,為了分析直觀簡(jiǎn)潔,只分析飽和狀態(tài)下的不同優(yōu)先級(jí)業(yè)務(wù)數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)性能。此外,通過對(duì)比分析不同BE值時(shí)網(wǎng)絡(luò)性能,來驗(yàn)證基于信道負(fù)荷調(diào)整BE值策略的必要性。
在傳輸過程中,不同優(yōu)先級(jí)的業(yè)務(wù)數(shù)據(jù)應(yīng)該具有不同的信道接入概率,高優(yōu)先級(jí)數(shù)據(jù)的信道接入概率為γ1,低優(yōu)先級(jí)數(shù)據(jù)的信道接入概率為γ2。信道接入概率對(duì)比如圖4所示。
圖4 不同優(yōu)先級(jí)數(shù)據(jù)信道接入概率對(duì)比圖
如圖4所示,由于節(jié)點(diǎn)增多,網(wǎng)絡(luò)負(fù)荷增大,數(shù)據(jù)包產(chǎn)生的碰撞增多,導(dǎo)致數(shù)據(jù)的信道接入概率會(huì)隨著節(jié)點(diǎn)數(shù)的增加而降低,而高優(yōu)先級(jí)數(shù)據(jù)信道接入概率明顯高于低優(yōu)先級(jí)數(shù)據(jù)信道接入概率,從而證明了本文所采用區(qū)分優(yōu)先級(jí)策略的有效性。
網(wǎng)絡(luò)吞吐量定義為發(fā)送成功的時(shí)間與消耗的總時(shí)間之比,吞吐量Sq可以表示為
(44)
式中:Nq為不同優(yōu)先級(jí)數(shù)據(jù)節(jié)點(diǎn)數(shù),Tk為在信道狀態(tài)為k時(shí)逗留時(shí)間,Ω為狀態(tài)的集合。
高優(yōu)先級(jí)業(yè)務(wù)數(shù)據(jù)的吞吐量S1為
(45)
低優(yōu)先級(jí)業(yè)務(wù)數(shù)據(jù)的吞吐量S2為
(46)
圖5即為根據(jù)以上公式計(jì)算而得到的不同優(yōu)先級(jí)數(shù)據(jù)的吞吐量對(duì)比圖。
圖5 不同優(yōu)先級(jí)吞吐量對(duì)比圖
如圖5所示,隨著節(jié)點(diǎn)數(shù)目增加,網(wǎng)絡(luò)中發(fā)送的數(shù)據(jù)包增加,網(wǎng)絡(luò)吞吐量先增加后減小,當(dāng)數(shù)據(jù)包達(dá)到一定數(shù)量后,吞吐量達(dá)到一個(gè)閾值,超過這個(gè)閾值后吞吐量隨著網(wǎng)絡(luò)負(fù)荷的增加而下降。高優(yōu)先級(jí)數(shù)據(jù)吞吐量始終大于低優(yōu)先級(jí)數(shù)據(jù)吞吐量,由此可見高優(yōu)先級(jí)數(shù)據(jù)具有較強(qiáng)的傳輸能力。
傳輸時(shí)延是衡量網(wǎng)絡(luò)性能的一個(gè)重要指標(biāo),不同優(yōu)先級(jí)業(yè)務(wù)數(shù)據(jù)時(shí)延公式定義如下:
高優(yōu)先級(jí)業(yè)務(wù)數(shù)據(jù)時(shí)延T1為
(47)
低優(yōu)先級(jí)業(yè)務(wù)數(shù)據(jù)時(shí)延T2為
(48)
式中:slot_time表示一個(gè)時(shí)隙時(shí)延,為0.32 ms/slot[13]。
圖6為不同優(yōu)先級(jí)數(shù)據(jù)時(shí)延對(duì)比圖。
圖6 不同優(yōu)先級(jí)數(shù)據(jù)時(shí)延對(duì)比圖
圖6中,當(dāng)節(jié)點(diǎn)數(shù)目增多時(shí),數(shù)據(jù)量也隨之增加,數(shù)據(jù)傳輸?shù)臅r(shí)延也會(huì)增大。高優(yōu)先級(jí)業(yè)務(wù)數(shù)據(jù)的傳輸時(shí)延比低優(yōu)先級(jí)業(yè)務(wù)數(shù)據(jù)的傳輸時(shí)延小,保證了高優(yōu)先級(jí)業(yè)務(wù)數(shù)據(jù)能夠快速傳輸。
為了提高整個(gè)網(wǎng)絡(luò)數(shù)據(jù)的傳輸效率,本文提出基于信道負(fù)荷來自適應(yīng)調(diào)整BE值的策略來優(yōu)化整個(gè)網(wǎng)絡(luò)的性能,為了直觀簡(jiǎn)潔的分析,下面只采用飽和狀態(tài)下高優(yōu)先級(jí)數(shù)據(jù)變化的趨勢(shì)來分析,圖7和圖8分別為不同BE值高優(yōu)先級(jí)時(shí)網(wǎng)絡(luò)吞吐量和信道時(shí)延的變化趨勢(shì)。
如圖7和圖8所示,節(jié)點(diǎn)個(gè)數(shù)少時(shí),網(wǎng)絡(luò)負(fù)荷較小,低BE值能使吞吐量變高,信道時(shí)延較低,網(wǎng)絡(luò)性能較好,但是隨著節(jié)點(diǎn)數(shù)增加,網(wǎng)絡(luò)負(fù)荷變大,高BE值能使吞吐量較高、信道時(shí)延較低,網(wǎng)絡(luò)性能較好。因此,網(wǎng)絡(luò)負(fù)荷較小時(shí),可采用較小BE值,網(wǎng)絡(luò)負(fù)荷較大時(shí),可采用較大BE值,這與本文的基于信道負(fù)荷來調(diào)整BE值的策略完全相符。
圖7 不同退避指數(shù)吞吐量對(duì)比圖
圖8 不同退避指數(shù)時(shí)延對(duì)比圖
本文采用星型網(wǎng)絡(luò)拓?fù)浞抡?包含1個(gè)靜止的協(xié)調(diào)器節(jié)點(diǎn)和6個(gè)靜止的終端節(jié)點(diǎn),網(wǎng)絡(luò)協(xié)調(diào)器在中心,終端節(jié)點(diǎn)分散在周圍。
為了增加碰撞概率,本文設(shè)定終端在組網(wǎng)后以相同時(shí)間間隔和相同速率同時(shí)向協(xié)調(diào)器發(fā)送數(shù)據(jù),數(shù)據(jù)包到達(dá)方式采用均勻分布,網(wǎng)絡(luò)范圍為50×50,假設(shè)偵聽范圍足夠大,故不考慮隱藏節(jié)點(diǎn)問題。表1為參數(shù)表。
表1 仿真參數(shù)表
5.2.1 吞吐量
圖9對(duì)比了標(biāo)準(zhǔn)算法、pnl_ls、pnl_ASDB和本文算法不同優(yōu)先級(jí)數(shù)據(jù)的吞吐量,隨著信道負(fù)荷增大,數(shù)據(jù)包增加,吞吐量均逐漸增加,并趨于平穩(wěn),達(dá)到一個(gè)閾值,信道負(fù)荷過大時(shí),吞吐量呈下降趨勢(shì)。本文算法的吞吐量高于其他3種算法,且高優(yōu)先數(shù)據(jù)吞吐量高于低優(yōu)先級(jí)數(shù)據(jù)吞吐量。
圖9 NS2仿真吞吐量對(duì)比圖
5.2.2 丟包率
圖10對(duì)比4種算法丟包率,隨著信道負(fù)荷增加,4種算法的丟包率均增大,本文算法丟包率始終低于其他3種算法,并且高優(yōu)先級(jí)數(shù)據(jù)傳輸?shù)膩G包率低于低優(yōu)先級(jí)數(shù)據(jù)傳輸?shù)膩G包率。
圖10 NS2仿真丟包率對(duì)比圖
5.2.3 時(shí)延
圖11對(duì)比了標(biāo)準(zhǔn)算法、pnl_ASDB算法和本文算法的不同優(yōu)先級(jí)數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)時(shí)延。本文算法時(shí)延略高于標(biāo)準(zhǔn)算法,而pnl_ASDN算法在網(wǎng)絡(luò)負(fù)荷低時(shí),時(shí)延性能好于本文算法;網(wǎng)絡(luò)負(fù)荷較高時(shí),與本文高優(yōu)先級(jí)數(shù)據(jù)傳輸?shù)臅r(shí)延性能相比較差。本文算法以很小的時(shí)延代價(jià)換取了高吞吐量和低丟包率,保證了網(wǎng)絡(luò)的公平性。
圖11 NS2仿真時(shí)延對(duì)比圖
針對(duì)ZigBee網(wǎng)絡(luò)中采集數(shù)據(jù)優(yōu)先級(jí)的多樣性和數(shù)據(jù)量的增加導(dǎo)致網(wǎng)絡(luò)性能下降的問題,本算法在區(qū)分優(yōu)先級(jí)數(shù)據(jù)后,采用基于信道負(fù)荷自適應(yīng)調(diào)整BE值的方式對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行優(yōu)化,采用馬爾科夫鏈模型對(duì)網(wǎng)絡(luò)進(jìn)行了性能分析。NS2仿真結(jié)果表明,改進(jìn)的算法以很小的傳輸時(shí)延代價(jià),增加了網(wǎng)絡(luò)吞吐量,降低了丟包率,保證了整個(gè)數(shù)據(jù)網(wǎng)絡(luò)可靠傳輸。
參考文獻(xiàn):
[1] Papatsimpa C,Linnartz J P M G. Coexistence Performance Model for a Large ZigBee Lighting Sensor Network in the 2.4 GHz ISM band[C]//2017 IEEE 14th International Conference on Networking,Sensing and Control(ICNSC),2017:465-470.
[2] 熊茂華,熊昕. 無線傳感器網(wǎng)絡(luò)技術(shù)及應(yīng)用[M]. 西安:西安電子科技大學(xué)出版社,2014.
[3] 黃穎. EEE802_15_4時(shí)隙CSMA_CA算法性能研究[D]. 西安:西安電子科技大學(xué),2010.
[4] Do Thanh Quan,Pham Thanh Hiep,Takumi Kobayashi,et al. Proposal Methods for Performance Analysis of WBANs Based on CSMA/CA[C]//2017 11th International Symposium on Medical Information and Communication Technology(ISMICT),2017:19-22.
[5] 陳維興,李雯清,孫毅剛. 基于Zigbee技術(shù)的機(jī)坪移動(dòng)目標(biāo)監(jiān)控網(wǎng)絡(luò)能量?jī)?yōu)化方法研究[J]. 傳感技術(shù)學(xué)報(bào),2012,25(8):1146-1152.
[6] 周明偉,樊曉平,劉少?gòu)?qiáng). 基于優(yōu)先級(jí)的IEEE 802.15.4 CSMA/CA建模與分析[J]. 傳感技術(shù)學(xué)報(bào),2009,22(3):422-426.
[7] Yoshiaki Morino,Takefumi Hiraguri,Hideaki Yoshino,et al. A Novel Contention Window Control Scheme Based on a Markov Chain Model in Dense WLAN Environment[C]//2015 3rd International Conference on Artificial Intelligence,Modelling and Simulation(AIMS),2015:417-421.
[8] Dahham Z,Sali A,Ali B M,et al. An Efficient CSMA-CA Algorithm for IEEE 802.15.4 Wireless Sensor Networks[C]//1st IEEE International Symposium on Telecommunication Technologies,2012:118-123.
[9] 喬冠華,毛劍琳,郭寧,等. 基于業(yè)務(wù)區(qū)分的IEEE802.15.4MAC協(xié)議分析及改進(jìn)[J]. 計(jì)算機(jī)科學(xué),2014,41(10):149-153.
[10] 劉劍飛,張富官,王蒙軍,等. 一種ZigBee網(wǎng)絡(luò)自適應(yīng)退避機(jī)制[J]. 電力信息與通信技術(shù),2016,13(1):19-23.
[11] 陳金. IEEE802.15.4時(shí)隙CSMA/CA算法改進(jìn)研究與性能分析[D]. 中南大學(xué),2011.
[12] Wen Hao,Lin Chuang,Chen Zhijia,et al. An Improved Markov Model for IEEE 802.15.4 Slotted CSMA/CA Mechanism[J]. Journal of Computer Science and Technology,2009,24(3):495-504.
[13] Yang Jian,Yang Liuqing,Xiong Gang,et al. Performance Evaluation of IEEE 802.15.4 MAC Layer[C]//Proceedings of 2013 IEEE International Conference on Vehicular Electronics and Safety,2013:142-146.