ZigBee網(wǎng)絡(luò)Cluster-Tree優(yōu)化路由算法研究
鑒于以上問題,本文提出一種基于C+A算法的優(yōu)化路由算法,用以解決Cluster-Tree路由的低效率和AODVjr路由的泛洪嚴(yán)重及能量消耗問題。
2.2 優(yōu)化路由算法思想
在一個傳感器網(wǎng)絡(luò)中,傳感節(jié)點(diǎn)只能和與它相鄰的,并且在它的射頻傳輸范圍之內(nèi)的節(jié)點(diǎn)直接通信。樹型網(wǎng)絡(luò)中每個節(jié)點(diǎn)的鄰居表中都包含有其射頻覆蓋范圍內(nèi)各個鄰居節(jié)點(diǎn)的相關(guān)信息。在優(yōu)化路由算法中利用鄰居表中記錄的有效信息,可以使源節(jié)點(diǎn)發(fā)送給目的節(jié)點(diǎn)的數(shù)據(jù)幀經(jīng)過一跳到達(dá)。
在AODVjr路由發(fā)現(xiàn)過程中,為了避免RREQ分組無選擇性的大量泛洪,在優(yōu)化路由算法中依據(jù)不同的情況,添加對RREQ分組廣播跳數(shù)的限制條件,使大于限制條件的多余路由不能啟用。這樣能有效地減少RREQ分組泛洪次數(shù),縮小RREQ廣播范圍,限制RREQ分組傳播方向,從而降低網(wǎng)絡(luò)的能量消耗。
2.3 優(yōu)化路由算法設(shè)計(jì)
優(yōu)化路由算法的具體步驟如下:
①對樹型網(wǎng)絡(luò)進(jìn)行分區(qū),并設(shè)定輔助變量number的初始值為1(number值代表分區(qū)次數(shù))。分區(qū)原則如下:以協(xié)調(diào)器為根節(jié)點(diǎn),將根節(jié)點(diǎn)的每一個子樹看作一個區(qū)域,并為其編號。記錄每一個區(qū)域中的最大地址Amax和最小地址Amin。由樹地址分配機(jī)制可以得出,在同一區(qū)域中的節(jié)點(diǎn)地址An均滿足Amin≤An≤Amax,即此區(qū)域的地址范圍是[Amin,Amax],并且每一個區(qū)域的地址范圍之間是不相交關(guān)系,即一個確定的地址在且僅在一個區(qū)域內(nèi)。
②判斷源節(jié)點(diǎn)的類型。若為RFD則直接將數(shù)據(jù)幀轉(zhuǎn)發(fā)給其父節(jié)點(diǎn);若為FFD則判斷目的節(jié)點(diǎn)是否為源節(jié)點(diǎn)的子節(jié)點(diǎn)。若是,則向下啟動AODVjr路由轉(zhuǎn)發(fā)數(shù)據(jù)幀,并將RREQ分組的最大廣播跳數(shù)限制為|Dd-Ds|(Ds為源節(jié)點(diǎn)的網(wǎng)絡(luò)深度,Dd為目的節(jié)點(diǎn)的網(wǎng)絡(luò)深度),超出范圍則丟棄;若不是,則進(jìn)行第下一步。
③源節(jié)點(diǎn)向鄰居節(jié)點(diǎn)發(fā)送RREQ分組,鄰居節(jié)點(diǎn)判斷自身地址是否與目的地址相等。如果相等,則向上層傳遞,由其上層對數(shù)據(jù)幀進(jìn)行解析,并將RREQ分組的最大廣播跳數(shù)限制為1,超出范圍則丟棄。如果不等,則進(jìn)行第④步。
④判斷目的地址在哪個區(qū)域中。若目的節(jié)點(diǎn)和源節(jié)點(diǎn)在同一區(qū)域中,進(jìn)行第⑥步;若不在同一區(qū)域中,則進(jìn)行第⑤步。
⑤判斷源節(jié)點(diǎn)的鄰居節(jié)點(diǎn)中是否有和目的節(jié)點(diǎn)在同一區(qū)域的節(jié)點(diǎn)。如果有,將數(shù)據(jù)幀轉(zhuǎn)發(fā)給該節(jié)點(diǎn),并進(jìn)行第⑥步;如果沒有,則進(jìn)行第⑦步。
⑥number值加1。將目的節(jié)點(diǎn)所在區(qū)域看作一個樹型網(wǎng)絡(luò),將其最小地址節(jié)點(diǎn)看作該樹的根節(jié)點(diǎn),并按照第①步的分區(qū)原則將其進(jìn)行分區(qū)。判斷目的節(jié)點(diǎn)和當(dāng)前節(jié)點(diǎn)是否在同一區(qū)域中。若是,重復(fù)第⑥步;若不是,則進(jìn)行第⑦步。
⑦將數(shù)據(jù)幀經(jīng)由樹路由轉(zhuǎn)發(fā)到第number次分組的根節(jié)點(diǎn),然后啟動AODVjr路由,由此根節(jié)點(diǎn)將RREQ分組廣播至目的節(jié)點(diǎn)的相應(yīng)分組內(nèi),尋找目的節(jié)點(diǎn),并將RREQ分組的最大廣播跳數(shù)限制為|Dd-number+1|,超出范圍則丟棄。
目的節(jié)點(diǎn)接收到RREQ分組后,將向?qū)ふ衣酚傻脑垂?jié)點(diǎn)回復(fù)一個RREP分組,其傳送路徑為路由建立過程的反向路由。所有接收到RREP分組的節(jié)點(diǎn)將此路由信息替換并且記錄,正向路由從源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)建立成功。優(yōu)化路由算法的流程圖如圖1所示。
具體實(shí)現(xiàn)過程舉例如下:假設(shè)一樹型網(wǎng)絡(luò),網(wǎng)絡(luò)參數(shù)Cm=4,Lm=4,Rm=3,依據(jù)前面的網(wǎng)絡(luò)地址分配方式給網(wǎng)絡(luò)中各節(jié)點(diǎn)分配相應(yīng)地址,選定源節(jié)點(diǎn)為37,在其射頻覆蓋范圍內(nèi)的鄰居節(jié)點(diǎn)是25、36和90。具體網(wǎng)絡(luò)節(jié)點(diǎn)分布圖如圖2所示。
評論