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