專利名稱::一種多跳無線自組織網(wǎng)絡(luò)的按需路由動(dòng)態(tài)維護(hù)方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及多跳無線自組織網(wǎng)絡(luò)
技術(shù)領(lǐng)域:
,具體涉及一種多跳無線自組織網(wǎng)絡(luò)的按需路由動(dòng)態(tài)維護(hù)方法。技術(shù)背景多跳無線自組織網(wǎng)絡(luò),又稱多跳無線AdHoc網(wǎng)絡(luò)(Multi-HopWirelessAdhocNetworks),是由多個(gè)移動(dòng)節(jié)點(diǎn)組成的多跳無線網(wǎng)絡(luò)。無線自組織網(wǎng)絡(luò)不依賴于任何特定的網(wǎng)絡(luò)基礎(chǔ)設(shè)施,具有無中心、自組織、自修復(fù)、組網(wǎng)靈活且低成本、覆蓋范圍廣、節(jié)點(diǎn)可移動(dòng)等特點(diǎn),能實(shí)現(xiàn)快速自動(dòng)組網(wǎng)。由于節(jié)點(diǎn)的通信范圍有限,相距較遠(yuǎn)的節(jié)點(diǎn)需要通過其它節(jié)點(diǎn)的中繼(Relay)才能通信,因此,在多跳無線自組織網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)不僅能移動(dòng),而且都兼有路由器和主機(jī)兩種功能,能完成發(fā)現(xiàn)和維持到其他節(jié)點(diǎn)的路由,以多跳路由的方式動(dòng)態(tài)地保持與其他節(jié)點(diǎn)的聯(lián)系。多跳路由技術(shù)是實(shí)現(xiàn)無線自組織網(wǎng)絡(luò)通信的關(guān)鍵技術(shù),由于無線自組織網(wǎng)絡(luò)動(dòng)態(tài)變化的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、有限的帶寬、不斷變化的鏈路容量和能量受限,使路由協(xié)議必須具有自適應(yīng)的路由維護(hù)能力,才能滿足無線自組織網(wǎng)絡(luò)的通信需求。在目前的多跳無線自組織網(wǎng)絡(luò)研究中,已提出了許多路由協(xié)議,按照發(fā)現(xiàn)路由的策略可以將多跳路由協(xié)議分為兩大類先應(yīng)式(Proactive)路由協(xié)議和按需(On-demand)路由協(xié)議。先應(yīng)式(Proactive)路由協(xié)議又稱為表驅(qū)動(dòng)路由協(xié)議,無論是否有通信需求,每兩個(gè)節(jié)點(diǎn)之間都預(yù)先建立起路由。每個(gè)節(jié)點(diǎn)都采用周期性的路由分組廣播,交換路由信息,希望最終每個(gè)節(jié)點(diǎn)都維護(hù)一張全網(wǎng)一致的和最新的路由表,源節(jié)點(diǎn)一旦要發(fā)送分組,可以立即獲得指向目的節(jié)點(diǎn)的路由。如DSDV(Destination-SequencedDistance-VectorRouting)、FSR(FisheyeStateRouting)、LANMAR(LandmarkadhocRoutingProtocol)、OLSR(OptimizedLinkStateRouting)、TBRPF(TopologyBroadcastbasedonReverse-PathForwarding)等都是先應(yīng)式路由協(xié)議。先應(yīng)式路由協(xié)議的優(yōu)點(diǎn)是能夠及時(shí)交換網(wǎng)絡(luò)信息,如可用帶寬、時(shí)延、拓?fù)浣Y(jié)構(gòu)等,可以支持實(shí)時(shí)業(yè)務(wù)。但是,它不適合規(guī)模較大的網(wǎng)絡(luò),因?yàn)樵S多沒有使用的路由仍然需要維護(hù),周期性的路由更新可能引起過度的處理和通信開銷。另外,快速變化的拓?fù)浣Y(jié)構(gòu)會(huì)使所獲得的路由有效時(shí)間縮短,路由信息利用率下降。按需(On-demand)路由協(xié)議則只有當(dāng)網(wǎng)絡(luò)節(jié)點(diǎn)有路由的需求時(shí)才發(fā)起路由的査找過程,并對(duì)建立的路由進(jìn)行維護(hù),數(shù)據(jù)傳輸結(jié)束后將釋放建立的路由。如AODV(AdHoconDemandDistanceVector)、DSR(DynamicSourceRouting)、TORA(Temporally-OrderedRoutingAlgorithm)、ABR(Associativity-BasedRouting)等都是按需路由協(xié)議。與先應(yīng)式路由協(xié)議相比,按需路由協(xié)議可以降低路由開銷,路由的使用效率更高。一般認(rèn)為,按需路由協(xié)議更適合應(yīng)用于多跳無線自組織網(wǎng)絡(luò)。但是,按需路由協(xié)議具有潛在的不確定性,包括目的節(jié)點(diǎn)是否可達(dá)的不確定性和路由建立延遲的不確定性。針對(duì)路由的更新和恢復(fù),先應(yīng)式路由協(xié)議中,節(jié)點(diǎn)之間需要周期性地交換路由信息,這樣會(huì)帶來額外的通信開銷和能量消耗,影響無線自組織網(wǎng)絡(luò)支持業(yè)務(wù)的能力。按需路由協(xié)議不要求周期性的路由信息更新,但當(dāng)一條正在使用的鏈路由于節(jié)點(diǎn)失效或節(jié)點(diǎn)移動(dòng)而發(fā)生中斷時(shí),會(huì)觸發(fā)路由的重新建立,這個(gè)過程不僅會(huì)帶來新的開銷,也會(huì)增加業(yè)務(wù)的時(shí)延。因此,按需路由協(xié)議中如何實(shí)現(xiàn)路由的快速恢復(fù)是一個(gè)需要解決的問題。目前的解決方法主要有(1)當(dāng)使用的路由失效時(shí),由源節(jié)點(diǎn)重新發(fā)起路由的查找,建立一條新的路由。(2)當(dāng)使用的路由失效時(shí),由失效鏈路的上游節(jié)點(diǎn)發(fā)起路由的查找,修復(fù)使用的路由,即所謂的本地修復(fù)。(3)在源節(jié)點(diǎn)發(fā)起路由的建立時(shí),同時(shí)建立多條路由,除了建立主用路由(Primaryroute)夕卜,還建立一條或多條備份路由(Backuproute)。當(dāng)主用路由發(fā)生中斷時(shí),可以使用己經(jīng)建立的備份路由傳送數(shù)據(jù)。但上述方法還存在如下一些不足對(duì)于(1),由于需要建立一條新的路由,發(fā)現(xiàn)路由所需的時(shí)間會(huì)增加業(yè)務(wù)的時(shí)延;對(duì)于(2),同樣是在路由失效以后對(duì)路由進(jìn)行修復(fù),雖然發(fā)現(xiàn)路由的范圍可能比(1)小,但同樣需要時(shí)間,也會(huì)增加業(yè)務(wù)的時(shí)延,并且當(dāng)路由修復(fù)不成功時(shí),會(huì)引起更多的分組丟失。方法(1)和(2)的關(guān)鍵問題是二者都是通過洪泛(Flooding)的機(jī)制來發(fā)現(xiàn)新的路由,所以對(duì)鏈路失效的反應(yīng)不是足夠的快。對(duì)于(3),備份路由可以對(duì)鏈路失效立即作出響應(yīng),但備份路由的建立是靜態(tài)的,不能隨網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的變化而進(jìn)行更新,所以,備份路由有可能由于沒有進(jìn)行及時(shí)更新而變得過時(shí)或不可用。針對(duì)上述方法存在的不足,應(yīng)該采取的解決方法是(1)為了不增加業(yè)務(wù)的時(shí)延,那么在路由失效發(fā)生前,就要建立起備份路由,及時(shí)對(duì)主用路由的失效作出響應(yīng);(2)備份路由需要進(jìn)行及時(shí)更新,進(jìn)行動(dòng)態(tài)維護(hù),使建立的備份路由有效和可用;(3)建立備份路由的范圍是受限制的,將備份路由的信息交互限制在規(guī)定的范圍內(nèi),盡可能降低通信開銷。
發(fā)明內(nèi)容本發(fā)明的目的在于克服現(xiàn)有技術(shù)存在的上述不足,提供一種多跳無線自組織網(wǎng)絡(luò)按需路由動(dòng)態(tài)維護(hù)方法,首先以按需(On-demand)路由的方式建立起主用路由(Primaryroute),然后再在規(guī)定的范圍內(nèi)建立起備份路由(Backuproute),并對(duì)備份路由的變化進(jìn)行及時(shí)更新。目的是能夠?qū)χ饔寐酚涉溌肥?如節(jié)點(diǎn)移動(dòng)引起鏈路失效)或節(jié)點(diǎn)失效(如節(jié)點(diǎn)能量耗盡)作出快速響應(yīng),不增加業(yè)務(wù)的時(shí)延,保障通信的穩(wěn)定性和可靠性。本發(fā)明所提供的一種多跳無線自組織網(wǎng)絡(luò)按需路由動(dòng)態(tài)維護(hù)方法,包括主用路由建立過程、備份路由建立過程、路由的維護(hù)過程和路由選擇過程。本發(fā)明通過如下技術(shù)方案實(shí)現(xiàn)一種多跳無線自組織網(wǎng)絡(luò)的按需路由動(dòng)態(tài)維護(hù)方法,其包括主用路由建立過程、備份路由建立過程、路由的維護(hù)過程,所述主用路由建立過程采用按需路由方式,主用路由建立過程是指當(dāng)源節(jié)點(diǎn)需要向目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),發(fā)起建立一條到達(dá)目的節(jié)點(diǎn)的路由,這條路由稱為主用路由(Primaryroute)。設(shè)最初所有節(jié)點(diǎn)的類型為初始節(jié)點(diǎn)(Initialnode)。具體過程為源節(jié)點(diǎn)向目的節(jié)點(diǎn)廣播發(fā)送主用路由請(qǐng)求消息PRREQ(PrimaryRouteRequest);目的節(jié)點(diǎn)收到PRREQ后,比較收到的所有PRREQ消息,選取一條最優(yōu)的路由作為主用路由,所述PRREQ的內(nèi)容包括消息類型、目的節(jié)點(diǎn)ID、目的節(jié)點(diǎn)序列號(hào)、源節(jié)點(diǎn)ID、源節(jié)點(diǎn)序列號(hào)和所經(jīng)過的節(jié)點(diǎn)序列;目的節(jié)點(diǎn)沿最優(yōu)路由的反向路由向源節(jié)點(diǎn)回復(fù)主用路由應(yīng)答消息PRREP(PrimaryRouteR鄰ly),所述PRREP的內(nèi)容包括消息類型、目的節(jié)點(diǎn)ID、目的節(jié)點(diǎn)序列號(hào)、發(fā)送節(jié)點(diǎn)ID和路由經(jīng)過的節(jié)點(diǎn)序列;收到PRREP且節(jié)點(diǎn)ID在路由經(jīng)過的節(jié)點(diǎn)序列的中間節(jié)點(diǎn)建立到目的節(jié)點(diǎn)的主用路由,并設(shè)置自己的類型為主用節(jié)點(diǎn)(Primarynode),然后繼續(xù)轉(zhuǎn)發(fā)PRREP;收到PRREP的源節(jié)點(diǎn)建立到目的節(jié)點(diǎn)的主用路由;備份路由建立過程首先依賴于主用路由建立過程,在PRREP分組的傳遞過程中,發(fā)送PRREP節(jié)點(diǎn)的鄰居節(jié)點(diǎn)都會(huì)收到PRREP,它們都將建立到目的節(jié)點(diǎn)的路由,主用路由節(jié)點(diǎn)稱為主用節(jié)點(diǎn)(Primarynode)建立的是主用路由,其它收到PRREP的鄰居節(jié)點(diǎn)(除發(fā)出PRREP的節(jié)點(diǎn)外)稱為備份節(jié)點(diǎn)(Backupnode),建立到目的節(jié)點(diǎn)的備份路由,并向自己的鄰居節(jié)點(diǎn)發(fā)送備份路由更新消息BRUM(BackupRouteUpdateMessage),BRUM的內(nèi)容包括消息類型、目的節(jié)點(diǎn)ID、目的節(jié)點(diǎn)序列號(hào)、發(fā)送節(jié)點(diǎn)ID、備份路由更新序列列表等。路由的維護(hù)過程(1)當(dāng)一個(gè)備份節(jié)點(diǎn)檢測到某條或多條備份路由失效時(shí),將向自己的鄰居節(jié)點(diǎn)廣播備份路由出錯(cuò)消息BRERR(BackupRouteError),BRERR的內(nèi)容包括消息類型、不可達(dá)目的節(jié)點(diǎn)ID、不可達(dá)目的節(jié)點(diǎn)序列號(hào)、發(fā)送節(jié)點(diǎn)ID和不可達(dá)備份節(jié)點(diǎn)列表(2)收到BRERR的主用節(jié)點(diǎn)和備份節(jié)點(diǎn),根據(jù)BRERR更新自己的路由表,在規(guī)定時(shí)間T(T>0)內(nèi)沒有可用備份路由的備份節(jié)點(diǎn)將設(shè)置自己的類型為初始節(jié)點(diǎn)。上述方法中,所述最優(yōu)的路由是指跳數(shù)最少、時(shí)延最小、能量消耗最小或穩(wěn)定度最高的路由。上述方法中,主用路由建立過程中,在源節(jié)點(diǎn)廣播發(fā)送PRREQ之后、目的節(jié)點(diǎn)收到PRREQ之前還包括第一次收到PRREQ的中間節(jié)點(diǎn)根據(jù)PRREQ中的信息,建立到源節(jié)點(diǎn)的路由,并將自己的ID加入到PRREQ經(jīng)過的節(jié)點(diǎn)序列中;如果收到相同的PRREQ,將丟棄;如果中間節(jié)點(diǎn)有到達(dá)目的節(jié)點(diǎn)的路由,則通過該路由傳送PRREQ,不再進(jìn)行廣播,否則繼續(xù)廣播該P(yáng)RREQ消息。上述方法中,所述備份路由建立過程具體包括(1)當(dāng)一個(gè)節(jié)點(diǎn)收到PRREP,首先判斷該P(yáng)RREP是否己由自己發(fā)送,如果是由自己發(fā)送,則丟棄該分組;如果不是,則繼續(xù);(2)如果節(jié)點(diǎn)ID包含在路由所經(jīng)過的節(jié)點(diǎn)序列中,則設(shè)置自己的類型為主用節(jié)點(diǎn),并建立到目的節(jié)點(diǎn)的主用路由,非源節(jié)點(diǎn)繼續(xù)轉(zhuǎn)發(fā)PRREP;(3)如果節(jié)點(diǎn)ID沒有包含在路由所經(jīng)過的節(jié)點(diǎn)序列中,則設(shè)置自己的類型為備份節(jié)點(diǎn),并建立到目的節(jié)點(diǎn)的備份路由;(4)備份節(jié)點(diǎn)將自己建立的備份路由信息通過備份路由更新消息BRUM廣播給自己的鄰居節(jié)點(diǎn);(5)收到BRUM的主用節(jié)點(diǎn)和備份節(jié)點(diǎn)判斷其中的路由信息是否是新的或者是更優(yōu)的路由信息,如果是,則存儲(chǔ)該路由信息;(6)備份節(jié)點(diǎn)檢測到備份路由有更新時(shí),將廣播BRUM通知鄰居節(jié)點(diǎn)備份路由更新信息;(7)初始節(jié)點(diǎn)收到BRUM時(shí),將丟棄該分組。上述方法中,所述路由的維護(hù)過程還包括(1)當(dāng)一個(gè)主用節(jié)點(diǎn)檢測到下游節(jié)點(diǎn)失效(節(jié)點(diǎn)移走或節(jié)點(diǎn)能量耗盡)時(shí),査詢是否有備份路由可以到達(dá)目的節(jié)點(diǎn),如果有,將選擇一條最優(yōu)的備份路由作為主用路由,并同時(shí)沿新的主用路由向源節(jié)點(diǎn)和目的節(jié)點(diǎn)發(fā)送主用路由更新消息PRUM(PrimaryRouteUpdateMessage),該P(yáng)RUM包括消息類型、目的節(jié)點(diǎn)ID、目的節(jié)點(diǎn)序列號(hào)、發(fā)送節(jié)點(diǎn)ID和主用路由更新節(jié)點(diǎn)序列;(2)收到PRUM的備份節(jié)點(diǎn),如果自己的ID包含在主用路由更新節(jié)點(diǎn)序列中,則將自己的類型設(shè)置為主用節(jié)點(diǎn),所選擇的路由作為主用路由;(3)收到PRUM的主用節(jié)點(diǎn),如果自己的ID沒有包含在路由更新節(jié)點(diǎn)序列中,則將自己的類型設(shè)置為備份節(jié)點(diǎn),該節(jié)點(diǎn)所有到達(dá)目的節(jié)點(diǎn)的路由設(shè)置為備份路由,路由有更新時(shí)廣播備份路由更新消息BRUM;(4)收到PRUM的初始節(jié)點(diǎn),設(shè)置自己的類型為備份節(jié)點(diǎn),并廣播備份路由更新消息BRUM;上述方法中,所述路由的維護(hù)過程還包括(1)當(dāng)檢測到主用路由下游節(jié)點(diǎn)失效,且沒有備份路由時(shí),該主用節(jié)點(diǎn)將向源節(jié)點(diǎn)發(fā)送主用路由出錯(cuò)消息PRERR(PrimaryRouteError),通知源節(jié)點(diǎn)重新發(fā)起主用路由的建立過程,該P(yáng)RERR的內(nèi)容包括消息類型、不可達(dá)目的節(jié)點(diǎn)ID、不可達(dá)目的節(jié)點(diǎn)序列號(hào)和不可達(dá)主用節(jié)點(diǎn)列表;(2)收到PRERR的主用節(jié)點(diǎn)和備份節(jié)點(diǎn)將設(shè)置自己的類型為初始節(jié)點(diǎn),并刪除相應(yīng)的路由信息;(3)主用路由在規(guī)定時(shí)間T內(nèi)沒有被使用,將由目的節(jié)點(diǎn)沿主用路由向源節(jié)點(diǎn)發(fā)送主用路由釋放消息PRR(PrimaryRouteRelease),該P(yáng)RR包括消息類型、目的節(jié)點(diǎn)ID、目的節(jié)點(diǎn)序列號(hào)和路由釋放指示,所述TX);(4)收到PRR的主用節(jié)點(diǎn)和備份節(jié)點(diǎn),都將自己的類型設(shè)置為初始節(jié)點(diǎn)并刪除相應(yīng)的路由信息;(5)備份節(jié)點(diǎn)廣播BRERR,通告刪除的備份路由信息已失效。上述方法還包括路由選擇過程(1)當(dāng)主用路由正常時(shí),通過主用路由傳送數(shù)據(jù);(2)當(dāng)主用路由失效時(shí),通過最優(yōu)的備份路由傳送數(shù)據(jù),并將該備份路由升級(jí)作為主用路由;(3)當(dāng)主用路由和備份路由都不可用時(shí),通知源節(jié)點(diǎn)建立新的主用路由。本發(fā)明所提供多跳無線自組織網(wǎng)絡(luò)的按需路由動(dòng)態(tài)維護(hù)方法,與現(xiàn)有的按需路由維護(hù)方法相比,具有如下優(yōu)勢(1)在主用路由失效之前就建立備份路由,當(dāng)主用路由失效時(shí),能及時(shí)通過備份路由發(fā)送數(shù)據(jù),不會(huì)增加業(yè)務(wù)的時(shí)延。(2)對(duì)備份路由進(jìn)行動(dòng)態(tài)更新,當(dāng)備份路由出現(xiàn)變化時(shí),觸發(fā)備份路由的更新,避免由于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的變化而影響備份路由的可用性。(3)將備份路由的建立和路由信息的交互限制在主用節(jié)點(diǎn)的一跳范圍內(nèi),即主用節(jié)點(diǎn)的鄰居范圍內(nèi),盡可能降低通信開銷;而且限定的范圍不是固定不變的,會(huì)隨著主用路由的變化而動(dòng)態(tài)變化。(4)結(jié)合了按需路由協(xié)議和先應(yīng)式路由協(xié)議的優(yōu)點(diǎn),主用路由是按需路由方式,而備份路由是限制在特定范圍內(nèi)的先應(yīng)式路由方式。圖1本發(fā)明實(shí)施方式中主用路由請(qǐng)求消息PRREQ格式示意圖。圖2本發(fā)明實(shí)施方式中主用路由應(yīng)答消息PRREP格式示意圖。圖3本發(fā)明實(shí)施方式中主用路由建立過程流程圖。圖4本發(fā)明實(shí)施方式中備份路由更新消息BRUM格式示意圖。圖5本發(fā)明實(shí)施方式中備份路由建立過程流程圖。圖6本發(fā)明實(shí)施方式中備份路由出錯(cuò)消息BRERR格式示意圖。圖7本發(fā)明實(shí)施方式中主用路由更新消息PRUM格式示意圖。圖8本發(fā)明實(shí)施方式中主用路由出錯(cuò)消息PRERR格式示意圖。圖9本發(fā)明實(shí)施方式中主用路由釋放消息PRR格式示意圖。圖10本發(fā)明實(shí)施方式中主用路由動(dòng)態(tài)維護(hù)流程圖。圖ll本發(fā)明實(shí)施方式中初始網(wǎng)絡(luò)結(jié)構(gòu)圖。圖12本發(fā)明實(shí)施方式中主用路由和備份路由建立后網(wǎng)絡(luò)示意圖。圖13本發(fā)明實(shí)施例中主用節(jié)點(diǎn)C失效時(shí)主用路由修復(fù)示意圖。具體實(shí)施方式下面結(jié)合實(shí)施例來說明本發(fā)明所提供的多跳無線自組織網(wǎng)絡(luò)按需路由動(dòng)態(tài)維護(hù)方法,本實(shí)施例網(wǎng)絡(luò)結(jié)構(gòu)如圖11所示,由15個(gè)節(jié)點(diǎn)組成,最初每個(gè)節(jié)點(diǎn)均為初始節(jié)點(diǎn),其中節(jié)點(diǎn)S、R分別為源節(jié)點(diǎn)和目的節(jié)點(diǎn),節(jié)點(diǎn)之間的連線表示存在無線鏈路,可以直接通信。一、主用路由建立過程(如圖3)(1)源節(jié)點(diǎn)S向目的節(jié)點(diǎn)R廣播主用路由請(qǐng)求消息PRREQ(PRREQ格式見圖1);(2)第一次收到PRREQ的中間節(jié)點(diǎn)如A、B、E等根據(jù)PRREQ中的節(jié)點(diǎn)序列信息,建立到S的路由,并將自己的ID加入到PRREQ經(jīng)過的節(jié)點(diǎn)序列中;如果收到相同的PRREQ,將丟棄;(3)如果中間節(jié)點(diǎn)有到達(dá)R的路由,則通過該路由傳送PRREQ,不再進(jìn)行廣播,否則繼續(xù)廣播該P(yáng)RREQ;(4)R收到PRREQ后,比較收到的所有PRREQ消息,選取一條最優(yōu)的路由(本實(shí)施例中最優(yōu)的條件是跳數(shù)最少)作為主用路由,于是得到本實(shí)施例中的最優(yōu)路由,其節(jié)點(diǎn)序列為SABCDER;(5)R沿最優(yōu)路由的反向路由即REDCBAS向S回復(fù)主用路由應(yīng)答消息PRREP(PRREQ格式見圖2),其中包含了路由所經(jīng)過的節(jié)點(diǎn)序列;(6)收到PRREP且節(jié)點(diǎn)ID在路由經(jīng)過的節(jié)點(diǎn)序列的中間節(jié)點(diǎn)建立到R的主用路由,并設(shè)置自己的類型為主用節(jié)點(diǎn),然后繼續(xù)轉(zhuǎn)發(fā)PRREP;(7)收到PRREP的源節(jié)點(diǎn)S建立起到達(dá)R的主用路由SABCDER。二、備份路由建立過程(如圖5)(1)在主用路由建立過程中,當(dāng)一個(gè)節(jié)點(diǎn)如E收到PRREP,首先判斷該P(yáng)RREP是否已由自己發(fā)送,如果是由自己發(fā)送,則丟棄該分組;如果不是,則繼續(xù)向下;如對(duì)于R發(fā)送的PRREP,E會(huì)接收,而對(duì)于D發(fā)送的PRREP,E會(huì)丟棄;(2)如果節(jié)點(diǎn)ID如E、D、C、B、A等包含在路由所經(jīng)過的節(jié)點(diǎn)序列中,則設(shè)置自己的類型為主用節(jié)點(diǎn),并建立到目的節(jié)點(diǎn)的主用路由,繼續(xù)轉(zhuǎn)發(fā)PRREP;(3)如果節(jié)點(diǎn)ID如H、G、F、P、Q等沒有包含在路由所經(jīng)過的節(jié)點(diǎn)序列中,則設(shè)置自己的類型為備份節(jié)點(diǎn),并建立到R的備份路由;如H成為備份節(jié)點(diǎn)并建立起到R的備份路由HER、HDER;G、F、P、Q也成為備份節(jié)點(diǎn)并建立到R的備份路由;(4)備份節(jié)點(diǎn)H、G、F、P、Q等,將自己建立的備份路由信息通過備份路由更新消息BRUM(BRUM格式見圖4)廣播給自己的鄰居節(jié)點(diǎn);(5)收到BRUM的主用節(jié)點(diǎn)和備份節(jié)點(diǎn)判斷其中的路由信息是否是新的或者是更優(yōu)的路由信息,如果是,則存儲(chǔ)該路由信息;如B除了建立一條主用路由BCDER,還會(huì)建立起多條備份路由BFGHER、BFGHDER、BFGCDER、BPQCDER等。各主用節(jié)點(diǎn)建立的主用路由和備份路由如表1所示表l<table>tableseeoriginaldocumentpage12</column></row><table>(6)備份節(jié)點(diǎn)檢測到備份路由有更新時(shí),廣播BRUM通知鄰居節(jié)點(diǎn)備份路由更新信息;(7)初始節(jié)點(diǎn)如I、J、K等收到BRUM時(shí),將丟棄該分組。主用路由和備份路由建立后的網(wǎng)絡(luò)如圖12所示。三、路由維護(hù)過程(如圖10)所述的按需路由動(dòng)態(tài)維護(hù)方法,路由維護(hù)過程包括兩個(gè)部分,第一部分指當(dāng)備份路由出現(xiàn)失效時(shí),檢測到失效的備份節(jié)點(diǎn)發(fā)布備份路由出錯(cuò)消息;第二部分是當(dāng)主用路由出現(xiàn)失效時(shí),對(duì)主用路由進(jìn)行動(dòng)態(tài)維護(hù)。第一部分備份路由出現(xiàn)失效時(shí)本實(shí)施例中,當(dāng)備份節(jié)點(diǎn)G出現(xiàn)失效,將影響經(jīng)過G的五條備份路由BFGHER、BFGHDER、BFGCDER、CGHER、CGHDER。備份節(jié)點(diǎn)F會(huì)檢測到備份路由BFGHER、BFGHDER和BFGCDER失效,將廣播備份路由出錯(cuò)消息BRERR(BRERR格式見圖6),通告出錯(cuò)的備份路由信息,主用節(jié)點(diǎn)B收到F廣播的BRERR后,會(huì)將失效的備份路由BFGHER、BFGHDER和BFGCDER從路由表中刪除。主用節(jié)點(diǎn)C會(huì)檢測到G的失效,也會(huì)將失效的備份路由CGHER和CGHDER從路由表中刪除,但C不會(huì)廣播BRERR。當(dāng)備份節(jié)點(diǎn)已沒有可用的備份路由,如果在規(guī)定時(shí)間T(如T-30秒)內(nèi)仍沒有可用的備份路由,于是備份節(jié)點(diǎn)將設(shè)置自己的類型為初始節(jié)點(diǎn)。第二部分主用路由出現(xiàn)失效時(shí)本實(shí)施例中,當(dāng)主用節(jié)點(diǎn)C出現(xiàn)失效,將影響主用路由SABCDER,主用節(jié)點(diǎn)B會(huì)檢測到C的失效(如鏈路層的失效通告給網(wǎng)絡(luò)層)。(1)當(dāng)B檢測到下游節(jié)點(diǎn)C失效時(shí),査詢是否有備份路由可以到達(dá)目的節(jié)點(diǎn)R。經(jīng)過査詢發(fā)現(xiàn)有兩條備份路由BFGHER和BFGHDER可到達(dá)R,將選擇最優(yōu)的(跳數(shù)最少)備份路由BFGHER作為主用路由,并同時(shí)沿新的主用路由向源節(jié)點(diǎn)S和目的節(jié)點(diǎn)R發(fā)送主用路由更新消息PRUM(PRUM格式見圖7);(2)收到PRUM的備份節(jié)點(diǎn)F、G、H、P,因?yàn)镕、G、H包含在主用路由更新節(jié)點(diǎn)序列中,所以,F(xiàn)、G、H將自己的類型設(shè)置為主用節(jié)點(diǎn),所選擇的路由BFGHER作為主用路由,其余路由作為備份路由;P由于不在主用路由更新節(jié)點(diǎn)序列中,所以P仍為備份節(jié)點(diǎn);(3)收到PRUM的主用節(jié)點(diǎn)如D,因?yàn)镈沒有包含在路由更新節(jié)點(diǎn)序列中,于是D將自己的類型設(shè)置為備份節(jié)點(diǎn),D到達(dá)目的節(jié)點(diǎn)R的路由DER設(shè)置為備份路由,路由有更新時(shí)廣播備份路由更新消息BRUM;(4)收到PRUM的初始節(jié)點(diǎn)I、J、K,設(shè)置自己的類型為備份節(jié)點(diǎn),并廣播備份路由更新消息BRUM,建立起備份路由;主用路由修復(fù)后主用節(jié)點(diǎn)主用路由和備份路由如表2所示表2<table>tableseeoriginaldocumentpage13</column></row><table>(5)備份節(jié)點(diǎn)Q檢測到C失效后,原來的備份路由QCDER失效,由于在規(guī)定的時(shí)間T(如丁=30秒)內(nèi)Q沒有備份路由,將由備份節(jié)點(diǎn)變成初始節(jié)點(diǎn)。主用節(jié)點(diǎn)C出現(xiàn)失效,主用路由修復(fù)后的網(wǎng)絡(luò)結(jié)構(gòu)如圖13所示。本實(shí)施例中,當(dāng)主用節(jié)點(diǎn)C沒有失效,而是B失效時(shí),主用節(jié)點(diǎn)A會(huì)檢測到主用路由下游節(jié)點(diǎn)B的失效,而且A也沒有備份路由,這時(shí),A將向源節(jié)點(diǎn)S發(fā)送主用路由出錯(cuò)消息PRERR(PRERR格式見圖8),通知S重新發(fā)起主用路由的建立過程;收到PRERR的主用節(jié)點(diǎn)和備份節(jié)點(diǎn)將設(shè)置自己的類型為初始節(jié)點(diǎn),并刪除相應(yīng)的路由息;當(dāng)主用路由CDER在規(guī)定時(shí)間T(如T^30秒)內(nèi)沒有被使用(由于B失效),將由目的節(jié)點(diǎn)R沿主用路由向源節(jié)點(diǎn)S方向發(fā)送主用路由釋放消息PRR(PRR格式見圖9),收到PRR的主用節(jié)點(diǎn)E、D、C和備份節(jié)點(diǎn)Q、G、H,都將自己的類型設(shè)置為初始節(jié)點(diǎn)并刪除相應(yīng)的路由信息。Q、G、H還將廣播BRERR,通告刪除的備份路由信息已失效,備份節(jié)點(diǎn)F、P收到BRERR后,將刪除相應(yīng)的備份路由信息。在規(guī)定時(shí)間T(如丁=30秒)后,由于F、P已沒有備份路由,將由備份節(jié)點(diǎn)變?yōu)槌跏脊?jié)點(diǎn)。四、路由選擇過程(1)主用節(jié)點(diǎn)S、A、B、C、D、E、R通過主用路由建立過程獲取了主用路由,如表l所示;(2)主用節(jié)點(diǎn)B、C、D通過備份路由建立過程獲取了備份路由,如表l所示;(3)當(dāng)主用路由SABCDER正常時(shí),通過此主用路由傳送數(shù)據(jù);(4)當(dāng)主用路由SABCDER失效時(shí),主用節(jié)點(diǎn)具有備份路由的情況下,通過最優(yōu)的備份路由傳送數(shù)據(jù),并將該備份路由升級(jí)作為主用路由;如當(dāng)節(jié)點(diǎn)C失效時(shí),B有備份路由BFGHER和BFGHDER可用,選擇較優(yōu)的BFGHER傳送數(shù)據(jù),并將此路由作為主用路由,于是得到S和R之間的主用路由SABFGHER。(5)當(dāng)節(jié)點(diǎn)B失效時(shí),A沒有備份路由,主用路由也不可用,于是A通知源節(jié)點(diǎn)S建立新的主用路由。本發(fā)明所提供的一種多跳無線自組織網(wǎng)絡(luò)的按需路由動(dòng)態(tài)維護(hù)方法,克服了現(xiàn)有按需路由協(xié)議在路由維護(hù)方面的不足,在主用路由失效之前就建立備份路由并對(duì)備份路由進(jìn)行及時(shí)更新,同時(shí)將備份路由的建立限制在規(guī)定的范圍內(nèi),不僅結(jié)合了按需路由協(xié)議和先應(yīng)式路由協(xié)議的優(yōu)點(diǎn),而且也盡可能降低了路由維護(hù)開銷。權(quán)利要求1、一種多跳無線自組織網(wǎng)絡(luò)的按需路由動(dòng)態(tài)維護(hù)方法,其特征在于包括主用路由建立過程、備份路由建立過程、路由的維護(hù)過程,所述主用路由建立過程采用按需路由方式源節(jié)點(diǎn)向目的節(jié)點(diǎn)廣播發(fā)送主用路由請(qǐng)求消息PRREQ;目的節(jié)點(diǎn)收到PRREQ后,比較收到的所有PRREQ消息,選取一條最優(yōu)的路由作為主用路由,所述PRREQ的內(nèi)容包括消息類型、目的節(jié)點(diǎn)ID、目的節(jié)點(diǎn)序列號(hào)、源節(jié)點(diǎn)ID、源節(jié)點(diǎn)序列號(hào)和所經(jīng)過的節(jié)點(diǎn)序列;目的節(jié)點(diǎn)沿最優(yōu)路由的反向路由向源節(jié)點(diǎn)回復(fù)主用路由應(yīng)答消息PRREP,所述PRREP的內(nèi)容包括消息類型、目的節(jié)點(diǎn)ID、目的節(jié)點(diǎn)序列號(hào)、發(fā)送節(jié)點(diǎn)ID和路由經(jīng)過的節(jié)點(diǎn)序列;收到PRREP且節(jié)點(diǎn)ID在路由經(jīng)過的節(jié)點(diǎn)序列的中間節(jié)點(diǎn)建立到目的節(jié)點(diǎn)的主用路由,并設(shè)置自己的類型為主用節(jié)點(diǎn),然后繼續(xù)轉(zhuǎn)發(fā)PRREP;收到PRREP的源節(jié)點(diǎn)建立到目的節(jié)點(diǎn)的主用路由;備份路由建立過程發(fā)送PRREP的節(jié)點(diǎn)的鄰居節(jié)點(diǎn)中,一個(gè)接收PRREP成為主用節(jié)點(diǎn),其余除了發(fā)出該P(yáng)RREP的節(jié)點(diǎn)之外的接收到PRREP的節(jié)點(diǎn)成為備份節(jié)點(diǎn),收到PRREP的備份節(jié)點(diǎn)建立到目的節(jié)點(diǎn)的備份路由,并向自己的鄰居節(jié)點(diǎn)發(fā)送備份路由更新消息BRUM,所述BRUM的內(nèi)容包括消息類型、目的節(jié)點(diǎn)ID、目的節(jié)點(diǎn)序列號(hào)、發(fā)送節(jié)點(diǎn)ID和備份路由更新序列列表;路由的維護(hù)過程(1)當(dāng)一個(gè)備份節(jié)點(diǎn)檢測到某條或多條備份路由失效時(shí),將向自己的鄰居節(jié)點(diǎn)廣播備份路由出錯(cuò)消息BRERR,BRERR的內(nèi)容包括消息類型、不可達(dá)目的節(jié)點(diǎn)ID、不可達(dá)目的節(jié)點(diǎn)序列號(hào)、發(fā)送節(jié)點(diǎn)ID和不可達(dá)備份節(jié)點(diǎn)列表;(2)收到BRERR的主用節(jié)點(diǎn)和備份節(jié)點(diǎn),根據(jù)BRERR更新自己的路由表,在規(guī)定時(shí)間T內(nèi)沒有可用備份路由的備份節(jié)點(diǎn)將設(shè)置自己的類型為初始節(jié)點(diǎn),所述T>0。2、根據(jù)權(quán)利要求1所述的方法,其特征在于所述最優(yōu)的路由是指跳數(shù)最少、時(shí)延最小、能量消耗最小或穩(wěn)定度最高的路由。3、根據(jù)權(quán)利要求1所述的方法,其特征是,主用路由建立過程中,在源節(jié)點(diǎn)廣播發(fā)送PRREQ之后、目的節(jié)點(diǎn)收到PRREQ之前還包括第一次收到PRREQ的中間節(jié)點(diǎn)根據(jù)PRREQ中的信息,建立到源節(jié)點(diǎn)的路由,并將自己的ID加入到PRREQ經(jīng)過的節(jié)點(diǎn)序列中;如果收到相同的PRREQ,將丟棄;如果中間節(jié)點(diǎn)有到達(dá)目的節(jié)點(diǎn)的路由,則通過該路由傳送PRREQ,不再進(jìn)行廣播,否則繼續(xù)廣播該P(yáng)RREQ消息。4、根據(jù)權(quán)利要求13任一項(xiàng)所述的方法,其特征在于所述備份路由建立過程包括(4.1)當(dāng)一個(gè)節(jié)點(diǎn)收到PRREP,首先判斷該P(yáng)RREP是否已由自己發(fā)送,如果是由自己發(fā)送,則丟棄該分組;如果不是,則繼續(xù);(4.2)如果節(jié)點(diǎn)ID包含在路由所經(jīng)過的節(jié)點(diǎn)序列中,則設(shè)置自己的類型為主用節(jié)點(diǎn),并建立到目的節(jié)點(diǎn)的主用路由,非源節(jié)點(diǎn)繼續(xù)轉(zhuǎn)發(fā)PRREP;(4.3)如果節(jié)點(diǎn)ID沒有包含在路由所經(jīng)過的節(jié)點(diǎn)序列中,則設(shè)置自己的類型為備份節(jié)點(diǎn),并建立到目的節(jié)點(diǎn)的備份路由;(4.4)備份節(jié)點(diǎn)將自己建立的備份路由信息通過備份路由更新消息BRUM廣播給自己的鄰居節(jié)點(diǎn);(4.5)收到BRUM的主用節(jié)點(diǎn)和備份節(jié)點(diǎn)判斷其中的路由信息是否是新的或者是更優(yōu)的路由信息,如果是,則存儲(chǔ)該路由信息;(4.6)備份節(jié)點(diǎn)檢測到備份路由有更新時(shí),將廣播BRUM通知鄰居節(jié)點(diǎn)備份路由更新fe息5(4.7)初始節(jié)點(diǎn)收到BRUM時(shí),將丟棄該分組。5、根據(jù)權(quán)利要求4所述的方法,特征在于所述路由的維護(hù)過程還包括(5.1)當(dāng)一個(gè)主用節(jié)點(diǎn)檢測到下游節(jié)點(diǎn)失效時(shí),査詢是否有備份路由可以到達(dá)目的節(jié)點(diǎn),如果有,將選擇一條最優(yōu)的備份路由作為主用路由,并同時(shí)沿新的主用路由向源節(jié)點(diǎn)和目的節(jié)點(diǎn)發(fā)送主用路由更新消息PRUM,該P(yáng)RUM包括消息類型、目的節(jié)點(diǎn)ID、目的節(jié)點(diǎn)序列號(hào)、發(fā)送節(jié)點(diǎn)ID和主用峰由更新節(jié)點(diǎn)序列;(5.2)收到PRUM的備份節(jié)點(diǎn),如果自己的ID包含在主用路由更新節(jié)點(diǎn)序列中,則將自己的類型設(shè)置為主用節(jié)點(diǎn),所選擇的路由作為主用路由;(5.3)收到PRUM的主用節(jié)點(diǎn),如果自己的ID沒有包含在路由更新節(jié)點(diǎn)序列中,則將自己的類型設(shè)置為備份節(jié)點(diǎn),該節(jié)點(diǎn)所有到達(dá)目的節(jié)點(diǎn)的路由設(shè)置為備份路由,路由有更新時(shí)廣播備份路由更新消息BRUM;(5.4)收到PRUM的初始節(jié)點(diǎn),設(shè)置自己的類型為備份節(jié)點(diǎn),并廣播備份路由更新消息BRUM;6、根據(jù)權(quán)利要求5所述的方法,其特征在于所述路由的維護(hù)過程還包括(6.1)當(dāng)檢測到主用路由下游節(jié)點(diǎn)失效,且沒有備份路由時(shí),該主用節(jié)點(diǎn)將向源節(jié)點(diǎn)發(fā)送主用路由出錯(cuò)消息PRERR,通知源節(jié)點(diǎn)重新發(fā)起主用路由的建立過程,該P(yáng)RERR的內(nèi)容包括消息類型、不可達(dá)目的節(jié)點(diǎn)ID、不可達(dá)目的節(jié)點(diǎn)序列號(hào)和不可達(dá)主用節(jié)點(diǎn)列表;(6.2)收到PRERR的主用節(jié)點(diǎn)和備份節(jié)點(diǎn)將設(shè)置自己的類型為初始節(jié)點(diǎn),并刪除相應(yīng)的路由信息;(6.3)主用路由在規(guī)定時(shí)間T內(nèi)沒有被使用,將由目的節(jié)點(diǎn)沿主用路由向源節(jié)點(diǎn)發(fā)送主用路由釋放消息PRR,該P(yáng)RR包括消息類型、目的節(jié)點(diǎn)ID、目的節(jié)點(diǎn)序列號(hào)和路由釋放指示,所述TX);(6.4)收到PRR的主用節(jié)點(diǎn)和備份節(jié)點(diǎn),都將自己的類型設(shè)置為初始節(jié)點(diǎn)并刪除相應(yīng)的路由信息;(6.5)備份節(jié)點(diǎn)廣播BRERR,通告刪除的備份路由信息已失效。7、根據(jù)權(quán)利要求6所述的方法,其特征在于該方法還包括路由選擇過程(1)當(dāng)主用路由正常時(shí),通過主用路由傳送數(shù)據(jù);(2)當(dāng)主用路由失效時(shí),通過最優(yōu)的備份路由傳送數(shù)據(jù),并將該備份路由升級(jí)作為主用路由;(3)當(dāng)主用路由和備份路由都不可用時(shí),通知源節(jié)點(diǎn)建立新的主用路由。全文摘要本發(fā)明公開了一種多跳無線自組織網(wǎng)絡(luò)的按需路由動(dòng)態(tài)維護(hù)方法,該方法主要包括主用路由建立過程、備份路由建立過程和路由的維護(hù)過程,首先以按需路由的方式建立起主用路由,然后再在規(guī)定的范圍內(nèi)建立起備份路由,并對(duì)備份路由的變化進(jìn)行及時(shí)更新。路由維護(hù)過程包括兩個(gè)部分,第一部分指當(dāng)備份路由出現(xiàn)失效時(shí),檢測到失效的備份節(jié)點(diǎn)發(fā)布備份路由出錯(cuò)消息;第二部分是當(dāng)主用路由出現(xiàn)失效時(shí),對(duì)主用路由進(jìn)行動(dòng)態(tài)維護(hù)。本發(fā)明將備份路由的建立和路由信息的交互限制在主用節(jié)點(diǎn)的一跳范圍內(nèi),降低通信開銷,且能夠?qū)χ饔寐酚涉溌肥?如節(jié)點(diǎn)移動(dòng)引起鏈路失效)或節(jié)點(diǎn)失效(如節(jié)點(diǎn)能量耗盡)作出快速響應(yīng),不增加業(yè)務(wù)的時(shí)延,保障通信的穩(wěn)定性和可靠性。文檔編號(hào)H04L12/24GK101335701SQ20081002935公開日2008年12月31日申請(qǐng)日期2008年7月10日優(yōu)先權(quán)日2008年7月10日發(fā)明者劉桂開,軍張,王洪江,崗韋申請(qǐng)人:華南理工大學(xué)