新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ZigBee網(wǎng)絡(luò)Cluster-Tree優(yōu)化路由算法研究

ZigBee網(wǎng)絡(luò)Cluster-Tree優(yōu)化路由算法研究

作者: 時間:2013-02-21 來源:網(wǎng)絡(luò) 收藏
引言

無線通信和嵌入式微傳感器技術(shù)的快速發(fā)展促進了無線傳感器網(wǎng)絡(luò)的崛起。ZigBee協(xié)議基于IEEE 802.15.4無線標(biāo)準(zhǔn)制定,包括應(yīng)用層、網(wǎng)絡(luò)層、安全層等,實現(xiàn)了網(wǎng)絡(luò)的自組織和自維護的功能。在無線傳感器網(wǎng)絡(luò)中,節(jié)點的能量是有限的,如果節(jié)點在最后因為自身的能量消耗殆盡而死亡,將會對整個網(wǎng)絡(luò)的傳輸性能造成很大影響。因此,在實際應(yīng)用中,根據(jù)不同的網(wǎng)絡(luò)情況來選擇最符合應(yīng)用需求的路由協(xié)議,讓路由協(xié)議根據(jù)網(wǎng)絡(luò)拓?fù)溥x擇合適的路徑,平均分布節(jié)點的傳輸能量,降低網(wǎng)絡(luò)的功耗是網(wǎng)絡(luò)層必須要考慮的任務(wù)。

1 ZigBee路由算法研究

依據(jù)設(shè)備的能力,中的設(shè)備可以分為全功能設(shè)備(Full Function Device,F(xiàn)FD)和半功能設(shè)備(Reduced Function Device,RFD)。FFD能轉(zhuǎn)發(fā)其他設(shè)備的數(shù)據(jù)幀,RFD則不能。當(dāng)FFD加入一個網(wǎng)絡(luò)時,它可以作為協(xié)調(diào)器。協(xié)調(diào)器會周期性地廣播數(shù)據(jù)幀,周圍的RFD能夠發(fā)現(xiàn)并加入網(wǎng)絡(luò),形成一個星型拓?fù)渚W(wǎng)絡(luò)。在星型拓?fù)渲?,協(xié)調(diào)器負(fù)責(zé)控制整個網(wǎng)絡(luò),所有終端設(shè)備都直接與協(xié)調(diào)器通信,并且由它維護。

層還支持樹型和網(wǎng)狀網(wǎng)絡(luò)。樹型網(wǎng)絡(luò)采用分級路由的策略在網(wǎng)絡(luò)中傳送數(shù)據(jù)和控制信息,而網(wǎng)狀網(wǎng)絡(luò)則可以進行點對點的通信。在樹型網(wǎng)絡(luò)中,根節(jié)點(協(xié)調(diào)器節(jié)點)和所有的內(nèi)部節(jié)點(路由器節(jié)點)是FFD,而RFD只能作為葉子節(jié)點(終端節(jié)點)。當(dāng)協(xié)調(diào)器或路由器加入網(wǎng)絡(luò)時,它必須被分配唯一的網(wǎng)絡(luò)地址。

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

ZigBee協(xié)議規(guī)范使用一個分布式地址方案分配網(wǎng)絡(luò)地址,它設(shè)計為給每個潛在父節(jié)點提供一個有限的網(wǎng)絡(luò)地址子塊。當(dāng)一個設(shè)備成功加入網(wǎng)絡(luò)后,其父節(jié)點給該節(jié)點自動分配一個唯一的網(wǎng)絡(luò)地址。

1.2 ZigBee路由算法

網(wǎng)絡(luò)層支持Cluster-Tree、AODVjr和Cluster-Tree+AODVjr算法(以下簡稱C+A算法)等多種路由算法,因此的路由協(xié)議兼具樹型網(wǎng)絡(luò)和網(wǎng)狀網(wǎng)絡(luò)的特性。

1.2.1 Cluster-Tree算法

樹路由機制是根據(jù)網(wǎng)絡(luò)地址和節(jié)點間的父子關(guān)系來實現(xiàn)路由的。如果目的地址設(shè)備不是該路由器的子孫,則直接將數(shù)據(jù)幀轉(zhuǎn)發(fā)給該路由器的父節(jié)點,其父節(jié)點將按照同樣的步驟進行路由。

1.2.2 AODVjr算法

AODVjr是對AODV算法的一種簡化改進,當(dāng)源節(jié)點要尋找到達(dá)目的節(jié)點的路徑時,先向其鄰居節(jié)點組播RREQ分組。收到該分組的鄰居節(jié)點若具備路由能力,則建立指向源節(jié)點的反向路由回復(fù),同時繼續(xù)向自己的鄰居節(jié)點組播該RREQ分組。若不具備路由能力,則通過Cluster-Tree路由算法將該分組交由其子孫節(jié)點或父節(jié)點進行轉(zhuǎn)發(fā)。當(dāng)目的節(jié)點接收到此RREQ分組后,通過單播的方式向源節(jié)點回復(fù)RREP分組,同時,所有接收到此RREP分組的節(jié)點都將更新記錄自己的鄰居表,路由建立成功。實驗證明,AODVjr算法在保持了AODV原始功能的基礎(chǔ)上,控制開銷比AODV算法更小,因此更節(jié)能。

1.2.3 Cluster-Tree+AODVjr算法

在此算法中,網(wǎng)絡(luò)中的節(jié)點被分成了4類:Coordinator、RN+、RN-和RFD。其中RN+具有足夠的存儲空間和能力來進行AODVjr協(xié)議;而RN-則因存儲空間受限,不能夠進行AODVjr協(xié)議。Coordinator、RN+、RN-都具有路由功能,在通信時,如果目的節(jié)點不是鄰居節(jié)點,RN+將會啟動AODVjr,主動查找到達(dá)目地節(jié)點的最佳路徑;RN-節(jié)點只能通過樹路由算法來尋找下一跳的節(jié)點。仿真證明,采用Cluster-Tree和AODVjr相結(jié)合的路由協(xié)議在保證分組遞交率的情況下,具有比單獨使用其中一種路由協(xié)議更低的控制開銷和平均時延。

2 優(yōu)化ZigBee路由算法

2.1 ZigBee路由算法問題

Cluster-Tree算法必須按照簇樹型結(jié)構(gòu)地址分配方式來尋址,路由效率低,并且源節(jié)點到目的節(jié)點的傳輸路徑由于跳數(shù)過多,會影響網(wǎng)絡(luò)時延。

AODVjr算法在路由發(fā)現(xiàn)過程中,會產(chǎn)生分組大量泛洪問題。例如,當(dāng)目的節(jié)點是源節(jié)點的子節(jié)點時,若采用AODVjr向鄰居節(jié)點發(fā)送RREQ分組,則向其父節(jié)點以上的節(jié)點發(fā)送RREQ分組是多余的;若目的節(jié)點不是源節(jié)點的子節(jié)點,則采用AODVjr向其子節(jié)點方向發(fā)送RREQ分組是多余的。假設(shè)網(wǎng)絡(luò)的最大深度是1,則數(shù)據(jù)幀可能被轉(zhuǎn)發(fā)的最長路徑是21,因此當(dāng)跳數(shù)大于21時,就應(yīng)停止對RREQ分組的繼續(xù)廣播,將其丟棄;假設(shè)從源節(jié)點到目的節(jié)點的最小跳數(shù)為M,當(dāng)RREQ分組被轉(zhuǎn)發(fā)的次數(shù)大于M時,再繼續(xù)轉(zhuǎn)發(fā)是多余的。由于每一次AODVjr路由都要產(chǎn)生大量的RREQ泛洪,因此會使節(jié)點能量消耗嚴(yán)重。

上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉