專利名稱::基于環(huán)路分群的單向無線自組織網(wǎng)絡(luò)路由方法
技術(shù)領(lǐng)域:
:本發(fā)明屬于無線通信網(wǎng)絡(luò)
技術(shù)領(lǐng)域:
,具體來說涉及一種基于環(huán)路分群的單向無線自組織網(wǎng)絡(luò)路由方法。
背景技術(shù):
:無線自組織網(wǎng)絡(luò),又稱無線AdHoc網(wǎng)絡(luò)(WirelessAdhocNetworks),是由多個(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),可以廣泛應(yīng)用于戰(zhàn)場(chǎng)通信指揮與控制、災(zāi)難救助、偏遠(yuǎn)地區(qū)等無法得到有線網(wǎng)絡(luò)支持或某些只是臨時(shí)需要通信但建立有線通信網(wǎng)絡(luò)代價(jià)太大的環(huán)境。在無線自組織網(wǎng)絡(luò)中,當(dāng)兩個(gè)節(jié)點(diǎn)在彼此的通信覆蓋范圍內(nèi),它們可以相互通信,但由于節(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)的路由。不過,在這種情況下,節(jié)點(diǎn)一旦移動(dòng)將導(dǎo)致網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)發(fā)生變化,加上節(jié)點(diǎn)之間都是通過無線信道進(jìn)行通信,因此,多跳路由面臨著動(dòng)態(tài)變化的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、有限的帶寬等方面的挑戰(zhàn)。為了支持多跳路由,在目前的多跳無線自組織網(wǎng)絡(luò)研究中,已提出了多種路由協(xié)議,按照路由建立的方式不同,可分為先應(yīng)式(Proactive)路由協(xié)議和按需(On-demand)路由協(xié)議。先應(yīng)式路由協(xié)議又稱為表驅(qū)動(dòng)路由協(xié)議,在先應(yīng)式路由協(xié)議中(如DSDV、LANMAR、FSR、OLSR、TBRPF),無論是否有通信需求,每兩個(gè)節(jié)點(diǎn)之間都預(yù)先建立起路由,源節(jié)點(diǎn)一旦要發(fā)送分組,可以立即獲得指向目的節(jié)點(diǎn)的路由。這種路由協(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í)間縮短,路由信息利用率下降。按需路由協(xié)議(如AODV、DSR、TORA、ABR),只有當(dāng)網(wǎng)絡(luò)節(jié)點(diǎn)有路由的需求時(shí)才發(fā)起路由的査找過程,并對(duì)建立的路由進(jìn)行維護(hù),數(shù)據(jù)傳輸結(jié)束后將釋放建立的路由。與先應(yīng)式路由協(xié)議相比,按需路由協(xié)議可以降低路由開銷,路由的使用效率更高。一般來說,按需路由協(xié)議更適合于無線自組織網(wǎng)絡(luò)。但是,按需路由協(xié)議也存在不足,當(dāng)一條正在使用的鏈路由于節(jié)點(diǎn)失效或節(jié)點(diǎn)移動(dòng)而發(fā)生中斷時(shí),會(huì)觸發(fā)路由的重新建立,這個(gè)過程不僅會(huì)帶來新的開銷,也會(huì)增加業(yè)務(wù)的時(shí)延。因此,單純的按需路由協(xié)議不太適合于實(shí)時(shí)的通信需求。由于節(jié)點(diǎn)的覆蓋范圍有差異或存在隱藏終端等問題,會(huì)導(dǎo)致無線自組織網(wǎng)絡(luò)中出現(xiàn)單向鏈路。但是無論是先應(yīng)式路由協(xié)議,還是按需路由協(xié)議,目前提出的路由協(xié)議基本上都是建立在"對(duì)稱"網(wǎng)絡(luò)即節(jié)點(diǎn)間的鏈路為雙向的假設(shè)之上,當(dāng)網(wǎng)絡(luò)中出現(xiàn)單向鏈路時(shí)有可能無法正常工作。雖然DSR提到支持單向鏈路,但DSR沒有給出具體的方法,沒有說明對(duì)單向鏈路中的通信應(yīng)答和路由維護(hù)如何進(jìn)行處理。因此,無線自組織網(wǎng)絡(luò)路由協(xié)議支,單向鏈路是一個(gè)有待解決的問題。存在單向鏈路的網(wǎng)絡(luò)稱為單向網(wǎng)絡(luò)。將單向網(wǎng)絡(luò)抽象成一個(gè)有向圖GKr,五),其中m示網(wǎng)絡(luò)節(jié)點(diǎn)集合,五表示鏈路集合。在網(wǎng)絡(luò)G-(F,五)中,若對(duì)w,v口r,有(",v)OEA(v,m)口£,此時(shí)v可以直接收到w發(fā)出的信息,但w不能直接收到v發(fā)出的信息,我們稱(w,v)是單向鏈路,即鏈路w只能沿固定的一個(gè)方向發(fā)送數(shù)據(jù)而不能沿相反的方向發(fā)送數(shù)據(jù),并稱M為v的上游節(jié)點(diǎn),v是"的下游節(jié)點(diǎn)。雙向鏈路是能夠沿兩個(gè)方向發(fā)送數(shù)據(jù)的鏈路。若網(wǎng)絡(luò)中每條鏈路都是單向鏈路,則稱這樣的網(wǎng)絡(luò)為純單向網(wǎng)絡(luò)。若網(wǎng)絡(luò)中既有單向鏈路,也有雙向鏈路,則稱這樣的網(wǎng)絡(luò)為混合單向網(wǎng)絡(luò)。由于單向鏈路的存在,一個(gè)節(jié)點(diǎn)可以通過鄰居發(fā)現(xiàn)知道單向鏈路上游的鄰居節(jié)點(diǎn),但卻無法知道單向鏈路下游的鄰居節(jié)點(diǎn)。因此,在現(xiàn)階段針對(duì)單向網(wǎng)絡(luò)的按需路由協(xié)議中,一般路由請(qǐng)求消息和路由應(yīng)答消息都需要采取廣播的方式來實(shí)現(xiàn)。在網(wǎng)絡(luò)G-(r,五)中,對(duì)M,v口F,如果存在一條從節(jié)點(diǎn)M到節(jié)點(diǎn)v的有向路徑,則稱v由"可達(dá),或者說,從"可達(dá)v。如果G中任意兩個(gè)節(jié)點(diǎn)都互相可達(dá),則稱G是強(qiáng)連通的(stronglyconnected)。因?yàn)樵谕ㄐ啪W(wǎng)絡(luò)中,任意兩個(gè)進(jìn)行通信的節(jié)點(diǎn)一般都需要進(jìn)行信息交互,也就是要求網(wǎng)絡(luò)中任意兩個(gè)節(jié)點(diǎn)是相互可達(dá)的,所以,如果不進(jìn)行特別說明,則本發(fā)明所針對(duì)的網(wǎng)絡(luò)是強(qiáng)連通的。如果G中的一條路徑的起點(diǎn)和終點(diǎn)是同一個(gè)節(jié)點(diǎn),則稱此條路徑為回路。如果一條回路中除了起點(diǎn)和終點(diǎn)沒有重復(fù)的節(jié)點(diǎn),則稱這樣的回路為環(huán)路(Loop)。由單向鏈路所構(gòu)成的環(huán)路具有這樣的特點(diǎn),即環(huán)路中的每個(gè)節(jié)點(diǎn)可以通過環(huán)路內(nèi)部路由知道單向鏈路的下游鄰居節(jié)點(diǎn)。
發(fā)明內(nèi)容本發(fā)明的目的在于針對(duì)無線自組織網(wǎng)絡(luò)中存在單向鏈路的情況,提供一種基于環(huán)路分群的單向無線自組織網(wǎng)絡(luò)路由方法?;舅枷胧怯蓡蜗驘o線自組織網(wǎng)絡(luò)中每一條環(huán)路構(gòu)成一個(gè)群,群內(nèi)的節(jié)點(diǎn)保存有到群內(nèi)其他節(jié)點(diǎn)的路由信息,是一種先應(yīng)式的路由方式。群間和群外的節(jié)點(diǎn)只有在有路由需要時(shí)才發(fā)起路由的査找過程,是一種按需的路由方式。目的是充分利用由單向鏈路構(gòu)成環(huán)路后所具有的特點(diǎn),發(fā)揮先應(yīng)式路由方式和按需路由方式的優(yōu)點(diǎn),減少路由控制開銷,保障路由的有效性。本發(fā)明通過如下技術(shù)方案實(shí)現(xiàn)。本發(fā)明所提供的一種基于環(huán)路分群的單向無線自組織網(wǎng)絡(luò)路由方法,包括鄰居發(fā)現(xiàn)過程、環(huán)路分群過程、路由選擇過程和路由維護(hù)過程(1)所述的鄰居發(fā)現(xiàn)過程,是指網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)通過鄰居(即鄰居節(jié)點(diǎn))發(fā)現(xiàn)過程知道自己有哪些鄰居,并確定鄰居之間的鏈路是單向鏈路還是雙向鏈路。具體過程為-每個(gè)節(jié)點(diǎn)每隔時(shí)間T向自己的鄰居廣播Hello消息,Hello消息中攜帶有該節(jié)點(diǎn)己知鄰居節(jié)點(diǎn)的標(biāo)識(shí)(ID)。當(dāng)一個(gè)節(jié)點(diǎn)接收到一個(gè)Hello消息,首先查看消息中是否包含了自己ID,如果包含了自己的ID,則說明該條鏈路為雙向鏈路,否則為單向鏈路。然后,將獲得的鄰居ID和鏈路方向記錄在自己的節(jié)點(diǎn)鄰居表中。所述的Hello消息的內(nèi)容包括:消息類型、發(fā)送節(jié)點(diǎn)ID、已知鄰居列表等;如果一個(gè)節(jié)點(diǎn)在規(guī)定的時(shí)間內(nèi)收不到某個(gè)鄰居的Hello消息,則認(rèn)為與該鄰居的鏈路已經(jīng)失效,將此鄰居從自己的鄰居表中刪除。(2)所述的環(huán)路分群過程,首先査找網(wǎng)絡(luò)中的環(huán)路,并把獲得的環(huán)路看成是一個(gè)群,然后讓群中的每個(gè)節(jié)點(diǎn)獲得到達(dá)群內(nèi)其他節(jié)點(diǎn)的路由。具體過程如下最初,網(wǎng)絡(luò)中所有節(jié)點(diǎn)為初始節(jié)點(diǎn)(InitialNode)。在網(wǎng)絡(luò)中任意選取一個(gè)節(jié)點(diǎn)S(—般可以選擇便于管理和操作的節(jié)點(diǎn)),由S向網(wǎng)絡(luò)中廣播環(huán)路發(fā)現(xiàn)消息LDM(Lo叩DiscoveryMessage),LDM的內(nèi)容包括消息類型、發(fā)送節(jié)點(diǎn)ID、消息序列號(hào)、所經(jīng)過的節(jié)點(diǎn)與經(jīng)過的鏈路方向序列等。當(dāng)一個(gè)初始節(jié)點(diǎn)接收到一個(gè)LDM消息,并且自己沒有發(fā)送過同一LDM(根據(jù)發(fā)送節(jié)點(diǎn)ID、消息序列號(hào)和所經(jīng)過的節(jié)點(diǎn)進(jìn)行判斷),則獲取其中的路由信息,并把自己的ID加入到所經(jīng)過的節(jié)點(diǎn)序列中,同時(shí),也將接收LDM的鏈路的方向標(biāo)識(shí)也加入到序列中,然后繼續(xù)廣播轉(zhuǎn)發(fā)該消息。所述的鏈路方向標(biāo)識(shí)為O表示雙向,l表示單向。如果一個(gè)節(jié)點(diǎn)已經(jīng)發(fā)送過一次相同的LDM,則該節(jié)點(diǎn)不再轉(zhuǎn)發(fā)LDM,只是査看自己是否在所經(jīng)過的節(jié)點(diǎn)序列中,并獲取其中的路由信息。如果一個(gè)節(jié)點(diǎn)已經(jīng)加入到某一個(gè)群而成為了群內(nèi)節(jié)點(diǎn),且收到的LDM不是自己發(fā)送過的LDM,如果LDM中有新的路由信息,則獲取其中的路由信息,否則丟棄收到的LDM。如果接收到LDM的節(jié)點(diǎn)在LDM所經(jīng)過的節(jié)點(diǎn)與經(jīng)過的鏈路方向序列中,一種情形是發(fā)過來的LDM只傳遞了一跳,因?yàn)樗c鄰居之間為雙向鏈路,這種情況下丟棄收到的LDM。另一種情形是該節(jié)點(diǎn)獲取了網(wǎng)絡(luò)中的一個(gè)環(huán)路信息,于是基于此環(huán)路的節(jié)點(diǎn)和鏈路即構(gòu)成一個(gè)群,并根據(jù)LDM中的節(jié)點(diǎn)與鏈路方向序列建立群內(nèi)節(jié)點(diǎn)的路由表,并沿所接收LDM走過的路徑發(fā)送路由建立消息RCM(RoutingCreatingMessage),通知群內(nèi)節(jié)點(diǎn)建立群內(nèi)路由信息。RCM的內(nèi)容包括消息類型、發(fā)送節(jié)點(diǎn)ID、接收節(jié)點(diǎn)ID、群標(biāo)識(shí)(ID)、群內(nèi)節(jié)點(diǎn)與鏈路方向序列等。接收到RCM消息的節(jié)點(diǎn)首先判斷該消息是否發(fā)給自己,若不是,則丟棄該消息;若是,則根據(jù)節(jié)點(diǎn)與鏈路方向序列建立到群內(nèi)其他節(jié)點(diǎn)的路由表。然后,改變消息的接收節(jié)點(diǎn)ID繼續(xù)轉(zhuǎn)發(fā)該消息。當(dāng)環(huán)路上的所有節(jié)點(diǎn)都接收到了RCM,并建立了路由,則基于該環(huán)路的群內(nèi)路由已經(jīng)建立。當(dāng)一個(gè)節(jié)點(diǎn)收到的RCM中包含的環(huán)路信息與自己發(fā)送過的RCM完全一樣時(shí),將不再轉(zhuǎn)發(fā)此RCM,發(fā)送RCM的節(jié)點(diǎn)在規(guī)定的時(shí)間內(nèi)收不到自己發(fā)送的RCM即表示RCM傳遞不成功,即環(huán)路信息已由其他的RCM傳送而不需要重復(fù)傳送。當(dāng)一個(gè)群內(nèi)節(jié)點(diǎn)有到群外面的路由時(shí),我們稱這樣的節(jié)點(diǎn)為網(wǎng)關(guān)節(jié)點(diǎn),網(wǎng)關(guān)節(jié)點(diǎn)會(huì)保存與自己相關(guān)的群外路由。當(dāng)群內(nèi)節(jié)點(diǎn)有到群外面的路由、或發(fā)現(xiàn)某個(gè)群內(nèi)節(jié)點(diǎn)有到群外面的路由、或者獲得了新的路由時(shí),將通過路由更新消息RUM(RoutingUpdateMessage)通知群內(nèi)其他節(jié)點(diǎn)哪個(gè)節(jié)點(diǎn)為網(wǎng)關(guān)節(jié)點(diǎn),并將新的路由發(fā)給網(wǎng)關(guān)節(jié)點(diǎn)。RUM的內(nèi)容包括消息類型、發(fā)送節(jié)點(diǎn)ID、路由更新列表等。如果一個(gè)節(jié)點(diǎn)屬于兩個(gè)或兩個(gè)以上的群,它將保存每個(gè)群的信息,發(fā)送數(shù)據(jù)時(shí)選取其中最優(yōu)的路由,并且它也是網(wǎng)關(guān)節(jié)點(diǎn)。由于沒有加入任何群的節(jié)點(diǎn)仍然為初始節(jié)點(diǎn),這樣將網(wǎng)絡(luò)節(jié)點(diǎn)分成了兩大部分群內(nèi)節(jié)點(diǎn)和初始節(jié)點(diǎn)。(3)所述的路由選擇過程,是指當(dāng)源節(jié)點(diǎn)需要向目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),源節(jié)點(diǎn)如何獲取到達(dá)目的節(jié)點(diǎn)的路由。具體過程如下當(dāng)源節(jié)點(diǎn)與目的節(jié)點(diǎn)位于同一個(gè)群內(nèi)時(shí),直接利用群內(nèi)路由就可以將數(shù)據(jù)發(fā)送到目的節(jié)點(diǎn)。當(dāng)源節(jié)點(diǎn)是某個(gè)群中的節(jié)點(diǎn),且目的節(jié)點(diǎn)不在該群時(shí),源節(jié)點(diǎn)將向群中的網(wǎng)關(guān)節(jié)點(diǎn)發(fā)送路由請(qǐng)求消息RREQ(RouteRequest),RREQ的內(nèi)容包括消息類型、目的節(jié)點(diǎn)ID、目的節(jié)點(diǎn)序列號(hào)、源節(jié)點(diǎn)ID、源節(jié)點(diǎn)序列號(hào)、路由標(biāo)識(shí)、所經(jīng)過的節(jié)點(diǎn)與鏈路方向序列等,其中路由標(biāo)識(shí)表示RREQ是否有到目的節(jié)點(diǎn)的路由,若有,該標(biāo)識(shí)為l,若沒有,該標(biāo)識(shí)為0。如果源節(jié)點(diǎn)是初始節(jié)點(diǎn),則它將廣播RREQ消息。當(dāng)一個(gè)中間節(jié)點(diǎn)接收到RREQ,首先將自己的ID與接收RREQ鏈路的方向標(biāo)識(shí)加入到RREQ所經(jīng)過的節(jié)點(diǎn)與鏈路方向序列中,然后查找自己是否有到目的節(jié)點(diǎn)的路由,如果有,則將路由寫入RREQ中所經(jīng)過的節(jié)點(diǎn)與鏈路方向序列中,并置路由標(biāo)識(shí)為1,RREQ將沿其中的路由進(jìn)行轉(zhuǎn)發(fā),不再進(jìn)行廣播。如果接收到RREQ的中間節(jié)點(diǎn)沒有到達(dá)目的節(jié)點(diǎn)的路由時(shí),若該節(jié)點(diǎn)為群內(nèi)節(jié)點(diǎn),則將RREQ發(fā)送給自己群中的網(wǎng)關(guān)節(jié)點(diǎn),網(wǎng)關(guān)節(jié)點(diǎn)也沒有到達(dá)目的節(jié)點(diǎn)路由時(shí)將廣播RREQ。若該節(jié)點(diǎn)為初始節(jié)點(diǎn),則繼續(xù)廣播RREQ。任何節(jié)點(diǎn)重復(fù)收到相同的RREQ時(shí),將丟棄此RREQ。目的節(jié)點(diǎn)有可能接收到多個(gè)RREQ而獲取多條路由,它將對(duì)這些路由進(jìn)行比較,選取其中一條最優(yōu)的路由。所述的最優(yōu)路由可以是跳數(shù)最少、或時(shí)延最小、或能量消耗最小、或穩(wěn)定度最高、或其他可衡量的量化值等。然后向源節(jié)點(diǎn)回復(fù)路由應(yīng)答消息RREP(RouteReply),RREP的內(nèi)容包括消息類型、源節(jié)點(diǎn)ID、目的節(jié)點(diǎn)ID、目的節(jié)點(diǎn)序列號(hào)、路由標(biāo)識(shí)、所經(jīng)過的節(jié)點(diǎn)與鏈路方向序列、到達(dá)目的節(jié)點(diǎn)的路由表項(xiàng)等。RREP的傳遞與RREQ的傳遞機(jī)制一樣。源節(jié)點(diǎn)接收到RREP后,一方面可以得到到達(dá)目的節(jié)點(diǎn)的路由,另一方面也得到了目的節(jié)點(diǎn)到達(dá)自己的路由。當(dāng)需要目的節(jié)點(diǎn)給自己發(fā)送數(shù)據(jù)時(shí),可以將此路由信息發(fā)送給目的節(jié)點(diǎn)。如果源節(jié)點(diǎn)在規(guī)定的時(shí)間內(nèi)沒有收到RREP,則認(rèn)為不存在到達(dá)目的節(jié)點(diǎn)的路由,將放棄數(shù)據(jù)發(fā)送。(4)所述的路由維護(hù)過程,是指當(dāng)網(wǎng)絡(luò)中的一條鏈路出現(xiàn)失效時(shí),需要通知源節(jié)點(diǎn)與該鏈路相關(guān)的路由已經(jīng)失效,不能再通過此路由發(fā)送數(shù)據(jù)。具體過程如下當(dāng)一個(gè)群內(nèi)節(jié)點(diǎn)發(fā)現(xiàn)群內(nèi)的一條鏈路失效,將沿群內(nèi)路由向群內(nèi)節(jié)點(diǎn)發(fā)送鏈路失效通知消息LFN(LinkFailureNotification),通告與該鏈路相關(guān)的路由與群都已失效。所述的LFN的內(nèi)容包括消息類型、發(fā)送節(jié)點(diǎn)ID、群標(biāo)識(shí)、消息傳遞路由、失效鏈路列表等。在LFN發(fā)出規(guī)定的時(shí)間后,如果發(fā)送LFN的節(jié)點(diǎn)已不屬于任何群,該節(jié)點(diǎn)將廣播環(huán)路發(fā)現(xiàn)消息LDM,對(duì)網(wǎng)絡(luò)中初始節(jié)點(diǎn)重新進(jìn)行一次環(huán)路分群過程。如果一個(gè)初始節(jié)點(diǎn)檢測(cè)到一條鏈路失效,它將廣播LFN,將群標(biāo)識(shí)置為0,傳遞路由置為空。收到LFN的群內(nèi)節(jié)點(diǎn)將刪除與失效鏈路相關(guān)的路由與群,如果LFN的群標(biāo)識(shí)指向自己所在的群,則繼續(xù)根據(jù)LFN的傳遞路由轉(zhuǎn)發(fā)LFN。如果LFN的群標(biāo)識(shí)不是指向自己所在的群,且LFN來自群外節(jié)點(diǎn),則利用群內(nèi)路由重置LFN的傳遞路由,將LFN發(fā)送給自己群中的節(jié)點(diǎn)。網(wǎng)關(guān)節(jié)點(diǎn)收到LFN后,將傳遞路由置為空,并向群外廣播LFN。如果一個(gè)初始節(jié)點(diǎn)收到LFN后,將刪除與失效鏈路相關(guān)的路由,并繼續(xù)廣播LFN。任何節(jié)點(diǎn)收到重復(fù)的LFN,將丟棄此LFN。源節(jié)點(diǎn)到目的節(jié)點(diǎn)的路由由于鏈路失效被刪除以后,如果仍然需要給目的節(jié)點(diǎn)發(fā)送數(shù)據(jù),則源節(jié)點(diǎn)重新發(fā)起路由選擇過程。本發(fā)明所提供一種基于環(huán)路分群的單向無線自組織網(wǎng)絡(luò)路由方法,與現(xiàn)有技術(shù)相比,具有如下優(yōu)勢(shì)(1)通過環(huán)路分群,將網(wǎng)絡(luò)節(jié)點(diǎn)分為兩部分群內(nèi)節(jié)點(diǎn)和初始節(jié)點(diǎn)。這樣,除了源節(jié)點(diǎn)和目的節(jié)點(diǎn),群內(nèi)節(jié)點(diǎn)只有網(wǎng)關(guān)節(jié)點(diǎn)需要參與路由選擇過程,避免了采用洪泛(Flooding)方式來傳遞RREQ和RREP,減小了路由控制開銷。(2)采用了分級(jí)的路由方式,即群內(nèi)路由和群間群外路由。與一般的表驅(qū)動(dòng)路由方式相比,具有更好的可擴(kuò)展性。(3)結(jié)合了先應(yīng)式路由方式和按需路由方式,即群內(nèi)路由是先應(yīng)式路由方式,群間、群外路由是按需路由方式。由于先應(yīng)式路由被限制在一個(gè)群內(nèi)部,所以不會(huì)造成嚴(yán)重的路由開銷。對(duì)按需路由方式來說,由于避免了采用洪泛方式來進(jìn)行路由選擇,所以在一定程度上減小了路由建立的時(shí)延。因此,本發(fā)明所提供的路由方法可以充分發(fā)揮先應(yīng)式路由方式和按需路由方式的優(yōu)勢(shì)。圖1為本發(fā)明實(shí)施例網(wǎng)絡(luò)示意圖2為本發(fā)明實(shí)施方式中Hello消息格式示意圖3為實(shí)施方式中環(huán)路發(fā)現(xiàn)消息LDM格式示意圖4為實(shí)施方式中路由建立消息RCM格式示意圖圖5為實(shí)施方式中路由更新消息RUM格式示意圖圖6本實(shí)施例完成環(huán)路分群后的網(wǎng)絡(luò)示意圖7為實(shí)施方式中環(huán)路分群過程流程圖8為實(shí)施方式中路由請(qǐng)求消息RREQ格式示意圖9為實(shí)施方式中路由應(yīng)答消息RREP格式示意圖;圖10為實(shí)施方式中路由選擇過程流程圖;圖ll為實(shí)施方式中鏈路失效通知消息LFN格式示意圖;圖12為本實(shí)施例中鏈路CD失效后的網(wǎng)絡(luò)示意圖。具體實(shí)施例方式下面結(jié)合具體網(wǎng)絡(luò)實(shí)例來說明本發(fā)明所提供方法的具體實(shí)施方式-實(shí)施例的初始網(wǎng)絡(luò)如圖1所示,總共15個(gè)節(jié)點(diǎn),均為初始節(jié)點(diǎn),具有網(wǎng)絡(luò)節(jié)點(diǎn)唯一標(biāo)識(shí)符(ID或地址)。節(jié)點(diǎn)之間有連線表示兩個(gè)節(jié)點(diǎn)之間存在無線鏈路,箭頭方向表示鏈路方向,沒有箭頭的連線表示為雙向鏈路,即AI、BC、KL、ER之間為雙向鏈路。一、鄰居發(fā)現(xiàn)過程網(wǎng)絡(luò)中15個(gè)節(jié)點(diǎn)每隔時(shí)間T(取T二15秒)向自己的鄰居廣播Hello消息,Hello消息中攜帶有該節(jié)點(diǎn)已知鄰居節(jié)點(diǎn)的標(biāo)識(shí)(ID),其格式如圖2所示。當(dāng)一個(gè)節(jié)點(diǎn)接收到一個(gè)Hello消息,首先查看消息中是否包含了自己ID,如果包含了自己的ID,則說明該條鏈路為雙向鏈路,否則為單向鏈路。各個(gè)節(jié)點(diǎn)將獲得的鄰居ID和鏈路方向記錄在自己的節(jié)點(diǎn)鄰居表中,本實(shí)施例中用O表示雙向鏈路,l表示單向鏈路,15個(gè)節(jié)點(diǎn)的鄰居表如表l所示。如果一個(gè)節(jié)點(diǎn)在規(guī)定的時(shí)間T(取T二30秒)內(nèi)收不到某個(gè)鄰居的Hello消息,則認(rèn)為與該鄰居的鏈路已經(jīng)失效,將此鄰居從鄰居表中刪除。表1<table>tableseeoriginaldocumentpage11</column></row><table>二、環(huán)路分群過程首先査找網(wǎng)絡(luò)中的環(huán)路,并把獲得的環(huán)路看成是一個(gè)群,然后讓群中的每個(gè)節(jié)點(diǎn)獲得到達(dá)群內(nèi)其他節(jié)點(diǎn)的路由。具體過程如下-(1)在網(wǎng)絡(luò)中選取節(jié)點(diǎn)S,由S向網(wǎng)絡(luò)中廣播環(huán)路發(fā)現(xiàn)消息LDM(LoopDiscoveryMessage),其中消息序列號(hào)=1,代表S第一次發(fā)送的LDM;所經(jīng)過的節(jié)點(diǎn)序列為S。LDM的格式如圖3所示。(2)當(dāng)一個(gè)初始節(jié)點(diǎn)如A和J,接收到S發(fā)送的LDM消息,因?yàn)锳和J沒有發(fā)送過該LDM(根據(jù)發(fā)送節(jié)點(diǎn)ID和消息序列號(hào)進(jìn)行判斷),則獲取其中的路由信息,并把自己的ID加入到所經(jīng)過的節(jié)點(diǎn)序列中,同時(shí),將接收LDM的鏈路的方向標(biāo)識(shí)也加入到序列中,然后繼續(xù)廣播轉(zhuǎn)發(fā)該消息。所述的鏈路方向標(biāo)識(shí)為0表示雙向,l表示單向。于是,A和J廣播出去LDM中,"所經(jīng)過的節(jié)點(diǎn)序列與鏈路方向序列"分別為SIA和SIJ。(3)如果一個(gè)節(jié)點(diǎn)如A接收到H發(fā)送過來的與自己轉(zhuǎn)發(fā)過的相同的LDM,則A不再轉(zhuǎn)發(fā)LDM,只獲取其中的路由序列S1A1B1H。如果一個(gè)節(jié)點(diǎn)己經(jīng)加入到某一個(gè)群而成為了群內(nèi)節(jié)點(diǎn),且收到的LDM不是自己發(fā)送過的LDM,如果LDM中有新的路由信息,則獲取這些新的信息,否則丟棄收到的LDM。(4)節(jié)點(diǎn)A還會(huì)收到I發(fā)送來的LDM,因?yàn)锳I之間為雙向鏈路,所以有兩種情形一種情形是I收到A廣播的LDM后,繼續(xù)轉(zhuǎn)發(fā)LDM時(shí),A也會(huì)收到,但LDM只傳遞了一跳,這種情況下A會(huì)丟棄收到的LDM。另一種情形是I收到H廣播的LDM后,將繼續(xù)轉(zhuǎn)發(fā)LDM,A會(huì)收到此LDM,A不會(huì)丟棄,也不會(huì)再轉(zhuǎn)發(fā)此LDM,因?yàn)樗航?jīng)轉(zhuǎn)發(fā)過一次。A由此LDM獲取了一條新的路由序列SIAIBIHII。(5)A獲取了路由序列S1A1B1H和SIAIBIHII后,發(fā)現(xiàn)自己的ID包含在這兩個(gè)路由序列中,于是A獲得了網(wǎng)絡(luò)中的兩個(gè)環(huán)路信息A1B1H1A和A1B1H1I0A。由于每條環(huán)路都構(gòu)成一個(gè)群,因此A同時(shí)屬于這兩個(gè)群,它將保存每個(gè)群的信息,發(fā)送數(shù)據(jù)時(shí)選取其中最優(yōu)的路由。A根據(jù)獲得的路由序列建立群內(nèi)節(jié)點(diǎn)的路由表,并沿所接收LDM走過的路徑發(fā)送路由建立消息RCM(RoutingCreatingMessage),通知群內(nèi)其他節(jié)點(diǎn)B、H、I建立路由信息,其中兩個(gè)群的群標(biāo)識(shí)分別由A1和A2表示。RCM的格式如圖4所示。(6)接收到RCM消息的節(jié)點(diǎn)首先判斷該消息是否發(fā)給自己,若不是,則丟棄該消息;若是,則根據(jù)RCM中群內(nèi)節(jié)點(diǎn)與鏈路方向序列建立到群內(nèi)其他節(jié)點(diǎn)的路由表,記錄自己所屬的群標(biāo)識(shí)。然后,改變消息的接收節(jié)點(diǎn)ID繼續(xù)轉(zhuǎn)發(fā)該消息。當(dāng)環(huán)路上的所有節(jié)點(diǎn)B、H、I都接收到了RCM并建立了路由,則群ABH和群ABHI的群內(nèi)路由都己經(jīng)建立。(7)因?yàn)楣?jié)點(diǎn)A、B、H屬于兩個(gè)群的公共節(jié)點(diǎn),所以它們也是兩個(gè)群的網(wǎng)關(guān)節(jié)點(diǎn)。但在群ABHI中,節(jié)點(diǎn)I并不知道A、B、H是網(wǎng)關(guān)節(jié)點(diǎn),于是由位于群內(nèi)路由序列最前且具有最優(yōu)路由到達(dá)I的節(jié)點(diǎn)A,通過路由更新消息RUM(RoutingUpdateMessage)通知節(jié)點(diǎn)I群內(nèi)節(jié)點(diǎn)A、B、H為網(wǎng)關(guān)節(jié)點(diǎn)。如果節(jié)點(diǎn)H、B收到了新的路由信息,也會(huì)通過RUM通知群內(nèi)與路由相關(guān)的節(jié)點(diǎn)或其他的網(wǎng)關(guān)節(jié)點(diǎn)。RUM的格式如圖5所示。(8)經(jīng)過環(huán)路分群過程后,本實(shí)施例中形成的群有ABH,ABHI,SABHI,CDFG。這樣,S、A、B、C、D、F、G、H、I等9個(gè)節(jié)點(diǎn)成為群內(nèi)節(jié)點(diǎn),其中前2個(gè)群的群內(nèi)節(jié)點(diǎn)都為網(wǎng)關(guān)節(jié)點(diǎn),群SABHI的網(wǎng)關(guān)節(jié)點(diǎn)為S、B,群CDFG的網(wǎng)關(guān)節(jié)點(diǎn)為C、D、G。J、K、L、M、E、R仍為初始節(jié)點(diǎn)。環(huán)路分群過程完成后的網(wǎng)絡(luò)如圖6所示。環(huán)路分群過程的實(shí)現(xiàn)流程如圖7所示。三、路由選擇過程當(dāng)源節(jié)點(diǎn)S需要向目的節(jié)點(diǎn)R發(fā)送數(shù)據(jù)時(shí),S獲取到達(dá)R的路由的過程如下(1)S判斷R是否與自己屬于同一個(gè)群,因?yàn)镾所在的群為SABHI,R為初始節(jié)點(diǎn),所以,S與R不屬于同一個(gè)群,不能利用已有的路由發(fā)送數(shù)據(jù)。(2)S向群中的網(wǎng)關(guān)節(jié)點(diǎn)B和初始節(jié)點(diǎn)J發(fā)送路由請(qǐng)求消息RREQ(RouteRequest),RREQ的格式如圖8所示。如果源節(jié)點(diǎn)是初始節(jié)點(diǎn),則它將廣播RREQ消息。(3)當(dāng)一個(gè)中間節(jié)點(diǎn)如C接收到RREQ,首先將自己的ID與接收RREQ鏈路的方向標(biāo)識(shí)O加入到RREQ所經(jīng)過的節(jié)點(diǎn)與鏈路方向序列中,得到序列為S1A1B0C。然后C查找自己是否有到R的路由,如果有,則將路由寫入RREQ中所經(jīng)過的節(jié)點(diǎn)與鏈路方向序列中,RREQ將沿其中的路由進(jìn)行轉(zhuǎn)發(fā),不再進(jìn)行廣播。由于C沒有到達(dá)目的節(jié)點(diǎn)R的路由,且C屬于群CDFG,為群內(nèi)節(jié)點(diǎn),于是C將RREQ發(fā)送給自己群中的其他網(wǎng)關(guān)節(jié)點(diǎn)D和G,因?yàn)榫W(wǎng)關(guān)節(jié)點(diǎn)D和G也沒有到達(dá)目的節(jié)點(diǎn)R的路由,于是廣播RREQ。若中間節(jié)點(diǎn)為初始節(jié)點(diǎn)如K,又沒有到達(dá)R的路由,則繼續(xù)廣播RREQ。(4)節(jié)點(diǎn)E知道R是它的鄰節(jié)點(diǎn),會(huì)將收到的RREQ發(fā)給R。目的節(jié)點(diǎn)R可以接收到2個(gè)RREQ而獲取2條路由S1A1B0C1D1E0R、S1J1K0L1M1E0R,它將對(duì)這2條路由進(jìn)行比較,選取其中一條最優(yōu)的路由S1A1B0C1D1E0R。本實(shí)施例最優(yōu)路由的條件是是跳數(shù)最少、時(shí)延最小,兩條路由跳數(shù)相同,但攜帶第一條路由的RREQ首先到達(dá)R。(5)R向S回復(fù)路由應(yīng)答消息RREP(RouteReply),RREP的格式如圖9所示。RREP的傳遞采用與RREQ的傳遞相同的機(jī)制,最后RREP經(jīng)過路由R0E1F1G1H1I1S到達(dá)S。(6)源節(jié)點(diǎn)S接收到RREP后,一方面可以得到到達(dá)R的路由S1A1BOC1D1EOR,另一方面也得到了R到達(dá)自己的路由R0E1F1G1H1I1S。S和R之間可以通過這兩條路由進(jìn)行信息的交互和數(shù)據(jù)的發(fā)送了。(7)如果源節(jié)點(diǎn)S在規(guī)定的時(shí)間T(取T=90秒)內(nèi)沒有收到RREP,則認(rèn)為不存在到達(dá)目的節(jié)點(diǎn)R的路由,將放棄數(shù)據(jù)發(fā)送。路由選擇過程的實(shí)現(xiàn)流程如圖IO所示。四、路由維護(hù)過程當(dāng)網(wǎng)絡(luò)中的一條鏈路如CD出現(xiàn)失效時(shí),需要通知各節(jié)點(diǎn)與鏈路CD相關(guān)的路由已經(jīng)失效,不能再通過此路由發(fā)送數(shù)據(jù)。具體過程如下(1)節(jié)點(diǎn)D檢測(cè)到鏈路CD失效。(2)因?yàn)镃D屬于群CDFG中的鏈路,于是D利用群內(nèi)路由向群中其他節(jié)點(diǎn)F、G、C發(fā)送鏈路失效通知消息LFN(LinkFailureNotification),通告與該鏈路相關(guān)的路由與群CDFG都已失效,LFN的格式如圖ll所示。如果一個(gè)初始節(jié)點(diǎn)檢測(cè)到一條鏈路失效,它將廣播LFN,將群標(biāo)識(shí)置為0,消息傳遞路由置為空。(3)收到LFN的群內(nèi)節(jié)點(diǎn)F、G、C將刪除與失效鏈路CD相關(guān)的路由與群CDFG。另外,由于D、G、C均為群CDFG的網(wǎng)關(guān)節(jié)點(diǎn),他們將LFN的傳遞路由置為空,然后向群外廣播LFN。如果一個(gè)初始節(jié)點(diǎn)收到LFN后,將刪除與失效鏈路相關(guān)的路由,并繼續(xù)廣播LFN。(4)節(jié)點(diǎn)H、B收到LFN后,檢測(cè)到LFN的群標(biāo)識(shí)不是指向自己所在的群SABHI,且LFN來自群外節(jié)點(diǎn),于是將LFN發(fā)送給自己群中的其他節(jié)點(diǎn)S、A、I。H會(huì)收到B發(fā)送的LFN,但由于與自己從G收到的LFN重復(fù),所以H丟棄從B收到的LFN。S是群SABHI中的網(wǎng)關(guān)節(jié)點(diǎn),S將LFN的傳遞路由置為空并繼續(xù)廣播LFN。(5)源節(jié)點(diǎn)S收到LFN后,由于鏈路CD失效,將刪除到目的節(jié)點(diǎn)R的路由S1A1B0C1D1E0R。如果仍然需要給目的節(jié)點(diǎn)R發(fā)送數(shù)據(jù),則源節(jié)點(diǎn)S重新發(fā)起路由選擇過程。(6)在節(jié)點(diǎn)D發(fā)出LFN消息相隔時(shí)間T(取T=60秒)后,因?yàn)楣?jié)點(diǎn)D已不屬于任何群,于是D廣播環(huán)路發(fā)現(xiàn)消息LDM,對(duì)網(wǎng)絡(luò)中初始節(jié)點(diǎn)重新進(jìn)行一次環(huán)路分群過程,得到新的群DFGCM。鏈路CD失效后,重新進(jìn)行環(huán)路分群過程后的網(wǎng)絡(luò)如圖12所示。本發(fā)明所提供一種基于環(huán)路分群的單向無線自組織網(wǎng)絡(luò)路由方法,關(guān)鍵之處是通過基于環(huán)路的分群將網(wǎng)絡(luò)中節(jié)點(diǎn)分成了群內(nèi)節(jié)點(diǎn)和初始節(jié)點(diǎn)兩部分,從而避免使用洪泛的方式來傳遞路由請(qǐng)求消息RREQ和路由應(yīng)答消息RREP,減少了路由控制開銷。另外,本發(fā)明所提供的方法在群內(nèi)采用的是先應(yīng)式路由方式,群間采用的是按需路由方式,兩種路由方式的結(jié)合可以在單向無線自組織網(wǎng)絡(luò)中充分發(fā)揮這兩種路由方式的優(yōu)勢(shì)。權(quán)利要求1、基于環(huán)路分群的單向無線自組織網(wǎng)絡(luò)路由方法,該方法中由在單向無線自組織網(wǎng)絡(luò)中查找到的每一條環(huán)路構(gòu)成一個(gè)群,群內(nèi)的節(jié)點(diǎn)保存有到群內(nèi)其他節(jié)點(diǎn)的路由信息,群內(nèi)的節(jié)點(diǎn)之間采用的是一種先應(yīng)式的路由協(xié)議;群間和群外的節(jié)點(diǎn)之間只有在有路由需要時(shí)才發(fā)起路由的查找過程,采用的是一種按需的路由協(xié)議,其特征在于該方法包括鄰居發(fā)現(xiàn)過程,網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)通過鄰居發(fā)現(xiàn)過程知道自己有哪些鄰居,并確定自己與鄰居之間的鏈路是單向鏈路還是雙向鏈路;環(huán)路分群過程,首先查找網(wǎng)絡(luò)中的環(huán)路,并把獲得的環(huán)路當(dāng)成是一個(gè)群,然后讓群中的每個(gè)節(jié)點(diǎn)獲得到達(dá)群內(nèi)其他節(jié)點(diǎn)的路由;路由選擇過程,當(dāng)源節(jié)點(diǎn)需要向目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),首先查詢自己的路由表中是否有到達(dá)目的節(jié)點(diǎn)的路由,如果有,則利用已有的路由發(fā)送數(shù)據(jù);如果沒有,則發(fā)起路由查找過程以獲取到達(dá)目的節(jié)點(diǎn)的路由;路由維護(hù)過程,當(dāng)網(wǎng)絡(luò)中的一條鏈路出現(xiàn)失效時(shí),需要通知源節(jié)點(diǎn)與該鏈路相關(guān)的路由已經(jīng)失效,不能再通過此路由發(fā)送數(shù)據(jù)。2、根據(jù)權(quán)利要求l所述的基于環(huán)路分群的單向無線自組織網(wǎng)絡(luò)路由方法,其特征在于所述鄰居發(fā)現(xiàn)過程包括每個(gè)節(jié)點(diǎn)每隔時(shí)間T向自己的鄰居廣播Hello消息,Hello消息中攜帶有該節(jié)點(diǎn)已知鄰居節(jié)點(diǎn)的標(biāo)識(shí),當(dāng)一個(gè)節(jié)點(diǎn)接收到一個(gè)Hello消息,首先査看消息中是否包含了自己的ID,如果包含了自己的ID,則說明該條鏈路為雙向鏈路,否則為單向鏈路;然后,將獲得的鄰居ID和鏈路方向記錄在自己的節(jié)點(diǎn)鄰居表中,所述的Hello消息的內(nèi)容包括消息類型、發(fā)送節(jié)點(diǎn)ID和已知鄰居列表;如果一個(gè)節(jié)點(diǎn)在規(guī)定的時(shí)間內(nèi)收不到某個(gè)鄰居的Hello消息,則認(rèn)為與該鄰居的鏈路已經(jīng)失效,將此鄰居從自己的鄰居表中刪除。3、根據(jù)權(quán)利要求l所述的基于環(huán)路分群的單向無線自組織網(wǎng)絡(luò)路由方法,其特征在于所述的環(huán)路分群過程包括網(wǎng)絡(luò)中所有節(jié)點(diǎn)最初為初始節(jié)點(diǎn),在網(wǎng)絡(luò)中任意選取一個(gè)節(jié)點(diǎn)S,由節(jié)點(diǎn)S向網(wǎng)絡(luò)中廣播環(huán)路發(fā)現(xiàn)消息LDM,LDM的內(nèi)容包括消息類型、發(fā)送節(jié)點(diǎn)ID、消息序列號(hào)和所經(jīng)過的節(jié)點(diǎn)與經(jīng)過的鏈路方向序列,當(dāng)一個(gè)初始節(jié)點(diǎn)接收到一個(gè)LDM消息,并且自己沒有發(fā)送過同一LDM,則獲取其中的路由信息,并把自己的ID加入到所經(jīng)過的節(jié)點(diǎn)序列中,同時(shí),也將接收LDM的鏈路方向標(biāo)識(shí)也加入到序列中,然后繼續(xù)廣播轉(zhuǎn)發(fā)該消息,所述的鏈路方向標(biāo)識(shí)為0表示雙向,1表示單向;如果一個(gè)節(jié)點(diǎn)已經(jīng)發(fā)送過一次相同的LDM,則該節(jié)點(diǎn)不再轉(zhuǎn)發(fā)LDM,只是查看自己是否在所經(jīng)過的節(jié)點(diǎn)序列中,并獲取其中的路由信息;如果一個(gè)節(jié)點(diǎn)已經(jīng)加入到某一個(gè)群而成為了群內(nèi)節(jié)點(diǎn),且收到的LDM不是自己發(fā)送過的LDM,如果LDM中有新的路由信息,則獲取其中的路由信息,否則丟棄收到的LDM。4、根據(jù)權(quán)利要求3所述的基于環(huán)路分群的單向無線自組織網(wǎng)絡(luò)路由方法,其特征在于所述的環(huán)路分群過程還包括如果接收到LDM的節(jié)點(diǎn)在LDM所經(jīng)過的節(jié)點(diǎn)與經(jīng)過的鏈路方向序列中,一種情形是發(fā)過來的LDM只傳遞了一跳,該接收到LDM的節(jié)點(diǎn)與鄰居之間為雙向鏈路,這種情況下丟棄收到的LDM;另一種情形是該收到LDM的節(jié)點(diǎn)獲取了網(wǎng)絡(luò)中的一個(gè)環(huán)路信息,于是基于此環(huán)路的節(jié)點(diǎn)和鏈路即構(gòu)成一個(gè)群,并根據(jù)LDM中的節(jié)點(diǎn)與鏈路方向序列建立群內(nèi)節(jié)點(diǎn)的路由表,并沿接收的LDM所經(jīng)過的路徑發(fā)送路由建立消息RCM,通知群內(nèi)節(jié)點(diǎn)建立群內(nèi)路由信息,RCM的內(nèi)容包括消息類型、發(fā)送節(jié)點(diǎn)ID、接收節(jié)點(diǎn)ID、群標(biāo)識(shí)、群內(nèi)節(jié)點(diǎn)與鏈路方向序列;接收到RCM消息的節(jié)點(diǎn)首先判斷該消息是否發(fā)給自己,若不是,則丟棄該消息,若是,則根據(jù)節(jié)點(diǎn)與鏈路方向序列建立到群內(nèi)其他節(jié)點(diǎn)的路由;然后,改變消息的接收節(jié)點(diǎn)ID繼續(xù)轉(zhuǎn)發(fā)該消息;當(dāng)環(huán)路上的所有節(jié)點(diǎn)都接收到了RCM并建立了路由,則基于該環(huán)路的群內(nèi)路由已經(jīng)建立;當(dāng)一個(gè)節(jié)點(diǎn)收到的RCM中包含的環(huán)路信息與自己發(fā)送過的RCM完全一樣時(shí),將不再轉(zhuǎn)發(fā)此RCM;發(fā)送RCM的節(jié)點(diǎn)在規(guī)定的時(shí)間內(nèi)收不到自己發(fā)送的RCM即表示環(huán)路信息已由其他的RCM傳遞,不再等待收到自己發(fā)送的RCM。5、根據(jù)權(quán)利要求4所述的基于環(huán)路分群的單向無線自組織網(wǎng)絡(luò)路由方法,其特征在于所述的環(huán)路分群過程還包括當(dāng)一個(gè)群內(nèi)節(jié)點(diǎn)具有到群外面的路由時(shí),該節(jié)點(diǎn)定義為網(wǎng)關(guān)節(jié)點(diǎn),網(wǎng)關(guān)節(jié)點(diǎn)會(huì)保存與自己相關(guān)的群外路由;當(dāng)群內(nèi)節(jié)點(diǎn)有到群外面的路由或發(fā)現(xiàn)某個(gè)群內(nèi)節(jié)點(diǎn)有到群外面的路由或者獲得了新的路由時(shí),將通過路由更新消息RUM通知群內(nèi)其他節(jié)點(diǎn)哪個(gè)節(jié)點(diǎn)為網(wǎng)關(guān)節(jié)點(diǎn),并將新的路由發(fā)給網(wǎng)關(guān)節(jié)點(diǎn);如果一個(gè)節(jié)點(diǎn)屬于兩個(gè)或兩個(gè)以上的群,它將保存每個(gè)群的信息,發(fā)送數(shù)據(jù)時(shí)選取其中最優(yōu)的路由,并且它也是網(wǎng)關(guān)節(jié)點(diǎn),所述RUM的內(nèi)容包括消息類型、發(fā)送節(jié)點(diǎn)ID和路由更新列表,所述的最優(yōu)路由是跳數(shù)最少、時(shí)延最小、能量消耗最小或穩(wěn)定度最高的路由。6、根據(jù)權(quán)利要求1所述的基于環(huán)路分群的單向無線自組織網(wǎng)絡(luò)路由方法,其特征在于所述路由選擇過程包括當(dāng)源節(jié)點(diǎn)與目的節(jié)點(diǎn)位于同一個(gè)群內(nèi)時(shí),直接利用群內(nèi)路由將數(shù)據(jù)發(fā)送到目的節(jié)點(diǎn);當(dāng)源節(jié)點(diǎn)是某個(gè)群中的節(jié)點(diǎn),且目的節(jié)點(diǎn)不在該群時(shí),源節(jié)點(diǎn)將向群中的網(wǎng)關(guān)節(jié)點(diǎn)發(fā)送路由請(qǐng)求消息RREQ,RREQ的內(nèi)容包括消息類型、目的節(jié)點(diǎn)ID、目的節(jié)點(diǎn)序列號(hào)、源節(jié)點(diǎn)ID、源節(jié)點(diǎn)序列號(hào)、路由標(biāo)識(shí)、所經(jīng)過的節(jié)點(diǎn)與鏈路方向序列,其中路由標(biāo)識(shí)表示RREQ是否有到目的節(jié)點(diǎn)的路由,若有,該標(biāo)識(shí)為l,若沒有,該標(biāo)識(shí)為0;如果源節(jié)點(diǎn)是初始節(jié)點(diǎn),則它將廣播RREQ消息;當(dāng)一個(gè)中間節(jié)點(diǎn)接收到RREQ,首先將自己的ID與接收RREQ鏈路的方向標(biāo)識(shí)加入到RREQ所經(jīng)過的節(jié)點(diǎn)與鏈路方向序列中,然后查找自己是否有到目的節(jié)點(diǎn)的路由,如果有,則將路由寫入RREQ所經(jīng)過的節(jié)點(diǎn)與鏈路方向序列中,并置路由標(biāo)識(shí)為l,RREQ將沿其中的路由進(jìn)行轉(zhuǎn)發(fā),不再進(jìn)行廣播;如果接收到RREQ的中間節(jié)點(diǎn)沒有到達(dá)目的節(jié)點(diǎn)的路由時(shí),若該節(jié)點(diǎn)為群內(nèi)節(jié)點(diǎn),則將RREQ發(fā)送給自己群中的網(wǎng)關(guān)節(jié)點(diǎn),網(wǎng)關(guān)節(jié)點(diǎn)也沒有到達(dá)目的節(jié)點(diǎn)路由時(shí)將廣播RREQ,若該節(jié)點(diǎn)為初始節(jié)點(diǎn),則繼續(xù)廣播RREQ;任何節(jié)點(diǎn)重復(fù)收到相同的RREQ時(shí),將丟棄此RREQ。7、根據(jù)權(quán)利要求6所述的基于環(huán)路分群的單向無線自組織網(wǎng)絡(luò)路由方法,其特征在于所述路由選擇過程還包括若目的節(jié)點(diǎn)接收到多個(gè)RREQ而獲取多條路由,它將對(duì)這些路由進(jìn)行比較,選取其中一條最優(yōu)的路由,所述的最優(yōu)路由是跳數(shù)最少、時(shí)延最小、能量消耗最小或穩(wěn)定度最高的路由;然后向源節(jié)點(diǎn)回復(fù)路由應(yīng)答消息RREP,RREP的內(nèi)容包括消息類型、源節(jié)點(diǎn)ID、目的節(jié)點(diǎn)ID、目的節(jié)點(diǎn)序列號(hào)、路由標(biāo)識(shí)、所經(jīng)過的節(jié)點(diǎn)與鏈路方向序列和到達(dá)目的節(jié)點(diǎn)的路由表,RREP與所述RREQ的傳遞機(jī)制一樣;源節(jié)點(diǎn)接收到RREP后,一方面得到到達(dá)目的節(jié)點(diǎn)的路由,另一方面得到了目的節(jié)點(diǎn)到達(dá)自己的路由,當(dāng)需要目的節(jié)點(diǎn)給自己發(fā)送數(shù)據(jù)時(shí),將此路由信息發(fā)送給目的節(jié)點(diǎn),如果源節(jié)點(diǎn)在規(guī)定的時(shí)間內(nèi)沒有收到RREP,則認(rèn)為不存在到達(dá)目的節(jié)點(diǎn)的路由,將放棄數(shù)據(jù)發(fā)送。8、根據(jù)權(quán)利要求1所述的基于環(huán)路分群的單向無線自組織網(wǎng)絡(luò)路由方法,其特征在于所述路由維護(hù)過程包括如果一個(gè)群內(nèi)節(jié)點(diǎn)發(fā)現(xiàn)群內(nèi)的一條鏈路失效,將沿群內(nèi)路由向群內(nèi)節(jié)點(diǎn)發(fā)送鏈路失效通知消息LFN,通告與該鏈路相關(guān)的路由與群都己失效,所述的LFN的內(nèi)容包括消息類型、發(fā)送節(jié)點(diǎn)ID、群標(biāo)識(shí)、消息傳遞路由和失效鏈路列表;在LFN發(fā)出后,在規(guī)定的時(shí)間內(nèi),如果發(fā)送LFN的節(jié)點(diǎn)己不屬于任何群,該節(jié)點(diǎn)將廣播環(huán)路發(fā)現(xiàn)消息LDM,對(duì)網(wǎng)絡(luò)中初始節(jié)點(diǎn)重新進(jìn)行一次環(huán)路分群過程;如果一個(gè)初始節(jié)點(diǎn)檢測(cè)到一條鏈路失效,它將廣播LFN,將群標(biāo)識(shí)置為0,傳遞路由置為空;收到LFN的群內(nèi)節(jié)點(diǎn)將刪除與失效鏈路相關(guān)的路由與群,如果LFN的群標(biāo)識(shí)指向自己所在的群,則繼續(xù)根據(jù)LFN的傳遞路由轉(zhuǎn)發(fā)LFN,如果LFN的群標(biāo)識(shí)不是指向自己所在的群,且LFN來自群外節(jié)點(diǎn),則利用群內(nèi)路由重置LFN的傳遞路由,將LFN發(fā)送給自己群中的節(jié)點(diǎn);網(wǎng)關(guān)節(jié)點(diǎn)收到LFN后,將傳遞路由置為空,并向群外廣播LFN;如果一個(gè)初始節(jié)點(diǎn)收到LFN,將刪除與失效鏈路相關(guān)的路由,并繼續(xù)廣播LFN。9、根據(jù)權(quán)利要求8所述的基于環(huán)路分群的單向無線自組織網(wǎng)絡(luò)路由方法,其特征在于所述路由維護(hù)過程還包括任何節(jié)點(diǎn)收到重復(fù)的LFN,將丟棄此LFN;源節(jié)點(diǎn)到目的節(jié)點(diǎn)的路由由于鏈路失效被刪除以后,如果仍然需要給目的節(jié)點(diǎn)發(fā)送數(shù)據(jù),則源節(jié)點(diǎn)重新發(fā)起路由選擇過程。10、根據(jù)權(quán)利要求19所述的基于環(huán)路分群的單向無線自組織網(wǎng)絡(luò)路由方法,其特征在于經(jīng)過環(huán)路分群后整個(gè)網(wǎng)絡(luò)中的節(jié)點(diǎn)分為兩部分群內(nèi)節(jié)點(diǎn)和初始節(jié)點(diǎn)。全文摘要本發(fā)明提供了基于環(huán)路分群的單向無線自組織網(wǎng)絡(luò)路由方法,其中群內(nèi)的節(jié)點(diǎn)之間采用先應(yīng)式的路由方式,群間和群外的節(jié)點(diǎn)之間采用按需的路由方式,該方法具體包括鄰居發(fā)現(xiàn)過程、環(huán)路分群過程、路由選擇過程和路由維護(hù)過程;通過環(huán)路分群,將網(wǎng)絡(luò)節(jié)點(diǎn)分為兩部分群內(nèi)節(jié)點(diǎn)和初始節(jié)點(diǎn),這樣,除了源節(jié)點(diǎn)和目的節(jié)點(diǎn),群內(nèi)節(jié)點(diǎn)只有網(wǎng)關(guān)節(jié)點(diǎn)需要參與路由選擇過程,本發(fā)明充分利用由單向鏈路構(gòu)成環(huán)路后所具有的特點(diǎn),發(fā)揮先應(yīng)式路由方式和按需路由方式的優(yōu)點(diǎn),減少路由控制開銷,保障路由的有效性。文檔編號(hào)H04L12/56GK101394352SQ200810218800公開日2009年3月25日申請(qǐng)日期2008年10月31日優(yōu)先權(quán)日2008年10月31日發(fā)明者劉桂開,軍張,王洪江,崗韋申請(qǐng)人:華南理工大學(xué)