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