鏈路可靠度模型是建立在隨機移走模型的基礎(chǔ)之上的。在隨機移走模型中,節(jié)點的運動過程由一系列隨機長度的時間段組成,該時間段被稱為運動周期(movement epoch)。在一個時間段內(nèi)節(jié),節(jié)點的運動速度和運動方向保持不變。節(jié)點勿的運動屬性由三個參數(shù)來確定:λn、μn和σ2n虧。下面是對這三個參數(shù)的定義和相關(guān)的假設(shè):
?、龠\動周期Tin的長度服從參數(shù)為λn的指數(shù)分布。
?、谶\動周期內(nèi)的節(jié)點運動速度Vin是一個均值為μn方差為σ2n的隨機變量。
?、圻\動周期內(nèi)的節(jié)點運動方向θin;服從(0,2π)內(nèi)的均勻分布。
④運動速度Vin、運動方向鳊和運動周期長度θin是相互獨立的。
?、莨?jié)點的運動是不相關(guān)的,鏈路的失效是獨立的。
對于兩個節(jié)點間的運動,我們可以選定其中一個節(jié)點作為參考點,用另一個節(jié)點的相對位移來表示節(jié)點間的運動關(guān)系,如圖所示。圖中兩個節(jié)點的初始位置是m1和n1,它們之間的距離是C1;在經(jīng)過時間莎后,兩個節(jié)點的位置是m2和n2,相互距離是C2,它們的隨機移動向量是Rm(t)和Rn(t)。若以節(jié)點n為參考點,則時間t后節(jié)點勿相對于節(jié)點n的位置是m3,節(jié)點解相對于節(jié)點刀的相對隨機移動向量為:Rm,n(t)=Rm(t)—Rn(t),兩個節(jié)點之間的相對運動速度可表示為:
圖1 兩個節(jié)點的相對運動關(guān)系
若節(jié)點m和節(jié)點n在時刻t0的相對的移動速度為v,則在t時刻,節(jié)點m相對于節(jié)點n的移動范圍可以用半徑為vt的圓來表示。根據(jù)t0時刻節(jié)點m和節(jié)點n的距離C(C≤Req,Req為移動范圍的最大半徑),其鏈路可靠性可以分為三種情況:
圖2 Ad Hoc網(wǎng)絡(luò)的鏈路可靠性
針對Ad Hoc網(wǎng)絡(luò)節(jié)點間的通信鏈路的不可靠性,本章這里在AD0V協(xié)議的基礎(chǔ)上進行改進,得到了一種基于鏈路可靠性的Ad Hoc網(wǎng)絡(luò)路由協(xié)議:LRBA(link reliability based AODV),在路由的過程中,可以根據(jù)鏈路狀況性選擇可靠性最大的路徑作為路由,從而在很大程度上減少不可靠路由對路由協(xié)議的影響并提高通信的質(zhì)量。為了獲取鏈路的可靠度,在RREQ、RREP和HELLO分組中都增加了存儲節(jié)點坐標(biāo)信息的域,其他節(jié)點在收到這些消息后就可根據(jù)公式(5,1)、(5.2)、(5.3)進行鏈路可靠度計算,并根據(jù)結(jié)果選擇路由或更新路由表。
下面是節(jié)點收到RREQ分組后的處理步驟:
Step1:判斷是杏重復(fù),不重復(fù)轉(zhuǎn)Step2,否則銷毀RREQ轉(zhuǎn)Step8;
Step2:更新路由請求表,轉(zhuǎn)Step3;
Step3:獲取RREQ中的節(jié)點坐標(biāo)信息,獲取鄰表中的節(jié)點歷史信息,計算鏈路可靠度,轉(zhuǎn)Step4;
Step4:更新鄰表和路由表中到達源節(jié)點的表項,轉(zhuǎn)Step5;
Step5:到達目的節(jié)點則轉(zhuǎn)Step7,否則轉(zhuǎn)Step6;
Step6:查找路由表,找到到達目的節(jié)點的路由轉(zhuǎn)Step7,否則轉(zhuǎn)Step8;
Step7:構(gòu)造RREP單播至上一跳節(jié)點,銷毀RREQ,轉(zhuǎn)Step9;
Step8:更新RREQ中的節(jié)點坐標(biāo)信息,廣播RREQ,轉(zhuǎn)Step9;
Step9:返回。
下面是節(jié)點收到RREP分組后的處理步驟:
Step1:判斷是否重復(fù),不重復(fù)轉(zhuǎn)Step2,否則銷毀RREQ轉(zhuǎn)Step9;
Step2:更新路由請求表,轉(zhuǎn)Step3;
Step3:獲取RREP中的節(jié)點坐標(biāo)信息,獲取鄰表中的節(jié)點歷史信息,計算鏈路可靠度,轉(zhuǎn)Step4;
Step4:更新鄰表和路由表中到達源節(jié)點的表項,轉(zhuǎn)Step5;
Step5:到達目的節(jié)點則轉(zhuǎn)Step6,否則轉(zhuǎn)Step7;
Step6:更新路由表,銷毀RREP,轉(zhuǎn)Step9;
Step7:查找路由表,找到到達目的節(jié)點的反向路由轉(zhuǎn)Step8,否則銷毀RREP轉(zhuǎn)Step9;
Step8:更新RREP中的節(jié)點坐標(biāo)信息,轉(zhuǎn)發(fā)RREP,轉(zhuǎn)Step9;
Step9:返回