本發(fā)明涉及的是一種無線網(wǎng)絡(luò)中的路由發(fā)現(xiàn)和建立機制,具體地,涉及一種基于AODV的多度量量的路由發(fā)現(xiàn)和建立的方法。
背景技術(shù):
路由協(xié)議是近年來Ad Hoc無線網(wǎng)絡(luò)研究的重要內(nèi)容之一。路由協(xié)議負責路由的建立和維護工作,是整個無線網(wǎng)絡(luò)中極為重要的組成部分。路由協(xié)議必須能夠適應(yīng)Ad Hoc無線網(wǎng)絡(luò)的動態(tài)變化這一特性,為節(jié)點提供準確的路由信息,保障節(jié)點之間的通信,同時最大的減少控制包的開銷來提高整個無線網(wǎng)絡(luò)的性能。
AODV(Ad hoc On-Demand Distance Vector Routing,Ad Hoc按需距離矢量)是Ad Hoc無線網(wǎng)絡(luò)中典型的按需路由協(xié)議,它根據(jù)需要動態(tài)地維護路由表中的數(shù)據(jù),每個節(jié)點只建立和維護自己所需的目的節(jié)點的路由信息,而不是全網(wǎng)中所有其他節(jié)點的路由。雖然路由建立過程造成一定的延時出現(xiàn),但是可以節(jié)約整個無線網(wǎng)絡(luò)的資源,而且可以解決節(jié)點動態(tài)移動所造成的路由改變的情況。
在Ad Hoc無線網(wǎng)絡(luò)中,由于節(jié)點的移動性和所處環(huán)境的復(fù)雜性,導(dǎo)致節(jié)點分布不均衡,而最優(yōu)路徑單依賴最小跳數(shù),地理位置優(yōu)越的樞紐節(jié)點會頻繁地被活躍路由使用,一方面這會導(dǎo)致該類節(jié)點能量消耗過快,一旦樞紐節(jié)點宕機,會給整個無線網(wǎng)絡(luò)服務(wù)質(zhì)量造成致命打擊;另一方面,樞紐節(jié)點同時被多條路由使用,通信很容易超負載,導(dǎo)致信息擁堵,增大延時。D.J.Vergados,、N.A.Pantazis和D.D.Vergados在“Mobile Networks and Applications”期刊上發(fā)表的“Energy-efficient route selection strategies for wireless sensor networks”中提出以剩余能量作為最優(yōu)路徑選擇策略來代替最小跳數(shù)。但是,單以剩余能量作為唯一最優(yōu)路徑標準,而不顯式考慮最小跳數(shù)又會使發(fā)現(xiàn)的路由過長,雖照顧了節(jié)點能量消耗卻增加了傳輸時延。S.J.de Couto,D.Aguayo,J.Bicket和R.Morris在“In Proceedings of the 9th Annual International Conference on Mobile Computing and Networking”會議上提出A high-throughput path metric for multi-hop wireless routing,為AODV引入能量流失率來均衡無線網(wǎng)絡(luò)各節(jié)點通信負載以防止通信負載過重導(dǎo)致的信息擁堵和沖突。因為信息擁堵會導(dǎo)致丟包和重傳等增加時延和降低路由吞吐量。但這種方式?jīng)]有顯式地考慮路徑長度和節(jié)點剩余能量仍然會帶來時延增加和樞紐節(jié)點早死的威脅。如果考慮節(jié)點的鄰居密度,則可以使得建立的路由經(jīng)過節(jié)點稠密的區(qū)域,一方面提高通信的質(zhì)量另一方面還為路由可能的中斷修復(fù)提供了豐富的替代節(jié)點。
當然,影響Ad Hoc無線網(wǎng)絡(luò)性能的因素很多,單一指標的路由發(fā)現(xiàn)和建立方法難免顧此失彼。但大多數(shù)的路由發(fā)現(xiàn)和建立方法還都是單一指標。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)中的不足,本發(fā)明提供一種基于AODV的多度量量的路由發(fā)現(xiàn)和建立的方法,該方法采用多度量量,能夠在路由發(fā)現(xiàn)過程中考慮到節(jié)點能量負載和通信負載情況,發(fā)現(xiàn)更為可靠的路徑節(jié)點,同時會使路徑穿過稠密的區(qū)域為可能出現(xiàn)的中斷修復(fù)提供了必要的替代節(jié)點。
本發(fā)明提供了一種基于AODV的高可靠性的路由路徑發(fā)現(xiàn)與建立方法,所述方法要求無線網(wǎng)絡(luò)中的節(jié)點不僅維護跳數(shù),而且維護節(jié)點剩余能量、能量流失率、節(jié)點密度這三個度量量,并將以上四個度量量封裝在一個數(shù)據(jù)結(jié)構(gòu)里;在路由發(fā)現(xiàn)階段,路由請求RREQ中的四個度量量與節(jié)點維護的四個度量量進行比較和更新,進而發(fā)現(xiàn)和建立最優(yōu)路由路徑。
具體的,所述方法包括以下步驟:
S1:無線網(wǎng)絡(luò)中的所有節(jié)點更新數(shù)據(jù)結(jié)構(gòu),提供并維護剩余能量、能量流失率、節(jié)點密度的數(shù)據(jù)結(jié)構(gòu),為接收路由請求RREQ并適當回應(yīng)做準備。
預(yù)先設(shè)定跳數(shù)、剩余能量、能量流失率、節(jié)點密度的權(quán)重值,以適應(yīng)不同的環(huán)境對無線網(wǎng)絡(luò)協(xié)議的需求。
多度量量即跳數(shù)、剩余能量、能量流失率、節(jié)點密度融合形成路徑發(fā)現(xiàn)因子CM:
CM=δH*HC+δE*EM+δT*EDR+δD*DM
HC、EM、EDR和DM分別為節(jié)點的跳數(shù)、剩余能量、能量流失率和節(jié)點密度。δH、δE、δT、δD分別表示HC、EM、EDR、DM的權(quán)重;
S2:無線網(wǎng)絡(luò)中某個節(jié)點有發(fā)送信息需求時,發(fā)現(xiàn)其路由表里沒有有效的到達目的節(jié)點的路徑,廣播路由請求RREQ發(fā)起多度量路由的發(fā)現(xiàn)與建立過程。路由請求RREQ除標準AODV的路由請求RREQ的信息外,加入最優(yōu)路徑因子PF。
S3:在隨后的某個時刻,無線網(wǎng)絡(luò)中非目的節(jié)點收到源節(jié)點發(fā)出的路由請求RREQ:
首先,節(jié)點從路由請求RREQ信息中取出目的節(jié)點IP與自身IP進行匹配,發(fā)現(xiàn)自己不是源節(jié)點要找的節(jié)點;
然后,節(jié)點從路由請求RREQ中取出源節(jié)點IP和路由請求RREQ ID以判斷是否收到過相同的路由請求RREQ,如果已收到并處理過,則直接丟棄該包;如果第一次收到,則節(jié)點依據(jù)路由請求RREQ的內(nèi)容進行路由表更新,并根據(jù)自身維護的跳數(shù)、剩余能量、能量流失率、節(jié)點密度字段更新路由請求RREQ,并廣播之。
優(yōu)選地,所述S3中,節(jié)點第一次收到路由請求RREQ的更新步驟如下:
S3.1:節(jié)點依據(jù)收到的路由請求RREQ攜帶的信息建立到源節(jié)點的反向路由。
S3.2:節(jié)點提取自身維護的跳數(shù)、剩余能量、能量流失率、節(jié)點密度等值,依據(jù)預(yù)設(shè)的權(quán)重得到自身路徑發(fā)現(xiàn)因子CM,將自身路徑發(fā)現(xiàn)因子CM和路由請求RREQ中最優(yōu)路徑因子PF之和更新入路由請求RREQ的路徑發(fā)現(xiàn)因子PF字段。
S3.3:節(jié)點廣播更新后的路由請求RREQ。
S4:在某個時刻,目的節(jié)點收到經(jīng)由中間節(jié)點的轉(zhuǎn)發(fā)的路由請求RREQ:
首先,目的節(jié)點會確認自身就是源節(jié)點要找的節(jié)點,然后,判斷是否第一次收到該批次的路由請求RREQ,如果是第一次收到,目的節(jié)點為該路由請求RREQ開啟窗口時間等待同批次路由請求RREQ的到來,同時利用路由請求RREQ信息在路由表內(nèi)建立到達源節(jié)點的反向路由。否則,依據(jù)路由請求RREQ的信息更新目的節(jié)點的路由表。
優(yōu)選地,所述S4中,目的節(jié)點根據(jù)路由請求RREQ的更新操作如下:
S4.1:在路由表里找到目的節(jié)點到達源節(jié)點的路由條目,比較條目里最優(yōu)路徑因子PF與RREQ(路由請求)中的最優(yōu)路徑因子PF字段值。若前者小,則舍棄該路由請求RREQ,否則,用路由請求RREQ中PF值更新路由條目的最優(yōu)路徑值,并用路由請求RREQ的上一跳更新條目的下一跳。
S5:目的節(jié)點在窗口時間內(nèi)選定最優(yōu)路徑,并通過目的節(jié)點到源節(jié)點的反向路由單播路由回復(fù)RREP,路由回復(fù)RREP跳數(shù)字段修改為最優(yōu)路徑因子PF,并提取自身維護的跳數(shù)、剩余能量、能量流失率、節(jié)點密度等值,依據(jù)預(yù)設(shè)的權(quán)重得到自身的路徑發(fā)現(xiàn)因子CM,用此路徑發(fā)現(xiàn)因子CM值更新路由回復(fù)RREP的最優(yōu)路徑因子PF字段。
S6:在無線網(wǎng)絡(luò)所有節(jié)點的路由表條目的跳數(shù)字段修改為最優(yōu)路徑因子PF,中間節(jié)點收到路由回復(fù)RREP,依據(jù)路由回復(fù)RREP信息建立到達目的節(jié)點的路由條目,并將路由回復(fù)RREP里的最優(yōu)路徑因子PF值更新入路由條目。然后,依據(jù)自身維護的多度量值與權(quán)重的乘積之和即自身的路徑發(fā)現(xiàn)因子CM,再加上路由回復(fù)RREP中最優(yōu)路徑因子PF值更新路由回復(fù)RREP,單播給下一跳。
優(yōu)選地,基于AODV的多度量量的路由發(fā)現(xiàn)和建立的方法,不以最小跳數(shù)作為最優(yōu)路徑的判斷標準,而是以多度量量得到的最優(yōu)路徑因子PF大小來選擇最優(yōu)路徑。PF值越小則代表路徑越可靠越優(yōu)。
最優(yōu)路徑因子PF是針對路由路徑的概念,其中下標P指某一條路由路徑,i則是指路徑中第i個節(jié)點,CMi就是指路徑p中第i個節(jié)點的路徑發(fā)現(xiàn)因子的值。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下的有益效果:
本發(fā)明對于無線網(wǎng)絡(luò)的規(guī)模沒有嚴格的限定,尤其適用于拓撲頻繁變化、節(jié)點分布不均、實時性要求較高的Ad Hoc無線網(wǎng)絡(luò),能夠有效避免節(jié)點能量消耗不均衡,信息通道擁塞等嚴重影響無線網(wǎng)絡(luò)服務(wù)質(zhì)量的問題,有效地提高了鏈路的通信負載的均衡性和通信效率,提升了鏈路的穩(wěn)定性,緩解了節(jié)點頻繁切換帶來的通信延遲,平衡了節(jié)點能量消耗,延長了無線網(wǎng)絡(luò)壽命。
附圖說明
通過閱讀參照以下附圖對非限制性實施例所作的詳細描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯:
圖1為本發(fā)明一實施例的方法流程框圖;
圖2為本發(fā)明一實施例中路由建立過程示意圖。
具體實施方式
下面結(jié)合具體實施例對本發(fā)明進行詳細說明。以下實施例將有助于本領(lǐng)域的技術(shù)人員進一步理解本發(fā)明,但不以任何形式限制本發(fā)明。應(yīng)當指出的是,對本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進。這些都屬于本發(fā)明的保護范圍。
如圖2所示,在無線網(wǎng)絡(luò)中存在如N1、N2、N3、N4、N5、N6關(guān)系的拓撲。N1有向節(jié)點N6發(fā)送信息的需求而其路由表里并沒有達到N6有效的路由信息。于是,N1按需發(fā)起到達N6的路徑的發(fā)現(xiàn)和建立過程。在某時刻,各節(jié)點的度量量如下表:
根據(jù)本發(fā)明提供的基于AODV的多度量量的路由發(fā)現(xiàn)和建立的方法,包括如下實施流程步驟:
S1:無線網(wǎng)絡(luò)中的所有節(jié)點更新數(shù)據(jù)結(jié)構(gòu),提供并維護剩余能量EM、能量流失率EDR、節(jié)點密度DM的數(shù)據(jù)結(jié)構(gòu),為接收RREQ(路由請求)并適當回應(yīng)做準備。
預(yù)先設(shè)定跳數(shù)、剩余能量、能量流失率、節(jié)點密度的權(quán)重值,以適應(yīng)不同的環(huán)境對無線網(wǎng)絡(luò)協(xié)議的需求。
多度量量即跳數(shù)、剩余能量、能量流失率、節(jié)點密度,以按照以下方式形成節(jié)點路徑發(fā)現(xiàn)因子CM,多度量量與路徑發(fā)現(xiàn)因子CM關(guān)系如下:
CM=δH*HC+δE*EM+δT*EDR+δD*DM
HC、EM、EDR和DM分別為本方法所規(guī)定之跳數(shù)、剩余能量、能量流失率和節(jié)點密度。δH、δE、δT、δD分別表示HC、EM、EDR、DM的權(quán)重。
本實施例,預(yù)設(shè)δH=0.1、δE=0.8、δT=0、δD=0.1。當然,在其他實施例中,這些參數(shù)也可以預(yù)設(shè)為其他數(shù)值。
S2:無線網(wǎng)絡(luò)中N1節(jié)點有發(fā)送信息需求時,發(fā)現(xiàn)其路由表里沒有有效的到達目的節(jié)點N6的路徑,廣播路由請求RREQ發(fā)起多度量路由的發(fā)現(xiàn)與建立過程。路由請求RREQ除標準AODV的路由請求RREQ的信息外,加入最優(yōu)路徑因子PF。
S3:在隨后某個時刻,無線網(wǎng)絡(luò)中非目的節(jié)點N2、N3、N4、N5收到源節(jié)點N1發(fā)出的請求到達N6的路由請求RREQ。
首先,N2、N3、N4、N5這些中間節(jié)點從收到的路由請求RREQ信息中取出目的節(jié)點IP與自身IP進行匹配,發(fā)現(xiàn)自己不是源節(jié)點要找的目的節(jié)點。
然后,非目的節(jié)點從路由請求RREQ中取出源節(jié)點IP和序列號以判斷是否收到過相同的RREQ(路由請求)。如果已收到并處理過,則直接丟棄該包;如果第一次收到,則非目的節(jié)點依據(jù)路由請求RREQ的內(nèi)容進行路由表更新,并根據(jù)自身維護的跳數(shù)、剩余能量、能量流失率、節(jié)點密度字段更新路由請求RREQ,并廣播之。
進一步的,所述S3中,非目的節(jié)點第一次收到路由請求RREQ的更新步驟如下:
S3.1:非目的節(jié)點依據(jù)收到的路由請求RREQ攜帶的信息建立到源節(jié)點的反向路由。中間節(jié)點N2、N3、N4、N5依據(jù)收到的路由請求RREQ中源節(jié)點和上一跳信息在路由表里建立到達N1的反向路由。
S3.2:非目的節(jié)點提取自身維護的跳數(shù)、剩余能量、能量流失率、節(jié)點密度等值,依據(jù)預(yù)設(shè)的權(quán)重得到自身路徑發(fā)現(xiàn)因子CM,將自身路徑發(fā)現(xiàn)因子CM和路由請求RREQ中最優(yōu)路徑因子PF之和更新入路由請求RREQ的最優(yōu)路徑因子PF字段。
S3.3:節(jié)點廣播更新后的路由請求RREQ。
S4:在某個時刻,目的節(jié)點N6收到經(jīng)由鄰居節(jié)點N3或N5轉(zhuǎn)發(fā)的來自源節(jié)點N1的路由請求RREQ。
首先,目的節(jié)點N6會確認自身就是源節(jié)點要找的目的節(jié)點,然后,判斷是否第一次收到該批次的路由請求RREQ,如果是第一次收到,目的節(jié)點N6為該路由請求RREQ開啟窗口時間等待同批次路由請求RREQ的到來,同時利用路由請求RREQ信息在路由表內(nèi)建立到達源節(jié)點N1的反向路由。否則,依據(jù)路由請求RREQ的信息更新目的節(jié)點的路由表。
進一步的,所述S4中,目的節(jié)點N6根據(jù)路由請求RREQ的更新操作如下:
S4.1:在路由表里找到目的節(jié)點N6到達源節(jié)點N1的路由條目,比較條目里最優(yōu)路徑因子PF與路由請求RREQ中的PF字段值。若前者小,則舍棄該路由請求RREQ,否則,用路由請求RREQ中最優(yōu)路徑因子PF值更新路由條目的最優(yōu)路徑PF值,并用路由請求RREQ的上一跳更新條目的下一跳。
這里有兩條代表性路徑:①N1->N2->N3->N6和②N1->N2->N4->N5-N6。在目的節(jié)點N6為來自源節(jié)點N1的路由請求RREQ開啟的窗口時間內(nèi),會先后收到通過路徑①和路徑②的路由請求RREQ。依據(jù)上述方法得到路徑①的路由請求RREQ的PF=1.75,路徑②的路由請求RREQ的PF=1.65,所以最優(yōu)路徑判段則路徑②顯然要優(yōu)于路徑①,最終路徑②的路由請求RREQ信息會被用來更新目的節(jié)點N6的到達源節(jié)點N1的反向路由條目。
所述最優(yōu)路徑判段,不以最小跳數(shù)作為最優(yōu)路徑的判斷標準,而是以最優(yōu)路徑因子PF大小來選擇最優(yōu)路徑。最優(yōu)路徑因子PF值PFp越小則代表路徑越可靠越優(yōu)。
最優(yōu)路徑因子PF是針對路由路徑的概念,其中下標P指某一條路由路徑,i則是指路徑中第i個節(jié)點,CMi就是指路徑p中第i個節(jié)點的路徑發(fā)現(xiàn)因子的值。
S5:目的節(jié)點N6在窗口時間內(nèi)通過最優(yōu)路徑因子PF選擇最優(yōu)路徑,顯然路徑②是所有可能的路徑中最優(yōu)的。窗口時間結(jié)束通過目的節(jié)點N6到源節(jié)點N1的反向路由N6->N5->N4->N2-N1單播路由回復(fù)RREP,路由回復(fù)RREP的跳數(shù)字段修改為最優(yōu)路徑因子PF。并提取自身維護的跳數(shù)、剩余能量、能量流失率、節(jié)點密度等值,依據(jù)預(yù)設(shè)的權(quán)重得到自身路徑發(fā)現(xiàn)因子CM,用此路徑發(fā)現(xiàn)因子CM值更新路由回復(fù)RREP的最優(yōu)路徑PF字段。
S6:在無線網(wǎng)絡(luò)所有節(jié)點的路由表條目的跳數(shù)字段修改為最優(yōu)路徑因子PF。反向路由路徑中的中間節(jié)點N5、N4、N2收到路由回復(fù)RREP,依據(jù)路由回復(fù)RREP信息建立到達目的節(jié)點的路由條目,并將路由回復(fù)RREP里的最優(yōu)路徑因子PF值更新入路由條目。然后,依據(jù)自身維護的多度量值與權(quán)重的乘積之和即自身的路徑發(fā)現(xiàn)因子CM,再加上路由回復(fù)RREP中最優(yōu)路徑PF值更新路由回復(fù)RREP,單播給下一跳。
直至源節(jié)點N1收到N2傳遞的經(jīng)由N6->N5->N4->N2的目的節(jié)點N6回復(fù)的路由回復(fù)RREP包,依據(jù)路由回復(fù)RREP包建立N1的到達N6的路由條目。用路由回復(fù)RREP包的最優(yōu)路徑PF字段值更新路由條目的PF字段,用路由回復(fù)RREP中的上一跳更新路由條目的下一跳信息。
經(jīng)過以上步驟,從源節(jié)點N1達到目的節(jié)點N6的可靠路由路徑建立起來。
以上是對可靠性路由發(fā)現(xiàn)與建立的實施詳細描述,遇到新的路由需求,均可采用上述方法進行路由發(fā)現(xiàn)和建立。
以上對本發(fā)明的具體實施例進行了描述。需要理解的是,本發(fā)明并不局限于上述特定實施方式,本領(lǐng)域技術(shù)人員可以在權(quán)利要求的范圍內(nèi)做出各種變形或修改,這并不影響本發(fā)明的實質(zhì)內(nèi)容。