本發(fā)明涉及無(wú)線通信領(lǐng)域,特別涉及到一種基于距離估計(jì)的AODV路由協(xié)議優(yōu)化方法。
背景技術(shù):
無(wú)線傳感器網(wǎng)絡(luò)(WSN)是一種偏應(yīng)用型的研究領(lǐng)域,其理論與實(shí)踐技術(shù)的研究都是與具體的應(yīng)用環(huán)境相關(guān)的。與傳統(tǒng)的網(wǎng)絡(luò)相比,其具有節(jié)點(diǎn)隨機(jī)分布、網(wǎng)絡(luò)自組織、動(dòng)態(tài)拓?fù)洹⒐?jié)點(diǎn)能量受限等特點(diǎn)。為實(shí)現(xiàn)網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)的長(zhǎng)期高效傳輸,出現(xiàn)了專(zhuān)門(mén)適用于此種自組織網(wǎng)絡(luò)的路由協(xié)議,分析比較AODV、DSR、TORA,AODV(Ad hoc On-demand Distance Vector)是一種典型的自組織按需距離矢量路由協(xié)議。結(jié)果表明AODV協(xié)議在平均能耗、節(jié)點(diǎn)存活率、平均端到端時(shí)延上表現(xiàn)較優(yōu)[1]。AODV(Ad hoc On-demand Distance Vector)是一種典型的自組織按需距離矢量路由協(xié)議,它根據(jù)源節(jié)點(diǎn)的數(shù)據(jù)傳輸需求以較小的路由開(kāi)銷(xiāo)建立可靠的傳輸路徑。
經(jīng)過(guò)對(duì)現(xiàn)有技術(shù)文獻(xiàn)的檢索發(fā)現(xiàn),公開(kāi)號(hào)CN102404819A的專(zhuān)利文獻(xiàn)公開(kāi)了一種基于自組織網(wǎng)按需距離矢量協(xié)議的路由方法,其通過(guò)在路由請(qǐng)求RREQ中增加能量條目,判斷各傳輸節(jié)點(diǎn)剩余能量等級(jí),根據(jù)判斷結(jié)果建立能耗最小數(shù)據(jù)傳輸路徑。公開(kāi)號(hào)CN102271378A的專(zhuān)利文獻(xiàn)公開(kāi)了一種在無(wú)線自組織網(wǎng)中基于路徑跳數(shù)和節(jié)點(diǎn)相對(duì)運(yùn)動(dòng)速度的路由選擇方法,通過(guò)在節(jié)點(diǎn)間發(fā)送HELLO協(xié)議包來(lái)計(jì)算各節(jié)點(diǎn)相對(duì)運(yùn)動(dòng)速度,并在路由請(qǐng)求RREQ中加入此運(yùn)動(dòng)速度條目,實(shí)現(xiàn)提供數(shù)據(jù)傳輸可靠性的目的。
以上方法通過(guò)在路由請(qǐng)求RREQ中加入能量、運(yùn)動(dòng)速度條目以實(shí)現(xiàn)其優(yōu)化目標(biāo),針對(duì)不同的應(yīng)用環(huán)境,AODV仍存在優(yōu)化的可能。在實(shí)際的路由建立過(guò)程中,即使對(duì)RREQ廣播次數(shù)做出限制,泛洪式的廣播RREQ的指向性仍較弱,也會(huì)使得目的節(jié)點(diǎn)多次發(fā)送RREP到源節(jié)點(diǎn),而源節(jié)點(diǎn)最終僅選擇一條有效路徑,可知路由建立的開(kāi)銷(xiāo)存在減小的可能;對(duì)于目的節(jié)點(diǎn)序列號(hào)相同的路由路徑會(huì)選擇跳數(shù)較小的,已達(dá)到減少數(shù)據(jù)傳輸距離、減少數(shù)據(jù)傳輸能耗的目的,但因此也會(huì)導(dǎo)致靠近目的節(jié)點(diǎn)的某些節(jié)點(diǎn)頻繁的被選為路由中間節(jié)點(diǎn),這些節(jié)點(diǎn)能量消耗較快,使得整個(gè)網(wǎng)絡(luò)能耗不均衡。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于針對(duì)AODV協(xié)議路由建立過(guò)程中無(wú)指向性的廣播RREP所導(dǎo)致的路由開(kāi)銷(xiāo)問(wèn)題和某些節(jié)點(diǎn)頻繁被選為路由中間節(jié)點(diǎn)導(dǎo)致的能耗不均衡問(wèn)題,提出一種基于距離估計(jì)的AODV路由協(xié)議優(yōu)化方法,優(yōu)化了路由建立過(guò)程,其對(duì)距離的考量不再是僅根據(jù)源節(jié)點(diǎn)到目的節(jié)點(diǎn)的路由跳數(shù),而是利用與距離有直接關(guān)系的接收信號(hào)功率優(yōu)化路由建立過(guò)程,建立一種分布式與集中式相混合的路由協(xié)議,以實(shí)現(xiàn)降低了路由開(kāi)銷(xiāo),減少了數(shù)據(jù)傳輸?shù)钠骄鶗r(shí)延,延長(zhǎng)了網(wǎng)絡(luò)的生命周期的目的。
實(shí)現(xiàn)本發(fā)明目的的技術(shù)解決方案為:一種基于距離估計(jì)的AODV路由協(xié)議優(yōu)化方法,包括下列步驟:
1)節(jié)點(diǎn)接收到目的節(jié)點(diǎn)定期發(fā)送距離探測(cè)包,根據(jù)接收信號(hào)功率估計(jì)節(jié)點(diǎn)到目的節(jié)點(diǎn)傳輸距離;
2)源節(jié)點(diǎn)廣播帶有上一跳節(jié)點(diǎn)到目的節(jié)點(diǎn)距離條目的路由請(qǐng)求包RREQ,該RREQ包含源節(jié)點(diǎn)地址、目的節(jié)點(diǎn)地址、上一跳節(jié)點(diǎn)地址、源節(jié)點(diǎn)序列號(hào)、目的節(jié)點(diǎn)序列號(hào)、廣播ID、到當(dāng)前節(jié)點(diǎn)的跳數(shù)、上一跳節(jié)點(diǎn)到目的節(jié)點(diǎn)距離條目,中間轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)RREQ前都會(huì)將本節(jié)點(diǎn)到目的節(jié)點(diǎn)的距離更新到上一跳節(jié)點(diǎn)到目的節(jié)點(diǎn)距離條目中;
當(dāng)節(jié)點(diǎn)接收到RREQ后,如果本節(jié)點(diǎn)到目的節(jié)點(diǎn)的距離在一定閾值(dthreshold)范圍內(nèi),則轉(zhuǎn)到步驟5,如果本節(jié)點(diǎn)到目的節(jié)點(diǎn)的距離在一定閾值范圍外,則順序執(zhí)行步驟4;該閾值取值為1~3倍節(jié)點(diǎn)有效半徑R,假設(shè)整個(gè)無(wú)線傳感器網(wǎng)絡(luò)內(nèi)有n個(gè)節(jié)點(diǎn),x、y為網(wǎng)絡(luò)區(qū)域內(nèi)的橫縱坐標(biāo),無(wú)線傳感器網(wǎng)絡(luò)面積為S網(wǎng)絡(luò),每平方米內(nèi)節(jié)點(diǎn)個(gè)數(shù)用ρ(n)表示,式(1)為ρ(n)與n關(guān)系表達(dá)式。
式(1)∫∫ρ(n)dxdy=n
實(shí)際網(wǎng)絡(luò)中ρ(n)是隨坐標(biāo)變化的,將ρ(n)簡(jiǎn)化為公式(2);
式(2)S網(wǎng)絡(luò)·ρ(n)=n
節(jié)點(diǎn)有效半徑R與每平方米內(nèi)節(jié)點(diǎn)個(gè)數(shù)ρ(n)關(guān)系為公式(3);
式(3)πR2=1/ρ(n)
綜合(1)、(2)、(3)式得到如下閾值計(jì)算公式:
4)如果本節(jié)點(diǎn)相對(duì)于上一跳節(jié)點(diǎn)到目的節(jié)點(diǎn)距離增大,則將RREQ包丟棄,如果本節(jié)點(diǎn)相對(duì)于上一跳節(jié)點(diǎn)到目的節(jié)點(diǎn)距離減小,則順序執(zhí)行步驟5;
5)如果RREQ包為節(jié)點(diǎn)本身發(fā)送或者節(jié)點(diǎn)是已經(jīng)接收過(guò)此RREQ包,則將RREQ包丟棄,否則,建立本節(jié)點(diǎn)到上一跳節(jié)點(diǎn)的反向路由,并繼續(xù)廣播RREQ直到目的節(jié)點(diǎn)接收到;
6)當(dāng)中間轉(zhuǎn)發(fā)節(jié)點(diǎn)接收到RREQ后,如果中間轉(zhuǎn)發(fā)節(jié)點(diǎn)有到目的節(jié)點(diǎn)的有效路由或者中間轉(zhuǎn)發(fā)節(jié)點(diǎn)就是目的節(jié)點(diǎn),則沿反向路由發(fā)送路由應(yīng)答包RREP,否則,繼續(xù)廣播RREQ直到目的節(jié)點(diǎn)接收到;
當(dāng)源節(jié)點(diǎn)接收到多個(gè)RREP,選擇目的節(jié)點(diǎn)序列號(hào)最大,或者目的節(jié)點(diǎn)序列號(hào)相同但跳數(shù)小的RREP建立有效路由路徑,并向目的節(jié)點(diǎn)發(fā)送路由應(yīng)答認(rèn)可包RREP-ACK。
本發(fā)明與現(xiàn)有技術(shù)相比,其顯著效果是:1)源節(jié)點(diǎn)發(fā)送的路由請(qǐng)求包RREQ增加了上一跳節(jié)點(diǎn)到目的節(jié)點(diǎn)距離條目,中間轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)RREQ前都會(huì)將本節(jié)點(diǎn)到目的節(jié)點(diǎn)的距離更新到此條目中。2)節(jié)點(diǎn)接收到RREQ后,判斷本節(jié)點(diǎn)到目的節(jié)點(diǎn)距離是否在一定閾值(dthreshold)范圍內(nèi),提出了該閾值的計(jì)算方法。3)當(dāng)節(jié)點(diǎn)到目的節(jié)點(diǎn)的距離在一定閾值范圍內(nèi)時(shí),路由建立過(guò)程與原AODV一致,當(dāng)節(jié)點(diǎn)到目的節(jié)點(diǎn)的距離在一定閾值范圍外時(shí),增加了判斷本節(jié)點(diǎn)相對(duì)于上一跳節(jié)點(diǎn)到目的節(jié)點(diǎn)距離是否增大的步驟,如果本節(jié)點(diǎn)相對(duì)于上一跳節(jié)點(diǎn)到目的節(jié)點(diǎn)距離增大,則丟棄該RREQ包。
附圖說(shuō)明
圖1為本發(fā)明流程圖。
圖2為傳統(tǒng)AODV路由協(xié)議與優(yōu)化后AODV路由協(xié)議(D-AODV)平均時(shí)延性能對(duì)比圖。
圖3為傳統(tǒng)AODV路由協(xié)議與優(yōu)化后AODV路由協(xié)議(D-AODV)歸一化路由開(kāi)銷(xiāo)性能對(duì)比圖。
具體實(shí)施方式
以下結(jié)合附圖和具體實(shí)施例,對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。
該仿真具體實(shí)施例的場(chǎng)景為在1000m×100m的范圍內(nèi)隨機(jī)布置50個(gè)節(jié)點(diǎn),節(jié)點(diǎn)最大移動(dòng)速度為20m/s,在每個(gè)地點(diǎn)的停留時(shí)間分別設(shè)置為0、30、60、90、120、300秒,停留時(shí)間0秒表示節(jié)點(diǎn)一直運(yùn)動(dòng),停留時(shí)間300秒表示節(jié)點(diǎn)不動(dòng)。暫停時(shí)間反映了網(wǎng)絡(luò)拓?fù)渥兓念l繁程度,暫停時(shí)間越長(zhǎng),節(jié)點(diǎn)的移動(dòng)性越差。節(jié)點(diǎn)間最多有30條連接,某時(shí)刻每個(gè)CBR源每秒鐘發(fā)送2個(gè)CBR數(shù)據(jù)包。下文僅介紹區(qū)別于傳統(tǒng)AODV的實(shí)施部分。
步驟1)中距離探測(cè)包D-HELLO包含目的節(jié)點(diǎn)地址、廣播ID條目,為估計(jì)節(jié)點(diǎn)到基站(目的節(jié)點(diǎn))傳輸距離,采用距離-接收信號(hào)功率模型描述了節(jié)點(diǎn)間距離與接收到信號(hào)功率的關(guān)系,在基站和移動(dòng)節(jié)點(diǎn)之間,單一的直線傳播不再是唯一的傳播方式,雙徑地面反射模型處理考慮直線傳播路徑還考慮了地面反射路徑,在長(zhǎng)距離傳輸環(huán)境中更為準(zhǔn)確。距離與接收信號(hào)功率的關(guān)系如式(4)所示:
d為距離;ht和hr分別為發(fā)射天線和接收天線的高度;Gt和Gr分別為發(fā)射方和接收方的天線增益;L(L≥1)為系統(tǒng)損壞;Pt和Pr分別為發(fā)射和接收的信號(hào)功率。
步驟2)中源節(jié)點(diǎn)發(fā)送的路由請(qǐng)求包RREQ增加了上一跳節(jié)點(diǎn)到目的節(jié)點(diǎn)距離條目:
struct hdr_d-aodv_request{
...
double rq_dist_BS;//上一跳節(jié)點(diǎn)到目的節(jié)點(diǎn)距離條目
...}
中間轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)RREQ前將本節(jié)點(diǎn)到目的節(jié)點(diǎn)的距離更新到上一跳節(jié)點(diǎn)到目的節(jié)點(diǎn)距離條目中:
rq->rq_dist_BS=my_dist_BS;
步驟3)中判斷了接收RREQ的節(jié)點(diǎn)到目的節(jié)點(diǎn)的距離是否在一定閾值范圍外,步驟4)中判斷了本節(jié)點(diǎn)相對(duì)于上一跳節(jié)點(diǎn)到目的節(jié)點(diǎn)距離是否增大:
結(jié)合圖2、圖3,對(duì)本發(fā)明的距離估計(jì)路由優(yōu)化方法仿真結(jié)果進(jìn)行分析,圖2、圖3橫坐標(biāo)為節(jié)點(diǎn)在每個(gè)地點(diǎn)的停留時(shí)間,停留時(shí)間越小,表明節(jié)點(diǎn)移動(dòng)頻率越高,D-AODV表示優(yōu)化后的路由協(xié)議。
平均時(shí)延表明數(shù)據(jù)包從源節(jié)點(diǎn)IP層到目的節(jié)點(diǎn)IP層所需的平均時(shí)間,反映了路由的有效性。從圖2可以看出,D-AODV的平均時(shí)延明顯低于AODV,在停留時(shí)間為60秒時(shí),其平均時(shí)延降低了51%,在停留時(shí)間為30秒時(shí),優(yōu)化后協(xié)議仍較好的控制住了平均時(shí)延。路由發(fā)現(xiàn)過(guò)程中通過(guò)比較本節(jié)點(diǎn)與上一跳節(jié)點(diǎn)到目的節(jié)點(diǎn)的距離,加快了源節(jié)點(diǎn)到目的節(jié)點(diǎn)的路由路徑的收斂速度,大大降低了路由發(fā)現(xiàn)時(shí)延;相比AODV僅在目的節(jié)點(diǎn)序列號(hào)一致的條件下依靠較小跳數(shù)來(lái)減少傳輸距離,改進(jìn)后協(xié)議在比較目的節(jié)點(diǎn)序列號(hào)之前已經(jīng)從節(jié)點(diǎn)到目的節(jié)點(diǎn)距離因素上對(duì)傳輸路徑進(jìn)行了挑選,故數(shù)據(jù)傳輸時(shí)延、MAC層重傳時(shí)延也會(huì)得到改善。
歸一化路由開(kāi)銷(xiāo)是每發(fā)送一個(gè)數(shù)據(jù)包所需要的路由消息包數(shù)目。從圖3可看出,D-AODV歸一化路由開(kāi)銷(xiāo)的降低與平均時(shí)延的降低是相呼應(yīng)的,且無(wú)論節(jié)點(diǎn)移動(dòng)頻率的高低,優(yōu)化后路由開(kāi)銷(xiāo)減少程度都是相當(dāng)明顯的。當(dāng)中間節(jié)點(diǎn)接收到路由請(qǐng)求包RREQ時(shí),會(huì)根據(jù)當(dāng)前節(jié)點(diǎn)到目的節(jié)點(diǎn)距離決定是否轉(zhuǎn)發(fā)RREQ,使得RREQ朝著目的節(jié)點(diǎn)方向發(fā)送,相對(duì)于AODV,D-AODV減少了RREQ轉(zhuǎn)發(fā)數(shù)量,也排除了目的節(jié)點(diǎn)接收繞路較遠(yuǎn)的RREQ的可能性,即減少了目的節(jié)點(diǎn)發(fā)送路由回復(fù)包RREP的數(shù)量。