【ZigBee路由算法探析6700字(論文)】_第1頁(yè)
【ZigBee路由算法探析6700字(論文)】_第2頁(yè)
【ZigBee路由算法探析6700字(論文)】_第3頁(yè)
【ZigBee路由算法探析6700字(論文)】_第4頁(yè)
【ZigBee路由算法探析6700字(論文)】_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

ZigBee路由算法分析摘要: 摘要:ZigBee技術(shù)是一種基于IEEE802.15.4協(xié)議的無(wú)線通信技術(shù),它具有低功耗、低成本、短時(shí)延等特點(diǎn),所以在工業(yè)控制和智能家居等領(lǐng)域有著廣泛的應(yīng)用。本文對(duì)ZigBee網(wǎng)絡(luò)的原理進(jìn)行解析,深入研究ZigBee網(wǎng)絡(luò)中常見(jiàn)的三種路由策略,比較分析各自的優(yōu)勢(shì)與不足。本文重點(diǎn)針對(duì)AODV算法進(jìn)行仿真實(shí)驗(yàn),使用MATLAB模擬簡(jiǎn)易ZigBee網(wǎng)絡(luò)中AODV路由策略的工作流程。統(tǒng)計(jì)網(wǎng)絡(luò)傳輸中各類數(shù)據(jù)包在不同時(shí)期的數(shù)量情況,整理實(shí)驗(yàn)結(jié)果并分析AODV算法的特點(diǎn)和改進(jìn)優(yōu)化方向。關(guān)鍵詞:ZigBee網(wǎng)絡(luò);路由算法;AODV算法;MATLAB仿真引言最近兩年,隨著5G網(wǎng)絡(luò)的逐漸普及,高速率的網(wǎng)絡(luò)為物聯(lián)網(wǎng)技術(shù)帶來(lái)了更多的可能性。而ZigBee無(wú)線通信協(xié)議作為物聯(lián)網(wǎng)領(lǐng)域常見(jiàn)的網(wǎng)絡(luò)方案之一,也逐漸成為研究的熱點(diǎn)。目前主流的無(wú)線傳輸方式主要四種:紅外感應(yīng)、藍(lán)牙、無(wú)線局域網(wǎng)和ZigBee技術(shù),表1顯示了四種方式在網(wǎng)絡(luò)容量、覆蓋范圍、系統(tǒng)成本和傳輸效率方面的對(duì)比。表1四種傳輸方式的對(duì)比對(duì)比內(nèi)容紅外感應(yīng)藍(lán)牙無(wú)線局域網(wǎng)ZigBee網(wǎng)絡(luò)容量點(diǎn)對(duì)點(diǎn)7個(gè)32個(gè)255~65000個(gè)覆蓋范圍5~10m10~100m10~100m10~100m系統(tǒng)成本低較高高低傳輸功耗低較低高低通過(guò)上面的對(duì)比,可以看出ZigBee技術(shù)相較于其他傳輸方式在成本、能耗、復(fù)雜度以及網(wǎng)絡(luò)容量等方面都有一定優(yōu)勢(shì),因此ZigBee技術(shù)被廣泛應(yīng)用于自動(dòng)化控制等領(lǐng)域[1]。而ZigBee網(wǎng)絡(luò)中路由算法的選擇也一直是ZigBee技術(shù)的研究重點(diǎn),不同的路由策略會(huì)直接影響整個(gè)網(wǎng)絡(luò)的功耗和性能。本文首先介紹ZigBee網(wǎng)絡(luò)的基本協(xié)議棧和拓?fù)浣Y(jié)構(gòu),對(duì)網(wǎng)絡(luò)中常見(jiàn)的三種路由算法進(jìn)行研究與分析,模擬ZigBee網(wǎng)絡(luò)環(huán)境,測(cè)試AODV算法路由開(kāi)銷,分析路由算法的改進(jìn)方向。1.ZigBee網(wǎng)絡(luò)概述1.1ZigBee協(xié)議棧ZigBee協(xié)議棧主要分為四個(gè)部分,其中物理層(PHY)和數(shù)據(jù)鏈路層(DLL)依據(jù)IEEE802.15.4標(biāo)準(zhǔn)的定義[2],ZigBee聯(lián)盟在此基礎(chǔ)上定義了網(wǎng)絡(luò)層(NWK)和應(yīng)用層(APL),協(xié)議棧的結(jié)構(gòu)如圖1。其中,物理層主要負(fù)責(zé)控制射頻信號(hào)的收發(fā)以及提供數(shù)據(jù)傳輸服務(wù),它直接影響到信號(hào)收發(fā)功率和數(shù)據(jù)傳輸速率。其中PLME.SAP負(fù)責(zé)設(shè)定物理層的狀態(tài),PD.SAP負(fù)責(zé)提供接口。數(shù)據(jù)鏈路層支持多種幀類型:命令幀、信標(biāo)幀、數(shù)據(jù)幀和確認(rèn)幀,不同的幀格式滿足不同的需求。網(wǎng)絡(luò)層是其相鄰兩層之間的接口,主要負(fù)責(zé)管理網(wǎng)絡(luò)安全、路由轉(zhuǎn)發(fā)、消息代理等功能。應(yīng)用層是與用戶聯(lián)系最緊密的一層,主要負(fù)責(zé)把不同的應(yīng)用映射到ZigBee網(wǎng)絡(luò)上。圖1ZigBee網(wǎng)絡(luò)協(xié)議棧結(jié)構(gòu)1.2ZigBee網(wǎng)絡(luò)的構(gòu)成按設(shè)備類型劃分,ZigBee網(wǎng)絡(luò)支持的設(shè)備有:簡(jiǎn)單設(shè)備(RFD)和全能設(shè)備(FFD)。FFD設(shè)備能夠?qū)崿F(xiàn)IEEE802.15.4定義的所有功能,它既可以創(chuàng)建網(wǎng)絡(luò)也可以負(fù)責(zé)中繼,支持多種網(wǎng)絡(luò)結(jié)構(gòu)。所以ZigBee網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都可以用FFD設(shè)備充當(dāng)。而RFD設(shè)備功能簡(jiǎn)單,只支持星型拓?fù)洌荒軇?chuàng)建網(wǎng)絡(luò),一般充當(dāng)終端設(shè)備。按節(jié)點(diǎn)類型來(lái)劃分,ZigBee網(wǎng)絡(luò)中有終端節(jié)點(diǎn)、路由節(jié)點(diǎn)和主節(jié)點(diǎn)[3]。其中主節(jié)點(diǎn)(又稱協(xié)調(diào)器)一般由一個(gè)FFD構(gòu)成,它是ZigBee網(wǎng)絡(luò)的核心,主要負(fù)責(zé)構(gòu)建網(wǎng)絡(luò)和分配地址。路由節(jié)點(diǎn)由FFD設(shè)備擔(dān)任,在網(wǎng)絡(luò)中負(fù)責(zé)轉(zhuǎn)發(fā)消息和維護(hù)路由路徑。終端節(jié)點(diǎn)(End-Device)是ZigBee網(wǎng)絡(luò)中復(fù)雜度較低的節(jié)點(diǎn),既可以用FFD構(gòu)成也可以用RFD構(gòu)成,它只進(jìn)行數(shù)據(jù)的發(fā)送和接收,不負(fù)責(zé)消息轉(zhuǎn)發(fā)。1.3ZigBee網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)ZigBee網(wǎng)絡(luò)支持的拓?fù)浣Y(jié)構(gòu)有:星型拓?fù)?、?shù)型拓?fù)浜途W(wǎng)狀拓?fù)洹HN拓?fù)淙鐖D2所示。圖2ZigBee網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)1)星形網(wǎng)絡(luò)從拓?fù)鋱D可以看出,整個(gè)星形網(wǎng)絡(luò)以協(xié)調(diào)器為中心,直接連接到每個(gè)設(shè)備。這種網(wǎng)絡(luò)結(jié)構(gòu)在網(wǎng)絡(luò)的創(chuàng)建階段具有很大優(yōu)勢(shì),由于星形結(jié)構(gòu)無(wú)需轉(zhuǎn)發(fā),所以創(chuàng)建網(wǎng)絡(luò)時(shí)協(xié)調(diào)器廣播通信的效率變的更高。星形網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單,對(duì)節(jié)點(diǎn)功能要求較低,所以整個(gè)網(wǎng)絡(luò)中不需要執(zhí)行過(guò)多的上層協(xié)議,網(wǎng)絡(luò)設(shè)備成本也相對(duì)降低。但是這種結(jié)構(gòu)存在條件約束,由于需要把每個(gè)設(shè)備都置于協(xié)調(diào)器的覆蓋范圍之內(nèi),這就必然使得整個(gè)無(wú)線網(wǎng)絡(luò)的通信范圍受到限制,所以整個(gè)網(wǎng)絡(luò)缺乏靈活性。此外由于協(xié)調(diào)器需要處理大量的信息,這很容易產(chǎn)生擁堵、丟包等問(wèn)題。不過(guò),到目前為止,星形拓?fù)淙允亲畛S玫木W(wǎng)絡(luò)拓?fù)?,非常適合個(gè)人計(jì)算機(jī)或家庭網(wǎng)絡(luò)等應(yīng)用場(chǎng)景。2)樹(shù)形網(wǎng)絡(luò)樹(shù)形拓?fù)渑c星形拓?fù)涞牟煌幵谟?,?shù)形網(wǎng)絡(luò)中的節(jié)點(diǎn)之間形成父子關(guān)系,依靠父子關(guān)系進(jìn)行數(shù)據(jù)傳輸有效降低了路由開(kāi)銷。父子結(jié)構(gòu)也使得網(wǎng)絡(luò)的覆蓋范圍不再受單個(gè)協(xié)調(diào)器的限制[4]。不過(guò)樹(shù)型拓?fù)洳荒芎芎玫倪m應(yīng)動(dòng)態(tài)環(huán)境,它一般適用于穩(wěn)定的靜態(tài)網(wǎng)絡(luò)。如果某些應(yīng)用場(chǎng)景對(duì)網(wǎng)絡(luò)通信范圍有一些額外的要求,那么可以考慮采用樹(shù)形網(wǎng)絡(luò)。3)網(wǎng)狀網(wǎng)絡(luò)網(wǎng)狀網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計(jì)比較自由,不限制節(jié)點(diǎn)與節(jié)點(diǎn)之間的通信,所以它對(duì)環(huán)境要求不嚴(yán)格。在網(wǎng)狀網(wǎng)絡(luò)中沒(méi)有RED設(shè)備,每個(gè)節(jié)點(diǎn)都是由FFD構(gòu)成,都具有接收和轉(zhuǎn)發(fā)功能。網(wǎng)絡(luò)中任意節(jié)點(diǎn)之間一般有多條路由路徑,數(shù)據(jù)通信時(shí)可以選擇使用跳數(shù)最短的路徑。網(wǎng)狀拓?fù)洳⒉幌駱?shù)形拓?fù)湟粯哟嬖谝?guī)范的路由模式,通信路徑跟隨網(wǎng)絡(luò)運(yùn)行動(dòng)態(tài)調(diào)整。網(wǎng)絡(luò)傳輸時(shí)延主要依賴于當(dāng)前的網(wǎng)絡(luò)質(zhì)量,所以無(wú)法準(zhǔn)確預(yù)計(jì),這也就導(dǎo)致了對(duì)其定性分析非常困難。但也正是因?yàn)樗膹?fù)雜性,使得網(wǎng)狀拓?fù)涞沫h(huán)境適應(yīng)能力很好,相對(duì)于其他兩種拓?fù)?,網(wǎng)狀拓?fù)涫庆`活性最好的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。2.ZigBee路由算法分析2.1ZigBee網(wǎng)絡(luò)地址分配機(jī)制Zigbee網(wǎng)絡(luò)采用分布式網(wǎng)絡(luò)地址分配方式[5]。網(wǎng)絡(luò)中的協(xié)調(diào)器負(fù)責(zé)為所有設(shè)備分配網(wǎng)絡(luò)地址,協(xié)調(diào)器依據(jù)網(wǎng)絡(luò)自定義參數(shù)來(lái)確定地址的分配方案。ZigBee網(wǎng)絡(luò)建立的時(shí)候,規(guī)定了三個(gè)參數(shù)用于實(shí)現(xiàn)地址分配:網(wǎng)絡(luò)深度d,每個(gè)父節(jié)點(diǎn)可以為子節(jié)點(diǎn)分配的最大節(jié)點(diǎn)數(shù)量Cm,子節(jié)點(diǎn)能夠分配的最大路由節(jié)點(diǎn)數(shù)父節(jié)點(diǎn)能夠?yàn)樽庸?jié)點(diǎn)分配的地址數(shù)量一般記作偏移量,故網(wǎng)絡(luò)深度為d的父節(jié)點(diǎn)的偏移量表示為Cskip(d)。計(jì)算過(guò)程如公式1。Cskipd=1+假設(shè)新加入網(wǎng)絡(luò)的節(jié)點(diǎn)為i,其父親節(jié)點(diǎn)記作q,則節(jié)點(diǎn)i的網(wǎng)絡(luò)深度可通過(guò)公式2計(jì)算得出。Dep?i=Dep?新加入的節(jié)點(diǎn)所分配到的網(wǎng)絡(luò)地址與偏移量和加入順序有關(guān)。如公式3所示,其中1≤Ai=A假設(shè)某節(jié)點(diǎn)加入ZigBee網(wǎng)絡(luò)時(shí)為該網(wǎng)絡(luò)第k個(gè)終端節(jié)點(diǎn),那么該節(jié)點(diǎn)所分配到的地址的計(jì)算公式如公式4所示,其中1≤Ak=A2.2Cluster-Tree算法Cluster-Tree算法又稱樹(shù)簇路由算法,它是一種靜態(tài)路由協(xié)議,主要基于樹(shù)形網(wǎng)絡(luò)結(jié)構(gòu),依據(jù)節(jié)點(diǎn)與節(jié)點(diǎn)之間的父子關(guān)系來(lái)進(jìn)行數(shù)據(jù)傳輸[6]。網(wǎng)絡(luò)中的所有節(jié)點(diǎn)之間形成父子關(guān)系,整個(gè)網(wǎng)絡(luò)中的節(jié)點(diǎn)基于數(shù)據(jù)鏈路層提供的關(guān)聯(lián)形成一個(gè)邏輯樹(shù)。節(jié)點(diǎn)之間進(jìn)行通信的時(shí)候,源節(jié)點(diǎn)首先檢查自己的子節(jié)點(diǎn)中是否有目標(biāo)節(jié)點(diǎn),若沒(méi)有,源節(jié)點(diǎn)直接將數(shù)據(jù)包交給其父節(jié)點(diǎn)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。執(zhí)行流程如圖3所示。圖3Cluster-Tree算法執(zhí)行流程圖算法執(zhí)行過(guò)程中,收到轉(zhuǎn)發(fā)請(qǐng)求的節(jié)點(diǎn)會(huì)首先對(duì)目的地址做判斷。1)若目的地址是該節(jié)點(diǎn)的孩子,則下一跳的地址為[8]:N=E,如果是終端節(jié)點(diǎn)A+1+E?(A+1)Cskip(k)2)目的節(jié)點(diǎn)如果不是自己的子節(jié)點(diǎn),則下一跳為節(jié)點(diǎn)A的父親節(jié)點(diǎn),將該數(shù)據(jù)分組傳輸給自己的父節(jié)點(diǎn),由父節(jié)點(diǎn)進(jìn)行同樣的判斷處理。由于Cluster-Tree算法在數(shù)據(jù)轉(zhuǎn)發(fā)之前不需要進(jìn)行路由發(fā)現(xiàn),所以也就不需要維護(hù)路由表,這樣就使得初始時(shí)延大大減少,并且節(jié)省了節(jié)點(diǎn)的能量消耗,對(duì)節(jié)點(diǎn)的存儲(chǔ)要求也隨之降低。2.3AODV算法AODV路由協(xié)議是一種按需距離矢量路由協(xié)議,盡管它已經(jīng)被提出很多年了,但它仍然是最為著名的路由協(xié)議之一,近年來(lái)仍被廣泛應(yīng)用于各類場(chǎng)景。圖4AODV協(xié)議路由建立流程圖AODV算法屬于被動(dòng)算法,網(wǎng)絡(luò)中的路由器或協(xié)調(diào)器不會(huì)主動(dòng)發(fā)現(xiàn)新設(shè)備和組建網(wǎng)絡(luò),而是通過(guò)網(wǎng)絡(luò)數(shù)據(jù)傳輸請(qǐng)求來(lái)組建整個(gè)網(wǎng)絡(luò)。AODV協(xié)議中定義了三種路由消息:1)路由請(qǐng)求(RouteRequest,RREQ)2)路由應(yīng)答(RouteReply,RREP)3)路由錯(cuò)誤(RouteError,RERR)RREQ和RREP主要用于路由建立和網(wǎng)絡(luò)通信,RERR主要用于網(wǎng)絡(luò)連接錯(cuò)誤,一般在靜態(tài)網(wǎng)絡(luò)中主要消息類型是RREQ和RREP,由于網(wǎng)絡(luò)布局固定,故整個(gè)網(wǎng)絡(luò)路徑建立完成后,RERR消息極少出現(xiàn)。路由建立流程如圖4。2.4AODVjr算法AODVjr路由策略基于AODV算法。它繼承了AODV算法的大部分特性[9],相較于AODV算法在以下幾個(gè)方面做出了優(yōu)化與改進(jìn):1)優(yōu)化路由建立過(guò)程。在AODVjr協(xié)議中,改進(jìn)了路由建立過(guò)程中的應(yīng)答機(jī)制,減少了路由開(kāi)銷。應(yīng)答機(jī)制如圖5所示。2)刪除路由表中先驅(qū)節(jié)點(diǎn)列表與目的序列號(hào)。3)改進(jìn)了路由修復(fù)機(jī)制。如果傳輸鏈路中斷,采用本地修復(fù)方式。改進(jìn)后的AODVjr算法,降低了實(shí)現(xiàn)成本和復(fù)雜度,減少了路由開(kāi)銷,增強(qiáng)了適應(yīng)能力,可以更好地適應(yīng)ZigBee網(wǎng)絡(luò)。圖5AODV與AODVjr路由發(fā)現(xiàn)示意圖AODV與AODVjr的路由發(fā)現(xiàn)過(guò)程對(duì)比如圖5。圖5(a)中采用AODV算法,圖5(b)采用AODVjr算法,二者在建立路由過(guò)程中的主要區(qū)別是對(duì)路由應(yīng)答包的限制。3.AODV路由算法仿真3.1仿真平臺(tái)介紹在對(duì)ZigBee網(wǎng)絡(luò)進(jìn)行實(shí)際物理測(cè)量的過(guò)程中,由于環(huán)境因素的限制,很難測(cè)量到最優(yōu)的效果。因此,采用計(jì)算機(jī)軟件仿真是驗(yàn)證和分析ZigBee網(wǎng)絡(luò)的主要手段。目前針對(duì)ZigBee網(wǎng)絡(luò)的仿真研究可以使用的軟件有很多種,比如面向?qū)ο蟮木W(wǎng)絡(luò)模擬軟件NS-2,在許多研究工作中被作為網(wǎng)絡(luò)仿真首選工具。但是這些軟件學(xué)習(xí)成本較高。想要使用這類軟件仿真模擬,必須先花費(fèi)大量的時(shí)間來(lái)學(xué)習(xí)其使用方法以及建模流程,操作復(fù)雜,上手難度較高,對(duì)初學(xué)者很不友好。并且,大多數(shù)軟件都不能實(shí)現(xiàn)實(shí)時(shí)模擬以及沒(méi)有為可視化提供足夠的支持。故本文采用MATLAB作為實(shí)驗(yàn)仿真軟件。MATLAB是一款專業(yè)建模仿真軟件,使用MATLAB可以快速實(shí)現(xiàn)實(shí)時(shí)的網(wǎng)絡(luò)模擬和環(huán)境仿真實(shí)驗(yàn)。MATLAB中提供了強(qiáng)大的數(shù)據(jù)處理功能和友好的視窗環(huán)境,相比其他軟件,大大降低了學(xué)習(xí)成本。用戶可以在圖形化界面快速創(chuàng)建所需的仿真環(huán)境,設(shè)置模擬實(shí)驗(yàn)所需的各種條件,使用MATLAB進(jìn)行高效的數(shù)據(jù)統(tǒng)計(jì)和可視化相關(guān)工作。3.2仿真實(shí)驗(yàn)說(shuō)明本文主要針對(duì)上述三種路由策略中的AODV算法進(jìn)行模擬仿真與分析。使用MATLAB仿真簡(jiǎn)易的ZigBee網(wǎng)絡(luò)環(huán)境,并分別模擬在靜態(tài)ZigBee網(wǎng)絡(luò)和動(dòng)態(tài)ZigBee網(wǎng)絡(luò)中采用AODV路由協(xié)議進(jìn)行網(wǎng)絡(luò)通信,統(tǒng)計(jì)其數(shù)據(jù)包數(shù)量情況,分析實(shí)驗(yàn)結(jié)果。本實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)漕愋瓦x擇網(wǎng)狀網(wǎng)絡(luò)。每個(gè)路由節(jié)點(diǎn)在收到路由請(qǐng)求消息時(shí),會(huì)從RREQ數(shù)據(jù)包中提取路由信息,根據(jù)信息做出相應(yīng)操作。路由節(jié)點(diǎn)消息處理偽代碼如表2所示。表2路由節(jié)點(diǎn)消息處理偽代碼Algorithm:路由節(jié)點(diǎn)消息處理Input:RREQDataPacket/*收到RREQ數(shù)據(jù)包*/1:info=Check(RREQ)/*檢查RREQ數(shù)據(jù)包,獲取路由信息*/2:ifinfo=SourcethenDelete(RREQ)/*若當(dāng)前節(jié)點(diǎn)是源節(jié)點(diǎn),則丟棄數(shù)據(jù)包*/3:foriinRouteTable:/*遍歷路由表*/4:ifi=infothenDelete(RREQ)/*若該消息已收到過(guò),則丟棄該數(shù)據(jù)包*/5:endfor6:Add(RouteTable,RREQ)/*更新路由表*/7:ifinfo=Goal/*若本節(jié)點(diǎn)是目標(biāo)節(jié)點(diǎn)*/8:thenSendPacket(RouteTable,RREP-ACK)/*沿反向路徑發(fā)送路由應(yīng)答*/9:elseFlood(RouteTable,RREQ)/*若不是目標(biāo)節(jié)點(diǎn),繼續(xù)“洪泛”*/注:本實(shí)驗(yàn)中提前規(guī)定各節(jié)點(diǎn)通信范圍,不存在通信失敗情況,故數(shù)據(jù)包無(wú)需攜帶距離信息。靜態(tài)ZigBee網(wǎng)絡(luò),即整個(gè)實(shí)驗(yàn)過(guò)程中無(wú)任何新加入設(shè)備,本實(shí)驗(yàn)采用的節(jié)點(diǎn)布局如圖6所示。實(shí)際網(wǎng)絡(luò)中設(shè)備之間是否可以直接通信取決于設(shè)備間距離是否符合通信范圍。本實(shí)驗(yàn)在初始化時(shí)提前規(guī)定好可以直接通信的設(shè)備,圖6布局中設(shè)備間有直接連線即說(shuō)明兩個(gè)設(shè)備在通信范圍內(nèi),可以直接通信。這樣既可以使實(shí)驗(yàn)接近實(shí)際網(wǎng)絡(luò)環(huán)境,同時(shí)又降低了實(shí)驗(yàn)復(fù)雜度。圖6模擬ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)布局在靜態(tài)ZigBee網(wǎng)絡(luò)基礎(chǔ)上,選定一個(gè)網(wǎng)絡(luò)中暫無(wú)數(shù)據(jù)包傳輸?shù)臅r(shí)刻,隨機(jī)選擇一個(gè)路由節(jié)點(diǎn),清空其路由表,并清除其相鄰節(jié)點(diǎn)到此節(jié)點(diǎn)的路由信息,即刪除該節(jié)點(diǎn)已建立的路徑。這樣的操作就相當(dāng)于從網(wǎng)絡(luò)中刪除了該節(jié)點(diǎn),并且該節(jié)點(diǎn)由于提前規(guī)定好了通信范圍,所以仍可通過(guò)路由發(fā)現(xiàn)繼續(xù)建立網(wǎng)絡(luò)連接。另外,模擬仿真實(shí)驗(yàn)中,為控制變量,使實(shí)驗(yàn)專注于算法性能,故忽略網(wǎng)絡(luò)排隊(duì)過(guò)程、網(wǎng)絡(luò)傳輸時(shí)延等實(shí)際環(huán)境中的與網(wǎng)絡(luò)質(zhì)量相關(guān)的不確定因素?;趫D6中ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)布局。在AODV協(xié)議下,假設(shè)數(shù)據(jù)包要從節(jié)點(diǎn)D發(fā)送到節(jié)點(diǎn)E。最初時(shí),節(jié)點(diǎn)D沒(méi)有到節(jié)點(diǎn)E的路由信息,因此它會(huì)發(fā)出路由請(qǐng)求(RREQ),該請(qǐng)求會(huì)被接受到它的每個(gè)節(jié)點(diǎn)都轉(zhuǎn)發(fā),傳播路徑如圖7中箭頭所示。圖7AODV算法“洪泛”示意圖轉(zhuǎn)發(fā)過(guò)程中,每個(gè)節(jié)點(diǎn)都會(huì)創(chuàng)建反向路由信息,并詳細(xì)記錄下一跳信息,以便隨后沿路徑反向?qū)ふ以垂?jié)點(diǎn)。節(jié)點(diǎn)E收到路由請(qǐng)求后,沿著反向路徑向D發(fā)送RREP數(shù)據(jù)包,路徑如圖8所示。最終D節(jié)點(diǎn)獲得了到達(dá)E節(jié)點(diǎn)的有效路徑,數(shù)據(jù)也發(fā)送成功,后續(xù)從D到E的傳輸也將繼續(xù)使用此路由。圖8中有兩條反向路徑,實(shí)際情況中也會(huì)獲得多條路徑,各個(gè)路徑建立的先后順序取決于實(shí)際網(wǎng)絡(luò)情況以及設(shè)備物理位置,各個(gè)路徑的選擇則基于路徑開(kāi)銷或路徑跳數(shù)。在本次模擬實(shí)驗(yàn)中,面對(duì)多條路徑時(shí),算法依據(jù)路由表中路徑的存儲(chǔ)順序來(lái)選擇路徑。圖8AODV算法反向路徑示意圖上述過(guò)程即是靜態(tài)ZigBee網(wǎng)絡(luò)中采用AODV算法進(jìn)行一次數(shù)據(jù)包傳輸時(shí)的流程。通過(guò)上述過(guò)程建立好兩個(gè)節(jié)點(diǎn)之間的路徑后,再次出現(xiàn)D節(jié)點(diǎn)到E節(jié)點(diǎn)的路由請(qǐng)求時(shí),就不需要進(jìn)行路由發(fā)現(xiàn),直接傳輸即可。以圖7所示情況為例,若出現(xiàn)H節(jié)點(diǎn)到G節(jié)點(diǎn)的路由請(qǐng)求,則還需重復(fù)上述路由發(fā)現(xiàn)過(guò)程,直至整個(gè)網(wǎng)絡(luò)所有節(jié)點(diǎn)間都建立好路徑,則靜態(tài)網(wǎng)絡(luò)便建立完畢。而動(dòng)態(tài)網(wǎng)絡(luò)的模擬只需在靜態(tài)網(wǎng)絡(luò)的運(yùn)行過(guò)程中,設(shè)定網(wǎng)絡(luò)閑置時(shí)間,隨機(jī)選取路由節(jié)點(diǎn),清空其路由表,使其重新加入網(wǎng)絡(luò),定期重復(fù)此操作即可。3.3仿真結(jié)果分析分別對(duì)使用該算法的靜態(tài)ZigBee網(wǎng)絡(luò)與動(dòng)態(tài)ZigBee網(wǎng)絡(luò)運(yùn)行開(kāi)銷做統(tǒng)計(jì)。實(shí)驗(yàn)統(tǒng)計(jì)ZigBee網(wǎng)絡(luò)從初始到建立過(guò)程中整個(gè)網(wǎng)絡(luò)所產(chǎn)生的RREQ、RREP和RERR這三種消息類型的數(shù)量。測(cè)試仍然使用圖6的ZigBee靜態(tài)網(wǎng)絡(luò)節(jié)點(diǎn)布局,初始時(shí)清除所有節(jié)點(diǎn)的路由表,為每一個(gè)節(jié)點(diǎn)設(shè)置一個(gè)隊(duì)列,存放與該節(jié)點(diǎn)可直接通信的節(jié)點(diǎn)列表。隨機(jī)生成數(shù)據(jù)流量通過(guò)網(wǎng)絡(luò)發(fā)送,使用隨機(jī)數(shù)生成器來(lái)確保實(shí)驗(yàn)過(guò)程的隨機(jī)性。首先是測(cè)試靜態(tài)網(wǎng)絡(luò)。實(shí)驗(yàn)過(guò)程共模擬500次網(wǎng)絡(luò)通信,每次通信的源節(jié)點(diǎn)和目的節(jié)點(diǎn)由隨機(jī)函數(shù)生成。每10個(gè)數(shù)據(jù)包發(fā)送完成后,統(tǒng)計(jì)網(wǎng)絡(luò)中累計(jì)產(chǎn)生的RERR、RREQ的數(shù)量。由于實(shí)驗(yàn)設(shè)置不存在傳輸失敗的情況,故路由錯(cuò)誤消息數(shù)量永遠(yuǎn)是0,無(wú)需統(tǒng)計(jì)。實(shí)驗(yàn)結(jié)果如圖9所示。其中縱坐標(biāo)代表節(jié)點(diǎn)與節(jié)點(diǎn)之間的消息傳遞和數(shù)據(jù)發(fā)送,橫坐標(biāo)代表隨機(jī)生成的數(shù)據(jù)包數(shù)量。曲線代表生成的數(shù)據(jù)包數(shù)量變化,點(diǎn)線代表RREP數(shù)量變化,虛線代表RREQ數(shù)量變化。圖9靜態(tài)網(wǎng)絡(luò)建立過(guò)程中三種數(shù)據(jù)包數(shù)量統(tǒng)計(jì)圖10動(dòng)態(tài)網(wǎng)絡(luò)建立過(guò)程中三種數(shù)據(jù)包數(shù)量統(tǒng)計(jì)通過(guò)統(tǒng)計(jì)可以發(fā)現(xiàn),初試時(shí)隨著網(wǎng)絡(luò)中數(shù)據(jù)包的增長(zhǎng),RREQ消息的數(shù)量一直穩(wěn)定增長(zhǎng)。直到50個(gè)左右的數(shù)據(jù)包之后,此時(shí)網(wǎng)絡(luò)中的大多數(shù)路徑已經(jīng)記錄在路由表中,所以路由請(qǐng)求和路由應(yīng)答消息都逐步停止增長(zhǎng)。在靜態(tài)網(wǎng)絡(luò)運(yùn)行的基礎(chǔ)上,每50個(gè)數(shù)據(jù)包發(fā)送完畢時(shí),隨機(jī)清空一個(gè)路由節(jié)點(diǎn)的路由表以及刪除其相鄰路由節(jié)點(diǎn)的相關(guān)路徑。實(shí)驗(yàn)結(jié)果如圖10所示。從靜態(tài)網(wǎng)絡(luò)的實(shí)驗(yàn)結(jié)果可以看出,使用AODV算法的ZigBee網(wǎng)絡(luò),整個(gè)網(wǎng)絡(luò)從建立到運(yùn)行,路由開(kāi)銷主要集中在建立過(guò)程中。實(shí)驗(yàn)?zāi)M了10個(gè)路由節(jié)點(diǎn),在500個(gè)隨機(jī)流量的通信過(guò)程中,靜態(tài)網(wǎng)絡(luò)在發(fā)送了50個(gè)左右的數(shù)據(jù)包才完成了網(wǎng)絡(luò)建立。若網(wǎng)絡(luò)規(guī)模擴(kuò)大,則路由發(fā)現(xiàn)過(guò)程的開(kāi)銷對(duì)整個(gè)網(wǎng)絡(luò)性能影響會(huì)更嚴(yán)重。同時(shí),實(shí)驗(yàn)結(jié)果也可以看出,在靜態(tài)網(wǎng)絡(luò)中經(jīng)過(guò)一段時(shí)間的數(shù)據(jù)傳輸,各節(jié)點(diǎn)路徑基本形成,網(wǎng)絡(luò)開(kāi)銷便大幅下降,所以AODV協(xié)議適用于小型ZigBee網(wǎng)絡(luò)以及節(jié)點(diǎn)數(shù)量變動(dòng)較小的靜態(tài)網(wǎng)絡(luò)。結(jié)合動(dòng)態(tài)網(wǎng)絡(luò)實(shí)驗(yàn)結(jié)果,對(duì)比分析兩種模擬環(huán)境,可以看到,動(dòng)態(tài)網(wǎng)絡(luò)比靜態(tài)網(wǎng)絡(luò)運(yùn)行開(kāi)銷明顯增大??梢灶A(yù)見(jiàn),隨著網(wǎng)絡(luò)變化頻率增加到一定程度時(shí),動(dòng)態(tài)網(wǎng)絡(luò)重RREQ消息數(shù)量會(huì)超過(guò)網(wǎng)絡(luò)通信數(shù)據(jù)包數(shù)量,那么此種情況下AODV策略就不適合該網(wǎng)絡(luò),需要采用新的路由算法。同時(shí),在智能家居、自動(dòng)化控制等場(chǎng)景,整個(gè)網(wǎng)絡(luò)布局相對(duì)穩(wěn)定,節(jié)點(diǎn)變動(dòng)頻率相對(duì)較低,所以適用AODV算法進(jìn)行網(wǎng)絡(luò)傳輸。從實(shí)驗(yàn)結(jié)果來(lái)看,AODV算法網(wǎng)絡(luò)開(kāi)銷主要集中在路由發(fā)現(xiàn)過(guò)程,再結(jié)合AODV算法的工作原理分析,則對(duì)此算法的優(yōu)化可以從其“泛洪”過(guò)程入手,降低路由發(fā)現(xiàn)過(guò)程的復(fù)雜性,從而實(shí)現(xiàn)性能優(yōu)化。4.總結(jié)本文首先對(duì)ZigBee協(xié)議棧、網(wǎng)絡(luò)構(gòu)成以及拓?fù)浣Y(jié)構(gòu)進(jìn)行詳細(xì)的介紹與分析。其次,對(duì)ZigBee網(wǎng)絡(luò)中的地址分配機(jī)制以及計(jì)算過(guò)程進(jìn)行簡(jiǎn)單介紹,重點(diǎn)研究ZigBee網(wǎng)絡(luò)中的三種路由算法:Cluster-Tree、AODV以及AODVjr算法。最后,使用MATLAB對(duì)靜態(tài)和動(dòng)態(tài)ZigBee網(wǎng)絡(luò)中AODV路由算法工作流程進(jìn)行仿真實(shí)驗(yàn)。測(cè)試并統(tǒng)計(jì)兩種環(huán)境下ZigBee網(wǎng)絡(luò)的路由開(kāi)銷情況,結(jié)合實(shí)驗(yàn)結(jié)果與算法原理,分析了AODV算法的特性以及優(yōu)化改進(jìn)方向。由于時(shí)間有限,本文的相關(guān)工作還不夠深入,還有很多地方可以進(jìn)一步探究,比如將Cluster-Tree算法與AODV算法結(jié)合應(yīng)用于ZigBee網(wǎng)絡(luò),仿真探究其優(yōu)勢(shì)與不足,分析其適用場(chǎng)景等。參考文獻(xiàn)劉志強(qiáng).ZigBee技術(shù)的無(wú)線傳感網(wǎng)絡(luò)研究[J].電腦知識(shí)與技術(shù),2019,15(36):222-22

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論