發(fā)布時間:2014-11-07所屬分類:科技論文瀏覽:1次
摘 要: 摘要:充分利用AODVjr算法中的命令選項(xiàng)的保留字,取保留字第0位控制路由的方向性,該位為1表示向該節(jié)點(diǎn)的子節(jié)點(diǎn)方向傳輸,該位為0表示目的地不在該節(jié)點(diǎn)的子節(jié)點(diǎn)范圍內(nèi)。經(jīng)過omnet++4.1仿真,證實(shí)了改進(jìn)后的AODVjr算法提高了ZigBee網(wǎng)絡(luò)的通信效率。 1 AODVjr
摘要:充分利用AODVjr算法中的命令選項(xiàng)的保留字,取保留字第0位控制路由的方向性,該位為1表示向該節(jié)點(diǎn)的子節(jié)點(diǎn)方向傳輸,該位為0表示目的地不在該節(jié)點(diǎn)的子節(jié)點(diǎn)范圍內(nèi)。經(jīng)過omnet++4.1仿真,證實(shí)了改進(jìn)后的AODVjr算法提高了ZigBee網(wǎng)絡(luò)的通信效率。
1 AODVjr路由思想
AODVjr是在AODV的基礎(chǔ)上發(fā)展而來的,是AODV算法的簡化,其思想[4-6]如下。
⑴ AODVjr規(guī)定只能是目標(biāo)節(jié)點(diǎn)對最先到達(dá)的RREQ信號做出響應(yīng),保證路由無環(huán)路,AODVjr中沒有使用目的節(jié)點(diǎn)序列號。
⑵ AODVjr規(guī)定RERR(Route Error)僅轉(zhuǎn)發(fā)給傳輸失敗的數(shù)據(jù)包的源節(jié)點(diǎn)。
⑶ 在數(shù)據(jù)傳輸中如果發(fā)生鏈路中斷,AODVjr采用本地修復(fù),在路由修復(fù)的過程中,僅允許目的節(jié)點(diǎn)回復(fù)RREP。如果本地修復(fù)失敗,則發(fā)送RERR到數(shù)據(jù)包的源節(jié)點(diǎn),通知它由于鏈路中斷而引起目的節(jié)點(diǎn)不可達(dá)。RERR的格式也被簡化至僅包含一個不可達(dá)的目的節(jié)點(diǎn)。
⑷ AODVjr由目的節(jié)點(diǎn)定期向源節(jié)點(diǎn)發(fā)送KEEP ALIVE連接信息來維持路由。當(dāng)源節(jié)點(diǎn)在一段時間內(nèi)沒有收到目的節(jié)點(diǎn)發(fā)來的KEEP ALIVE信號時,它認(rèn)為此條路徑失效,必要時重新進(jìn)行路由發(fā)現(xiàn)。
科技論壇推薦:《現(xiàn)代傳輸》于1975年創(chuàng)刊,由信息產(chǎn)業(yè)部主管、電信科學(xué)技術(shù)第五研究所(原郵電部第五研究所)主辦,是國內(nèi)郵電科技期刊中內(nèi)容豐富、傳播面廣、權(quán)威可靠的學(xué)術(shù)性與技術(shù)性相結(jié)合的刊物,讀者遍及全國各地,有科研設(shè)計院所、專業(yè)院校、電信營運(yùn)部門、生產(chǎn)廠家和通信公司等等。它發(fā)表了大量的光通信技術(shù)、光通信網(wǎng)、數(shù)據(jù)通信技術(shù)以及通信電纜、光纜等領(lǐng)域的論文,并及時介紹、分析通信領(lǐng)域的發(fā)展動態(tài)及趨勢,為通信領(lǐng)域的科研、設(shè)計、生產(chǎn)、運(yùn)行維護(hù)等部門的廣大工程技術(shù)人員提供了許多有價值的信息和資料。主管單位:信息產(chǎn)業(yè)部,主辦單位:電信科學(xué)技術(shù)第五研究所,國內(nèi)刊號:CN51-1692/TN,國際刊號:ISSN1673-5137
如圖1所示,當(dāng)rfd[0]設(shè)備要發(fā)送數(shù)據(jù)給ffd[0],rfd[0]先把數(shù)據(jù)發(fā)送給具有路由功能的父節(jié)點(diǎn)ffd[5],ffd[5]查找自身路由表,如果沒有發(fā)現(xiàn)到一條到ffd[0]的有效路徑,于是就發(fā)起路由發(fā)現(xiàn)過程,構(gòu)建并洪泛RREQ包。ffd[0]選擇最先到達(dá)的RREQ包的傳送路徑ffd[5]-ffd[2]-zc-ffd[0],并返回RREP信息,ffd[5]收到ffd[0]發(fā)來的RREP信號,建立路由路徑,ffd[5]就會按這條路徑來發(fā)送緩存的數(shù)據(jù)。同時ffd[0]定期發(fā)送KEEP_ALIVE包,以維護(hù)路由信息。
2 AODVjr路由存在的問題
AODVjr算法具有靈活的路徑查找功能,其按需產(chǎn)生路由路徑的方式提高了協(xié)議效率,能快速適應(yīng)動態(tài)鏈路環(huán)境,并可支持多播功能。但ZigBee網(wǎng)絡(luò)中的AODVjr路由算法容易引起RREQ廣播風(fēng)暴并耗費(fèi)資源。另外,AODVjr屬于后應(yīng)式的按需Ad hoe網(wǎng)絡(luò),不會周期性地更新自己的路由信息,只有在需要通信時,才發(fā)起路由查找過程。在ZigBee網(wǎng)狀網(wǎng)絡(luò)里,節(jié)點(diǎn)會移動或者休眠,因此對路由查找使用比較頻繁。為了達(dá)到節(jié)能且降低通信復(fù)雜度的目的,本文對AODVjr算法進(jìn)行了改進(jìn),針對廣播風(fēng)暴,采用網(wǎng)絡(luò)命令傳輸?shù)姆较蛑笇?dǎo)性,減少信息傳輸?shù)拇螖?shù)。
3 改進(jìn)算法設(shè)計
在AODVjr中里,路由請求命令幀用來發(fā)起一個路由發(fā)現(xiàn)過程,路由應(yīng)答命令用來返回路由信息,它們的載荷部分的第二個字節(jié)命令選項(xiàng)中,低7位保留,為此在改進(jìn)的AODVjr中,可以充分利用這些保留位,改進(jìn)后的命令選項(xiàng)如表1所示。
命令傳輸方向位為1表示向該節(jié)點(diǎn)的子節(jié)點(diǎn)方向傳輸,該位為0表示目的地不在該節(jié)點(diǎn)的子節(jié)點(diǎn)范圍內(nèi),應(yīng)該向該節(jié)點(diǎn)的父節(jié)點(diǎn)傳輸。命令傳輸方向主要是控制命令傳輸?shù)拇笾路较颍苊獍l(fā)生廣播風(fēng)暴,其算法流程圖如圖2所示。
4 算法分析和仿真結(jié)果分析
根據(jù)ZigBee中網(wǎng)狀路由AODVjr算法和改進(jìn)的AODVjr算法思想,采用OMNET++4.1分別進(jìn)行了模擬,其網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖如圖1所示。在同一種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)下,所有的運(yùn)行環(huán)境和參數(shù)都相同,利用原始AODVjr和改進(jìn)的AODVjr算法,在相同的時間里,對RFD節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包數(shù)量、消息經(jīng)過的跳數(shù)以及FFD節(jié)點(diǎn)能量變化進(jìn)行統(tǒng)計,得到的結(jié)果如圖3、圖4、圖5所示。
圖3上表示在AODVjr算法下,各個RFD節(jié)點(diǎn)收到的數(shù)據(jù)包的數(shù)量,圖3下表示在改進(jìn)的AODVjr算法下,各個RFD節(jié)點(diǎn)收到的數(shù)據(jù)包的數(shù)量。從圖3中可以看出,改進(jìn)的AODVjr算法在相同的時間里,傳送的數(shù)據(jù)包的量比原始AODVjr算法要大得多,這說明改進(jìn)后的AODVjr算法提高了通信效率。
圖4上表示在AODVjr算法下,各個RFD節(jié)點(diǎn)上消息跳數(shù),圖4下表示在改進(jìn)的AODVjr算法下,各個RFD節(jié)點(diǎn)上消息跳數(shù)。從圖4中可以看出,改進(jìn)的AODVjr算法在相同的時間里,RFD上統(tǒng)計的跳數(shù)的次數(shù)比原始AODVjr多很多,這一點(diǎn)與圖3的仿真結(jié)果是一致的。另外,從圖4可以看出,下圖的跳數(shù)比較穩(wěn)定,變化的幅度沒有上圖大,而且上圖的節(jié)點(diǎn)上消息的跳數(shù)大都在10跳以上,下圖最多只有6.0跳。這說明改進(jìn)后的AODVjr算法減少了跳數(shù)。
圖5上是原始AODVjr中FFD節(jié)點(diǎn)和中心協(xié)調(diào)器能量變化圖,圖5下是改進(jìn)AODVjr中FFD節(jié)點(diǎn)和中心協(xié)調(diào)器能量變化圖。起初中心協(xié)調(diào)器能量為30000,F(xiàn)FD節(jié)點(diǎn)為20000,黃色和綠色曲線分別表示FFD[1]和FFD[6],從圖1可以看出,RFD[3]與其他節(jié)點(diǎn)通信時,都必須過這兩個FFD節(jié)點(diǎn),由于改進(jìn)的AODVjr加入了方向控制,為此,這兩個節(jié)點(diǎn)的能量耗費(fèi)比沒有改進(jìn)的AODVjr要快很多。藍(lán)色曲線表示FFD[3]節(jié)點(diǎn)能量變化,從圖1可以看出FFD[3]節(jié)點(diǎn)只有RFD[1]節(jié)點(diǎn)發(fā)生數(shù)據(jù)和接收數(shù)據(jù)時需要用到,而從圖3可以看出改進(jìn)AODVjr中RFD收發(fā)數(shù)據(jù)量都比原始AODVjr中RFD收發(fā)數(shù)據(jù)量多,由于原始AODVjr沒有進(jìn)行數(shù)據(jù)包傳輸方向控制,在查找路由時使用了廣播,為此,在原始AODVjr中FFD[3]能量耗費(fèi)比改進(jìn)AODVjr中FFD[3]能量耗費(fèi)快。
5 結(jié)束語
針對AODVjr算法思想以及網(wǎng)絡(luò)命令幀的格式,本文提出了一種改進(jìn)的AODVjr算法,充分利用AODVjr算法中的命令選項(xiàng)的保留字,進(jìn)行路由的傳輸?shù)姆较蚩刂疲苊鈴V播風(fēng)暴,降低了跳數(shù),節(jié)約了能量。經(jīng)過omnet++4.1仿真,證實(shí)改進(jìn)之后的AODVjr算法提高了ZigBee網(wǎng)絡(luò)的通信效率。