摘要:本文建議了一種計(jì)算能量有效路由的新量度,提出了OLSR協(xié)議中選擇能量有效路由的新機(jī)制,主要設(shè)計(jì)目標(biāo)是延長(zhǎng)低電節(jié)點(diǎn)壽命的同時(shí)盡量降低數(shù)據(jù)分組的傳輸能耗。使用NS2仿真器將它們與OLSR及MMBCR協(xié)議進(jìn)行了比較,說(shuō)明新機(jī)制可以提供更好性能。
1 引言
設(shè)計(jì)能量有效的路由協(xié)議是自組網(wǎng)中一個(gè)非常重要的研究領(lǐng)域。自組網(wǎng)中的移動(dòng)節(jié)點(diǎn)一 般依賴電池供電,移動(dòng)設(shè)備可攜帶的電池不可能過(guò)大,造成電池提供的電能非常有限;在法 律強(qiáng)制行動(dòng)、搶險(xiǎn)救災(zāi)或軍事作戰(zhàn)行動(dòng)這樣的重要環(huán)境中,充電或更換電池常常是不可能的; 自組網(wǎng)中即使主機(jī)自己不通信,仍然需要頻繁地轉(zhuǎn)發(fā)其它節(jié)點(diǎn)的數(shù)據(jù)分組,從而使自己的電 池能量下降;因此,節(jié)省自組網(wǎng)中移動(dòng)節(jié)點(diǎn)的能量,延長(zhǎng)節(jié)點(diǎn)的工作時(shí)間,維護(hù)網(wǎng)絡(luò)連通性 就成為自組網(wǎng)技術(shù)研究中的一個(gè)熱點(diǎn)。
圍繞能量有效路由協(xié)議的研究已經(jīng)取得了許多進(jìn)展,主要的研究方向是通信狀態(tài)的能量 有效與空閑狀態(tài)的能量有效。節(jié)點(diǎn)通信狀態(tài)消耗的能量,包括數(shù)據(jù)的發(fā)送與接收必須消耗的 能量和路由發(fā)現(xiàn)與維護(hù)所消耗的能量。
節(jié)省通信能量主要圍繞兩種思路展開(kāi):一是尋找源節(jié) 點(diǎn)到目的節(jié)點(diǎn)消耗能量最少的路由,代表性協(xié)議有MTPR、PARO、COMPOW 等。二是盡 量避開(kāi)低電節(jié)點(diǎn)參與路由,從而減少低電節(jié)點(diǎn)的能耗,避免低電節(jié)點(diǎn)因斷電退出網(wǎng)絡(luò)而造成 網(wǎng)絡(luò)分割,代表性協(xié)議主要有MMBCR、MDR、LEAR、EDDSR 等。還有一些協(xié)議如 CMMBCR、CMDR 等探討以上兩種思路的綜合實(shí)現(xiàn)。 先應(yīng)式路由協(xié)議的路由信息總是保持最新可用,端到端延遲小,這些突出優(yōu)點(diǎn)特別適合 于野戰(zhàn)環(huán)境、法律強(qiáng)制行動(dòng)或搶險(xiǎn)救災(zāi)中大量節(jié)點(diǎn)短時(shí)間內(nèi)相互通信的情況,先應(yīng)式路由協(xié) 議OLSR 的MPR 選擇機(jī)制大幅度地降低了路由的建立與維護(hù)開(kāi)銷(xiāo),為建立能量有效路由打 下了良好基礎(chǔ)。但先應(yīng)式路由協(xié)議總是建立并維護(hù)著到達(dá)網(wǎng)絡(luò)中所有可達(dá)目的節(jié)點(diǎn)的路由信 息,在數(shù)據(jù)流量分布不均衡時(shí),先應(yīng)式路由協(xié)議比起反應(yīng)式路由來(lái),由于大量地路由發(fā)現(xiàn)與 維護(hù)開(kāi)銷(xiāo),先天地較為浪費(fèi)能量。
目前研究節(jié)省通信能量消耗的許多工作都是基于反應(yīng)式路 由協(xié)議(DSR、AODV 等)進(jìn)行的,而基于先應(yīng)式路由協(xié)議的能量有效研究則較為少見(jiàn)。鑒 于以上情況,本工作以O(shè)LSR 作為基礎(chǔ)協(xié)議探討能量有效路由方案。
本文建議了一種計(jì)算能量有效路由的新量度――路徑瓶頸能量相對(duì)最大條件下取路徑 跳數(shù)最小者;谶@種新量度,提出了OLSR 協(xié)議中選擇能量有效路由的新機(jī)制,主要設(shè)計(jì) 目標(biāo)是延長(zhǎng)低電節(jié)點(diǎn)壽命的同時(shí)盡量降低數(shù)據(jù)分組傳輸?shù)哪芰肯。在NS-2 環(huán)境中將這些新的路由機(jī)制與OLSR 及MMBCR 進(jìn)行了仿真比較,結(jié)果表明新機(jī)制可以提供更好的性能。
2 延長(zhǎng)低電節(jié)點(diǎn)壽命的幾種能量有效路由方案
MMBCR 把節(jié)點(diǎn)的電池剩余能量作為路由選擇的量度,電量充足的節(jié)點(diǎn)比起低電節(jié)點(diǎn)來(lái) 更多地參與數(shù)據(jù)轉(zhuǎn)發(fā)。MMBCR 選擇所有可能路由中瓶頸能量最大的路由。
MDR 利用節(jié)點(diǎn)剩余能量和經(jīng)過(guò)該節(jié)點(diǎn)的數(shù)據(jù)流量預(yù)測(cè)節(jié)點(diǎn)壽命,壽命長(zhǎng)的節(jié)點(diǎn)比起壽 命短的節(jié)點(diǎn)來(lái)更多地參與數(shù)據(jù)轉(zhuǎn)發(fā)。MDR 選擇所有可能路由中壽命最長(zhǎng)的路由。 MMBCR 和MDR 都可以延長(zhǎng)低電節(jié)點(diǎn)的壽命,但不能保證降低網(wǎng)絡(luò)的傳輸總耗能。
CMMBCR/CMDR 將MTPR 與MMBCR/MDR 相結(jié)合,若某路由上所有節(jié)點(diǎn)的能量充足/壽 命足夠長(zhǎng)時(shí),使用MTPR 機(jī)制;如果所有路由上都有節(jié)點(diǎn)處于低電狀態(tài)/壽命太短時(shí),就采 用MMBCR/MDR,謀求盡量降低網(wǎng)絡(luò)總耗能并盡量延長(zhǎng)低電節(jié)點(diǎn)壽命。
3 基于 OLSR 的能量有效路由新方案
延長(zhǎng)低電節(jié)點(diǎn)壽命的路由機(jī)制MMBCR、MDR 在路由發(fā)現(xiàn)時(shí)為了避開(kāi)低電節(jié)點(diǎn),不同 程度增加了源節(jié)點(diǎn)到目的節(jié)點(diǎn)的路徑跳數(shù)。
數(shù)據(jù)傳輸消耗能量與路徑長(zhǎng)度緊密有關(guān),數(shù)據(jù)包 被轉(zhuǎn)發(fā)次數(shù)越多,消耗的能量就越多;頻繁地發(fā)現(xiàn)并維護(hù)路由,不僅降低網(wǎng)絡(luò)的性能,而且 增加能量的消耗,跳數(shù)增加所帶來(lái)的額外能耗是不可忽視的沉重代價(jià)! 為此,本文建議了計(jì)算能量有效路由的一種新量度――路徑瓶頸剩余能量相對(duì)最大條件 下跳數(shù)最少量度。基于這種新量度提出了基于OLSR 的能量有效路由新方案,謀求延長(zhǎng)低電 節(jié)點(diǎn)壽命的同時(shí)盡量降低數(shù)據(jù)分組的傳輸能耗。
能量模型:[2]基于[1]的工作定義了IEEE 802.11 網(wǎng)絡(luò)接口卡(NIC)的能量開(kāi)銷(xiāo)模型, 主機(jī)發(fā)送、接收或丟棄分組時(shí)網(wǎng)絡(luò)接口消耗的能量可以用線性等式描述:E=m×p+n,其 中p 是按字節(jié)計(jì)算的分組大小,m,n 是經(jīng)過(guò)實(shí)驗(yàn)確定的常數(shù),n 代表發(fā)送或接收每分組的 固定開(kāi)銷(xiāo)。根據(jù)[1][2],節(jié)點(diǎn)在一個(gè)時(shí)間區(qū)間消耗的能量可以用下式計(jì)算:有
如果節(jié)點(diǎn)進(jìn)入網(wǎng)絡(luò)時(shí)的初始能量為E0,那么經(jīng)過(guò)一段時(shí)間后節(jié)點(diǎn)的剩余能量就是E0–e。 節(jié)點(diǎn)剩余能量參數(shù)的交換與維護(hù):為了在節(jié)點(diǎn)維護(hù)并在網(wǎng)絡(luò)中分布節(jié)點(diǎn)的剩余能量信 息,需對(duì)OLSR 數(shù)據(jù)結(jié)構(gòu)及功能進(jìn)行擴(kuò)展,擴(kuò)展時(shí)盡量縮小規(guī)模以降低控制開(kāi)銷(xiāo)。具體做法 是:每個(gè)節(jié)點(diǎn)記錄自己發(fā)送、接收的分組數(shù)與字節(jié)數(shù)量,廣播HELLO 時(shí)計(jì)算自己的剩余能 量E0–e;在廣播的HELLO 消息中增加節(jié)點(diǎn)的剩余能量信息、鄰居的剩余能量信息;MPR 節(jié)點(diǎn)在TC 消息中廣播MPR selector 的剩余能量信息,節(jié)點(diǎn)收到TC 消息后在拓?fù)浔碛涗浘W(wǎng) 絡(luò)部分拓?fù)涞哪芰啃畔,并?jù)此計(jì)算并維護(hù)路由。
MPR 算法:采用OLSR 原始協(xié)議的MPR 算法。
能量有效的擴(kuò)展最短路徑算法:OLSR 使用“最少跳數(shù)路徑算法”計(jì)算路由表。本文對(duì) 最短路徑算法進(jìn)行了能量量度擴(kuò)展,節(jié)點(diǎn)計(jì)算路由時(shí),對(duì)所有可能的跳數(shù)H,如果存在到達(dá) 目的節(jié)點(diǎn)D 的H 跳路由,那么在所有可能的H 跳路由中,將瓶頸能量最大的那條路由記錄 到路由表中。最短路徑擴(kuò)展算法產(chǎn)生的路由表,記錄了到達(dá)所有可達(dá)目的節(jié)點(diǎn)的所有可能跳 數(shù)的瓶頸能量最大的路徑,對(duì)于一個(gè)可達(dá)目的節(jié)點(diǎn)來(lái)說(shuō),可以經(jīng)不同跳數(shù)的路徑到達(dá),但是 在相同跳數(shù)的路徑中,只保留了瓶頸能量最大的那一條。