《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于能量感知的最小能量動(dòng)態(tài)源路由
基于能量感知的最小能量動(dòng)態(tài)源路由
來源:微型機(jī)與應(yīng)用2010年第19期
張繼鋒,周繼鵬
(暨南大學(xué) 信息科學(xué)技術(shù)學(xué)院,,廣東 廣州 510632)
摘要: 在MANET中節(jié)點(diǎn)必須依靠可攜帶的有限電源供電,,為了盡可能延長節(jié)點(diǎn)及網(wǎng)絡(luò)的壽命, 節(jié)能方法一直是專業(yè)人員致力研究的問題?;谀芰扛兄淖钚∧芰縿?dòng)態(tài)源路由協(xié)議是針對(duì)最小能量動(dòng)態(tài)源路由協(xié)議提出來的,。引入能量感知策略就是使路徑的剩余能量成為主要的度量指標(biāo)來選取最佳路徑,,選擇剩余能量最大的路徑轉(zhuǎn)發(fā)數(shù)據(jù),,并且減少節(jié)點(diǎn)能源的浪費(fèi)和過度使用等問題。
Abstract:
Key words :

摘  要:MANET中節(jié)點(diǎn)必須依靠可攜帶的有限電源供電,,為了盡可能延長節(jié)點(diǎn)及網(wǎng)絡(luò)的壽命,, 節(jié)能方法一直是專業(yè)人員致力研究的問題?;?a class="innerlink" href="http://forexkbc.com/tags/能量感知" title="能量感知" target="_blank">能量感知的最小能量動(dòng)態(tài)源路由協(xié)議是針對(duì)最小能量動(dòng)態(tài)源路由協(xié)議提出來的,。引入能量感知策略就是使路徑的剩余能量成為主要的度量指標(biāo)來選取最佳路徑,選擇剩余能量最大的路徑轉(zhuǎn)發(fā)數(shù)據(jù),,并且減少節(jié)點(diǎn)能源的浪費(fèi)和過度使用等問題,。
關(guān)鍵詞: MANET;最小能量動(dòng)態(tài)源路由,;能量感知

    移動(dòng)Ad hoc網(wǎng)絡(luò)MANET(Mobile Ad hoc Networks)是由一組具有路由功能的移動(dòng)節(jié)點(diǎn)自組織成的無線多跳系統(tǒng),。由于網(wǎng)絡(luò)規(guī)模小、無基礎(chǔ)設(shè)施和構(gòu)建快速等特點(diǎn),,MANET廣泛應(yīng)用于野外考察,、作戰(zhàn)現(xiàn)場、災(zāi)難救助等場合,。MANET中的節(jié)點(diǎn)一般通過電池供電,,而目前電池容量有限。另一方面,,隨著網(wǎng)絡(luò)終端性能的提升,、功能的不斷加強(qiáng),產(chǎn)生的能耗會(huì)越來越大,,對(duì)能源的要求也會(huì)越來越高,能量問題可能成為Ad hoc網(wǎng)絡(luò)廣泛應(yīng)用的瓶頸,,從而使得節(jié)能策略成為當(dāng)前一個(gè)研究熱點(diǎn),。
 傳統(tǒng)路由協(xié)議都使用一組度量指標(biāo)來尋找維護(hù)最佳路徑,最常用的度量指標(biāo)是最少跳數(shù),。然而這個(gè)指標(biāo)沒有考慮節(jié)點(diǎn)和網(wǎng)絡(luò)的耗能和壽命問題,,可能導(dǎo)致節(jié)點(diǎn)能源的浪費(fèi)和過度使用等問題,最終使得節(jié)點(diǎn)和網(wǎng)絡(luò)的壽命嚴(yán)重下降,。
 動(dòng)態(tài)源路由(DSR)[1]協(xié)議在轉(zhuǎn)發(fā)數(shù)據(jù)時(shí),,使用最少跳數(shù)的路徑進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。在發(fā)射器以固定能量水平發(fā)送的Ad hoc網(wǎng)絡(luò)中,,DSR協(xié)議并沒有考慮路徑的剩余能量,。由于DSR協(xié)議始終選擇最少跳數(shù)的路徑進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),因此在最少跳數(shù)路徑上的節(jié)點(diǎn)被過度使用的可能性很大。節(jié)點(diǎn)的過度使用極易使節(jié)點(diǎn)死亡造成網(wǎng)絡(luò)發(fā)生分割,,縮短網(wǎng)絡(luò)的使用壽命,。
 最小能量動(dòng)態(tài)源路由MEDSR(Minimum Energy Dynamic Source Routing)[2]協(xié)議除了發(fā)射器的能量水平可調(diào)整外,其余的都與DSR協(xié)議相同,,所以MEDSR協(xié)議也有DSR協(xié)議所面臨的問題,。
 本文針對(duì)DSR協(xié)議和MEDSR協(xié)議在節(jié)能策略方面存在的缺陷,以減少節(jié)點(diǎn)的過度使用和延長網(wǎng)絡(luò)生存時(shí)間為設(shè)計(jì)目標(biāo),,以MEDSR路由協(xié)議為基礎(chǔ),,提出了一種基于能量感知的最小能量動(dòng)態(tài)源路由協(xié)議。引入能量感知策略就是使路徑的剩余能量成為主要的度量指標(biāo)來選取最佳路徑,。通過在路由發(fā)現(xiàn)過程中動(dòng)態(tài)地進(jìn)行路徑剩余能量的計(jì)算,,選擇剩余能量最大的路徑轉(zhuǎn)發(fā)數(shù)據(jù),與傳統(tǒng)的按需路由協(xié)議相比,,大大減少了節(jié)點(diǎn)的過度使用,,延長了網(wǎng)絡(luò)的生存時(shí)間。
1 相關(guān)算法
 最小最大鏈路功率路由協(xié)議(MLRP)算法旨在尋找一條低功率的路由,,其中每個(gè)節(jié)點(diǎn)都能根據(jù)自己要進(jìn)行通信的鄰近節(jié)點(diǎn)自適應(yīng)地調(diào)整發(fā)射功率,。在此算法中,路由尋找的發(fā)起者決定轉(zhuǎn)發(fā)RREQ請求的中間節(jié)點(diǎn)的統(tǒng)一發(fā)射功率,,當(dāng)路由建立嘗試失敗時(shí),,能相應(yīng)地減小此功率值。因此,,此路由進(jìn)程主要考慮最小化每個(gè)參與節(jié)點(diǎn)消耗的能量,,以及減小所選路徑消耗的能量。最小電池開銷路由(MBCR)[3]算法中定義了節(jié)點(diǎn)電池開銷函數(shù),,從而計(jì)算出包含n個(gè)節(jié)點(diǎn)的路徑m的總電池開銷,,而最大剩余電池能量的路徑即是擁有最小電池開銷的那條路徑。有條件最大最小電池容量路由(CMMBCR)算法[4]也是對(duì)MBCR的改進(jìn),,設(shè)計(jì)CMMBCR的出發(fā)點(diǎn)是能夠使整個(gè)網(wǎng)絡(luò)的生命周期最大,,同時(shí)又公平地使用每個(gè)節(jié)點(diǎn)。其基本思想是首先找出從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的所有電量充足的路徑(即路徑上的所有節(jié)點(diǎn)都具有大于某個(gè)閾值(0~100)的剩余電量),,然后從中選擇出總傳輸能量最小的那條路徑作為路由選擇的最終結(jié)果,。
2 最小能量動(dòng)態(tài)源路由(MEDSR)
2.1 最小能量路由協(xié)議的背景

 傳統(tǒng)的路由協(xié)議都是采用固定的發(fā)射功率進(jìn)行數(shù)據(jù)包的轉(zhuǎn)發(fā),,由于節(jié)點(diǎn)發(fā)射功率的大小直接影響到鄰近節(jié)點(diǎn)的通信,,發(fā)射功率太小雖然可以相對(duì)減少能量消耗,但是有可能使得兩個(gè)節(jié)點(diǎn)的通信無法進(jìn)行,;發(fā)射功率太大雖然可以保證兩個(gè)節(jié)點(diǎn)之間的通信,,但是有可能會(huì)影響其他節(jié)點(diǎn)的通信,。
 發(fā)射功率水平過高或者過低都會(huì)嚴(yán)重影響網(wǎng)絡(luò)的連通性,,在保證節(jié)點(diǎn)通信成功的情況下,采用最小發(fā)射功率水平不僅可以保證網(wǎng)絡(luò)的連通性,,而且還減少節(jié)點(diǎn)的能量消耗,。
2.2 最小能量動(dòng)態(tài)源路由簡介(MEDSR)
 MEDSR協(xié)議是在DSR協(xié)議的基礎(chǔ)上,采用可調(diào)整的發(fā)射功率,,并且在DSR協(xié)議的路由發(fā)現(xiàn)過程當(dāng)中改進(jìn)而得來的,。最小能量體現(xiàn)在保持通信質(zhì)量的情況下,使得節(jié)點(diǎn)的發(fā)射功率水平達(dá)到最低,。
 MEDSR協(xié)議的路由發(fā)現(xiàn)過程當(dāng)中包含兩個(gè)機(jī)制:
   (1)多功率水平路由發(fā)現(xiàn)機(jī)制
 源節(jié)點(diǎn)首先使用低功率水平發(fā)送RREQ,,RREQ中包含功率水平信息。如果使用低功率水平發(fā)送失敗,,則選擇高功率水平發(fā)送,。下一跳節(jié)點(diǎn)也選擇可調(diào)整的功率水平將RREQ轉(zhuǎn)發(fā),并且將自己的功率水平信息加到RREQ中,。此過程一直操作下去,,直到RREQ到達(dá)目標(biāo)節(jié)點(diǎn)。此時(shí),,目標(biāo)節(jié)點(diǎn)發(fā)送RREP,,RREP中同樣包含能量水平信息。功率水平的調(diào)整過程就是通過轉(zhuǎn)發(fā)RREP進(jìn)行的,。此過程一直進(jìn)行,,直到RREP到達(dá)源節(jié)點(diǎn)。
    (2)逐段功率水平調(diào)整機(jī)制
    圖1(a)中節(jié)點(diǎn)C接收到目標(biāo)節(jié)點(diǎn)D發(fā)送過來的RREP,,測量節(jié)點(diǎn)C接收到的能量水平Precv,。因?yàn)镽REP中包含目的節(jié)點(diǎn)的發(fā)送功率水平信息Pt。節(jié)點(diǎn)C計(jì)算到達(dá)目標(biāo)節(jié)點(diǎn)D所需最少的傳送能量:Pmin=Pt-Precv,,然后節(jié)點(diǎn)C將所需的最少傳送能量存儲(chǔ)在自己的能量表中,。節(jié)點(diǎn)C再將RREP轉(zhuǎn)發(fā)給節(jié)點(diǎn)B,重復(fù)同樣的工作,,直到RREP到達(dá)源節(jié)點(diǎn)S,。

3 協(xié)議描述
3.1 能量感知
3.1.1 路由請求包(RREQ)的結(jié)構(gòu)

    為了實(shí)現(xiàn)MEDSR協(xié)議中功率調(diào)整,需要在RREQ中增添功率值列表字段Power list,,如表1所示。

3.1.2 路由回復(fù)包(RREP)的結(jié)構(gòu)
   路徑的剩余能量是指該路徑中的節(jié)點(diǎn)剩余能量的最小值,。
   能量感知的目的就是在返回的眾多路徑中選擇剩余能量最大的路徑,。
 按需路由協(xié)議并不像表驅(qū)動(dòng)路由協(xié)議那樣預(yù)先知道網(wǎng)絡(luò)全局的拓?fù)湫畔ⅲ葱杪酚蓞f(xié)議是根據(jù)發(fā)送數(shù)據(jù)分組的需要按需進(jìn)行路由發(fā)現(xiàn)過程,,所以MEDSR協(xié)議中路徑的剩余能量只能通過路由發(fā)現(xiàn)過程動(dòng)態(tài)地獲得,。因此,,需要在RREP中增添路徑剩余能量字段Path energy,如表2所示,。

3.1.3 節(jié)點(diǎn)本地cache表的結(jié)構(gòu)
   為了滿足能量感知的目標(biāo),,需要在MEDSR協(xié)議的基礎(chǔ)上,對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)的cache表中再增加剩余能量值字段Residual energy和臨時(shí)剩余能量字段Temporary energy,,以及發(fā)射功率值字段Power level,,如表3所示。

   Residual energy字段記錄節(jié)點(diǎn)當(dāng)前的剩余能量值,,Temporary energy字段記錄Residual energy字段與Power level字段的差值,,用于和RREP中的Path energy字段比較,Power level字段記錄經(jīng)調(diào)整的發(fā)射功率值,。
   采用Temporary energy字段是因?yàn)镸EDSR協(xié)議的發(fā)射功率是可調(diào)整的,,即不同路徑上節(jié)點(diǎn)的發(fā)射功率大小不同,如果此時(shí)簡單地使用Residual energy值作為比較對(duì)象,,有可能使Residual energy最大的節(jié)點(diǎn)由于Power level過大而造成節(jié)點(diǎn)能量的過快消耗,。此時(shí)采用Temporary energy可預(yù)先考慮節(jié)點(diǎn)能量的消耗速率,這樣對(duì)路徑剩余能量的比較更公平準(zhǔn)確,。
3.1.4 能量感知過程說明
   變量說明:R代表cache中的Residual energy字段記錄的值,;P代表cache中的Power level字段記錄的值;T代表cache中的Temporary energy字段記錄的值(用于和RREP中的E比較),;E代表RREP的Path energy字段記錄的值,。
   (1)節(jié)點(diǎn)剩余能量的計(jì)算過程
   每個(gè)節(jié)點(diǎn)都保存著自己剩余能量的數(shù)值R,同時(shí),,保存著臨時(shí)的發(fā)射功率水平數(shù)值P(P是MEDSR協(xié)議經(jīng)過能量水平調(diào)整而暫時(shí)存儲(chǔ)在本地cache表當(dāng)中的),。每轉(zhuǎn)發(fā)一個(gè)數(shù)據(jù)包,節(jié)點(diǎn)就進(jìn)行操作:R:=R-P,。
   (2)路徑剩余能量的計(jì)算過程
   在MEDSR協(xié)議路由應(yīng)答過程中,,目的節(jié)點(diǎn)的下一跳鄰居節(jié)點(diǎn)進(jìn)行能量水平調(diào)整以及相應(yīng)的臨時(shí)剩余能量T計(jì)算。首先進(jìn)行計(jì)算T:=R-P,,然后將自己的T賦值到RREP中的Path energy字段,。當(dāng)RREP到達(dá)目的節(jié)點(diǎn)的次下一跳鄰居節(jié)點(diǎn)時(shí),該節(jié)點(diǎn)也進(jìn)行能量水平調(diào)整和臨時(shí)剩余能量T計(jì)算,,然后將自己的T值和RREP中的E值進(jìn)行比較:如果T<E,,則E:=T;如果T>=E,,則E不做任何改變,。
   將RREP繼續(xù)往源節(jié)點(diǎn)轉(zhuǎn)發(fā),RREP中只儲(chǔ)存唯一的一個(gè)E值,。根據(jù)上面分析可知,,E儲(chǔ)存的是該路徑的剩余能量,。
   當(dāng)源節(jié)點(diǎn)接收到經(jīng)過多個(gè)RREP后,比較它們當(dāng)中的E值,,源節(jié)點(diǎn)首先選擇E最大的的路徑進(jìn)行數(shù)據(jù)包的轉(zhuǎn)發(fā),,即選擇剩余能量最大的路徑進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。
3.1.5 能量感知形式化說明
   圖2(a)和圖2(b)分別用無向圖和有向圖表示同一個(gè)網(wǎng)絡(luò)[5],。圖2(a)中節(jié)點(diǎn)旁邊的數(shù)字代表節(jié)點(diǎn)的剩余能量R,,節(jié)點(diǎn)之間的數(shù)字代表經(jīng)過調(diào)整發(fā)射能量水平數(shù)值P。圖2(b)中節(jié)點(diǎn)旁邊的數(shù)字代表節(jié)點(diǎn)的剩余能量R,,節(jié)點(diǎn)之間的數(shù)字代表臨時(shí)剩余能量T,。

   如圖2(b),節(jié)點(diǎn)d和節(jié)點(diǎn)b進(jìn)行通信,,d,、b之間有兩條路徑,分別是d-a-b和d-c-b,,路徑d-a-b的剩余能量E是60,;路徑d-c-b的剩余能量E是55,所以節(jié)點(diǎn)d和節(jié)點(diǎn)b進(jìn)行通信時(shí),,會(huì)優(yōu)先選擇剩余能量值較大的d-a-b路徑,。再如,節(jié)點(diǎn)a和節(jié)點(diǎn)c進(jìn)行通信,,a,、c之間有兩條路徑,分別是a-b-c和a-d-c,,路徑a-b-c的剩余能量E是35,;路徑a-d-c的剩余能量E是55,所以節(jié)點(diǎn)a和節(jié)點(diǎn)c進(jìn)行通信時(shí),,會(huì)優(yōu)先選擇剩余能量值較大的a-d-c路徑,。
3.2 路由算法
3.2.1 路由請求

   (1)源節(jié)點(diǎn)S在本地路由緩存中檢查是否存在到達(dá)目的節(jié)點(diǎn)D的路由。如果存在,,則轉(zhuǎn)(2),,否則開始路由請求過程:節(jié)點(diǎn)選擇可調(diào)整的功率水平轉(zhuǎn)發(fā)RREQ。首先,,源節(jié)點(diǎn)S使用低功率水平發(fā)送路由請求數(shù)據(jù)包RREQ,,如果發(fā)送成功,則將功率水平信息存放到RREQ發(fā)射功率值列表字段Power list中,;否則,,選擇高功率水平發(fā)送路由請求數(shù)據(jù)包RREQ,如果發(fā)射成功,進(jìn)行如上述功率水平信息同樣的操作,,并轉(zhuǎn)(3)。否則,,路由請求失敗,。
   (2)使用該路由發(fā)送數(shù)據(jù)分組。
   (3)下一跳鄰居節(jié)點(diǎn)接收到RREQ后,,首先檢查路由請求表中是否有對(duì)應(yīng)的表項(xiàng),,如果有,直接丟棄該RREQ,;否則,,檢查路由請求分組的路由記錄是否已含有該節(jié)點(diǎn),如果有,,丟棄該分組,。然后,如果路由請求分組的目的節(jié)點(diǎn)為節(jié)點(diǎn)本身,,即將自己的地址信息加到RREQ中,,并將功率水平信息加到RREQ中發(fā)射功率值列表字段Power list中,該節(jié)點(diǎn)同時(shí)反向轉(zhuǎn)發(fā)RREP,,RREP中保存RREQ中功率水平信息,;如果不是節(jié)點(diǎn)本身,也將自己的地址信息加到RREQ中,,該節(jié)點(diǎn)同樣選擇可調(diào)整的功率水平轉(zhuǎn)發(fā)RREQ,,并且將自己的功率水平信息加到RREQ功率值列表字段Power list中,并轉(zhuǎn)發(fā)RREQ,。
   (4)次下一跳鄰居節(jié)點(diǎn)接收到RREQ后,,重復(fù)操作(3)。
   (5)所有中間節(jié)點(diǎn)按照步驟(3)操作,,直到所有RREQ到達(dá)目的節(jié)點(diǎn)D,。
3.2.2 路由應(yīng)答
   (1)目的節(jié)點(diǎn)D將自己的地址信息和功率水平信息加到RREP中,并反向轉(zhuǎn)發(fā)RREP,,并轉(zhuǎn)(2),,同時(shí)進(jìn)行路徑剩余能量的計(jì)算。
   (2)下一跳鄰居節(jié)點(diǎn)接收到RREP后,,首先根據(jù)MEDSR協(xié)議中的功率水平調(diào)整機(jī)制進(jìn)行功率的調(diào)整,,并將計(jì)算得到的Pmin存放到本地cache中的Power level字段。然后進(jìn)行臨時(shí)剩余能量的計(jì)算T:=R-P,,將自己的T賦值到RREP中的Path energy字段,。最后繼續(xù)轉(zhuǎn)發(fā)RREP。
   (3)次下一跳鄰居節(jié)點(diǎn)接收到RREP后,,首先根據(jù)MEDSR協(xié)議中的功率水平調(diào)整機(jī)制進(jìn)行功率的調(diào)整,,并將計(jì)算得到的Pmin存放到本地cache中的Power level字段,。然后進(jìn)行臨時(shí)剩余能量的計(jì)算T:=R-P,將自己的T值和RREP中的E值進(jìn)行比較:
   如果T<E,,則E:=T,;如果T>=E,則E不做任何改變,。最后繼續(xù)轉(zhuǎn)發(fā)RREP,。
   (4)所有中間節(jié)點(diǎn)按照步驟(3)操作后,向下一鄰居節(jié)點(diǎn)繼續(xù)轉(zhuǎn)發(fā)RREP,,直到RREP到達(dá)源節(jié)點(diǎn)S,。
   (5)源節(jié)點(diǎn)S選取Path energy值最大的RREP提供的路由信息進(jìn)行數(shù)據(jù)分組的轉(zhuǎn)發(fā)。
3.3 路由過程
3.3.1 路由請求過程

   (1)從如圖3可以看到源節(jié)點(diǎn)S在路由緩存中并沒有發(fā)現(xiàn)到達(dá)目的節(jié)點(diǎn)D的緩存路由,。源節(jié)點(diǎn)S開始路由請求過程:節(jié)點(diǎn)S使用可調(diào)整的功率水平發(fā)送路由請求數(shù)據(jù)包RREQ,,將功率水平信息存放到RREQ功率值列表字段Power list中,并轉(zhuǎn)發(fā)RREQ,。圖3中(S,,B)的功率水平值為20,(S,,E)的功率水平值為15,。

   (2)下一跳鄰居節(jié)點(diǎn)B和E接收到RREQ后,首先,,節(jié)點(diǎn)B和E檢查路由請求表并沒有發(fā)現(xiàn)對(duì)應(yīng)的表項(xiàng),;同時(shí)檢查路由請求分組的路由記錄也沒有發(fā)現(xiàn)含有該節(jié)點(diǎn),則不丟棄RREQ,。然后,,節(jié)點(diǎn)B和E檢查路由請求分組的目的節(jié)點(diǎn)不是節(jié)點(diǎn)B和E本身,同時(shí)將自己的地址信息加到RREQ中,,該節(jié)點(diǎn)同樣選擇可調(diào)整的功率水平轉(zhuǎn)發(fā)RREQ,,將自己的功率水平信息加到RREQ功率值列表字段中,并轉(zhuǎn)發(fā)RREQ,。圖3中(E,,F(xiàn))的功率水平值為15,(B,,C)的功率水平值為20,。
   (3)次下一跳鄰居節(jié)點(diǎn)F和C接收到RREQ后,首先,,節(jié)點(diǎn)F和C檢查路由請求表并沒有發(fā)現(xiàn)對(duì)應(yīng)的表項(xiàng),;同時(shí)檢查路由請求分組的路由記錄也沒有發(fā)現(xiàn)含有該節(jié)點(diǎn),則不丟棄RREQ。然后,,節(jié)點(diǎn)F和C檢查路由請求分組的目的節(jié)點(diǎn)不是節(jié)點(diǎn)F和C本身,,同時(shí)將自己的地址信息加到RREQ中,該節(jié)點(diǎn)同樣選擇可調(diào)整的功率水平轉(zhuǎn)發(fā)RREQ,,將自己的功率水平信息加到RREQ功率值列表字段中,,并轉(zhuǎn)發(fā)RREQ。圖3中(F,,G)的功率水平值為15。
   但是,,次下一跳鄰居節(jié)點(diǎn)H接收到節(jié)點(diǎn)B和E轉(zhuǎn)發(fā)過來的RREQ,,如圖3中節(jié)點(diǎn)H先接收到節(jié)點(diǎn)B轉(zhuǎn)發(fā)過來的RREQ,并且不丟棄,,節(jié)點(diǎn)H檢查路由請求分組的目的節(jié)點(diǎn)不是節(jié)點(diǎn)H本身,,同時(shí)將自己的地址信息加到RREQ中,該節(jié)點(diǎn)同樣選擇可調(diào)整的功率水平轉(zhuǎn)發(fā)RREQ,,將自己的功率水平信息加到RREQ功率值列表字段中,,并轉(zhuǎn)發(fā)該RREQ。此后,,節(jié)點(diǎn)H接收節(jié)點(diǎn)E轉(zhuǎn)發(fā)過來的RREQ,,發(fā)現(xiàn)路由請求表中有對(duì)應(yīng)的表項(xiàng),丟棄掉該RREQ,。
   (4)同理,,中間節(jié)點(diǎn)C接收到節(jié)點(diǎn)B和H轉(zhuǎn)發(fā)過來的RREQ,圖3中節(jié)點(diǎn)C先接收到節(jié)點(diǎn)B轉(zhuǎn)發(fā)過來的RREQ,,并且不丟棄,,節(jié)點(diǎn)C檢查路由請求分組的目的節(jié)點(diǎn)不是節(jié)點(diǎn)C本身,同時(shí)將自己的地址信息加到RREQ中,,該節(jié)點(diǎn)同樣選擇可調(diào)整的功率水平轉(zhuǎn)發(fā)RREQ,,將自己的功率水平信息加到RREQ功率值列表字段中,并轉(zhuǎn)發(fā)該RREQ,。此后,,節(jié)點(diǎn)C接收節(jié)點(diǎn)H轉(zhuǎn)發(fā)過來的RREQ,發(fā)現(xiàn)路由請求表中有對(duì)應(yīng)的表項(xiàng),,丟棄掉該RREQ,。圖3中(C,D)的功率水平值為15,。
   (5)最后,,直到所有RREQ到達(dá)目的節(jié)點(diǎn)D。如圖3中(S,E,,F(xiàn),,G)和(S,B,,C)到達(dá)目的節(jié)點(diǎn)D,。
3.3.2 路由應(yīng)答過程
   (1)目的節(jié)點(diǎn)D將自己的功率水平信息加到RREP中,并反向轉(zhuǎn)發(fā)RREP,,如圖4所示,。

   (2)下一跳鄰居節(jié)點(diǎn)C和G接收到RREP后,首先根據(jù)MEDSR協(xié)議中的功率水平調(diào)整機(jī)制進(jìn)行功率的調(diào)整,,并將計(jì)算Pmin存放到cache中的Power level字段,。圖4中C和G的Pmin都是15。然后進(jìn)行臨時(shí)剩余能量的計(jì)算 T:=R-P,, C的剩余能量R是85,,因此,C的T值為70,。同理,,G的T值為75,然后將自己的T賦值到RREP中的Path energy字段,。(S,,B,C,,D)中,,M:=70;(S,,E,,F(xiàn),G,,D)中,,M:=75。最后繼續(xù)轉(zhuǎn)發(fā)RREP,。
 (3)次下一跳節(jié)點(diǎn)B和F接收到RREP后,,首先根據(jù)MEDSR協(xié)議中的功率水平調(diào)整機(jī)制進(jìn)行功率的調(diào)整,并將計(jì)算Pmin存放到cache中的Power level字段,。如圖4,,B和F的Pmin都是15。然后進(jìn)行臨時(shí)剩余能量的計(jì)算T:=R-P,,B的剩余能量R是70,因此B的T值為55,。同理,,F(xiàn)的T值為65,然后將自己的T值和RREP中的M值進(jìn)行比較:
   (S,,B,,C,D)中,,55<70則E:=55,;
   (S,E,,F(xiàn),,G,D)中,,65<75則E:=65,。
   (4)所有中間節(jié)點(diǎn)進(jìn)行臨時(shí)剩余能量計(jì)算以及路徑剩余能量計(jì)算操作后,向下一節(jié)點(diǎn)繼續(xù)轉(zhuǎn)發(fā)RREP,,直到RREP到達(dá)源節(jié)點(diǎn)S。
   (5)源節(jié)點(diǎn)S選取Path energy最大的RREP提供的路由信息進(jìn)行數(shù)據(jù)分組的轉(zhuǎn)發(fā),。
   (S,,B,C,,D)中,,E=55;
   (S,,E,,F(xiàn),G,,D)中,,E=65。
   所以源節(jié)點(diǎn)S選取(S,,E,,F(xiàn),G,,D)進(jìn)行數(shù)據(jù)分組的轉(zhuǎn)發(fā),,并不是選擇跳數(shù)較少的(S,B,,C,,D)進(jìn)行數(shù)據(jù)分組的轉(zhuǎn)發(fā)。
   本文針對(duì)MEDSR協(xié)議中存在的問題對(duì)路由發(fā)現(xiàn)過程進(jìn)行改進(jìn),,加入能量感知策略,,能量感知可使數(shù)據(jù)流平均地分布在網(wǎng)絡(luò)的各個(gè)節(jié)點(diǎn)中,,減少網(wǎng)絡(luò)節(jié)點(diǎn)的過度使用,使網(wǎng)絡(luò)分割的可能性減小,,延長網(wǎng)絡(luò)的使用壽命,。減少了路徑上中間節(jié)點(diǎn)的能量消耗,從而降低了由于能量消耗殆盡導(dǎo)致的網(wǎng)絡(luò)分割或拓?fù)渥兓l(fā)生的概率,。
   下一步工作是深入模擬和分析該協(xié)議的性能,,并與DSR協(xié)議和MEDSR協(xié)議進(jìn)行比較。
參考文獻(xiàn)
[1] 于宏毅.無線移動(dòng)自組織網(wǎng)[M].北京:人民郵電出版社,,2005.
[2] TARIQUE M,, TEPE K E. Minimum energy hierarchical dynamic source routing for mobile ad hoc networks[J]. Ad Hoc Networks 2009,7(6):1125-1135.
[3] SINGH S,, WOO M,, RAGHAVENDRA C S. Power-aware routing in mobile ad hoc networks[C]. Proceedings of the 4th Annual ACM/IEEE Intemational Conferere on Mobile Computing and Netwodeing, 1998:181-190.
[4] TOH C K,, COBB H,, SCOTT D A. Performance evaluation of battery-lifeaware routing schemes for wireless ad hoc networks[C]. IEEE International Conference on Communications(ICC), 2001:2824-2829.
[5] MOHANOOR A B,, RADHAKRISHNAN S,, SARANGAN V. Online energy aware routing in wireless networks[J]. Ad Hoc Networks, 2009,,7(5):918-931.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。