本發(fā)明屬于車聯(lián)網(wǎng)路由技術(shù)領(lǐng)域,尤其涉及一種車聯(lián)網(wǎng)背景下的路由優(yōu)化系統(tǒng)及方法。
背景技術(shù):
車聯(lián)網(wǎng)是物聯(lián)網(wǎng)在汽車中的應(yīng)用形成的通信網(wǎng)絡(luò),它是能夠?qū)崿F(xiàn)車與車、車與人、車與路、人與人通信的一種新型網(wǎng)絡(luò)。車聯(lián)網(wǎng)作為一種新型的通信網(wǎng)絡(luò),其具有節(jié)點移動速度快、節(jié)點移動方向可預(yù)測、實時坐標(biāo)及速度可知、密度變化大、覆蓋面積大等特點。
車聯(lián)網(wǎng)作為一種新型的通信網(wǎng)絡(luò),其諸多特點使該網(wǎng)絡(luò)類似于移動Ad Hoc網(wǎng)絡(luò),但又具有其自身的特點。因此,針對傳統(tǒng)移動Ad Hoc的路由協(xié)議并不完全適用于車聯(lián)網(wǎng)通信。移動Ad Hoc網(wǎng)絡(luò)是復(fù)雜的分布式網(wǎng)絡(luò)系統(tǒng),是自組織、自愈網(wǎng)絡(luò),由無線移動節(jié)點組成。無線移動節(jié)點可以自由而動態(tài)地自組織成任意臨時性“Ad Hoc”網(wǎng)絡(luò)拓?fù)?,從而允許人們在沒有預(yù)先存在的通信基礎(chǔ)設(shè)施的環(huán)境中進(jìn)行無縫地互聯(lián)互通。移動無線自組網(wǎng)的路由算法可分為表驅(qū)動型(如:OLSR、DSDV、、CEDAR)和按需路由型(如:AODV、DSR、ABR)。其中,根據(jù)MANET的要求,在傳統(tǒng)的LS(Link state)協(xié)議的基礎(chǔ)上優(yōu)化發(fā)展而來的OLSR(Optimized Link State Routing)協(xié)議是一種表格驅(qū)動、主動式路由協(xié)議。該協(xié)議有規(guī)律地與網(wǎng)絡(luò)中其他節(jié)點交換拓?fù)湫畔?。其關(guān)鍵概念是多點轉(zhuǎn)播(Multipoint relaying,MPRs),該協(xié)議利用在廣播洪泛的過程中挑選的轉(zhuǎn)發(fā)廣播的節(jié)點來減少網(wǎng)絡(luò)中洪泛的控制信息。另外,AODV(Ad hoc On-demand Distance Vector Routing)是一種按需路由協(xié)議,其以多播的形式發(fā)出路由請求(Route Request,RREQ)報文來尋找目標(biāo)節(jié)點。AODV路由協(xié)議能夠防止路由環(huán)路、能夠快速闊的路由,是Ad Hoc網(wǎng)絡(luò)中按需生成路由方式的典型協(xié)議。
但是OLSR協(xié)議與AODV協(xié)議均不能滿足車聯(lián)網(wǎng)背景下綜合考慮發(fā)送端發(fā)送功率、接收節(jié)點接收到的信號強(qiáng)度、時延、跳數(shù)、節(jié)點移動速度、數(shù)據(jù)傳輸方向等不同的情況下最優(yōu)節(jié)點可能發(fā)生變化的情況等因素的要求。為綜合考慮演示、帶寬、跳數(shù)等因素,王超等人在專利《一種車聯(lián)網(wǎng)中基于蟻群算法的QoS容錯路由選擇方法》中使用帶寬、跳數(shù)和時延等指標(biāo)來計算從源節(jié)點到目的節(jié)點之間多條不相交路徑的通信質(zhì)量,從而對路由進(jìn)行選擇。為綜合考慮帶寬、時延、跳數(shù)、優(yōu)先級和節(jié)點移動速度等因素,萬曉榆等人在專利《一種基于QoS的Ad Hoc網(wǎng)絡(luò)自適應(yīng)節(jié)點速度的多路徑路由方法》中通過增加節(jié)點可用帶寬、當(dāng)前路由時延、跳數(shù)和優(yōu)先級等四個約束條件,利用節(jié)點移動速度的域值和節(jié)點停留時間值的組合狀態(tài)判斷節(jié)點的有效性情況,采用按需過濾法進(jìn)行判斷和選擇多路徑路由,從而使所選路由具有一定的QoS保障。該方法減小了路由失效的幾率,降低了整體網(wǎng)絡(luò)的路由開銷,大大提高了網(wǎng)絡(luò)資源的利用率。但是以上專利仍不能滿足車聯(lián)網(wǎng)背景下需綜合考慮發(fā)送端發(fā)送功率、接收節(jié)點接收到的信號強(qiáng)度、時延、跳數(shù)、節(jié)點移動速度、數(shù)據(jù)傳輸方向等不同的情況下最優(yōu)節(jié)點可能發(fā)生變化的情況等因素的要求。
技術(shù)實現(xiàn)要素:
為了克服現(xiàn)有路由方式由于尚未綜合考慮發(fā)送端發(fā)送功率、接收節(jié)點接收到的信號強(qiáng)度、時延、跳數(shù)、節(jié)點移動速度、數(shù)據(jù)傳輸方向等不同的情況下最優(yōu)節(jié)點可能發(fā)生變化的情況導(dǎo)致已有路由方式不適用于車聯(lián)網(wǎng)環(huán)境的問題,本發(fā)明提供一種綜合考慮信號強(qiáng)度、時延、跳數(shù)、節(jié)點移動速度、數(shù)據(jù)傳輸方向等不同的情況下最優(yōu)節(jié)點不同的優(yōu)化路由選擇的路由系統(tǒng)及方法。
本發(fā)明解決的技術(shù)問題所采用的技術(shù)方案是:
一種用于車聯(lián)網(wǎng)的路由優(yōu)化系統(tǒng),所述路由優(yōu)化系統(tǒng)包括初始化設(shè)置模塊、建立路由表模塊、期望排序模塊、建立鏈路模塊和發(fā)送/接收數(shù)據(jù)包模塊。
所述初始化設(shè)置模塊,用于節(jié)點最大通信距離設(shè)置、發(fā)送功率設(shè)置、f值設(shè)置、k值設(shè)置;其中,f表示數(shù)據(jù)傳輸方向;f取值為{0,1};k值為預(yù)設(shè)值,其值的大小可變;該值的取定主要與預(yù)定最佳通信節(jié)點有關(guān);
所述建立路由表模塊,用于各節(jié)點周期性的廣播/接收Hello消息,同時根據(jù)接收的Hello消息建立并維護(hù)路由表;
所述期望排序模塊,用于各節(jié)點根據(jù)路由表中的信息計算各直接通信節(jié)點(Directly communicate Node,DCNs)的期望值,然后根據(jù)期望公式計算得出的各DCNs節(jié)點的期望值大小,并對各DCNs節(jié)點按期望值從大到小重新排序;
所述建立鏈路模塊,用于當(dāng)源節(jié)點/中間節(jié)點需要發(fā)送數(shù)據(jù)時,源節(jié)點/中間節(jié)點首先廣播一條指向DCN節(jié)點的RREQ消息,然后等待接收DCN節(jié)點的路由請求回應(yīng)(Routing request response,RREP)消息;當(dāng)DCN節(jié)點收到源節(jié)點/中間節(jié)點的RREQ消息時,DCN節(jié)點根據(jù)自身狀態(tài)向源節(jié)點/中間節(jié)點回復(fù)一條指向源節(jié)點/中間節(jié)點的RREP消息以完成鏈路建立過程;
所述發(fā)送/接收數(shù)據(jù)包模塊,用于當(dāng)鏈路建立完成后,源節(jié)點/中間節(jié)點開始向DCN節(jié)點發(fā)送數(shù)據(jù)包;DCN節(jié)點則開始接收數(shù)據(jù)包,同時DCN節(jié)點時刻監(jiān)測鏈路狀態(tài)。
一種用于車聯(lián)網(wǎng)的路由優(yōu)化方法,所述路由優(yōu)化方法包括如下步驟:
步驟1:各節(jié)點對本節(jié)點進(jìn)行初始化設(shè)置,所述初始化設(shè)置包括讀取節(jié)點最大通信距離、讀取默認(rèn)發(fā)送功率、設(shè)置f值為0、根據(jù)默認(rèn)最佳通信距離設(shè)置k值;
步驟2:各節(jié)點廣播Hello消息并建立路由表,過程如下:
步驟2.1、各節(jié)點周期性廣播包含本節(jié)點坐標(biāo)、移動速度、節(jié)點運(yùn)動方向、接收到的節(jié)點ID及對應(yīng)的信號強(qiáng)度等字段的Hello消息;
步驟2.2、各節(jié)點同時接收周圍節(jié)點廣播的Hello消息;然后根據(jù)接收到的Hello消息建立并維護(hù)路由表;
其中,所述Hello消息格式如表1:
表1
其中,設(shè)定路由表格式如表2:
表2
步驟2.3、路由表建立完成后,各節(jié)點周期性發(fā)送及接收Hello消息,并根據(jù)最新接收的Hello消息更新及維護(hù)路由表;
步驟3:各節(jié)點對路由表中的節(jié)點進(jìn)行期望值計算并排序,過程如下:
步驟3.1、各節(jié)點根據(jù)路由表中的信息,結(jié)合本節(jié)點設(shè)置的初始條件,依據(jù)期望公式依次計算各節(jié)點期望值;
其中,期望公式如下:
(1)式中:S為信源信號強(qiáng)度,N為DCN節(jié)點收到本節(jié)點信號的信號強(qiáng)度,L為信源最大通信距離,X為鏈路兩節(jié)點之間的距離,Vs為源節(jié)點移動速度,VN為DCN節(jié)點移動速度;
(1)式中,S與N的關(guān)系式為:
N=S-β0-β1*lg X (2)
(2)式中,S為信源信號強(qiáng)度,N為DCN節(jié)點收到本節(jié)點信號的信號強(qiáng)度,β0、β1表示衰減系數(shù),X為信源與DCN節(jié)點的距離;
步驟3.2、其中,當(dāng)數(shù)據(jù)傳輸方向與源節(jié)點移動速度方向相同時,f取0;當(dāng)數(shù)據(jù)傳輸方向與源節(jié)點移動速度方向相反時,f取1;
步驟3.3、得出各節(jié)點期望值后,對路由表中各節(jié)點按照期望值大小從大到小重新排序;
步驟4:建立從源節(jié)點/中間節(jié)點到DCN節(jié)點的通信鏈路,過程如下:
步驟4.1、當(dāng)源節(jié)點/中間節(jié)點需要向目的節(jié)點發(fā)送數(shù)據(jù)包時,節(jié)點首先從路由表中尋找是否包含目的節(jié)點;若路由表中包含目的節(jié)點,則直接廣播一條指向目的節(jié)點的RREQ消息;若不包含目的節(jié)點,則廣播一條指向最優(yōu)DCN節(jié)點的RREQ消息;
其中,RREQ消息格式如表3:
表3
步驟4.2、節(jié)點收到指向自己的RREQ消息后,首先判斷本節(jié)點的狀態(tài),若節(jié)點處于空閑狀態(tài),則向源節(jié)點/中間節(jié)點回復(fù)一個RREP消息;
其中,所述空閑狀態(tài)是指該節(jié)點先前沒有接收到別的節(jié)點發(fā)來的指向本節(jié)點的RREQ消息,且本節(jié)點當(dāng)前不需要向別的節(jié)點發(fā)送數(shù)據(jù)包;
步驟4.3、源節(jié)點/中間節(jié)點收到對應(yīng)節(jié)點回復(fù)的RREP消息后,此時兩節(jié)點之間鏈路建立完成;
其中,RREP消息格式如表4:
表4
步驟5:源節(jié)點/中間節(jié)點進(jìn)入數(shù)據(jù)發(fā)送/接收過程,過程如下:
步驟5.1、鏈路建立完成后,源節(jié)點/中間節(jié)點開始發(fā)送包含指向DCN節(jié)點的數(shù)據(jù)包,同時DCN節(jié)點則開始接收數(shù)據(jù)包;
其中,數(shù)據(jù)包格式如表5:
表5
步驟5.2、DCN節(jié)點開始接收數(shù)據(jù)包后,DCN節(jié)點根據(jù)數(shù)據(jù)包目的節(jié)點與本節(jié)點路由表中DCNs節(jié)點的關(guān)系廣播一條RREQ消息;
步驟5.3、同時,數(shù)據(jù)包接收過程中,DCN節(jié)點實時監(jiān)測鏈路狀態(tài);
其中,DCN節(jié)點實時監(jiān)測鏈路狀態(tài)包括:
步驟5.4、若數(shù)據(jù)接收正常,則繼續(xù)監(jiān)測鏈路狀態(tài)直到數(shù)據(jù)傳輸完成;若數(shù)據(jù)接收過程中鏈路失效,則DCN節(jié)點再次廣播一條RREP消息;源節(jié)點/中間節(jié)點接收到DCN節(jié)點再次發(fā)來的RREP消息后,重新開始發(fā)送數(shù)據(jù)包;
步驟5.5、若DCN節(jié)點廣播的RREP消息次數(shù)超過3次,則廣播一條路由錯誤(Routing error,RRER)消息向上游節(jié)點請求路由刪除;源節(jié)點/中間節(jié)點收到DCN節(jié)點發(fā)來的RRER消息后,把該DCN節(jié)點從路由表中刪除;然后重復(fù)步驟3~步驟5;
其中,RREP消息的格式如表6:
表6
步驟5.6、若數(shù)據(jù)包成功從源節(jié)點/中間節(jié)點向DCN節(jié)點傳輸完成,則DCN節(jié)點充當(dāng)新的中間節(jié)點并從步驟2開始進(jìn)入路由建立過程;
步驟6:重復(fù)以上步驟2至步驟5,直至數(shù)據(jù)包成功從源節(jié)點傳遞到目的節(jié)點。
本發(fā)明的技術(shù)構(gòu)思為:通過在期望公式引入本節(jié)點移動速度以及DCN節(jié)點的移動速度的比值以及以(-1)f為指數(shù)來解決移動速度對最優(yōu)節(jié)點的選擇的影響以及數(shù)據(jù)傳輸方向與移動方向不同的情況下最優(yōu)通信節(jié)點可能發(fā)生變化的問題;在期望公式中引入數(shù)據(jù)發(fā)送節(jié)點的發(fā)送信號功率以及DCN節(jié)點接收到的信號強(qiáng)度的比值來解決不同節(jié)點最大通信距離不同的情況使DCN節(jié)點接收到的信號強(qiáng)度不同從而對最優(yōu)DCN節(jié)點不同的問題;通過預(yù)設(shè)定的k值來設(shè)定默認(rèn)的最佳通信節(jié)點距離;同時,通過對整條通信鏈路中各個通信節(jié)點進(jìn)行選擇,從而使整條通信鏈路達(dá)到加權(quán)最優(yōu)狀態(tài);
本發(fā)明與現(xiàn)有車聯(lián)網(wǎng)路由算法相比具有的優(yōu)勢表現(xiàn)在:克服了數(shù)據(jù)傳輸方向不同的情況下選擇的最優(yōu)節(jié)點不同的問題,同時綜合考慮了發(fā)送端發(fā)送功率、接收節(jié)點接收到的信號強(qiáng)度、時延、跳數(shù)、節(jié)點移動速度及數(shù)據(jù)傳輸方向不同的情況下最優(yōu)節(jié)點可能發(fā)生變化等因素,使通信鏈路在各個通信節(jié)點均進(jìn)行加權(quán)最優(yōu)選擇,從而使該路由算法更適合數(shù)據(jù)包在實際車聯(lián)網(wǎng)環(huán)境下傳遞。
附圖說明
圖1為一種用于車聯(lián)網(wǎng)的路由優(yōu)化系統(tǒng)的示意圖。
圖2為一種用于車聯(lián)網(wǎng)的路由優(yōu)化方法流程圖。
圖3為期望值隨節(jié)點間距變化的仿真結(jié)果圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明作進(jìn)一步描述。
參照圖1~圖3,一種用于車聯(lián)網(wǎng)的路由優(yōu)化系統(tǒng),所述路由優(yōu)化系統(tǒng)包括初始化設(shè)置模塊、建立路由表模塊、期望排序模塊、建立鏈路模塊和發(fā)送/接收數(shù)據(jù)包模塊。
所述初始化設(shè)置模塊,用于節(jié)點最大通信距離設(shè)置、發(fā)送功率設(shè)置、f值設(shè)置、k值設(shè)置;其中,f表示數(shù)據(jù)傳輸方向;f取值為{0,1};k值為預(yù)設(shè)值,其值的大小可變;該值的取定主要與預(yù)定最佳通信節(jié)點有關(guān);
所述建立路由表模塊,用于各節(jié)點周期性的廣播/接收Hello消息,同時根據(jù)接收的Hello消息建立并維護(hù)路由表;
所述期望排序模塊,用于各節(jié)點根據(jù)路由表中的信息計算各直接通信節(jié)點(Directly communicate Node,DCNs)的期望值,然后根據(jù)期望公式計算得出的各DCNs節(jié)點的期望值大小,并對各DCNs節(jié)點按期望值從大到小重新排序;
所述建立鏈路模塊,用于當(dāng)源節(jié)點/中間節(jié)點需要發(fā)送數(shù)據(jù)時,源節(jié)點/中間節(jié)點首先廣播一條指向DCN節(jié)點的RREQ消息,然后等待接收DCN節(jié)點的路由請求回應(yīng)(Routing request response,RREP)消息;當(dāng)DCN節(jié)點收到源節(jié)點/中間節(jié)點的RREQ消息時,DCN節(jié)點根據(jù)自身狀態(tài)向源節(jié)點/中間節(jié)點回復(fù)一條指向源節(jié)點/中間節(jié)點的RREP消息以完成鏈路建立過程;
所述發(fā)送/接收數(shù)據(jù)包模塊,用于當(dāng)鏈路建立完成后,源節(jié)點/中間節(jié)點開始向DCN節(jié)點發(fā)送數(shù)據(jù)包;DCN節(jié)點則開始接收數(shù)據(jù)包,同時DCN節(jié)點時刻監(jiān)測鏈路狀態(tài)。
一種用于車聯(lián)網(wǎng)的路由優(yōu)化方法,所述路由優(yōu)化方法包括如下步驟:
步驟1:各節(jié)點對本節(jié)點進(jìn)行初始化設(shè)置,所述初始化設(shè)置包括讀取節(jié)點最大通信距離、讀取默認(rèn)發(fā)送功率、設(shè)置f值為0、根據(jù)默認(rèn)最佳通信距離設(shè)置k值;
步驟2:各節(jié)點廣播Hello消息并建立路由表,過程如下:
步驟2.1、各節(jié)點周期性廣播包含本節(jié)點坐標(biāo)、移動速度、節(jié)點運(yùn)動方向、接收到的節(jié)點ID及對應(yīng)的信號強(qiáng)度等字段的Hello消息;
步驟2.2、各節(jié)點同時接收周圍節(jié)點廣播的Hello消息;然后根據(jù)接收到的Hello消息建立并維護(hù)路由表;
其中,所述Hello消息格式如表1:
表1
其中,設(shè)定路由表格式如表2:
表2
步驟2.3、路由表建立完成后,各節(jié)點周期性發(fā)送及接收Hello消息,并根據(jù)最新接收的Hello消息更新及維護(hù)路由表;
步驟3:各節(jié)點對路由表中的節(jié)點進(jìn)行期望值計算并排序,過程如下:
步驟3.1、各節(jié)點根據(jù)路由表中的信息,結(jié)合本節(jié)點設(shè)置的初始條件,依據(jù)期望公式依次計算各節(jié)點期望值;
其中,期望公式如下:
(1)式中:S為信源信號強(qiáng)度,N為DCN節(jié)點收到本節(jié)點信號的信號強(qiáng)度,L為信源最大通信距離,X為鏈路兩節(jié)點之間的距離,Vs為源節(jié)點移動速度,VN為DCN節(jié)點移動速度;
(1)式中,S與N的關(guān)系式為:
N=S-β0-β1*lg X (2)
(2)式中,S為信源信號強(qiáng)度,N為DCN節(jié)點收到本節(jié)點信號的信號強(qiáng)度,β0、β1表示衰減系數(shù),X為信源與DCN節(jié)點的距離;
步驟3.2、其中,當(dāng)數(shù)據(jù)傳輸方向與源節(jié)點移動速度方向相同時,f取0;當(dāng)數(shù)據(jù)傳輸方向與源節(jié)點移動速度方向相反時,f取1;
步驟3.3、得出各節(jié)點期望值后,對路由表中各節(jié)點按照期望值大小從大到小重新排序;
步驟4:建立從源節(jié)點/中間節(jié)點到DCN節(jié)點的通信鏈路,過程如下:
步驟4.1、當(dāng)源節(jié)點/中間節(jié)點需要向目的節(jié)點發(fā)送數(shù)據(jù)包時,節(jié)點首先從路由表中尋找是否包含目的節(jié)點;若路由表中包含目的節(jié)點,則直接廣播一條指向目的節(jié)點的RREQ;若不包含目的節(jié)點,則廣播一條指向最優(yōu)DCN節(jié)點的RREQ消息;
其中,RREQ消息格式如表3:
表3
步驟4.2、節(jié)點收到指向自己的RREQ消息后,首先判斷本節(jié)點的狀態(tài),若節(jié)點處于空閑狀態(tài),則向源節(jié)點/中間節(jié)點回復(fù)一個RREP消息;
其中,所述空閑狀態(tài)是指該節(jié)點先前沒有接收到別的節(jié)點發(fā)來的指向本節(jié)點的RREQ消息,且本節(jié)點當(dāng)前不需要向別的節(jié)點發(fā)送數(shù)據(jù)包;
步驟4.3、源節(jié)點/中間節(jié)點收到對應(yīng)節(jié)點回復(fù)的RREP消息后,此時兩節(jié)點之間鏈路建立完成;
其中,RREP消息格式如表4:
表4
步驟5:源節(jié)點/中間節(jié)點進(jìn)入數(shù)據(jù)發(fā)送/接收過程,過程如下:
步驟5.1、鏈路建立完成后,源節(jié)點/中間節(jié)點開始發(fā)送包含指向DCN節(jié)點的數(shù)據(jù)包,同時DCN節(jié)點則開始接收數(shù)據(jù)包;
其中,數(shù)據(jù)包格式如表5:
表5
步驟5.2、DCN節(jié)點開始接收數(shù)據(jù)包后,DCN節(jié)點根據(jù)數(shù)據(jù)包目的節(jié)點與本節(jié)點路由表中DCNs節(jié)點的關(guān)系廣播一條RREQ消息;
步驟5.3、同時,數(shù)據(jù)包接收過程中,DCN節(jié)點實時監(jiān)測鏈路狀態(tài);
其中,DCN節(jié)點實時監(jiān)測鏈路狀態(tài)包括:
步驟5.4、若數(shù)據(jù)接收正常,則繼續(xù)監(jiān)測鏈路狀態(tài)直到數(shù)據(jù)傳輸完成;若數(shù)據(jù)接收過程中鏈路失效,則DCN節(jié)點再次廣播一條RREP消息;源節(jié)點/中間節(jié)點接收到DCN節(jié)點再次發(fā)來的RREP消息后,重新開始發(fā)送數(shù)據(jù)包;
步驟5.5、若DCN節(jié)點廣播的RREP消息次數(shù)超過3次,則廣播一條路由錯誤(Routing error,RRER)消息向上游節(jié)點請求路由刪除;源節(jié)點/中間節(jié)點收到DCN節(jié)點發(fā)來的RRER消息后,把該DCN節(jié)點從路由表中刪除;然后重復(fù)步驟3~步驟5;
其中,RREP消息的格式如表6:
表6
步驟5.6、若數(shù)據(jù)包成功從源節(jié)點/中間節(jié)點向DCN節(jié)點傳輸完成,則DCN節(jié)點充當(dāng)新的中間節(jié)點并從步驟2開始進(jìn)入路由建立過程;
步驟6:重復(fù)以上步驟2至步驟5,直至數(shù)據(jù)包成功從源節(jié)點傳遞到目的節(jié)點。
結(jié)合圖2,本優(yōu)化路由選擇的路由方法流程如下所示:
(1)節(jié)點初始化設(shè)置TQ=1、Next=0,轉(zhuǎn)到(2);
(2)各節(jié)點廣播Hello消息,轉(zhuǎn)到(3);
(3)節(jié)點判斷是否接收到Hello消息或DCN節(jié)點集非空,若未接收到Hello消息且DCN節(jié)點集為空,則轉(zhuǎn)到(2),否則轉(zhuǎn)到(4);
(4)建立DCN節(jié)點路由表并根據(jù)期望公式排序,轉(zhuǎn)到(5);
(5)判斷是否需要傳輸數(shù)據(jù),若不需要傳輸數(shù)據(jù),則進(jìn)入(6),否則進(jìn)入(15);
(6)判斷是否接收到RREQ,若未接收到RREQ,則進(jìn)入(2),否則進(jìn)入(7);
(7)設(shè)置TP=1,轉(zhuǎn)到(8);
(8)廣播RREP,轉(zhuǎn)到(9);
(9)判斷是否開始接收到數(shù)據(jù)包,若開始接收數(shù)據(jù)包,則進(jìn)入(13),否則進(jìn)入(8);
(10)判斷TP是否小于3,若是,則進(jìn)入(11),否則進(jìn)入(12);
(11)令TP=TP+1,轉(zhuǎn)到(8);
(12)發(fā)送RRER,轉(zhuǎn)到(6);
(13)檢測鏈路是否斷開,若鏈路斷開,則進(jìn)入(10),否則進(jìn)入(14);
(14)判斷數(shù)據(jù)包目的節(jié)點是否為本節(jié)點同時等待數(shù)據(jù)接收完成,若是且數(shù)據(jù)接收完成,則轉(zhuǎn)到(1),若不是目的節(jié)點則等待數(shù)據(jù)接收完成后轉(zhuǎn)到(18);
(15)判斷TQ是否小于3,若是,則轉(zhuǎn)到(18),否則轉(zhuǎn)到(16);
(16)設(shè)置TQ=1,Next=Next+1,轉(zhuǎn)到(17);
(17)判斷Next是否小于等于Nextmax,若是則轉(zhuǎn)到(18),否則轉(zhuǎn)到(1);
(18)廣播RREQ,轉(zhuǎn)到(19);
(19)判斷是否收到RREP,若是,則轉(zhuǎn)到(21),否則轉(zhuǎn)到(20);
(20)令TQ=TQ+1,轉(zhuǎn)到(15);
(21)令TB=1,轉(zhuǎn)到(22);
(22)開始發(fā)送數(shù)據(jù)包,轉(zhuǎn)到(23);
(23)檢測鏈路是否斷開,若鏈路斷開,則轉(zhuǎn)到(24),否則轉(zhuǎn)到(26);
(24)判斷TB是否小于3,若是,則轉(zhuǎn)到(25),否則轉(zhuǎn)到(16);
(25)令TB=TB+1,轉(zhuǎn)到(22);
(26)等待數(shù)據(jù)發(fā)送完成,轉(zhuǎn)到(1)。
我們使用matlab對本路由優(yōu)化算法進(jìn)行了仿真分析。
1)仿真條件
設(shè)定源節(jié)點最大通信距離為200米,發(fā)射功率為20W,k值取1,源節(jié)點及DCN節(jié)點移動速度均為20m/s,f值取0,衰減系數(shù)β0為0.6,衰減系數(shù)β1為8.43。通信節(jié)點范圍為2~200米。
仿真配置參數(shù)如表7所示。
表7
2)仿真結(jié)果
圖3是在2~200米的通信范圍內(nèi)不同通信距離下DCN節(jié)點對應(yīng)的期望值。
其中,橫坐標(biāo)為通信鏈路中兩節(jié)點間的距離,縱坐標(biāo)為期望值。從圖3中可以看出,當(dāng)節(jié)點間距較小時,期望值較小。這是因為當(dāng)節(jié)點間距太小時,過大的單位跳數(shù)可能導(dǎo)致時延較大,故不宜作為最佳DCN節(jié)點;當(dāng)節(jié)點間距較大時,期望值也較小。這是因為當(dāng)節(jié)點間距接近最大通信距離時,容易造成通信鏈路斷開,故也不宜做為最佳DCN節(jié)點。故處于中間的節(jié)點的期望值較大。從圖3中可以看出,當(dāng)節(jié)點間距為140米時,DCN節(jié)點的期望值最大。
圖3表明,本路由選擇算法能夠綜合考慮時延、跳數(shù)、發(fā)射端信號強(qiáng)度、接收端接收到的信號強(qiáng)度、節(jié)點移動速度及數(shù)據(jù)傳輸方向等因素來選擇最佳路由。
本發(fā)明通過綜合考慮發(fā)送節(jié)點的發(fā)送功率、接收節(jié)點接收到的信號強(qiáng)度、時延、跳數(shù)、節(jié)點移動速度、數(shù)據(jù)傳輸方向等因素來對整條通信鏈路中各個節(jié)點選擇進(jìn)行選擇,從而使整條通信鏈路的通信質(zhì)量達(dá)到加權(quán)最優(yōu)。