亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2019-10-18 06:41:28靜,陳
        計算機系統(tǒng)應(yīng)用 2019年10期
        關(guān)鍵詞:深度

        黃 靜,陳 蘭

        (浙江理工大學(xué) 信息學(xué)院,杭州 310018)

        近些年來,物聯(lián)網(wǎng)行業(yè)發(fā)展越來越迅速,人們越來越離不開物聯(lián)網(wǎng).ZigBee技術(shù)是物聯(lián)網(wǎng)的核心技術(shù)之一[1],它具有能耗小、成本小、復(fù)雜度低等優(yōu)點,對于資源匱乏、注重綠色發(fā)展的當(dāng)今社會來說,它的研究價值非常高.雖然ZigBee網(wǎng)絡(luò)已經(jīng)有低功耗低成本的優(yōu)點了,但是研究發(fā)現(xiàn),ZigBee網(wǎng)絡(luò)在能耗方面的減少還具有很大空間,為了減少ZigBee網(wǎng)絡(luò)的能耗,大量的專家學(xué)者進行了研究.Ha和Pack等人[2]提出網(wǎng)絡(luò)路由分層協(xié)議,利用分層策略找到最短路徑,降低能耗.李志明[3]等人則引入了差分算法對最小生命周期求解,使路由節(jié)點選擇生命周期最長的簇進行通信.王飛[4]則通過 GA-PSO 算法通過對簇類節(jié)點優(yōu)化而找到最優(yōu)路徑.Li和Meng[5]等人提出對RREQ分組的泛洪進行控制,從而降低能耗.高霞、徐海峰[6,7]等則提出將沒有工作的節(jié)點進行休眠來減少網(wǎng)絡(luò)的能耗.通過以上的這些研究,給本文研究提供了理論基礎(chǔ).而本文則結(jié)合傳統(tǒng)ZBR路由算法進行改進,并對改進的ZBR算法進行驗證,旨在為當(dāng)前的無線網(wǎng)路由優(yōu)化提供另外的一種借鑒.

        1 ZigBee路由機制

        當(dāng)前ZigBee協(xié)議采用的是按需距離矢量路由(AODVjr)和樹形網(wǎng)絡(luò)結(jié)構(gòu)路由(Cluster-tree)混合作為自身的路由算法,其主要作用是發(fā)現(xiàn)和維護路由.ZigBee網(wǎng)絡(luò)中的節(jié)點既可以當(dāng)作中繼節(jié)點,也可以直接通過所連接的傳感器采來監(jiān)控和采集數(shù)據(jù).

        1.1 ZigBee地址分配

        ZigBee網(wǎng)絡(luò)中的節(jié)點都擁有兩個地址,一個是64位的MAC地址,它是節(jié)點唯一的標識,由制造商或者被安裝的時候設(shè)置,另一個是16位的,類似于IP地址,是節(jié)點加入網(wǎng)絡(luò)的時候,由路由器分配的.僅在網(wǎng)絡(luò)內(nèi)部使用,只負責(zé)數(shù)據(jù)間的傳輸[8].網(wǎng)絡(luò)地址分配時會涉及3個參數(shù),這3個參數(shù)由協(xié)調(diào)器決定.

        為了便于理解,圖1為ZigBee網(wǎng)絡(luò)樹狀結(jié)構(gòu)圖.

        圖1 ZigBee網(wǎng)絡(luò)樹狀結(jié)構(gòu)圖

        由圖中參數(shù)可知節(jié)點可連接的終端節(jié)點最大數(shù)量為Cm?Rm.其中,網(wǎng)絡(luò)深度是指該節(jié)點到協(xié)調(diào)器的最短跳數(shù);終端節(jié)點是指沒有路由功能的節(jié)點.若父節(jié)點網(wǎng)絡(luò)深度為d,那么該節(jié)點為子節(jié)點分配地址的偏移量為Cskip(d).

        只有當(dāng)Cskip(d)>0時才允許子節(jié)點接入網(wǎng)絡(luò)[9].首先預(yù)設(shè)協(xié)調(diào)器的深度為0,假定父節(jié)點地址為Ap,加入此節(jié)點第一個擁有路由能力的子節(jié)點地址為Ap+1,協(xié)調(diào)器為第i個有路由能力子節(jié)點分配的地址如式(2)所示;為第k個終端節(jié)點分配的地址如式(3)所示.

        根據(jù)節(jié)點分配的方式,我們可以通過式(4)來判斷目的節(jié)點是否為當(dāng)前節(jié)點的后代節(jié)點[9].

        假定當(dāng)前節(jié)點的地址是A,深度是d,若地址為D的目的節(jié)點地址滿足式(4),則目的節(jié)點是當(dāng)前節(jié)點的后代節(jié)點,那么當(dāng)前節(jié)點的下一跳地址D根據(jù)式(5)確定.

        若目的節(jié)點地址D不滿足于式(4),則當(dāng)前節(jié)點會講數(shù)據(jù)傳給自己的父節(jié)點,即下一跳為當(dāng)前節(jié)點父節(jié)點.

        1.2 ZigBee路由算法

        目前ZigBee支持3種算法,分別是cluster-tree、AODVjr和ZBR.在cluster-tree算法中,當(dāng)?shù)刂窞锳,深度為d的節(jié)點收到數(shù)據(jù)后會根據(jù)式(4)判斷下一跳,若滿足,則下一跳的地址可以經(jīng)過式(5)得到;若不滿足,下一跳為其父節(jié)點.Cluster-tree 算法的優(yōu)點是可以一定程度上減少縮短端到端的延遲,但是由于他的非自適應(yīng)算法的特點,使得它無法動態(tài)進行路由的選擇,使該算法在網(wǎng)絡(luò)時延的最大化方面還有所不足.AODVjr算法的一次路由建立過程分成3步:路由發(fā)現(xiàn)、反向路由建立和正向路由建立.該算法的優(yōu)點是,相對于有線網(wǎng)絡(luò)的路由協(xié)議而言,它不需要周期性的路由信息廣播,節(jié)省了一定的網(wǎng)絡(luò)資源.缺陷在于它的路由發(fā)現(xiàn)過程只有在有需求的時候才會進行,那樣就會增加數(shù)據(jù)傳輸?shù)侥康牡刂返臅r間,并且在路由發(fā)現(xiàn)的過程中也容易引起RREQ風(fēng)暴.

        目前常用的ZBR算法是由cluster-tree和AODVjr兩種算法結(jié)合產(chǎn)生的,圖2為ZBR算法處理流程圖.

        首先利用cluster-tree路由算法將ZigBee網(wǎng)絡(luò)構(gòu)建好,有助于分組信息有方向的傳輸,然后通過AODVjr路由算法來尋找最佳路徑,以減少時間延遲和能量消耗,結(jié)合了兩種算法的優(yōu)點,但依舊沒有很好地解決路由發(fā)現(xiàn)時的問題,當(dāng)AODVjr路由算法在進行路由發(fā)現(xiàn)這個過程時,所有節(jié)點都會參加RREQ分組轉(zhuǎn)發(fā),大量無用的RREQ分組容易造成RREQ泛洪,并且距離協(xié)調(diào)器愈近的點,轉(zhuǎn)發(fā)分組次數(shù)就會愈多,能量的耗費也就愈快,以致節(jié)點失效,造成傳感器網(wǎng)絡(luò)癱瘓.

        圖2 ZBR算法處理流程圖

        2 改進的ZigBee路由算法

        2.1 改進路由算法的解決方案

        光具有波粒二象性,也就是具有波動性和粒子性,研究通過計算機數(shù)字圖像處理手段,把一些光學(xué)現(xiàn)象清晰地展示出來,便于觀察和研究,在實驗結(jié)果中顯示的光流擾動現(xiàn)象恰好像一些顆粒狀的東西在做漂流運動,與光的粒子性和波動性是吻合的.為了改善ZBR算法在路由發(fā)起過程中的缺點,本文提出了一種分層能量的控制方法,從限制RREQ控制分組的范圍著手,并考慮能量的消耗,對混合路由算法進行改進,主要從以下幾個方面來解決問題.

        (1)將ZigBee網(wǎng)絡(luò)分成若干個簇

        通常一個簇擁有多個節(jié)點,依據(jù)功能分為網(wǎng)關(guān)節(jié)點、簇頭、簇成員和備用節(jié)點4種類型.由于在ZigBee網(wǎng)絡(luò)中節(jié)點地址分配嚴格按照分布式地址分配機制進行,因此我們引入路由深度作為劃分簇和選擇簇頭節(jié)點的標準,當(dāng)ZigBee網(wǎng)絡(luò)由協(xié)調(diào)器建立起來后,其自身首先成為第一個簇的簇頭,第一個簇建立完畢后,然后計算路由器的深度,第一個簇的網(wǎng)關(guān)節(jié)點會將深度為偶且連接的子節(jié)點最多的的節(jié)點選為下一個簇的簇頭,最后將深度為奇的節(jié)點和終端節(jié)點均劃分到其父節(jié)點所在的簇中,以此類推,直到所有的節(jié)點都劃分完畢.

        (2)定義能量閾值

        簇劃分完畢后,將每一個處在該ZigBee網(wǎng)絡(luò)中的節(jié)點都添加一個能量閾值,剩余能量低于該值的節(jié)點將會休眠,若該節(jié)點為簇頭節(jié)點,那么網(wǎng)絡(luò)則會啟用備用節(jié)點,各邏輯簇僅有一個簇頭,若簇頭未失效,則備用節(jié)點與簇成員相同;若簇首能耗過大而超過預(yù)設(shè)閾值,則由備用節(jié)點替代簇首[9].在定義節(jié)點閾值的同時,我們距離主協(xié)調(diào)器或者簇頭越近的節(jié)點,轉(zhuǎn)發(fā)分組包數(shù)量越龐大,能量消耗的越快,因此我們需要對協(xié)調(diào)器附近的節(jié)點進行一些保護,即負載均衡策略,距離協(xié)調(diào)器越近深度越小的節(jié)點,閾值越高;距離協(xié)調(diào)器越遠深度越大的的點,閾值越低.從而使ZigBee網(wǎng)絡(luò)的使用壽命增長.在實際應(yīng)用中,隨時間長度的增加,節(jié)點的能耗必然也會增加,考慮到這一特性,那么隨時間長度增加,能量閾值降低.根據(jù)以上參數(shù)的相關(guān)性,定義能量閾值的公式如下:

        其中,節(jié)點的初始能量設(shè)為P;節(jié)點i的深度設(shè)為di;節(jié)點的閾值設(shè)為Ei;t為運行的時間;α為權(quán)因子,用來調(diào)節(jié)閾值的實際大小;(di+1)是為了避免分母為0的情況的出現(xiàn).由(6)式可知,當(dāng)t→無窮大時,Ei→0;隨著時間t的增大,一些休眠的節(jié)點會被喚醒;在網(wǎng)絡(luò)啟動工作后,網(wǎng)絡(luò)中節(jié)點的能量普遍很低.當(dāng)有路由請求時,若節(jié)點的能量power<E時,就會產(chǎn)生中斷,并發(fā)送報警信息給源節(jié)點,并將該報警信息擴散至其臨近的節(jié)點,使它們的路由表中這一項失效,然后這些節(jié)點再依次廣播下去[10].

        (3)傳播范圍計算

        對RREQ傳播的范圍進行限制,使超過范圍的節(jié)點丟棄不必要的RREQ分組,從而節(jié)約在路由發(fā)現(xiàn)過程中節(jié)點的能耗.假設(shè)源節(jié)點地址為S,深度為ds[10],目的節(jié)點地址為D,深度為dD,RREQ請求包最大傳輸范圍為Lm,其中dD和Lm未知,其他已知.在路由請求發(fā)送過程中,首先判斷源節(jié)點和目的節(jié)點的關(guān)系,若為父子節(jié)點,則請求的最大傳播范圍等于兩節(jié)點深度之差的絕對值,即Lm=|ds?dD|;若不存在父子關(guān)系,則分組包的最大傳播范圍等于它們分別與該父節(jié)點進行深度差計算并疊加后的值:

        其中,dF共同的父節(jié)點網(wǎng)絡(luò)深度,其定義為當(dāng)源節(jié)點是父輩節(jié)點時,dF=ds,則Lm=dD?ds;當(dāng)目的點是父輩節(jié)點時,dF=dD,則Lm=ds?dD.dF可通過式(4)、式(5)計算得到:由ZigBee網(wǎng)絡(luò)地址分配機制可得上式.式中,A和d分別表示為轉(zhuǎn)發(fā)路由節(jié)點的網(wǎng)絡(luò)地址和深度.該路由節(jié)點地址若在式(4)范圍內(nèi),則表示目的節(jié)點為其子節(jié)點,那么下一跳的地址可通過式(5)得到;反之,則目的節(jié)點不為轉(zhuǎn)發(fā)路由節(jié)點的子節(jié)點,那么下一跳的地址為該節(jié)點的父節(jié)點.由于在最中心的協(xié)調(diào)器為所有節(jié)點的父輩節(jié)點,dF為0,我們默認地址A也為0,并假設(shè)從協(xié)調(diào)器到目的節(jié)點開始尋址,便可計算出下一跳的地址,并判斷源節(jié)點是否為它的后代節(jié)點,若是dF+1,循環(huán)往復(fù),知道源節(jié)點不是它的后代節(jié)點為止,便可得到dF值,dF計算流程如圖3所示.

        圖3 dF 計算流程圖

        同理設(shè)dD為0,通過式(4)、式(5)計算下一跳地址,每計算一次dD加1,循環(huán)往復(fù),知道其等于目的節(jié)點地址時結(jié)束.并通過求得的dF和dD可以得到RREQ的最大傳輸范圍Lm=ds+dD?2dF,dD計算流程如圖4所示.

        (4)路徑規(guī)劃

        ZigBee網(wǎng)絡(luò)中的節(jié)點收到RREQ分組包后經(jīng)由式(3)來決定其父節(jié)點是否轉(zhuǎn)發(fā)RREQ分組包,為了降低整個網(wǎng)絡(luò)的能耗,我們通過式(3)判斷節(jié)點轉(zhuǎn)發(fā)分組的大致參考方向,并通過節(jié)點的能量閾值,深度和能傳播的最大范圍來找出最優(yōu)路徑.在此過程中,為了便于判斷源節(jié)點和目的節(jié)點之間的父子關(guān)系,我們在分組包中添加一個標志項r.

        圖4 d D 計算流程圖

        r=0時,當(dāng)前節(jié)點的父節(jié)點需丟棄RREQ消息分組包(存在父子關(guān)系).

        r=1時,當(dāng)前節(jié)點的子節(jié)點需丟去RREQ消息分組包(不存在父子關(guān)系).

        2.2 路由發(fā)現(xiàn)過程

        第1步:當(dāng)源節(jié)點S發(fā)起到目的節(jié)點D的路由發(fā)現(xiàn),在此過程中當(dāng)前節(jié)點P從源節(jié)點接收到RREQ消息分組包,首先判斷該節(jié)點是否為目的節(jié)點D,如果是的話,則不考慮自身剩余能量的情況下回復(fù)RREQ消息分組包,若不是則進入下一步.

        第2步:判斷當(dāng)前節(jié)點P自身剩余能量大小和該節(jié)點能量閾值,若小于,則丟棄RREQ分組包;若大于,則進行下一步.

        第3步:判斷當(dāng)前節(jié)點P深度,若為奇數(shù),則丟棄RREQ分組包,使用cluster-tree算法沿樹路由方式發(fā)送數(shù)據(jù)分組;若為偶數(shù),則進行下一步.

        第4步:深度為偶數(shù)且通過對比鄰居表中周圍節(jié)點的數(shù)目,不為簇頭的節(jié)點,則丟棄RREQ分組包,沿樹路由方式發(fā)送數(shù)據(jù)分組;若為簇頭,則進行下一步.

        第5步:通過查找標志位R來判斷源節(jié)點和目的節(jié)點之間是否存在父子關(guān)系,當(dāng)R=0時存在父子關(guān)系,那么若當(dāng)前節(jié)點為源節(jié)點的父節(jié)點時,則丟棄RREQ分組包;如果不是,再判斷當(dāng)前節(jié)點是否為目的節(jié)點的父節(jié)點,若是,則進入下一步;如果不是,便令R=1進入循環(huán);當(dāng)r=1時源節(jié)點目的節(jié)點間不存在父子關(guān)系,若當(dāng)前節(jié)點為源節(jié)點的子節(jié)點,則丟棄RREQ分組;若不是,再判斷當(dāng)前節(jié)點是否為目的節(jié)點的父節(jié)點,若是,進入下一步;若不是,令R=0進入循環(huán).

        第6步:判斷由式(4)、式(5)、式(7)計算出的RREQ分組包最大傳輸范圍Lm,如果當(dāng)前節(jié)點接收到分組包中目的節(jié)點跳數(shù)hops大于Lm,則丟棄RREQ分組包結(jié)束;若小于,則進入下一步.

        第7步:當(dāng)前節(jié)點轉(zhuǎn)發(fā)RREQ分組包,并更新自身剩余能量.

        改進的路由算法工作流程如圖5所示.

        圖5 改進的ZBR算法工作流程圖

        3 實驗結(jié)果分析

        本文的仿真使用的是NS-2仿真平臺,該仿真平臺自帶 IEEE802.15.4 定義的媒體接入層與物理層的協(xié)議模塊,仿真的時候只需編寫網(wǎng)絡(luò)層算法的協(xié)議模塊.將仿真出來的結(jié)果使用AWK進行數(shù)據(jù)處理分析后繪圖,然后使用Excel進行圖表繪制.本文將ZBR算法和改進后的ZBR算法分別在節(jié)點數(shù)為10~100個不同的場景下進行仿真比較,數(shù)據(jù)取運行50次的平均值,仿真時隨機分布節(jié)點,隨機并發(fā)8個數(shù)據(jù)流,平均速度為0.5 packets/s,其他的仿真參數(shù)設(shè)置如表1所示.

        表1 仿真參數(shù)設(shè)置

        仿真實驗后,我們從平均時間延遲、剩余能量和分組投遞率3個方面進行分析.網(wǎng)絡(luò)平均延遲比較如圖6 所示,分簇機制減少了通信量,由簇頭進行數(shù)據(jù)融合,減少了時間延遲.由圖可以看出改進后的算法時間相對于改進前的發(fā)算法延遲減少了12.4%.

        圖6 網(wǎng)絡(luò)平均延遲對比圖

        剩余能量對比圖比較如圖7所示.剩余能量百分比時網(wǎng)絡(luò)中剩余能量和網(wǎng)絡(luò)中初始能量的比值,它可以有效衡量算法的能量使用情況,剩余能量百分比越高,節(jié)能效果越好[11].

        圖7 剩余能量百分比對比圖

        由圖7可以看出,改進后的算法剩余能量比高于改進錢的算法,隨著節(jié)點的增加,剩余能量百分比降低,并且隨著時間越久,下降越平緩,這也符合實際情況,由于減少了不必要的RREQ分組的轉(zhuǎn)發(fā),使得網(wǎng)絡(luò)整體能量消耗降低.

        分組投遞率是檢測網(wǎng)絡(luò)傳輸性能的關(guān)鍵指標,它能反映出網(wǎng)絡(luò)的穩(wěn)定與可靠程度,分組投遞率是接收的數(shù)據(jù)分組和發(fā)送數(shù)據(jù)分組數(shù)量的比值,它和網(wǎng)絡(luò)性能成正比,圖8為改進前后算法的分組投遞率比較.

        圖8 分組投遞率對比圖

        由圖8可知,丟棄了多余的RREQ分組后的算法,分組投遞率變高了.

        4 結(jié)束語

        本文在分析 ZigBee 路由算法的基礎(chǔ)上,提出了一種改進了的ZBR算法即分層能量控制算法.改進后的算法通過控制節(jié)點能量閾值、限制RREQ分組的傳播范圍、限制網(wǎng)絡(luò)深度入手以丟棄不必要的RREQ分組,從而達到減少網(wǎng)絡(luò)的能耗.并通過NS2仿真實驗,從端到端的延遲、剩余能量、分組投遞率3方面和未改進的算法進行比較,實驗結(jié)果表明改進后的算法能在保證網(wǎng)絡(luò)傳輸穩(wěn)定的同時降低端到端的延遲和能量的消耗,使得網(wǎng)絡(luò)負載均衡,網(wǎng)絡(luò)生存時間最大化.

        猜你喜歡
        深度
        深度理解不等關(guān)系
        四增四減 深度推進
        深度理解一元一次方程
        深度觀察
        深度觀察
        深度觀察
        深度觀察
        芻議深度報道的深度與“文”度
        新聞傳播(2016年10期)2016-09-26 12:14:59
        提升深度報道量與質(zhì)
        新聞傳播(2015年10期)2015-07-18 11:05:40
        微小提議 深度思考
        四虎影永久在线观看精品 | 亚洲AV永久无码精品一区二国 | 国产一区二区三区仙踪林 | 国产一卡2卡3卡四卡国色天香| 在线欧美精品二区三区| 日本精品人妻一区二区三区| 亚洲av色图一区二区三区| 少妇高潮一区二区三区99| 亚洲欧美国产日韩天堂在线视| 亚洲精品无码av人在线观看| 美女与黑人巨大进入免费观看| 国产欧美综合一区二区三区| 狠狠做深爱婷婷久久综合一区| 五月中文字幕| 蜜桃av噜噜一区二区三区免费| 久久精品国产亚洲av天| 久久久久亚洲av片无码v| 自拍 另类 综合 欧美小说| 日本顶级片一区二区三区 | 中文字幕久区久久中文字幕| 在线不卡精品免费视频| 久久福利资源国产精品999| 欧美aa大片免费观看视频| 国产爆乳乱码女大生Av| 精品av一区二区在线| 18禁止进入1000部高潮网站| 国产午夜亚洲精品午夜鲁丝片| 成人精品国产亚洲欧洲| 麻豆成人久久精品一区| 日日天干夜夜狠狠爱| 亚洲AV电影天堂男人的天堂| 亚洲av成人久久精品| 久久人人爽人人爽人人片av高请| 无码人妻少妇色欲av一区二区| 俺来也俺去啦最新在线| 日本欧美在线播放| 久久精品国产亚洲av成人网| 亚洲综合欧美色五月俺也去 | 美女视频一区| 丰满人妻无套内射视频| 亚洲国产精品无码aaa片|