《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于ZigBee無(wú)線網(wǎng)絡(luò)的Cluster-Tree路由算法研究
基于ZigBee無(wú)線網(wǎng)絡(luò)的Cluster-Tree路由算法研究
2016年電子技術(shù)應(yīng)用第4期
趙 博1,2,吳 靜1,2
1.西南科技大學(xué) 信息工程學(xué)院,四川 綿陽(yáng) 621010;2.特殊環(huán)境機(jī)器人技術(shù)四川省重點(diǎn)實(shí)驗(yàn)室,四川 綿陽(yáng)621010
摘要: 針對(duì)ZigBee無(wú)線網(wǎng)絡(luò)中Cluster-Tree算法只依靠父子關(guān)系路由且ZigBee技術(shù)傳輸帶寬的限制,致使網(wǎng)絡(luò)中負(fù)載較重的鏈路不能及時(shí)傳遞信息,而造成網(wǎng)絡(luò)擁塞、丟包和較低的吞吐量問(wèn)題,提出了一種改進(jìn)算法Z-DMHCTR。該算法針對(duì)負(fù)載超過(guò)一定限度的節(jié)點(diǎn),除了按照原等級(jí)樹(shù)算法路由之外,結(jié)合引入的鄰居列表信息,尋找節(jié)點(diǎn)不與原路徑相交的路徑同時(shí)進(jìn)行信息傳輸,從而提高網(wǎng)絡(luò)帶寬利用率,達(dá)到提升網(wǎng)絡(luò)的吞吐量的目的。仿真實(shí)驗(yàn)主要從網(wǎng)絡(luò)吞吐量、端到端數(shù)據(jù)傳輸延時(shí)等方面入手進(jìn)行對(duì)比。結(jié)果表明,改進(jìn)算法能夠有效地提高網(wǎng)絡(luò)吞吐量,并降低了傳輸數(shù)據(jù)的延時(shí)。
中圖分類(lèi)號(hào): TP393
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.04.032
中文引用格式: 趙博,吳靜. 基于ZigBee無(wú)線網(wǎng)絡(luò)的Cluster-Tree路由算法研究[J].電子技術(shù)應(yīng)用,2016,42(4):116-119,123.
英文引用格式: Zhao Bo,Wu Jing. Research on Cluster-Tree algorithm based on ZigBee wireless network[J].Application of Electronic Technique,2016,42(4):116-119,123.
Research on Cluster-Tree algorithm based on ZigBee wireless network
Zhao Bo1,2,Wu Jing1,2
1.School of Information Engineering,Southwest University of Science and Technology,Mianyang 621010,China; 2.Robot Technology Used for Special Environment Key Laboratory of Sichuan Province,Mianyang 621010,China
Abstract: For Cluster-tree algorithm only relays on parent-child relationship to rout in ZigBee wireless network and the limited bandwidth of ZigBee technology will result in that the heavily loaded link can′t timely transmit information and so prone to network congestion, packet loss and lower network throughput problem,this paper proposes an optimization algorithm, the Z-DMHCTR algorithm, which combines with neighbor list among the nodes to find a node disjoint paths with the original path to transmit information,thereby improving network bandwidth utilization and increasing the network throughput. Through the simulation, this paper compares the difference of improved algorithm and the original algorithm in the network throughput, end data transmission delay and other aspects of difference. The result shows that the improved algorithm effectively improves the network throughput, and reduces the time delay of data transmission simultaneously.
Key words : ZigBee network;Cluster-Tree algorithm;Z-DMHCTR algorithm;neighbor list

0 引言

    無(wú)線傳感器網(wǎng)絡(luò)技術(shù)(Wireless Sensor Network,WSN)是物聯(lián)網(wǎng)的關(guān)鍵技術(shù),是全球未來(lái)四大技術(shù)產(chǎn)業(yè)之一[1]。而ZigBee技術(shù)因其低成本、低功耗、低復(fù)雜度、高可靠性等特點(diǎn),在工業(yè)自動(dòng)化、農(nóng)業(yè)、交通運(yùn)輸、智能家居、醫(yī)療等領(lǐng)域都得到廣泛應(yīng)用[2]。ZigBee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)主要有星型(Star)、樹(shù)形(Tree)和網(wǎng)狀(Mesh)3種網(wǎng)絡(luò)結(jié)構(gòu)[3]。其中ZigBee樹(shù)型拓?fù)浣Y(jié)構(gòu)因擴(kuò)展方便覆蓋范圍廣,且Cluster-Tree算法僅依靠父子關(guān)系路由,不需要進(jìn)行路由發(fā)現(xiàn)和路由列表維護(hù),因而很大程度上降低了網(wǎng)絡(luò)泛洪壓力,節(jié)省了網(wǎng)絡(luò)帶寬,降低了開(kāi)銷(xiāo)和能耗,所以被廣泛的應(yīng)用到低功耗、低成本的無(wú)線傳感器網(wǎng)絡(luò)中[4]。

    然而,當(dāng)所構(gòu)建的網(wǎng)絡(luò)中要采集大量信息時(shí),承擔(dān)較大業(yè)務(wù)量的底層節(jié)點(diǎn)往往因依據(jù)Cluster-Tree算法進(jìn)行路由不能及時(shí)傳輸信息,而造成丟包和傳輸延時(shí)。同時(shí)信息量傳輸大的路徑上,節(jié)點(diǎn)能耗快,因而容易導(dǎo)致網(wǎng)絡(luò)分割。比如煤礦開(kāi)采[5]等環(huán)境復(fù)雜多變的情況下,采集節(jié)點(diǎn)平時(shí)需要傳輸?shù)臄?shù)據(jù)比較少。但當(dāng)出現(xiàn)突發(fā)事件時(shí),需要緊急傳輸大量詳細(xì)信息。此時(shí)網(wǎng)絡(luò)中容易出現(xiàn)擁塞、丟包等問(wèn)題,不利于控制中心的處理。如何降低網(wǎng)絡(luò)擁塞,提升網(wǎng)絡(luò)吞吐量是目前面臨的重要問(wèn)題。

    目前對(duì)ZigBee 樹(shù)型拓?fù)浣Y(jié)構(gòu)的改進(jìn)算法中,如參考文獻(xiàn)[6-9]中提到的HCTR算法、ENTR算法、一種改進(jìn)的Cluster-Tree算法和SATR算法,往往是通過(guò)結(jié)合引入的鄰居列表,從距離上優(yōu)化路由的下一跳,而并未考慮其所選下一跳是否發(fā)生擁塞,或是否在發(fā)生擁塞的路徑上,以及當(dāng)節(jié)點(diǎn)發(fā)生擁塞后如何處理的問(wèn)題。因此本文提出Z-DMHCTR算法,不僅使一跳范圍內(nèi)的傳輸可以直接通過(guò)鄰居列表送達(dá),而且對(duì)于緩存區(qū)剩余容量小于一定數(shù)值的節(jié)點(diǎn),可利用其鄰居列表尋找額外的路徑進(jìn)行傳輸。在額外路徑的選取中,首先要考慮轉(zhuǎn)發(fā)節(jié)點(diǎn)的緩沖區(qū)大??;然后通過(guò)選中的節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)時(shí),要避免選用發(fā)生擁塞的節(jié)點(diǎn)所在的源傳輸路徑上的節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā),以此降低再次發(fā)生擁塞的可能性,提升網(wǎng)絡(luò)吞吐量。

1 ZigBee無(wú)線網(wǎng)絡(luò)Cluster-tree路由機(jī)制

    ZigBee無(wú)線網(wǎng)絡(luò)中根據(jù)設(shè)備功能不同分為兩類(lèi):可用來(lái)充當(dāng)協(xié)調(diào)器和路由器的全功能設(shè)備FFD和僅用來(lái)充當(dāng)終端葉子節(jié)點(diǎn)的精簡(jiǎn)功能設(shè)備RFD。在ZigBee網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)都具有64位的IEEE擴(kuò)展地址作為其唯一的標(biāo)識(shí)。此外,還會(huì)獲得由其父節(jié)點(diǎn)動(dòng)態(tài)分配的16位網(wǎng)絡(luò)地址[10]。以下分別介紹ZigBee網(wǎng)絡(luò)層地址分配機(jī)制和等級(jí)樹(shù)路由過(guò)程。

1.1 ZigBee網(wǎng)絡(luò)地址分配

    ZigBee網(wǎng)絡(luò)地址分配涉及到3個(gè)重要參數(shù):Lm(網(wǎng)絡(luò)的最大深度)、Cm(父節(jié)點(diǎn)最多可擁有的子節(jié)點(diǎn)的個(gè)數(shù))、Rm(子節(jié)點(diǎn)中最多可為路由節(jié)點(diǎn)的個(gè)數(shù))。以上參數(shù)由協(xié)調(diào)器設(shè)定。網(wǎng)絡(luò)中父節(jié)點(diǎn)為子節(jié)點(diǎn)進(jìn)行地址分配時(shí),地址偏移量Cskip(d)可由式(1)計(jì)算得出,其中d為父節(jié)點(diǎn)深度[10]

    jsj3-gs1.gif

    根據(jù)子節(jié)點(diǎn)類(lèi)型不同,地址分配分別依據(jù)式(2)和式(3)進(jìn)行。

    jsj3-gs2-3.gif

其中Ap為深度為d的父節(jié)點(diǎn)地址。

1.2 Cluster-tree路由算法實(shí)現(xiàn)過(guò)程

    Cluster-tree路由算法依靠父子關(guān)系進(jìn)行。根據(jù)以上ZigBee網(wǎng)絡(luò)地址分配公式,當(dāng)節(jié)點(diǎn)收到目的地址為D的數(shù)據(jù)包后,可依照式(4)判斷D是否為自己的后代節(jié)點(diǎn)。若是則按照式(5)進(jìn)一步計(jì)算下一跳地址,否則向上發(fā)給父節(jié)點(diǎn)[10]

    jsj3-gs4-5.gif

其中A為深度為d的節(jié)點(diǎn)的地址。

2 改進(jìn)算法設(shè)計(jì)

    通過(guò)引入鄰居列表,使空間相近的節(jié)點(diǎn)可以直接送達(dá),從而不僅可以降低傳輸延時(shí),還可以節(jié)省能量。同時(shí)在該鄰居列表中添加鄰居節(jié)點(diǎn)的剩余緩沖區(qū)大小和鄰居節(jié)點(diǎn)擁塞示警位,以便在傳輸過(guò)程中降低發(fā)生擁塞的可能性。如果當(dāng)節(jié)點(diǎn)檢測(cè)到自身緩沖區(qū)達(dá)到某預(yù)定值,則發(fā)起尋找到目的節(jié)點(diǎn)的額外的與自身傳輸路徑不相交的路徑進(jìn)行信息的傳輸,從而避免再次發(fā)生擁塞,提高網(wǎng)絡(luò)吞吐量。

2.1 擁塞示警機(jī)制

    首先在鄰居列表中設(shè)置了剩余緩沖區(qū)大小(Buffer size)和擁塞警示位(Congestion alarm)。其中,剩余緩沖區(qū)大小由節(jié)點(diǎn)緩存隊(duì)列的剩余值表示,并根據(jù)節(jié)點(diǎn)收發(fā)數(shù)據(jù)情況進(jìn)行動(dòng)態(tài)更新。當(dāng)節(jié)點(diǎn)緩沖區(qū)大小高于特定值時(shí),擁塞警示位置0,節(jié)點(diǎn)按照正常方式進(jìn)行路由;否則,擁塞警示位置1,節(jié)點(diǎn)會(huì)尋找額外路徑進(jìn)行轉(zhuǎn)發(fā),同時(shí)盡量避開(kāi)已發(fā)生擁塞的節(jié)點(diǎn)。鄰居列表的更新是通過(guò)對(duì)收到的數(shù)據(jù)包的包頭進(jìn)行分析進(jìn)行的。

2.2 Z-DMHCTR算法

    改進(jìn)算法的目的是能夠使ZigBee等級(jí)樹(shù)路由算法更好地處理大量或高速率數(shù)據(jù)的傳輸問(wèn)題。因此當(dāng)節(jié)點(diǎn)發(fā)生擁塞時(shí),可通過(guò)尋找額外的節(jié)點(diǎn)不相交的路徑同時(shí)進(jìn)行信息傳輸,從而提高網(wǎng)絡(luò)的帶寬利用率,增加網(wǎng)絡(luò)吞的吐量。尋找節(jié)點(diǎn)不相交路徑是為了降低再次發(fā)生擁塞的可能性,因?yàn)樗x中下一跳節(jié)點(diǎn)可能與發(fā)生擁塞的節(jié)點(diǎn)具有相同的公共傳輸節(jié)點(diǎn)。

2.2.1 算法描述

    假設(shè)網(wǎng)絡(luò)中所有信息都傳輸至匯聚節(jié)點(diǎn)sink(協(xié)調(diào)器或簇首節(jié)點(diǎn)),在ZigBee樹(shù)型拓?fù)浣Y(jié)構(gòu)中,依據(jù)上節(jié)描述,Z-DMHCTR算法中每個(gè)路由節(jié)點(diǎn)維護(hù)一個(gè)鄰居列表。當(dāng)網(wǎng)絡(luò)中傳輸數(shù)據(jù)量較低時(shí),僅結(jié)合鄰居列表進(jìn)行判斷一跳范圍內(nèi)的直接傳輸,否則按照原路由方式進(jìn)行。若當(dāng)某一節(jié)點(diǎn)緩沖隊(duì)列的剩余大小等于鄰居節(jié)點(diǎn)個(gè)數(shù)時(shí)擁塞示警位置1,則發(fā)起尋找額外的節(jié)點(diǎn)不相交路徑的過(guò)程。發(fā)生擁塞的節(jié)點(diǎn)對(duì)鄰居列表中非父節(jié)點(diǎn)進(jìn)行篩選,將數(shù)據(jù)包轉(zhuǎn)發(fā)至擁塞警示位為0且剩余緩沖區(qū)大的節(jié)點(diǎn)處。作為轉(zhuǎn)發(fā)的中間節(jié)點(diǎn),則需要依靠樹(shù)型路徑信息,從鄰居列表中挑選出不與上發(fā)送節(jié)點(diǎn)相交的傳輸路徑進(jìn)行數(shù)據(jù)傳輸。對(duì)于挑選出的節(jié)點(diǎn),再進(jìn)一步判斷緩存區(qū)大小,從而挑選出適合的節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā)。

2.2.2 樹(shù)型路徑信息

jsj3-gs6.gif

    當(dāng)Ck取0時(shí)表明路徑已經(jīng)終止。根據(jù)節(jié)點(diǎn)類(lèi)型不同,集合ZTPi分為以下兩種類(lèi)型:

    jsj3-gs7.gif

    轉(zhuǎn)發(fā)節(jié)點(diǎn)通過(guò)式(6)計(jì)算出父子關(guān)系路徑信息的集合,然后同發(fā)送節(jié)點(diǎn)的集合中元素進(jìn)行對(duì)比,從而可以判斷其公共節(jié)點(diǎn)所在的位置和深度。避免在依據(jù)等級(jí)樹(shù)路由方式路由時(shí),采用相同節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)。

2.2.3 Z-DMHCTR算法實(shí)現(xiàn)

    在源節(jié)點(diǎn)s向sink節(jié)點(diǎn)發(fā)送數(shù)據(jù)包的過(guò)程中:

    (1)發(fā)送節(jié)點(diǎn)(可能為源節(jié)點(diǎn),也可能為中間節(jié)點(diǎn))檢測(cè)到自身?yè)砣麡?biāo)志位γ=1后將相關(guān)信息封裝至分組頭部后,發(fā)起額外路徑尋找過(guò)程。

    (2)通過(guò)查詢(xún)鄰居列表篩選出非父節(jié)點(diǎn)到一個(gè)結(jié)合中,對(duì)集合中節(jié)點(diǎn)的擁塞警示位進(jìn)行判斷,若集合中節(jié)點(diǎn)均發(fā)生擁塞,則跳轉(zhuǎn)至步驟(5)執(zhí)行,否則繼續(xù)執(zhí)行;

    (3)優(yōu)先挑選鄰居列表中,剩余緩沖區(qū)較大的節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā);

    (4)中間節(jié)點(diǎn)收到數(shù)據(jù)包并獲取分組頭信息后,若發(fā)現(xiàn)分組中擁塞標(biāo)志位置1,則將自身的路徑信息集合與發(fā)送節(jié)點(diǎn)的路徑信息進(jìn)行對(duì)比。設(shè)變量l、i。l表示當(dāng)前節(jié)點(diǎn)的集合中最后一個(gè)不為0的元素,i表示兩集合中最先出現(xiàn)不同的元素為第i個(gè)元素:

    ①若i=1,則相同節(jié)點(diǎn)為sink節(jié)點(diǎn),執(zhí)行步驟(5);

    ②若i=l,則兩節(jié)點(diǎn)共父,跳轉(zhuǎn)至步驟(2)執(zhí)行;

    ②若1<i<l,則該中間節(jié)點(diǎn)同源節(jié)點(diǎn)在深度i-1處有公共父節(jié)點(diǎn),執(zhí)行步驟(5);

    (5)仍按等級(jí)樹(shù)路由方式路由至下一跳節(jié)點(diǎn);

    (6)傳輸過(guò)程中節(jié)點(diǎn)按照步驟(1)~(4)執(zhí)行,直至信息傳輸?shù)絪ink節(jié)點(diǎn)。

    算法具體傳輸過(guò)程舉例如下:因算法所挑選的路徑的數(shù)目會(huì)受到協(xié)調(diào)器子節(jié)點(diǎn)數(shù)目和發(fā)送節(jié)點(diǎn)鄰居節(jié)點(diǎn)數(shù)目的影響,所以建立如下環(huán)形網(wǎng)絡(luò)。其中(Lm,Cm,Rm)=(3,4,4),協(xié)調(diào)器位于圓心,其余不同深度i的子節(jié)點(diǎn)部署在半徑為iR的同心圓上,如圖1所示。

jsj3-t1.gif

    其中s為源節(jié)點(diǎn),d為匯聚節(jié)點(diǎn)。根據(jù)式(1)結(jié)合所設(shè)定的參數(shù)可計(jì)算出深度為0,1,2時(shí)地址塊Cskip分別為21,5,1。然后結(jié)合式(2)計(jì)算出各節(jié)點(diǎn)地址。TR為所設(shè)定的節(jié)點(diǎn)的通信范圍,確保一個(gè)節(jié)點(diǎn)在其通信范圍內(nèi)除父節(jié)點(diǎn)外,至少存在兩個(gè)鄰居節(jié)點(diǎn),以增加找到額外路徑的幾率。比如源節(jié)點(diǎn)s,其鄰居節(jié)點(diǎn)為i,f,g。正常情況下數(shù)據(jù)包的傳輸路徑為s→f→a→d,結(jié)合式(6)計(jì)算所得的等級(jí)樹(shù)路徑信息記為ZTPs=(1,1,1)。即s為其父節(jié)點(diǎn)f的第一個(gè)子節(jié)點(diǎn),f為其父節(jié)點(diǎn)a的第一個(gè)子節(jié)點(diǎn),依次類(lèi)推。如果當(dāng)源節(jié)點(diǎn)s擁塞標(biāo)志位置1后,節(jié)點(diǎn)s依據(jù)其鄰居列表尋找額外的路徑。當(dāng)選擇節(jié)點(diǎn)g為其下一跳并轉(zhuǎn)發(fā)數(shù)據(jù)包后,節(jié)點(diǎn)g通過(guò)將自身的樹(shù)路徑信息集合ZTPg=(1,1,2),與源節(jié)點(diǎn)s的進(jìn)行對(duì)比,可知其第一個(gè)不同元素出現(xiàn)的位置為集合中第3個(gè)元素,則可判斷兩節(jié)點(diǎn)s和g共父節(jié)點(diǎn)。所以節(jié)點(diǎn)g從其鄰居列表中挑選非父的節(jié)點(diǎn)k為其下一跳。當(dāng)k收到數(shù)據(jù)包后同樣將ZTPk=(2,1,1)與ZTPs進(jìn)行對(duì)比,其第一個(gè)不相同的元素位于第一位,由此可知節(jié)點(diǎn)k同節(jié)點(diǎn)s只有在sink節(jié)點(diǎn)處才相交。因此節(jié)點(diǎn)k可按照等級(jí)樹(shù)路由方式進(jìn)行路由,由此尋找到的第二條路徑為s→g→k→p→b→d。同樣如果s選擇的下一跳節(jié)點(diǎn)為i,由同樣的過(guò)程可以得出另一條傳輸路徑為s→i→h→j→c→d。如此可以在避免二次發(fā)生擁塞的情況下,將數(shù)據(jù)傳輸至sink節(jié)點(diǎn),從而降低丟包率,提升網(wǎng)絡(luò)吞吐量。

3 Z-DMHCTR路由協(xié)議性能仿真與分析    

3.1 仿真環(huán)境

    仿真基于NS2平臺(tái),重點(diǎn)將傳輸過(guò)程中,Z-DMHCTR算法在網(wǎng)絡(luò)平均吞吐量、分組遞交率和端到端的平均傳輸延時(shí)與Cluster-Tree算法進(jìn)行比較分析。仿真結(jié)果證明了改進(jìn)算法是有效的。

    本實(shí)驗(yàn)利用IEEE802.15.4的PHY層和MAC層來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)層的仿真,網(wǎng)絡(luò)覆蓋區(qū)域大小為150 m×150 m,網(wǎng)絡(luò)布局依照同心圓建立。協(xié)調(diào)器節(jié)點(diǎn)位于網(wǎng)絡(luò)中心,同心圓半徑為節(jié)點(diǎn)所在深度倍的R。所有仿真數(shù)據(jù)通過(guò)對(duì)網(wǎng)絡(luò)獨(dú)立運(yùn)行20次取平均值所得。仿真過(guò)程中通過(guò)Trace文件對(duì)實(shí)驗(yàn)數(shù)據(jù)追蹤記錄,并通過(guò)gawk工具對(duì)其進(jìn)行提取和處理,最后通過(guò)gnuplot工具繪制二維圖形并對(duì)結(jié)果進(jìn)行分析。具體仿真環(huán)境的參數(shù)如表1所示。

jsj3-b1.gif

3.2 仿真結(jié)果與分析

    實(shí)驗(yàn)過(guò)程中通過(guò)將節(jié)點(diǎn)緩沖隊(duì)列設(shè)置的較小,并且采用Pareto分布流量產(chǎn)生器,從而使節(jié)點(diǎn)緩沖隊(duì)列長(zhǎng)時(shí)間處于擁塞狀態(tài)。仿真結(jié)果如圖2所示。

jsj3-t2.gif

    圖2所示的分組遞交率是通過(guò)式(8)計(jì)算所得,其中僅包括發(fā)生在路由層的傳輸包。

    jsj3-gs8.gif

    從圖中可以看出改進(jìn)后算法的分組遞交率優(yōu)于改進(jìn)前算法。尤其在網(wǎng)絡(luò)運(yùn)行至80 s時(shí),改進(jìn)前后算法的分組頭地率有最大差值,此時(shí)改進(jìn)前后算法的分組投遞率分別為9.742%、11.932%,改進(jìn)后算法提高了2.19%。

    圖3中平均吞吐量指的是單位時(shí)間內(nèi)成功傳輸?shù)臄?shù)據(jù)量,可由式(9)計(jì)算。

    jsj3-gs9.gif

其中N為成功傳送的分組數(shù),Psize為一個(gè)封包的大小,tstart和tend分別為仿真模擬的開(kāi)始和結(jié)束時(shí)間。

jsj3-t3.gif

    雖然隨著網(wǎng)絡(luò)的運(yùn)行,改進(jìn)前后算法的吞吐量均呈下降趨勢(shì),在50 s~80 s間改進(jìn)后算法平均吞吐量明顯高于改進(jìn)前算法,從表2中可以看出在70 s處兩者出現(xiàn)最大差值2 760。說(shuō)明改進(jìn)后算法通過(guò)多條路徑傳輸確實(shí)改善了網(wǎng)絡(luò)吞吐量。

jsj3-b2.gif

    圖4為發(fā)送節(jié)點(diǎn)數(shù)目增加時(shí),網(wǎng)絡(luò)整體的平均吞吐量變化情況。

jsj3-t4.gif

    Z-DMHCTR算法所挑選的路徑數(shù)目會(huì)受到鄰居節(jié)點(diǎn)等的影響,而且大量傳輸包發(fā)送至匯聚節(jié)點(diǎn)容易發(fā)生碰撞而導(dǎo)致丟包,因此增加發(fā)送節(jié)點(diǎn)個(gè)數(shù)進(jìn)行仿真??梢钥吹剑倪M(jìn)前后算法網(wǎng)絡(luò)整體吞吐量增長(zhǎng)情況均變緩,但Z-DMHCTR算法通過(guò)尋找額外的傳輸路徑與原算法相比仍提升了網(wǎng)絡(luò)的吞吐量。

    圖5所示的平均端到端延時(shí)是通過(guò)式(10)計(jì)算所得:

    jsj3-gs10.gif

其中N為成功傳送的分組數(shù),tr(i)為分組傳輸至目的節(jié)點(diǎn)的時(shí)間,ts(i)為分組被發(fā)送的時(shí)刻。雖然改進(jìn)后算法通過(guò)非父子關(guān)系路徑傳輸數(shù)據(jù)時(shí)可能使傳輸條數(shù)增多而增加部分延時(shí),但同時(shí)也降低了數(shù)據(jù)包在節(jié)點(diǎn)處緩存而引發(fā)的延時(shí)。從實(shí)驗(yàn)結(jié)果可以看出,雖然延時(shí)相差非常小,但改進(jìn)算法因?yàn)樗x路徑不為最短所造成的網(wǎng)絡(luò)延時(shí)并未影響網(wǎng)絡(luò)整體性能。

jsj3-t5.gif

4 結(jié)束語(yǔ)

    目前,ZigBee技術(shù)依然是最適合傳感器網(wǎng)絡(luò)接入端的短距離無(wú)線通信技術(shù)。而其樹(shù)型拓?fù)浣Y(jié)構(gòu)也因?yàn)橹С止?jié)能操作和輕量級(jí)路由并且已擴(kuò)展而得到了廣泛應(yīng)用。但因Cluster-tree路由特點(diǎn)和ZigBee 技術(shù)本身傳輸帶寬限制,使其對(duì)突發(fā)大量數(shù)據(jù)的傳輸或圖像傳輸?shù)纫恍└邤?shù)據(jù)速率應(yīng)用的處理存在問(wèn)題。本文針對(duì)上情況提出改進(jìn)的Z-DMHCTR算法,使網(wǎng)絡(luò)中節(jié)點(diǎn)發(fā)生擁塞前能夠?qū)ふ翌~外路徑傳輸數(shù)據(jù),從而不僅可以提升網(wǎng)絡(luò)吞吐量,降低丟包率,還可以均衡網(wǎng)絡(luò)負(fù)載,避免部分節(jié)點(diǎn)因過(guò)度使用而死亡造成網(wǎng)絡(luò)分割,從而提升了網(wǎng)絡(luò)整體的性能。

參考文獻(xiàn)

[1] 唐寅.基于ZigBee的傳統(tǒng)路由協(xié)議研究與優(yōu)化[D].武漢:湖北大學(xué),2013.

[2] 袁安娜.基于ZigBee網(wǎng)絡(luò)的能量均衡路由算法研究[D].哈爾濱:哈爾濱理工大學(xué),2014.

[3] 馬海潮.ZigBee網(wǎng)絡(luò)可擴(kuò)展性及分簇路由協(xié)議研究[D].西安:西安電子科技大學(xué),2014.

[4] 赫曉萌.基于ZigBee的無(wú)線糧情檢測(cè)系統(tǒng)中路由協(xié)議的研究[D].北京:北京郵電大學(xué),2009.

[5] 劉國(guó)梅,謝曉廣,白首華.基于煤礦安全監(jiān)測(cè)的ZigBee路由協(xié)議改進(jìn)[J].工業(yè)安全與環(huán)保,2015,41(1):99-102.

[6] 吳非.基于ZigBee技術(shù)的無(wú)線傳感器網(wǎng)絡(luò)路由算法研究[D].北京:北京郵電大學(xué),2015.

[7] Feng Shuo,Wang Mingan,Yu Qilin,et al.Improved neighbor table-based tree routing strategies in ZigBee[C].Information Science and Technology(ICIST) 5th International Conference,2015:513-518.

[8] 班艷麗,柴喬林,王芳.改進(jìn)的ZigBee網(wǎng)絡(luò)路由算法[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(5):95-97.

[9] Chen Shyr-Kuen,Wang Pi-Chung.Shortcut anycast tree routing in MANETs[C].Advanced Information Networking and Applications(AINA) 26th International Conference,2012:635-640.

[10] 錢(qián)志鴻,朱爽,王雪.基于分簇機(jī)制的ZigBee混合路由能量?jī)?yōu)化算法[J].計(jì)算機(jī)學(xué)報(bào),2013,36(3):485-493.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。