一種Ad Hoc網(wǎng)絡(luò)路由的維護(hù)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種AdHoc網(wǎng)絡(luò)路由的維護(hù)方法,屬于無線通信技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 移動AdHoc網(wǎng)絡(luò)(MANET,MobileAdhocNetwork)是由一組帶有無線收發(fā)裝置 的節(jié)點(diǎn)組成的一個(gè)多跳、自組織的網(wǎng)絡(luò)。最早的AdHoc網(wǎng)絡(luò)應(yīng)用可以追溯到1972年的美 國國防部高級研宄規(guī)劃署(DARPA)的分組無線網(wǎng)絡(luò)(PacketRadioNetwork,PRNet)計(jì)劃。 PRNet以分布式體系為特征,旨在戰(zhàn)場環(huán)境下利用分組無線網(wǎng)進(jìn)行數(shù)據(jù)通信。1983年DARPA 又研發(fā)了抗毀無線網(wǎng)絡(luò)(SurvivableRadioNetworks,SURANs),開發(fā)新的網(wǎng)絡(luò)算法,提高 網(wǎng)絡(luò)的可擴(kuò)展性。并于1987年開發(fā)出低成本分組無線(Low-costPacketRadio,LPR)技 術(shù)。1996年IETF成立了MANET工作組,移動AdHoc網(wǎng)絡(luò)的特征、要求和應(yīng)用環(huán)境在1999 年RFC2501文檔中公布出來。
[0003] 移動AdHoc網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)變化頻繁,傳統(tǒng)的距離矢量和鏈路狀態(tài)路由協(xié)議因此 不適用于AdHoc網(wǎng)絡(luò),有必要為AdHoc網(wǎng)絡(luò)設(shè)計(jì)專門的路由協(xié)議。
[0004] 目前,已經(jīng)開發(fā)出許多AdHoc網(wǎng)絡(luò)路由協(xié)議,文獻(xiàn)[AbolhasanM,WysockiT, DutkiewiczE.Areviewofroutingprotocolsformobileadhocnetworks[J].Ad hocnetworks, 2004,2(1): 1-22.]將路由協(xié)議被分為3類:主動路由、被動路由和混合 路由。
[0005] AdHoc按需距離矢量(Ad-hocOn-demandDistanceVector,A0DV)路由協(xié)議由文 獻(xiàn)[PerkinsCE,RoyerEM.Ad-hocon-demanddistancevectorrouting[C].Mobile ComputingSystemsandApplications, 1999.Proceedings.WMCSA' 99.SecondIEEE Workshopon.IEEE, 1999: 90-100.]提出,屬于按需路由協(xié)議,借鑒了DSR協(xié)議中的路由 發(fā)現(xiàn)和路由維護(hù)過程,不同的是A0DV協(xié)議使用的是傳統(tǒng)路由表中的逐跳路由,此外引入了 DSDV協(xié)議的目的節(jié)點(diǎn)序列號用于避免形成路由環(huán)路。與表驅(qū)動路由協(xié)議相比,A0DV中的節(jié) 點(diǎn)不需要維護(hù)關(guān)于整個(gè)網(wǎng)絡(luò)拓?fù)涞逆溌沸畔?,路由協(xié)議的路由控制開銷低。
[0006] 目前,對A0DV路由協(xié)議的改進(jìn)方法主要有備份路由、位置感知、拓?fù)湫畔⒃黾拥取?文獻(xiàn)[LeeSJ,GerlaM.A0DV-BR:Backuproutinginadhocnetworks[C].Wireless CommunicationsandNetworkingConfernce, 2000.WCNC. 2000IEEE.IEEE, 2000, 3: 1311-1316.]提出了A0DV-BR路由協(xié)議,修改路由應(yīng)答為廣播方式,通過在非主路徑上 的節(jié)點(diǎn)對路由應(yīng)答消息的監(jiān)聽,形成備份路由,當(dāng)鏈路斷開時(shí),采用備份路由傳輸數(shù)據(jù)。文 獻(xiàn)[AyashM,MikkiM,YimK.ImprovedA0DVroutingprotocoltocopewithhigh overheadinhighmobilityMANETs[C].InnovativeMobileandInternetServices inUbiquitousComputing(IMIS), 2012SixthInternationalConferenceon.IEEE, 2012: 244-251.]提出了A0DV-LAR路由協(xié)議,借助GPS提供的位置信息,根據(jù)源節(jié)點(diǎn)和 目的節(jié)點(diǎn)的位置信息,將泛洪的路由請求消息控制在一個(gè)有限的區(qū)域內(nèi)。文獻(xiàn)[Gwalani S,Belding-RoyerEM,PerkinsCE.A0DV-PA:A0DVwithpathaccumulation[C]. Communications, 2003.ICC' 03.IEEEInternationalConferenceon.IEEE, 2003,1: 527-531.]提出了AODV-PA路由協(xié)議,在控制消息中加入路由鏈路上的多跳節(jié)點(diǎn)信息,增加 適量的拓?fù)湫畔⑷哂嘤欣诮档吐酚砂l(fā)現(xiàn)頻率。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明針對現(xiàn)有的AdHoc網(wǎng)絡(luò)路由發(fā)現(xiàn)過程中,源節(jié)點(diǎn)僅以應(yīng)答消息中的目的節(jié) 點(diǎn)序列號和跳數(shù)為判據(jù),保留一條到目的節(jié)點(diǎn)的路由,而將另一條可能有效的路由丟棄,提 供一種充分利用路由應(yīng)答消息,有效維護(hù)AdHoc網(wǎng)絡(luò)中源節(jié)點(diǎn)和目的節(jié)點(diǎn)穩(wěn)定數(shù)據(jù)傳輸?shù)?方法。
[0008] 實(shí)現(xiàn)本發(fā)明目的的技術(shù)方案是提供一種AdHoc網(wǎng)絡(luò)路由的維護(hù)方法,在路由發(fā)現(xiàn) 過程中,建立備份路由,源節(jié)點(diǎn)形成主路由和備份路由;在路由維護(hù)過程中,源節(jié)點(diǎn)和源節(jié) 點(diǎn)主路由上的下一跳節(jié)點(diǎn)協(xié)同進(jìn)行鏈路狀態(tài)的檢測;源節(jié)點(diǎn)根據(jù)鏈路狀態(tài)的檢測結(jié)果,確 定是否采用備份路由傳輸數(shù)據(jù); 建立備份路由,源節(jié)點(diǎn)形成主路由和備份路由,包括如下步驟: (1) 目的節(jié)點(diǎn)根據(jù)接收到的路由請求,向源節(jié)點(diǎn)單播路由應(yīng)答消息; (2) 中間節(jié)點(diǎn)接收到路由應(yīng)答消息后,對路由應(yīng)答消息中的源節(jié)點(diǎn)地址和該路由應(yīng)答 消息中的發(fā)送節(jié)點(diǎn)地址是否一致進(jìn)行判別;若路由應(yīng)答消息中的源節(jié)點(diǎn)地址和該路由應(yīng)答 消息中的發(fā)送節(jié)點(diǎn)地址一致,表明本節(jié)點(diǎn)為目的節(jié)點(diǎn)的鄰居節(jié)點(diǎn),則執(zhí)行在本節(jié)點(diǎn)查找路 由表中是否有到達(dá)路由應(yīng)答消息中目的節(jié)點(diǎn)的路由,若有則建立正向路由并轉(zhuǎn)發(fā)路由應(yīng)答 消息,反之則丟棄該路由應(yīng)答消息; 若路由應(yīng)答消息中的源節(jié)點(diǎn)地址和該路由應(yīng)答消息中的發(fā)送節(jié)點(diǎn)地址不一致,表明本 節(jié)點(diǎn)不是目的節(jié)點(diǎn)的鄰居節(jié)點(diǎn),若本節(jié)點(diǎn)是該路由應(yīng)答消息要單播的節(jié)點(diǎn),則建立正向路 由并轉(zhuǎn)發(fā)該路由應(yīng)答消息,否則,丟棄該路由應(yīng)答消息; (3) 源節(jié)點(diǎn)對最先到達(dá)的兩條路由應(yīng)答消息進(jìn)行處理,建立主路由和備份路由; 源節(jié)點(diǎn)和源節(jié)點(diǎn)主路由上的下一跳節(jié)點(diǎn)協(xié)同進(jìn)行鏈路狀態(tài)的檢測,包括如下步驟: (1) 源節(jié)點(diǎn)完成路由發(fā)現(xiàn)過程后,開始進(jìn)行數(shù)據(jù)包的發(fā)送,發(fā)送完第一個(gè)數(shù)據(jù)包后,啟 動源節(jié)點(diǎn)計(jì)數(shù)器,源節(jié)點(diǎn)每發(fā)送一次數(shù)據(jù)源節(jié)點(diǎn)計(jì)數(shù)器加1 ; (2) 源節(jié)點(diǎn)主路由上的下一跳節(jié)點(diǎn)接收到源節(jié)點(diǎn)發(fā)送的第一個(gè)數(shù)據(jù)包后,判斷是否為 單播給本節(jié)點(diǎn)的,若不是,則判斷是否收到兩種下一跳節(jié)點(diǎn)地址的數(shù)據(jù)包,且數(shù)據(jù)包來自相 同目的節(jié)點(diǎn)和包發(fā)送節(jié)點(diǎn):若收到,則表明本節(jié)點(diǎn)是非主備路由鏈路上的節(jié)點(diǎn),清除該目的 節(jié)點(diǎn)的路由表;反之,則繼續(xù)接收數(shù)據(jù)包; 如果是單播給本節(jié)點(diǎn)的,則啟動中間節(jié)點(diǎn)計(jì)數(shù)器,中間節(jié)點(diǎn)每收到一次單播給本節(jié)點(diǎn) 的數(shù)據(jù)中間節(jié)點(diǎn)計(jì)數(shù)器加1 ; (3) 源節(jié)點(diǎn)主路由上的下一跳節(jié)點(diǎn)的中間節(jié)點(diǎn)計(jì)數(shù)器計(jì)數(shù)值達(dá)到檢測閾值,則源節(jié)點(diǎn) 主路由上的下一跳節(jié)點(diǎn)便發(fā)送一次鏈路狀態(tài)檢測消息給源節(jié)點(diǎn),隨后將中間節(jié)點(diǎn)計(jì)數(shù)器清 零復(fù)位,作為中間節(jié)點(diǎn)計(jì)數(shù)器計(jì)數(shù)周期新的開始,并繼續(xù)接收數(shù)據(jù); (4) 源節(jié)點(diǎn)接收到源節(jié)點(diǎn)主路由上的下一跳節(jié)點(diǎn)的鏈路狀態(tài)檢測消息后,將源節(jié)點(diǎn)計(jì) 數(shù)器清零復(fù)位,作為源節(jié)點(diǎn)計(jì)數(shù)器計(jì)數(shù)周期新的開始,并繼續(xù)發(fā)送數(shù)據(jù); (5) 不斷重復(fù)步驟(1)~(4),直到源節(jié)點(diǎn)主路由上的下一跳節(jié)點(diǎn)失效; 源節(jié)點(diǎn)主路由上的下一跳節(jié)點(diǎn)失效后,源節(jié)點(diǎn)無法接收到鏈路狀態(tài)檢測消息,則進(jìn)行 備份路由的切換,包括如下步驟: (1)源節(jié)點(diǎn)由于無法接收到源節(jié)點(diǎn)主路由上的下一跳節(jié)點(diǎn)鏈路狀態(tài)檢測消息,源節(jié)點(diǎn) 計(jì)數(shù)器計(jì)數(shù)變量將超過超時(shí)閾值,則源節(jié)點(diǎn)切換為備份路由傳輸數(shù)據(jù)。
[0009] 本發(fā)明所述的檢測閾值具體可設(shè)為100次,超時(shí)閾值可設(shè)為28800次。
[0010] 參見附圖1,它是本發(fā)明提供的AdHoc網(wǎng)絡(luò)路由維護(hù)方案的工作原理示意圖。節(jié) 點(diǎn)1為源節(jié)點(diǎn),節(jié)點(diǎn)4為目的節(jié)點(diǎn),節(jié)點(diǎn)2和節(jié)點(diǎn)3為中間節(jié)點(diǎn),節(jié)點(diǎn)1要向節(jié)點(diǎn)4傳輸數(shù) 據(jù)。在進(jìn)行A0DV路由發(fā)現(xiàn)的過程中,由于節(jié)點(diǎn)2和節(jié)點(diǎn)3均接收到節(jié)點(diǎn)4發(fā)送的路由應(yīng)答 消息,并且判斷自身為目的節(jié)點(diǎn)4的鄰居節(jié)點(diǎn),均要轉(zhuǎn)發(fā)路由應(yīng)答消息,由于節(jié)點(diǎn)3距離節(jié) 點(diǎn)1和節(jié)點(diǎn)4較近,節(jié)點(diǎn)1會先收到節(jié)點(diǎn)3發(fā)送的路由應(yīng)答消息,將路徑1-3-4對應(yīng)的路由 作為主路由;由于節(jié)點(diǎn)2距離節(jié)點(diǎn)1和節(jié)點(diǎn)4較遠(yuǎn),節(jié)點(diǎn)1將會后收到節(jié)點(diǎn)2發(fā)送的路由應(yīng) 答消息,將路徑1-2-4對應(yīng)的路由作為備份路由。路由發(fā)現(xiàn)過程結(jié)束后,節(jié)點(diǎn)1將開始向節(jié) 點(diǎn)4發(fā)送數(shù)據(jù)。
[0011] 節(jié)點(diǎn)1通過鏈路狀態(tài)檢測機(jī)制判斷節(jié)點(diǎn)3是否失效,當(dāng)檢測到節(jié)點(diǎn)3不再發(fā)送鏈 路狀態(tài)檢測消息后,節(jié)點(diǎn)1便使用路徑1-2-4對應(yīng)的備份路由,向節(jié)點(diǎn)4發(fā)送數(shù)據(jù)。
[0012] 在AdHoc網(wǎng)絡(luò)中,源節(jié)點(diǎn)對可能接收到的兩條路由應(yīng)答消息,僅保留一條目的節(jié) 點(diǎn)序列號較大或者目的節(jié)點(diǎn)序列號相同且跳數(shù)較少的作為路由,盡管另一條路由可能是有 效的也會被丟棄。為了減少對路由應(yīng)答消息使用不充分的問題,本發(fā)明采用源節(jié)點(diǎn)備份路 由建立機(jī)制,以及采用源節(jié)點(diǎn)和源節(jié)點(diǎn)主路由上的下一跳節(jié)