一種交互鄰居表模式的Zigbee網(wǎng)絡(luò)樹(shù)型路由方法
【專利摘要】本發(fā)明公開(kāi)了一種交互鄰居表模式的Zigbee網(wǎng)絡(luò)樹(shù)型路由方法,該方法在原有的樹(shù)型路由算法基礎(chǔ)上采用了鄰居表,并同自身的鄰居節(jié)點(diǎn)交互鄰居表信息,使得節(jié)點(diǎn)在路由選擇時(shí),能夠有效減少路由跳數(shù),降低網(wǎng)絡(luò)時(shí)延,減少網(wǎng)絡(luò)總能量消耗,同時(shí)也能夠均衡不同網(wǎng)絡(luò)深度節(jié)點(diǎn)的轉(zhuǎn)發(fā)數(shù)據(jù)量,從而平衡節(jié)點(diǎn)的能量消耗,延長(zhǎng)網(wǎng)絡(luò)生命周期。
【專利說(shuō)明】一種交互鄰居表模式的Zigbee網(wǎng)絡(luò)樹(shù)型路由方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種交互鄰居表模式的Zigbee網(wǎng)絡(luò)樹(shù)型路由方法。
【背景技術(shù)】
[0002]縮略語(yǔ)和關(guān)鍵術(shù)語(yǔ)定義
[0003]FFD FullFunctional Device 完整功能設(shè)備
[0004]RFD Reduced Functional Device 精簡(jiǎn)功能設(shè)備
[0005]二級(jí)鄰居節(jié)點(diǎn):當(dāng)前節(jié)點(diǎn)的鄰居節(jié)點(diǎn)的鄰居節(jié)點(diǎn),稱為該當(dāng)前節(jié)點(diǎn)的二級(jí)鄰居節(jié)點(diǎn)。
[0006]最小跳數(shù):節(jié)點(diǎn)A按照樹(shù)型路由傳輸數(shù)據(jù)到達(dá)節(jié)點(diǎn)B所需要經(jīng)過(guò)路由器的次數(shù)并加I,其值稱為節(jié)點(diǎn)A到達(dá)節(jié)點(diǎn)B的最小跳數(shù)。
[0007]節(jié)點(diǎn)網(wǎng)絡(luò)深度:節(jié)點(diǎn)按照樹(shù)型路由傳輸數(shù)據(jù)到達(dá)協(xié)調(diào)器所需要的最小跳數(shù),協(xié)調(diào)器節(jié)點(diǎn)的網(wǎng)絡(luò)深度定義為O。
[0008]最大深度公共父節(jié)點(diǎn):在樹(shù)型結(jié)構(gòu)中,節(jié)點(diǎn)A和節(jié)點(diǎn)B所有公共父節(jié)點(diǎn)(或祖先節(jié)點(diǎn))中網(wǎng)絡(luò)深度最大的父節(jié)點(diǎn)(或祖先節(jié)點(diǎn))。
[0009]Zigbee技術(shù)簡(jiǎn)介
`[0010]Zigbee技術(shù)是一種低成本、低功耗、低數(shù)據(jù)傳輸率的短距離無(wú)線通信技術(shù),它的這些自身特性使其能夠快速靈活地進(jìn)行自組網(wǎng)以及方便地滿足用戶自定義應(yīng)用的需求,已廣泛應(yīng)用于家庭自動(dòng)化、醫(yī)療護(hù)理、工業(yè)控制、智能農(nóng)業(yè)、消費(fèi)電子等領(lǐng)域。但同時(shí)隨著人們的應(yīng)用需求的多樣性、應(yīng)用場(chǎng)景的復(fù)雜性,現(xiàn)有的Zigbee技術(shù)并不能滿足所有的這些多樣化的應(yīng)用需求。
[0011]Zigbee網(wǎng)絡(luò)可以支持星型、樹(shù)型以及網(wǎng)格型拓?fù)浣Y(jié)構(gòu),網(wǎng)絡(luò)層采用的是樹(shù)型路由與AODVjr路由相結(jié)合的路由算法。網(wǎng)絡(luò)中的節(jié)點(diǎn)設(shè)備可分為FFD和RFD兩種,RFD設(shè)備處理能力弱,只能作為網(wǎng)絡(luò)中的終端節(jié)點(diǎn),只使用樹(shù)型路由算法轉(zhuǎn)發(fā)數(shù)據(jù);FFD設(shè)備具有足夠的存儲(chǔ)空間以及較強(qiáng)的處理能力,可以作為網(wǎng)絡(luò)中的路由器節(jié)點(diǎn)和協(xié)調(diào)器。同時(shí),F(xiàn)FD設(shè)備按照路由能力也可以分為2類:RN+節(jié)點(diǎn)和RN-節(jié)點(diǎn),其中RN+節(jié)點(diǎn)有路由能力使用AODVjr路由算法,RN-節(jié)點(diǎn)路由能力有限,只能使用樹(shù)型路由算法轉(zhuǎn)發(fā)數(shù)據(jù)。
[0012]Zigbee網(wǎng)絡(luò)的樹(shù)型路由算法中,節(jié)點(diǎn)只需要根據(jù)父子關(guān)系進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā),不需要進(jìn)行路由發(fā)現(xiàn),能夠降低節(jié)點(diǎn)的能量消耗以及路由控制開(kāi)銷。但是也存在弊端,節(jié)點(diǎn)只能沿著樹(shù)型結(jié)構(gòu)來(lái)選擇路徑,該路徑一般偏長(zhǎng),并不是最優(yōu)的,從而給數(shù)據(jù)的傳輸帶來(lái)較高的延時(shí);另外,在樹(shù)型路由算法中,網(wǎng)絡(luò)深度越低的節(jié)點(diǎn)轉(zhuǎn)發(fā)的數(shù)據(jù)量會(huì)越大,這樣造成了節(jié)點(diǎn)的流量分配以及能量消耗的不均衡,降低了網(wǎng)絡(luò)的生命周期。
[0013]Zigbee網(wǎng)絡(luò)分布式地址分配方案與樹(shù)型路由算法的基本原理
[0014]Zigbee網(wǎng)絡(luò)中的節(jié)點(diǎn)采用分布式地址分配方案(ZigBee Alliance, Document053474rl7ZigBee Specif ication [S].2008, I ),加入網(wǎng)絡(luò)的節(jié)點(diǎn)會(huì)通過(guò)MAC層提供的關(guān)聯(lián)過(guò)程組成一個(gè)邏輯樹(shù),當(dāng)網(wǎng)絡(luò)中的節(jié)點(diǎn)接受新節(jié)點(diǎn)加入網(wǎng)絡(luò)時(shí),它們之間就形成了父子關(guān)系。同時(shí),父節(jié)點(diǎn)會(huì)為新加入的子節(jié)點(diǎn)分配網(wǎng)絡(luò)地址,此時(shí)每個(gè)子節(jié)點(diǎn)也就擁有了自身可分配的地址塊。每一節(jié)點(diǎn)分配的地址具有規(guī)律性,因此能夠很好的支持樹(shù)型路由。Zigbee網(wǎng)絡(luò)的分布式地址分配方案原理如下:
[0015]首先,假設(shè)網(wǎng)絡(luò)中父節(jié)點(diǎn)可允許連接的最大子節(jié)點(diǎn)數(shù)為Cm,子節(jié)點(diǎn)中允許是路由器的最大數(shù)目為Rm,網(wǎng)絡(luò)的最大深度為L(zhǎng)m,則可以根據(jù)式(I)來(lái)計(jì)算網(wǎng)絡(luò)深度為d的父節(jié)點(diǎn)分配給子節(jié)點(diǎn)的地址偏移量Cskip (d):
[0016]
【權(quán)利要求】
1.一種交互鄰居表模式的Zigbee網(wǎng)絡(luò)樹(shù)型路由方法,其特征在于:包括如下步驟: (1)協(xié)調(diào)器節(jié)點(diǎn)建立Zigbee網(wǎng)絡(luò),其他各節(jié)點(diǎn)在加入Zigbee網(wǎng)絡(luò)時(shí)分別建立自身的鄰居表; (2)各節(jié)點(diǎn)同自身的所有鄰居節(jié)點(diǎn)交互鄰居表; (3)當(dāng)某一當(dāng)前節(jié)點(diǎn)接收到一個(gè)數(shù)據(jù)幀時(shí),檢查該數(shù)據(jù)幀的目的地址是否是自身地址,若目的地址是當(dāng)前節(jié)點(diǎn)的自身地址,則直接將該數(shù)據(jù)幀轉(zhuǎn)發(fā)至當(dāng)前節(jié)點(diǎn)的上層;否則,則進(jìn)入步驟(4); (4)搜索當(dāng)前節(jié)點(diǎn)的所有鄰居節(jié)點(diǎn),檢查目的地址是否是當(dāng)前節(jié)點(diǎn)的某一鄰居節(jié)點(diǎn)地址,若目的地址是當(dāng)前節(jié)點(diǎn)的某一鄰居節(jié)點(diǎn)地址,則直接將該數(shù)據(jù)幀轉(zhuǎn)發(fā)至該鄰居節(jié)點(diǎn);否貝1J,進(jìn)入步驟(5); (5)檢查目的地址是否是當(dāng)前節(jié)點(diǎn)的子孫節(jié)點(diǎn)地址,若目的地址是當(dāng)前節(jié)點(diǎn)的子孫節(jié)點(diǎn)地址,則按照原有的Zigbee網(wǎng)絡(luò)樹(shù)形路由算法選擇下一跳地址,轉(zhuǎn)發(fā)該數(shù)據(jù)幀;否則,進(jìn)入步驟(6); (6)當(dāng)前節(jié)點(diǎn)根據(jù)步驟(2)獲取的所有鄰居節(jié)點(diǎn)的鄰居表信息,檢查目的地址是否是當(dāng)前節(jié)點(diǎn)的某一二級(jí)鄰居節(jié)點(diǎn)地址,若 目的地址是當(dāng)前節(jié)點(diǎn)的某一二級(jí)鄰居節(jié)點(diǎn)地址,則直接將該數(shù)據(jù)幀轉(zhuǎn)發(fā)至與該二級(jí)鄰居節(jié)點(diǎn)對(duì)應(yīng)的當(dāng)前節(jié)點(diǎn)的鄰居節(jié)點(diǎn);否則,進(jìn)入步驟(7); (7)在當(dāng)前節(jié)點(diǎn)的所有二級(jí)鄰居節(jié)點(diǎn)中搜索到達(dá)目的地址最小跳數(shù)值最小的節(jié)點(diǎn)及對(duì)應(yīng)的二級(jí)鄰居節(jié)點(diǎn),將該數(shù)據(jù)幀轉(zhuǎn)發(fā)至與該二級(jí)鄰居節(jié)點(diǎn)對(duì)應(yīng)的當(dāng)前節(jié)點(diǎn)的鄰居節(jié)點(diǎn); (8)中間節(jié)點(diǎn)接收到數(shù)據(jù)幀后,返回步驟(3)繼續(xù)轉(zhuǎn)發(fā)數(shù)據(jù)幀,直至數(shù)據(jù)幀到達(dá)目的節(jié)點(diǎn)。
2.根據(jù)權(quán)利要求1所述的交互鄰居表模式的Zigbee網(wǎng)絡(luò)樹(shù)型路由方法,其特征在于:所述步驟(2)中,各節(jié)點(diǎn)同自身的所有鄰居節(jié)點(diǎn)交互鄰居表,具體過(guò)程如下: (21)協(xié)調(diào)器節(jié)點(diǎn)周期性廣播信標(biāo)幀或轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)信標(biāo)幀時(shí),在信標(biāo)幀的負(fù)載中添加自身的鄰居表信息; (22)協(xié)調(diào)器節(jié)點(diǎn)或轉(zhuǎn)發(fā)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)在接收到信標(biāo)幀時(shí),提取并保存該信標(biāo)幀中的鄰居表信息,同時(shí)將該信標(biāo)幀負(fù)載中的鄰居表信息替換為自身的鄰居表信息,并繼續(xù)廣播或轉(zhuǎn)發(fā)該信標(biāo)幀; (23)協(xié)調(diào)器節(jié)點(diǎn)或轉(zhuǎn)發(fā)節(jié)點(diǎn)在每一個(gè)信標(biāo)幀周期中,只廣播或轉(zhuǎn)發(fā)一次信標(biāo)幀,同時(shí)只接收一次同一節(jié)點(diǎn)廣播或轉(zhuǎn)發(fā)的信標(biāo)幀。
3.根據(jù)權(quán)利要求1所述的交互鄰居表模式的Zigbee網(wǎng)絡(luò)樹(shù)型路由方法,其特征在于:所述步驟(5)中,檢查目的地址是否是當(dāng)前節(jié)點(diǎn)的子孫節(jié)點(diǎn)地址,若目的地址是當(dāng)前節(jié)點(diǎn)的子孫節(jié)點(diǎn)地址,則按照原有的Zigbee網(wǎng)絡(luò)樹(shù)形路由算法選擇下一跳地址,轉(zhuǎn)發(fā)該數(shù)據(jù)幀,具體過(guò)程如下: (51)設(shè)當(dāng)前節(jié)點(diǎn)的地址為A、網(wǎng)絡(luò)深度為d,網(wǎng)絡(luò)深度為d的節(jié)點(diǎn)分配給子節(jié)點(diǎn)的地址偏移量為Cskip (d),目的地址為D,根據(jù)下式判斷目的地址是否為當(dāng)前節(jié)點(diǎn)的子孫節(jié)點(diǎn):
A〈D〈A+Cskip(d_l) 若目的地址為D滿足上式,則目的地址是當(dāng)前節(jié)點(diǎn)的子孫節(jié)點(diǎn)地址;否則,目的地址不是當(dāng)前節(jié)點(diǎn)的子孫節(jié)點(diǎn)地址; (52)目的地址D是當(dāng)前節(jié)點(diǎn)A的子孫節(jié)點(diǎn)地址,按照原有的Zigbee網(wǎng)絡(luò)樹(shù)形路由算法選擇下一跳地址,即按照下式確定下一跳地址:
4.根據(jù)權(quán)利要求1所述的交互鄰居表模式的Zigbee網(wǎng)絡(luò)樹(shù)型路由方法,其特征在于:所述步驟(7)中,計(jì)算當(dāng)前節(jié)點(diǎn)的二級(jí)鄰居節(jié)點(diǎn)到達(dá)目的地址最小跳數(shù)值的方法如下: 設(shè)當(dāng)前節(jié)點(diǎn)A的某一二級(jí)鄰居節(jié)點(diǎn)的網(wǎng)絡(luò)深度為currentDepth,目的地址D的網(wǎng)絡(luò)深度為destD印th,該二級(jí)鄰居節(jié)點(diǎn)與目的地址的最大深度公共父節(jié)點(diǎn)的網(wǎng)絡(luò)深度為parentDepth,則根據(jù)式(7)計(jì)算所述二級(jí)鄰居節(jié)點(diǎn)與目的地址之間的最小跳數(shù)minhop: minhop=currentDepth+destDepth_2 XparentDepth (7) 其中:二級(jí)鄰居節(jié)點(diǎn)的網(wǎng)絡(luò)深度currentD印th通過(guò)交互后的鄰居表信息獲得;目的地址D的網(wǎng)絡(luò)深度destD印th根據(jù)原有的Zigbee網(wǎng)絡(luò)樹(shù)形路由算法,從協(xié)調(diào)器開(kāi)始,不斷循環(huán)計(jì)算下一跳地址,直到下一跳地址等于目的地址D,所用的循環(huán)次數(shù)即為目的地址D的網(wǎng)絡(luò)深度destD印th ;二級(jí)鄰居節(jié)點(diǎn)與目的地址的最大深度公共父節(jié)點(diǎn)的網(wǎng)絡(luò)深度parentDepth計(jì)算過(guò)程如下: (701)初始化最大深度公共父節(jié)點(diǎn)地址P=0、網(wǎng)絡(luò)深度ParentD^th=O; (702)按照式(8)進(jìn)行計(jì)算: P〈A〈P+Cskip(parentDepth-Ι) (8) 若當(dāng)前節(jié)點(diǎn)A滿足式(8 ),則進(jìn)入步驟(703 ),否則進(jìn)入步驟(704 ); (703)則按照式(9)計(jì)算下一最大深度公共父節(jié)點(diǎn)地址N:
【文檔編號(hào)】H04L12/741GK103781144SQ201410073228
【公開(kāi)日】2014年5月7日 申請(qǐng)日期:2014年2月28日 優(yōu)先權(quán)日:2014年2月28日
【發(fā)明者】徐平平, 王六祥, 朱文祥 申請(qǐng)人:東南大學(xué)