亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

部分連接的無線網(wǎng)絡(luò)組關(guān)系路由系統(tǒng)與方法

文檔序號(hào):7621092閱讀:239來源:國(guó)知局
專利名稱:部分連接的無線網(wǎng)絡(luò)組關(guān)系路由系統(tǒng)與方法
技術(shù)領(lǐng)域
本發(fā)明涉及ad hoc自組織網(wǎng)路由技術(shù)領(lǐng)域,特別是一種具有部分連接特性無線網(wǎng)絡(luò)環(huán)境下的自組織路由系統(tǒng)與方法。
背景技術(shù)
隨著嵌入式技術(shù)的發(fā)展和無線網(wǎng)絡(luò)的發(fā)展,越來越多的將部署靈活,成本低廉的嵌入設(shè)備應(yīng)用到各種應(yīng)用領(lǐng)域,提供數(shù)據(jù)采集,信息服務(wù),監(jiān)控等服務(wù)。大量離散的網(wǎng)絡(luò)節(jié)點(diǎn)通過自組織方式形成網(wǎng)絡(luò),不需要基礎(chǔ)設(shè)施,依靠節(jié)點(diǎn)之間通過多跳無線鏈路相互通信,形成ad hoc自組織網(wǎng)。本發(fā)明方法屬于ad hoc自組織網(wǎng)絡(luò)的路由技術(shù)。不同特點(diǎn)的網(wǎng)絡(luò)和不同的應(yīng)用環(huán)境,需要采用不同的路由方法。大部分的ad hoc路由技術(shù)研究的對(duì)象是完全連接的網(wǎng)絡(luò)拓?fù)洌技僭O(shè)至少存在一條從源到目的節(jié)點(diǎn)的完整路徑L。本發(fā)明研究部分連接特性的網(wǎng)絡(luò)。所謂部分連接的網(wǎng)絡(luò)是指網(wǎng)絡(luò)的物理拓?fù)鋱D是非連通的,存在多個(gè)連通分支,源和目的節(jié)點(diǎn)之間的完整路徑L可能不存在。在部分連接的網(wǎng)絡(luò)中,由于節(jié)點(diǎn)的移動(dòng)、工作狀態(tài)變化等原因,網(wǎng)絡(luò)結(jié)構(gòu)不斷變化,不同的時(shí)刻可能形成不同的拓?fù)溥B接關(guān)系,通常是形成多個(gè)簇(連通分支),每個(gè)簇內(nèi)部是連接的,而簇之間是不連接的。然而不同時(shí)刻形成的簇中可以找到一些路徑集合∪Li能夠覆路徑L,因此源和目的節(jié)點(diǎn)之間理論上可以完成通訊。在這種網(wǎng)絡(luò)中,當(dāng)數(shù)據(jù)要發(fā)送時(shí),網(wǎng)絡(luò)正好處于被隔離成幾個(gè)部分的狀態(tài),節(jié)點(diǎn)間的端到端的應(yīng)用就被破壞,這時(shí)在現(xiàn)有的ad hoc協(xié)議下,數(shù)據(jù)是無法發(fā)送的。具有部分連接特性的網(wǎng)絡(luò)在實(shí)際生產(chǎn)應(yīng)用中很普遍,節(jié)點(diǎn)的故障,移動(dòng),工作周期等都可能導(dǎo)致完整路徑無法一次生成。而且有很多的應(yīng)用環(huán)境下,需要的是數(shù)據(jù)最終到達(dá)目的地,而對(duì)時(shí)間的要求不是很嚴(yán)格,例如數(shù)據(jù)采集,環(huán)境監(jiān)測(cè),電子商務(wù)等。因此,即使網(wǎng)絡(luò)是部分連接的,數(shù)據(jù)發(fā)送時(shí)無法一次找到端到端的完整路徑,但是仍然可以分階段的將數(shù)據(jù)沿著不同時(shí)間段可用的路徑,逐步逼近,最終到達(dá)目的地。ad hoc網(wǎng)絡(luò)的一個(gè)很大的特點(diǎn)是拓?fù)渥兓?,通常提出的adhoc網(wǎng)絡(luò)路由協(xié)議(例如,AODV,DSDV,DSR,TORA等)也能夠在一定程度上適應(yīng)拓?fù)渥兓?。通常的ad hoc路由協(xié)議大體分兩種,一種是先驗(yàn)型的,類似于固定有線網(wǎng)絡(luò),他們事先計(jì)算出路由信息和路徑,當(dāng)需要傳輸數(shù)據(jù)就按照這些信息轉(zhuǎn)發(fā)數(shù)據(jù),這類協(xié)議對(duì)拓?fù)涞淖兓m應(yīng)能力較差,需要頻繁的更新路由信息;另外一種是隨選型,當(dāng)有數(shù)據(jù)需要傳輸時(shí)候才根據(jù)當(dāng)前的連接情況尋找一條可用路徑,避免了事先計(jì)算的路徑在需要傳輸數(shù)據(jù)時(shí)候已經(jīng)失效。這兩類盡管有不同,但是他們都需要一個(gè)假設(shè)在一段時(shí)間內(nèi)(通常足以完成一次路徑發(fā)現(xiàn)或者數(shù)據(jù)包的逐跳轉(zhuǎn)發(fā))存在源到目的的一條完整路徑,因此,通常的ad hoc協(xié)議對(duì)拓?fù)渥兓倪m應(yīng)是有前提的。而部分連接特性的網(wǎng)絡(luò)中就是在這個(gè)前提不成立的情況。因此,通常的ad hoc協(xié)議無法在部分連接的網(wǎng)絡(luò)中工作,需要一種針對(duì)部分連接網(wǎng)絡(luò)的路由協(xié)議。
相對(duì)于傳統(tǒng)網(wǎng)絡(luò)和完全連接的ad hoc網(wǎng)絡(luò)來講,對(duì)于部分連接的網(wǎng)絡(luò)的研究相關(guān)的工作還比較少。文獻(xiàn)[1]R.C.Shah,S.Roy,S.Jain and W.Brunette,Data MULEsModeling and analysis of a three-tier architecture for sparsesensor networks,Elsevier Ad Hoc Networks Journal,vol.1,issues 2-3,Sept.2003,pp.215-233,提出利用中間泛在的移動(dòng)節(jié)點(diǎn)中轉(zhuǎn)信息。文獻(xiàn)[2]A.Vahdat and D.Becker.Epidemic routing for partially-connected ad hocnetworks.Technical Report CS-2000-06,Duke University,2000.提出在利用隨即移動(dòng)的節(jié)點(diǎn)對(duì)之間交換信息,使得捎帶的信息在整個(gè)網(wǎng)絡(luò)中蔓延開來。依靠節(jié)點(diǎn)的移動(dòng)和信息交換,就可以完成數(shù)據(jù)傳輸。只要節(jié)點(diǎn)周期性的兩兩交換,信息就可以最終到達(dá)。而且數(shù)據(jù)在節(jié)點(diǎn)間的兩兩交換會(huì)造成信息的冗余甚至產(chǎn)生廣播風(fēng)暴。
文獻(xiàn)[3]Xiangchuan Chen and Amy L.Murphy,“Enabling disconnectedtransitive communication in mobile ad hoc networks,”in Proc.of Workshop onPrinciples of Mobile Computing,colocated with PODC’01,Newport,RI(USA),aug 2001,pp.21-27.對(duì)Epidemic Routing進(jìn)行了改進(jìn),建立了DTC(Disconnected Transitive Communication)模型。使用應(yīng)用層的可控utility函數(shù)來對(duì)節(jié)點(diǎn)是和目的地的接近程度進(jìn)行量化。每次轉(zhuǎn)發(fā)時(shí),節(jié)點(diǎn)都是選擇utility最大的節(jié)點(diǎn)最為下一跳,也就是向最容易到達(dá)目的地的方向轉(zhuǎn)發(fā)。然而,utility的確定比較困難,僅作為一個(gè)概念模型,不是一個(gè)實(shí)際的工作協(xié)議。
專利US2005068913文獻(xiàn)[4]TAN KUN,ZHANG QIAN,ZHU WENWU,Metaspacecommunication middleware for partially connected mobile ad hocnetworks提出了一種部分連接ad hoc網(wǎng)絡(luò)的中間件機(jī)制,利用移動(dòng)設(shè)備緩存轉(zhuǎn)發(fā)消息,來橋接分離的網(wǎng)絡(luò)島。并且將通訊元空間的概念引入分布式環(huán)境,實(shí)現(xiàn)與Web service的結(jié)合,也提出了一種異步消息轉(zhuǎn)發(fā)路由方法,采用隨機(jī)模型評(píng)價(jià)最優(yōu)的節(jié)點(diǎn)序列路徑。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種適合部分連接的無線網(wǎng)絡(luò)的路由機(jī)制,實(shí)現(xiàn)在完整路徑不存在的情況下用較低的開銷提高路徑生成的概率。
本發(fā)明要解決如何在部分連接的網(wǎng)路中路徑生成和路徑模式識(shí)別。路徑生成問題要解決如何在不可靠的連接狀況下,以較高的概率生成傳輸路徑,引導(dǎo)數(shù)據(jù)到達(dá)目的地。路徑識(shí)別問題要解決如何感知網(wǎng)絡(luò)中實(shí)體的分布模式和特征,用于檢測(cè)特殊的情景。
根據(jù)部分連接的網(wǎng)絡(luò)特性和要解決的技術(shù)問題,適合的路由算法應(yīng)該具有以下特點(diǎn)1.放松對(duì)路徑的描述規(guī)則一般的ad hoc路由算法都是完全依據(jù)網(wǎng)絡(luò)的拓?fù)溥B接信息,在離散的節(jié)點(diǎn)構(gòu)成的圖中尋找一條通路。形成的路徑用一個(gè)節(jié)點(diǎn)地址的序列來表示。這就造成了路徑對(duì)拓?fù)浣Y(jié)構(gòu)的依賴性太大,單個(gè)節(jié)點(diǎn)的狀態(tài)直接影響路徑的可用性,在無線網(wǎng)絡(luò)中,尤其是部分連接的網(wǎng)絡(luò),網(wǎng)絡(luò)拓?fù)潆S時(shí)變化,要么根本無法構(gòu)建完整的可用路徑,要么剛計(jì)算的得到路由就可能過時(shí)失效,需要重新生成。因此本發(fā)明中,不使用節(jié)點(diǎn)地址序列來描述路徑,而采用更寬泛的規(guī)則來約束要生成的路徑。在路由的時(shí)候,下一跳的尋找不再是傳統(tǒng)的路由中的單個(gè)節(jié)點(diǎn),而是一組節(jié)點(diǎn),減少了尋找的范圍,增大了下一跳命中的概率。
2.將應(yīng)用層的信息引入路由機(jī)制路由完全獨(dú)立于上層應(yīng)用,未必合理。這種網(wǎng)絡(luò)的數(shù)據(jù)包的路由不僅僅依據(jù)網(wǎng)絡(luò)的物理連接拓?fù)鋱D,還要依據(jù)實(shí)體間的邏輯關(guān)系圖,當(dāng)滿足邏輯關(guān)系圖規(guī)定的實(shí)體之間的物理路徑有效,就觸發(fā)數(shù)據(jù)的傳輸,否則就進(jìn)入等待狀態(tài)。
3.采用多次分階段生成路徑部分連接網(wǎng)絡(luò)中,由于相關(guān)實(shí)體間的可用完整路徑不存在,通訊不能一次完成。但是數(shù)據(jù)并非完全不能到達(dá)目的地,網(wǎng)絡(luò)存在若干連通分支,路徑是片斷性的,隨時(shí)變化的。如圖2中,A-F為網(wǎng)絡(luò)中的節(jié)點(diǎn),圖2-1中,節(jié)點(diǎn)D的間歇在線,會(huì)使得路徑不完整。如圖2-2,由于節(jié)點(diǎn)C的移動(dòng),節(jié)點(diǎn)移動(dòng)到另外的路徑片段中,圖2-3中,由于節(jié)點(diǎn)D的移動(dòng),將兩個(gè)斷開的路徑片段連接??梢圆捎枚啻畏蛛A段生成路徑,一個(gè)完整的路徑可以根據(jù)邏輯關(guān)系劃分成幾個(gè)子路徑,在邏輯關(guān)系的指導(dǎo)下,符合關(guān)系描述的那部分子路徑如果可用,就先將數(shù)據(jù)包按照這條子路徑路由,這樣數(shù)據(jù)就會(huì)朝著目的地逼近。
為實(shí)現(xiàn)上述目的,發(fā)明人提出一種基于組關(guān)系的路由機(jī)制。用本地化的信息將網(wǎng)絡(luò)的實(shí)體進(jìn)行劃分,形成多個(gè)區(qū)域,稱為組。這些組之間的邏輯關(guān)系,可以用一個(gè)組的序列或者集合表示,稱為一個(gè)組關(guān)系鏈,用于描述要生成路徑的特征,并用這種關(guān)系指導(dǎo)路徑的生成。這種方法的特點(diǎn)是節(jié)點(diǎn)間的邏輯關(guān)系相對(duì)于用節(jié)點(diǎn)序列的連接關(guān)系更加穩(wěn)定,用邏輯關(guān)系定義路徑,可以適應(yīng)網(wǎng)絡(luò)連接的變化。另外,可以用組關(guān)系描述參與通訊實(shí)體的特征,可以在網(wǎng)絡(luò)中檢測(cè)到特殊的路徑,用于感知網(wǎng)絡(luò)事件的發(fā)生。
路由節(jié)點(diǎn)的結(jié)構(gòu)圖如圖1-1所示。最底層是物理層的接收發(fā)送端口,和MAC層相連,負(fù)責(zé)發(fā)送接收MAC幀;MAC層負(fù)責(zé)接入訪問控制,以及為上層數(shù)據(jù)包進(jìn)行幀封裝和解封裝;MAC接口層負(fù)責(zé)地址解析和分配;路由層銜接MAC接口層和路由接口層,負(fù)責(zé)包的路由轉(zhuǎn)發(fā),是協(xié)議的主要工作模塊;路由接口層連接上層控制協(xié)議,提供路由層的服務(wù)和數(shù)據(jù)封裝解封裝,上層協(xié)議層可以通過源和數(shù)據(jù)中心和應(yīng)用進(jìn)行接口;移動(dòng)模塊控制節(jié)點(diǎn)的行動(dòng)軌跡;間歇模塊負(fù)責(zé)控制節(jié)點(diǎn)的間歇和工作周期。
路由層協(xié)議的組織結(jié)構(gòu)圖如圖1-2所示。上層偽接口負(fù)責(zé)和源和數(shù)據(jù)中心進(jìn)行數(shù)據(jù)交換,上層偽接口的數(shù)據(jù)和來自MAC接收端口的其它節(jié)點(diǎn)的轉(zhuǎn)發(fā)數(shù)據(jù)都進(jìn)入數(shù)據(jù)隊(duì)列統(tǒng)一接受路由。當(dāng)數(shù)據(jù)隊(duì)列不為空時(shí),路由模塊獲取數(shù)據(jù)包的目的地址(單播地址或者組地址),并通過路由維護(hù)模塊查詢組關(guān)系鏈表,如果有到目的地址的組關(guān)系鏈條目,則根據(jù)路由依據(jù)和優(yōu)先級(jí)選取最佳的關(guān)系鏈,并計(jì)算下一跳轉(zhuǎn)發(fā)地址,轉(zhuǎn)發(fā)地址寫入數(shù)據(jù)包的轉(zhuǎn)發(fā)地址,觸發(fā)轉(zhuǎn)發(fā)模塊,轉(zhuǎn)發(fā)模塊啟動(dòng)鄰居發(fā)現(xiàn)模塊,確認(rèn)轉(zhuǎn)發(fā)節(jié)點(diǎn)的存在,鄰居發(fā)現(xiàn)模塊依據(jù)動(dòng)態(tài)更新的鄰居表選擇可用的下一跳,從數(shù)據(jù)隊(duì)列中取出已經(jīng)寫入轉(zhuǎn)發(fā)地址的數(shù)據(jù)包,向可用下一跳發(fā)送該數(shù)據(jù)包;若路由模塊沒有到目的地址的組關(guān)系鏈條目,路由模塊調(diào)用路由維護(hù)模塊進(jìn)行路由請(qǐng)求過程,路由維護(hù)模塊產(chǎn)生路由請(qǐng)求包,放入鄰居請(qǐng)求隊(duì)列,目的地址為廣播地址,送交轉(zhuǎn)發(fā)模塊,轉(zhuǎn)發(fā)過程同數(shù)據(jù)包的轉(zhuǎn)發(fā)過程。中間節(jié)點(diǎn)接收到鄰居請(qǐng)求包,將該中間節(jié)點(diǎn)的組信息添加到請(qǐng)求包的關(guān)系鏈中,會(huì)通過轉(zhuǎn)發(fā)模塊繼續(xù)轉(zhuǎn)發(fā)。當(dāng)被請(qǐng)求節(jié)點(diǎn)或者擁有到被請(qǐng)求節(jié)點(diǎn)的路由信息的中間節(jié)點(diǎn)收到鄰居請(qǐng)求包,則由轉(zhuǎn)發(fā)模塊直接送交路由維護(hù)模塊,計(jì)算得到應(yīng)答關(guān)系鏈,產(chǎn)生鄰居請(qǐng)求應(yīng)答包,放入鄰居應(yīng)答隊(duì)列,由轉(zhuǎn)發(fā)模塊發(fā)送。中間節(jié)點(diǎn)接收到鄰居請(qǐng)求應(yīng)答包,判斷自身是否在應(yīng)答包中的關(guān)系鏈中出現(xiàn),如果是,則通過轉(zhuǎn)發(fā)模塊繼續(xù)轉(zhuǎn)發(fā)。當(dāng)應(yīng)答包到達(dá)請(qǐng)求節(jié)點(diǎn),則由轉(zhuǎn)發(fā)模塊直接送交路由維護(hù)模塊,將應(yīng)答關(guān)系鏈更新到組關(guān)系鏈表中。組維護(hù)模塊負(fù)責(zé)維護(hù)組的一致性,包括組首領(lǐng)的產(chǎn)生和替換,組成員的招募等。生成的組信息直接作為組關(guān)系鏈生成的依據(jù),而組關(guān)系鏈作為路由過程的依據(jù)。
在此提出一種利用網(wǎng)絡(luò)實(shí)體的邏輯組關(guān)系來進(jìn)行路由的方法。主要思想是通過在網(wǎng)絡(luò)實(shí)體之間建立一種邏輯組關(guān)系,在路由過程中將這種組關(guān)系作為依據(jù),指導(dǎo)路徑的選擇以及數(shù)據(jù)的轉(zhuǎn)發(fā)。在此提出一種基于滲透算法的組關(guān)系生成方法,建立和維護(hù)實(shí)體間的組關(guān)系。這樣網(wǎng)絡(luò)對(duì)應(yīng)的圖記作G={P,E},定義關(guān)系N,若p1,p2∈P,且p1,p2之間的跳數(shù)<a(a為設(shè)定的整數(shù)),則稱p1,p2具有N關(guān)系。依據(jù)關(guān)系N可以定義P中節(jié)點(diǎn)的一個(gè)分組方式P中節(jié)點(diǎn)若在一段時(shí)間內(nèi)沒有加入某個(gè)組,則自己成立一個(gè)組,并作為組首領(lǐng);組首領(lǐng)將滿足關(guān)系N的節(jié)點(diǎn)都加入該組。這是一個(gè)動(dòng)態(tài)分組過程,可以得到P的一個(gè)劃分R={r1,r2,...rn}。當(dāng)組關(guān)系建立后,網(wǎng)絡(luò)的通訊的過程實(shí)際上是具有各自組關(guān)系身份的節(jié)點(diǎn)之間的數(shù)據(jù)交換。假設(shè)數(shù)據(jù)所經(jīng)過的路徑L是一系列節(jié)點(diǎn)的排列P{p1,p2,..pi..pn},如果pk,..pk+t∈ri,則對(duì)應(yīng)的L中節(jié)點(diǎn)所屬于的組序列,就是R={R1,R2,..Rm},稱為一個(gè)組關(guān)系鏈。關(guān)系鏈R實(shí)際上是對(duì)路徑L的特征描述。假設(shè)L1{k1,k2,..ki..kn}是符合R的路徑,如果k2,q2都屬于同一個(gè)組Ri,則L2{k1,q2,..ki..kn}也是符合R的路徑。凡是符合R描述的路徑都稱作路徑L的組關(guān)系等效路徑。因此,用R關(guān)系鏈來指導(dǎo)路由,數(shù)據(jù)轉(zhuǎn)發(fā)不再依賴單一的路徑L這一個(gè)節(jié)點(diǎn)序列,而是可以選擇更多的可能路徑,這樣,路徑生成的概率增大。從路徑選擇和數(shù)據(jù)轉(zhuǎn)發(fā)的范圍上來講,本發(fā)明的方法實(shí)際上是介于傳統(tǒng)ad hoc路由和EpidemicRouting路由方法之間的一種方法。傳統(tǒng)的ad hoc路由是選擇一條最佳的路徑,并嚴(yán)格按照這條路徑傳輸,這樣就局限在這條路徑的節(jié)點(diǎn)范圍內(nèi),一旦某個(gè)節(jié)點(diǎn)失效,就導(dǎo)致路由失敗。Epidemic Routing則是在全網(wǎng)絡(luò)內(nèi)擴(kuò)散數(shù)據(jù),選擇的范圍是所有沒有收到該數(shù)據(jù)的節(jié)點(diǎn),這樣從理論上講雖然可以最終到達(dá)目的節(jié)點(diǎn),但是開銷較大。本發(fā)明通過關(guān)系鏈的指導(dǎo),使得范圍控制在所有的等效路徑中,即避免的依賴單一完整路徑,可以在部分連接的網(wǎng)絡(luò)中完成數(shù)據(jù)傳輸,又避免了數(shù)據(jù)在整個(gè)網(wǎng)絡(luò)中擴(kuò)散。本發(fā)明用關(guān)系鏈R作為生成路徑的標(biāo)志,當(dāng)節(jié)點(diǎn)在路由過程中判斷自己在關(guān)系鏈中的位置,以及可用路徑對(duì)應(yīng)的關(guān)系鏈?zhǔn)欠窈驮撽P(guān)系鏈一致,如果可用路徑符合,就將數(shù)據(jù)沿著這段路徑轉(zhuǎn)發(fā),這樣數(shù)據(jù)就在關(guān)系鏈的指導(dǎo)下沿著可用路徑最終到達(dá)目的節(jié)點(diǎn)。需要提出的是,在部分連接的網(wǎng)絡(luò)中,一條完整的貫穿源節(jié)點(diǎn)和目的節(jié)點(diǎn)的可用路徑P存在的機(jī)率很小,因?yàn)樵谕負(fù)渥兓瘡?qiáng)的部分連接網(wǎng)中,要保證p1,p2,..Pi..Pn在某時(shí)間段(足以完成逐跳轉(zhuǎn)發(fā))都保持可用,概率很低。但是,這條路徑上的局部節(jié)點(diǎn),或者和保持連通的概率相對(duì)較高。只要按照組關(guān)系R的描述進(jìn)行判斷,當(dāng)數(shù)據(jù)在轉(zhuǎn)發(fā)過程中,途經(jīng)的局部節(jié)點(diǎn)組成的子路徑符合R的描述,就進(jìn)行轉(zhuǎn)發(fā),否則就存儲(chǔ)數(shù)據(jù)并等待。
這樣,路由過程是在R關(guān)系鏈的指導(dǎo)下完成的,數(shù)據(jù)最終傳輸?shù)穆窂絃不是單純依賴一條事先確定的唯一路徑,而是具有R關(guān)系描述特征的所有等價(jià)路徑中的一條。如圖3所示,組關(guān)系鏈R描述了路徑L的特征,R所覆蓋的區(qū)域的節(jié)點(diǎn)都可以形成路徑,消除了用路徑L指定轉(zhuǎn)發(fā)順序帶來的單點(diǎn)故障問題。而且,沿著這條路徑傳輸?shù)倪^程也是一個(gè)異步的過程,數(shù)據(jù)不需要等待整個(gè)路徑的所有節(jié)點(diǎn)都在線才能傳輸,而是可以在關(guān)系鏈的引導(dǎo)下分階段逐步接近目的地。本發(fā)明區(qū)別于現(xiàn)有路由協(xié)議的主要特點(diǎn)是1.路由過程是用路徑的邏輯特征作為指導(dǎo)的。傳統(tǒng)的路由機(jī)制一般都是單純按照網(wǎng)絡(luò)的拓?fù)涮匦宰鳛橹饕罁?jù),而對(duì)網(wǎng)絡(luò)實(shí)體的邏輯關(guān)系以及傳輸路徑的特征不加考慮,因此,傳統(tǒng)的路由在拓?fù)渥兓木W(wǎng)絡(luò)中,只能依靠不斷的更新拓?fù)湫畔?,頻繁的計(jì)算當(dāng)前可用路徑,導(dǎo)致開銷過大。而本發(fā)明考慮到部分連接網(wǎng)絡(luò)中的局部特性網(wǎng)絡(luò)拓?fù)涑霈F(xiàn)變化的范圍是局部的而且是間歇性的,經(jīng)常是某一段局部路徑失效,而后又恢復(fù),或者由另外一個(gè)路徑代替。因此,只要能夠保證數(shù)據(jù)按照一個(gè)確定的方向進(jìn)行傳輸,數(shù)據(jù)最終到達(dá)的概率會(huì)很高。同時(shí),網(wǎng)絡(luò)中的實(shí)體都是具有一定邏輯關(guān)系的,例如協(xié)作關(guān)系,區(qū)域關(guān)系,網(wǎng)絡(luò)可以按照某些特性劃分成關(guān)系組,因此,傳輸?shù)穆窂揭簿涂梢杂眠@些途徑組的序列來描述,這樣就形成的路徑的特征描述。本發(fā)明就是利用在網(wǎng)絡(luò)的運(yùn)行過程中形成的特征描述作為方向指導(dǎo)生成路徑的。
2.路徑的生成是分階段完成的。當(dāng)從源節(jié)點(diǎn)到目的節(jié)點(diǎn)之間不存在一條完整的可用路徑,數(shù)據(jù)無法連續(xù)的沿著多個(gè)節(jié)點(diǎn)依次轉(zhuǎn)發(fā)到達(dá)目的地,目前大多數(shù)的路由協(xié)議都采用這種同步的轉(zhuǎn)發(fā)方式下一跳肯定存在,數(shù)據(jù)只需要向計(jì)算出的最優(yōu)下一跳傳輸即可,存儲(chǔ)轉(zhuǎn)發(fā)的含義只是數(shù)據(jù)只在沿途節(jié)點(diǎn)暫時(shí)緩沖,等待隊(duì)列其它數(shù)據(jù)發(fā)送完畢,只要端口空閑就立刻發(fā)送,等待的時(shí)間一般很短,所以又叫“熱土豆”轉(zhuǎn)發(fā)策略,這種策略都是假設(shè)下一跳的端口都是存在的,只有空閑與占用兩種狀態(tài),而在部分連接的網(wǎng)絡(luò)中,下一跳的端口還有另外一種狀態(tài)失效,傳統(tǒng)的轉(zhuǎn)發(fā)策略在這種情況下會(huì)丟棄數(shù)據(jù)包,在部分連接網(wǎng)絡(luò)中,會(huì)導(dǎo)致數(shù)據(jù)永遠(yuǎn)無法到達(dá)。本發(fā)明允許數(shù)據(jù)在沿途節(jié)點(diǎn)較長(zhǎng)時(shí)間的存儲(chǔ),當(dāng)下一跳不存在時(shí),可以等待一段時(shí)間,期待下一跳的出現(xiàn)。在部分連接的網(wǎng)絡(luò)中,下一跳很可能失效,但是很可能又在某個(gè)時(shí)間恢復(fù),如圖2-1所示;而且,其他節(jié)點(diǎn)也可能通過移動(dòng),成為新的合適的下一跳,如圖2-2,2-3所示,這些都表明暫時(shí)的路徑失效應(yīng)當(dāng)被容忍。傳統(tǒng)的轉(zhuǎn)發(fā)策略不適合,本發(fā)明通過組關(guān)系鏈作為指導(dǎo),當(dāng)節(jié)點(diǎn)的鄰接關(guān)系滿足組關(guān)系鏈的描述就轉(zhuǎn)發(fā)數(shù)據(jù),不滿足就等待,期待某個(gè)時(shí)刻數(shù)據(jù)得以繼續(xù)轉(zhuǎn)發(fā)。
3.下一跳可以是某個(gè)組中的任意節(jié)點(diǎn),而不依賴于單個(gè)節(jié)點(diǎn),防止由于單點(diǎn)故障引起數(shù)據(jù)阻塞在途中。只要任何一個(gè)該組節(jié)點(diǎn)出現(xiàn),都可以繼續(xù)轉(zhuǎn)發(fā),同等待某個(gè)單一節(jié)點(diǎn)作為下一跳的路由策略相比,數(shù)據(jù)更有可能到達(dá)目的地。
技術(shù)方案一種分連接網(wǎng)絡(luò)環(huán)境下部基于組關(guān)系的路由機(jī)制系統(tǒng),包括部分連接的網(wǎng)絡(luò),間歇工作的移動(dòng)網(wǎng)絡(luò)節(jié)點(diǎn)、組首領(lǐng)、組關(guān)系鏈、鄰居發(fā)現(xiàn)包、鄰居查詢包、鄰居發(fā)現(xiàn)的應(yīng)答包、查詢應(yīng)答包、探測(cè)包、關(guān)系鏈同步請(qǐng)求包、關(guān)系鏈同步包、招募包、易幟包,網(wǎng)絡(luò)節(jié)點(diǎn)由接收端口,發(fā)送端口,MAC層,MAC接口層,路由層,路由接口層,源和數(shù)據(jù)中心組成,其中路由層的組織結(jié)構(gòu)包括路由查找模塊,轉(zhuǎn)發(fā)模塊,路由維護(hù)模塊,組維護(hù)模塊,鄰居發(fā)現(xiàn)模塊,鄰居請(qǐng)求隊(duì)列,鄰居應(yīng)答隊(duì)列,MAC發(fā)送端口,MAC接收端口,上層偽接口,鄰居表,組關(guān)系鏈表。
所述的系統(tǒng),網(wǎng)絡(luò)節(jié)點(diǎn)被劃分為若干邏輯的組,節(jié)點(diǎn)發(fā)送NS包獲取到達(dá)目的節(jié)點(diǎn)的一條路徑所經(jīng)過的組的序列,稱為組關(guān)系鏈,它描述了路徑的分布特征,作為路由依據(jù)。
所述的系統(tǒng),網(wǎng)絡(luò)節(jié)點(diǎn)不穩(wěn)定,路徑不穩(wěn)定,但是形成的組劃分之間的鄰接關(guān)系基本穩(wěn)定,系統(tǒng)和方法采用路徑所經(jīng)過的組序列作為路由判斷依據(jù)。
所述的系統(tǒng),路由模塊計(jì)算下一跳轉(zhuǎn)發(fā)地址后,轉(zhuǎn)發(fā)模塊并不立刻執(zhí)行轉(zhuǎn)發(fā)過程,而是啟動(dòng)鄰居發(fā)現(xiàn)模塊,確認(rèn)下一跳節(jié)點(diǎn)的存在,當(dāng)可用的下一跳響應(yīng)后,再對(duì)其發(fā)送該數(shù)據(jù)包,避免由于節(jié)點(diǎn)間歇造成的丟包現(xiàn)象。
所述的系統(tǒng),鄰居節(jié)點(diǎn)滿足組關(guān)系鏈描述才能成為轉(zhuǎn)發(fā)的下一跳,網(wǎng)絡(luò)中的節(jié)點(diǎn)被區(qū)分為組關(guān)系鏈相關(guān)的區(qū)域和無關(guān)的區(qū)域,數(shù)據(jù)僅在組關(guān)系鏈相關(guān)區(qū)域內(nèi)被轉(zhuǎn)發(fā),能夠有效的控制通訊的范圍,避免通訊的任意擴(kuò)散,降低了網(wǎng)絡(luò)開銷。
一種部分連接網(wǎng)絡(luò)環(huán)境下基于組關(guān)系的路由機(jī)制的方法,步驟包括組關(guān)系鏈的定義,組關(guān)系鏈的動(dòng)態(tài)生成,隨機(jī)圈地算法,滲透算法,組關(guān)系鏈維護(hù)、優(yōu)化,組關(guān)系鏈指導(dǎo)下的路由、異步路徑生成、異步轉(zhuǎn)發(fā)策略。
所述的方法,隨機(jī)圈地算法采用節(jié)點(diǎn)隨機(jī)競(jìng)爭(zhēng)的方式競(jìng)選組首領(lǐng),組首領(lǐng)按照設(shè)定的范圍招募組成員,節(jié)點(diǎn)的身份通過晉級(jí)和降級(jí)動(dòng)態(tài)改變,首領(lǐng)故障或者離開,則由其它成員代替,但是組的名字保持不變,組一旦創(chuàng)建,其成員負(fù)責(zé)該組的持續(xù)一致的存在。
所述的方法,對(duì)用于路徑發(fā)現(xiàn)的鄰居發(fā)現(xiàn)包和鄰居發(fā)現(xiàn)的應(yīng)答包采用多次滲透的方式轉(zhuǎn)發(fā)包,包被轉(zhuǎn)發(fā)后仍然緩存該包一段時(shí)間,當(dāng)有其它新的鄰居組出現(xiàn)時(shí),會(huì)再次轉(zhuǎn)發(fā)該包,以適應(yīng)間歇存在的路徑。
所述的方法,路由信息不是節(jié)點(diǎn)的地址序列,而是組的序列,轉(zhuǎn)發(fā)的下一跳不局限于單個(gè)節(jié)點(diǎn),而是一組候選節(jié)點(diǎn),增大了路徑形成的概率,避免路由頻繁失效造成的開銷。
所述的方法,數(shù)據(jù)包攜帶路由信息,路由信息為組關(guān)系鏈,表明該數(shù)據(jù)包允許經(jīng)過的網(wǎng)絡(luò)中組區(qū)域。
所述的方法,路由選擇采用添加規(guī)則的方式,規(guī)則包括鄰居組出現(xiàn)在組關(guān)系鏈中、包含鄰居組和目的組的兩個(gè)組關(guān)系鏈有交點(diǎn),規(guī)則具有不同的優(yōu)先級(jí)別,隨著時(shí)間推移,使用的規(guī)則的優(yōu)先級(jí)降低。
所述的方法,將網(wǎng)絡(luò)實(shí)體按照鄰接關(guān)系和功能依據(jù),劃分成若干鄰接的組。


圖1-1為部分連接網(wǎng)絡(luò)節(jié)點(diǎn)結(jié)構(gòu)圖。
圖1-2為路由協(xié)議系統(tǒng)結(jié)構(gòu)圖。
圖2為部分連接網(wǎng)絡(luò)路徑形成示意圖。
圖3為組關(guān)系鏈描述路經(jīng)的特征圖。
圖4為數(shù)據(jù)轉(zhuǎn)發(fā)過程圖。
圖5為路由節(jié)點(diǎn)狀態(tài)轉(zhuǎn)換流程圖。
圖6為路由節(jié)點(diǎn)狀態(tài)轉(zhuǎn)換圖。
具體實(shí)施例方式
本發(fā)明是通過在部分連接的無線網(wǎng)絡(luò)中建立節(jié)點(diǎn)實(shí)體之間的邏輯關(guān)系,從而對(duì)實(shí)體進(jìn)行劃分,形成一個(gè)由多個(gè)組組成的實(shí)體集合。一條路徑包含的節(jié)點(diǎn)所屬的組,構(gòu)成一個(gè)組序列,這個(gè)組序列就是描述路徑的邏輯特征,成為組關(guān)系鏈。用這個(gè)信息作為路由的指導(dǎo)依據(jù),完成路徑的生成。
在協(xié)議中涉及的關(guān)系鏈主要分為兩種前向關(guān)系鏈和后向關(guān)系鏈。前向關(guān)系鏈記錄包在已經(jīng)發(fā)生的轉(zhuǎn)發(fā)過程中所經(jīng)過的組序列,可以用作關(guān)系鏈的自學(xué)習(xí)。后向關(guān)系鏈記錄包將來要經(jīng)過的組序列,為路由信息,描述了該包如何到達(dá)目的節(jié)點(diǎn)。
本發(fā)明方法包含三個(gè)主要過程組的劃分,組關(guān)系鏈的維護(hù),鏈指導(dǎo)下的路由轉(zhuǎn)發(fā)。
在這些過程中涉及到的包格式描述如下1.基本數(shù)據(jù)包格式目標(biāo)組,目的地址,源組,源地址,轉(zhuǎn)發(fā)地址,主組關(guān)系鏈,后向組關(guān)系鏈,方向標(biāo)志,數(shù)據(jù)類型,數(shù)據(jù)其中轉(zhuǎn)發(fā)地址是數(shù)據(jù)包下一跳的地址,用于控制該包轉(zhuǎn)發(fā)范圍。
主組關(guān)系鏈存放源組在發(fā)送數(shù)據(jù)時(shí)候計(jì)算的路由關(guān)系鏈,用來指導(dǎo)路由過程,是全局關(guān)系鏈。
后向組關(guān)系鏈?zhǔn)怯脕泶娣艛?shù)據(jù)在路由過程中的中間節(jié)點(diǎn)計(jì)算出的局部路由鏈,在中間跳會(huì)發(fā)生改變。后向組關(guān)系鏈用于指導(dǎo)后續(xù)局部路徑的生成,例如,如何到達(dá)主關(guān)系鏈中某個(gè)組的的關(guān)系鏈信息。相對(duì)主組關(guān)系鏈?zhǔn)禽o助參考作用。
數(shù)據(jù)szDataBuff可以為定制的格式例如SMS,CONTRL2.鄰居發(fā)現(xiàn)包鄰居發(fā)現(xiàn)包括鄰居請(qǐng)求和鄰居應(yīng)答,使用鄰居請(qǐng)求包、鄰居查詢包、鄰居應(yīng)答包。
鄰居發(fā)現(xiàn)的請(qǐng)求包NS包當(dāng)節(jié)點(diǎn)沒有路由轉(zhuǎn)發(fā)數(shù)據(jù)時(shí)會(huì)發(fā)送NS,NS會(huì)被其它節(jié)點(diǎn)轉(zhuǎn)發(fā),NS包攜帶組關(guān)系鏈信息,記錄沿途經(jīng)過的組序列,稱為前向關(guān)系鏈。包含請(qǐng)求目的組、前向關(guān)系鏈。
請(qǐng)求目的組為NS包所要請(qǐng)求的目的組,以獲取到達(dá)該組的關(guān)系鏈。NS包含組關(guān)系鏈信息,稱為前向關(guān)系鏈用于記錄所經(jīng)過的組序列;當(dāng)?shù)竭_(dá)被請(qǐng)求對(duì)象時(shí)候,前向關(guān)系鏈加上目標(biāo)組地址就是已經(jīng)形成的關(guān)系鏈,被復(fù)制到響應(yīng)擴(kuò)展NA包的應(yīng)答關(guān)系鏈中。
鄰居發(fā)現(xiàn)的應(yīng)答包NA包包括直接NA的和擴(kuò)展的NA兩種。
NA基本格式源組,源地址,NA類型,鄰居數(shù)量,鄰居組數(shù)量等。
NA包含兩種類型直接的定時(shí)發(fā)送NA,生成鄰居列表,不會(huì)被轉(zhuǎn)發(fā)。
擴(kuò)展的用于應(yīng)答主動(dòng)鄰居請(qǐng)求NS,可以被轉(zhuǎn)發(fā)。
擴(kuò)展NA還包含組關(guān)系鏈信息應(yīng)答關(guān)系鏈,后向關(guān)系鏈。
應(yīng)答關(guān)系鏈最終形成的源組到目的組的關(guān)系鏈。如果NA由被請(qǐng)求目的組形成,內(nèi)容來自NS包中的前向關(guān)系鏈信息,如果中間組可以應(yīng)答NS,則查找路由表得到到被請(qǐng)求目的組的路由關(guān)系鏈加上NS的前向鏈,構(gòu)成完整的關(guān)系鏈,復(fù)制到NA應(yīng)答關(guān)系鏈,作為請(qǐng)求的應(yīng)答。
后向關(guān)系鏈存儲(chǔ)要將應(yīng)答關(guān)系鏈通知的范圍。初始為應(yīng)答關(guān)系鏈內(nèi)容。擴(kuò)展NA被轉(zhuǎn)發(fā)時(shí),中間節(jié)點(diǎn)計(jì)算出的局部路由鏈放入后向組關(guān)系鏈,用于指導(dǎo)后續(xù)路徑的生成。
若后向關(guān)系鏈如果只包含被請(qǐng)求組的地址,說明該節(jié)點(diǎn)就是被請(qǐng)求組。擴(kuò)展NA的另一個(gè)作用是相當(dāng)于PROB包,可以在沿途節(jié)點(diǎn)建立該組的路由關(guān)系鏈記錄鄰居查詢包NQ用于在沒有符合關(guān)系鏈描述的鄰居時(shí),查詢鄰居到目標(biāo)節(jié)點(diǎn)是否優(yōu)于本節(jié)點(diǎn)。
格式為查詢組地址,權(quán)重。權(quán)重是表示節(jié)點(diǎn)到查詢組接近程度的度量。同節(jié)點(diǎn)由于關(guān)系鏈數(shù)量、同查詢組接觸次數(shù)、鄰居組的數(shù)量等決定。權(quán)重越大,表明其越有可能將數(shù)據(jù)包發(fā)送到目的組。
查詢應(yīng)答包NR用于應(yīng)答NQ包。
格式為查詢組地址,權(quán)重。
3.探測(cè)包PROB包用于存在告知,讓網(wǎng)絡(luò)獲取其存在以及相對(duì)位置信息,在所經(jīng)過的節(jié)點(diǎn)上建立路由或者更新路由。PROB包含組關(guān)系鏈信息,稱為前向關(guān)系鏈,用于標(biāo)示所經(jīng)過的組序列。Prob包每到達(dá)一個(gè)新的組,就被添加到鏈中;當(dāng)?shù)竭_(dá)葉子組(除了鏈中的組之外,沒有其他直接鄰居組),該組會(huì)產(chǎn)生一個(gè)擴(kuò)展NA包,將前向關(guān)系鏈復(fù)制到擴(kuò)展NA包的后向關(guān)系鏈中。
4.關(guān)系鏈同步請(qǐng)求包GReq包包含請(qǐng)求關(guān)鍵詞,前向關(guān)系鏈請(qǐng)求關(guān)鍵詞存放要請(qǐng)求的關(guān)系鏈中的某個(gè)元素,應(yīng)答者會(huì)將所有匹配的已知關(guān)系鏈作為GSyn包應(yīng)答;前向關(guān)系鏈,用于標(biāo)示所經(jīng)過的組序列,應(yīng)答者的應(yīng)答包將按照該鏈返回請(qǐng)求源;5.關(guān)系鏈同步包GSyn包用于節(jié)點(diǎn)之間交換關(guān)系鏈信息,同時(shí)作為GReq的應(yīng)答。包含應(yīng)答關(guān)系鏈信息,后向關(guān)系鏈信息。
應(yīng)答關(guān)系鏈信息存儲(chǔ)要同步的關(guān)系鏈;后向關(guān)系鏈存儲(chǔ)要將應(yīng)答關(guān)系鏈通知的范圍,GSyn將按照該鏈信息進(jìn)行路由。當(dāng)收到GReq時(shí)候,該信息來自GReq包的前向關(guān)系鏈信息。后向關(guān)系鏈也可以為指定的單個(gè)組或者為空,則被視為普通數(shù)據(jù),接受網(wǎng)絡(luò)的路由過程。
6.招募包Cns包用于首領(lǐng)生成和組成員的身份維護(hù)。包含組名稱,等級(jí),范圍,跳數(shù),周期數(shù)。
組名的命名使用首領(lǐng)的標(biāo)識(shí)符,當(dāng)新首領(lǐng)接替原首領(lǐng)時(shí),組名不變,以保證組關(guān)系鏈信息的有效性。等級(jí)表明發(fā)送招募包的節(jié)點(diǎn)的等級(jí),包括準(zhǔn)首領(lǐng)和正式首領(lǐng)或者高層首領(lǐng)等。范圍表示該首領(lǐng)所覆蓋的范圍。跳數(shù)表明該招募包被轉(zhuǎn)發(fā)的次數(shù)。周期數(shù)表明其發(fā)送Cns包的數(shù)量,可以反映其在位時(shí)間,用于首領(lǐng)競(jìng)爭(zhēng)。
7.易幟包ReCns包用于首領(lǐng)或者準(zhǔn)首領(lǐng)將原有成員并入新的組。包含原組名,新組名。NA,NS,Prob,GSyn包都具有關(guān)系鏈信息,都可以傳播組關(guān)系,但是也有很大區(qū)別NA是被動(dòng)發(fā)送的,是定向的。而且主要作用是通知NS發(fā)起者所需的組關(guān)系信息和鄰居信息。既定的沿途的節(jié)點(diǎn)主要是組關(guān)系鏈規(guī)定的組節(jié)點(diǎn),是順便獲取的信息。
NS包是數(shù)據(jù)驅(qū)動(dòng)后,主動(dòng)發(fā)送的,非定向的,沿途節(jié)點(diǎn)一方面會(huì)引導(dǎo)NS,一方面也會(huì)從NS沿途生成的路由關(guān)系鏈中學(xué)習(xí)到信息。
Prob包是主動(dòng)的,非定向的。和NS類似,但Prob是周期性發(fā)送的,NS是數(shù)據(jù)驅(qū)動(dòng)的。Prob不需要響應(yīng),只是存在告知作用。
GSyn包是事件驅(qū)動(dòng)的,當(dāng)收到請(qǐng)求同步包或者首領(lǐng)發(fā)現(xiàn)有新的成員加入時(shí)發(fā)送。
組的劃分組劃分的目的是將網(wǎng)絡(luò)中的節(jié)點(diǎn)分成若干區(qū)域,數(shù)據(jù)在沿著一條路徑傳輸,會(huì)經(jīng)過不同區(qū)域,形成一個(gè)區(qū)域的序列組關(guān)系鏈,本發(fā)明用這些區(qū)域來描述這條路徑,用于在需要傳輸數(shù)據(jù)時(shí),在這個(gè)區(qū)域信息的指導(dǎo)下還原這條路徑。這些區(qū)域組成的關(guān)系鏈信息實(shí)際上是描述了路徑的傳輸方向,在部分連接的網(wǎng)絡(luò)中,雖然路徑的節(jié)點(diǎn)很不穩(wěn)定,但是只要按照一定的方向引導(dǎo)數(shù)據(jù),數(shù)據(jù)最終能夠找到合適的轉(zhuǎn)發(fā)節(jié)點(diǎn),將數(shù)據(jù)送達(dá)目的節(jié)點(diǎn)。因此本發(fā)明實(shí)施的第一步是把網(wǎng)絡(luò)的節(jié)點(diǎn)按照一定的規(guī)則分為若干組,劃分方法如下組之間是可以是對(duì)等的,也可以是分等級(jí)的,允許組的疊加。每個(gè)組由一個(gè)較為穩(wěn)定的成員作為首領(lǐng),負(fù)責(zé)組信息的同步。
1.功能組(不同的業(yè)務(wù)定義不同的功能組);它負(fù)責(zé)采集或者提供某種信息。是網(wǎng)絡(luò)中可尋址的組。屬于靜態(tài)設(shè)置的。
2.轉(zhuǎn)交組為信息和數(shù)據(jù)的傳遞提供中間轉(zhuǎn)交服務(wù),僅作為源和目的間所經(jīng)過的組。
3.子轉(zhuǎn)交組,對(duì)轉(zhuǎn)交組可以進(jìn)行細(xì)分。屬于動(dòng)態(tài)生成的。
組的劃分有靜態(tài)和動(dòng)態(tài)兩種,下面分別說明靜態(tài)劃分靜態(tài)劃分是指將某些節(jié)點(diǎn)人工指定設(shè)置為某個(gè)功能組。例如將部署區(qū)域按照蜂窩結(jié)構(gòu)進(jìn)行劃分?;蛘邔⒔?jīng)常接觸的那些移動(dòng)節(jié)點(diǎn)劃分成一個(gè)組。功能組一般作為目的組,可尋址。
動(dòng)態(tài)劃分動(dòng)態(tài)劃分用于將網(wǎng)絡(luò)的節(jié)點(diǎn)劃分成鄰接的區(qū)域,作為路由選擇的參照基準(zhǔn)信息,例如源頭和目的之間被劃分成一系列組區(qū)域,有效路徑所穿過的那些區(qū)域,組成一個(gè)組關(guān)系鏈,作為路由時(shí)的依據(jù)和指導(dǎo)。對(duì)于動(dòng)態(tài)劃分,采用隨機(jī)圈地算法。
組動(dòng)態(tài)劃分的過程如下1.當(dāng)網(wǎng)絡(luò)中的孤立節(jié)點(diǎn)(不屬于任何組的節(jié)點(diǎn))在一段時(shí)間內(nèi)沒有收到某個(gè)首領(lǐng)的探測(cè)包,則成為準(zhǔn)首領(lǐng),發(fā)起圈地過程周期性的發(fā)送招募包Cns包,組名與該節(jié)點(diǎn)同名,等級(jí)為2,表示準(zhǔn)首領(lǐng),初始的跳數(shù)為1,周期數(shù)為1,設(shè)置范圍值。
2.當(dāng)某個(gè)孤立節(jié)點(diǎn)收到Cns包,如果跳數(shù)小于范圍值則加入該組,設(shè)置節(jié)點(diǎn)距首領(lǐng)的距離為Cns包跳數(shù),發(fā)送應(yīng)答(可選)。將Cns包跳數(shù)加1,繼續(xù)轉(zhuǎn)發(fā)Cns包;3.當(dāng)某個(gè)準(zhǔn)首領(lǐng)收到等級(jí)為1(來自首領(lǐng))Cns包,如果跳數(shù)小于范圍值,表明附近已經(jīng)存在首領(lǐng),則該節(jié)點(diǎn)加入Cns指定的組,并發(fā)送易幟包,將其招募的成員加入Cns指定的組。
4.當(dāng)某個(gè)準(zhǔn)首領(lǐng)收到等級(jí)為2(來自其他準(zhǔn)首領(lǐng))Cns包,如果跳數(shù)小于范圍值,則比較Cns包的周期數(shù)和該節(jié)點(diǎn)的周期數(shù)量,如果Cns包的周期數(shù)量大,則該節(jié)點(diǎn)加入Cns指定的組,并發(fā)送易幟包,將其招募的成員加入Cns指定的組;否則,丟棄該包;5.當(dāng)首領(lǐng)節(jié)點(diǎn)收到Cns包,直接丟棄該包;6.當(dāng)某個(gè)組成員收到Cns包,如果同組,且節(jié)點(diǎn)距首領(lǐng)的距離大于Cns包跳數(shù),則更新距離值,將Cns包跳數(shù)加1,轉(zhuǎn)發(fā)Cns包,否則丟棄該包。
7.當(dāng)準(zhǔn)首領(lǐng)的周期數(shù)達(dá)到上限,沒有發(fā)生易幟,則升級(jí)為首領(lǐng);8.如果屬于某個(gè)組的成員在一段時(shí)間內(nèi)沒有收到首領(lǐng)的探測(cè)包,則以原組名開始選舉新首領(lǐng)的過程,轉(zhuǎn)到1;組關(guān)系鏈的維護(hù)組關(guān)系鏈的維護(hù)包括關(guān)系鏈的生成、同步、優(yōu)化等過程。
組關(guān)系鏈的生成組關(guān)系鏈一個(gè)由源組、目的組以及從源到目的的路徑所穿過的組構(gòu)成的序列。關(guān)系鏈的生成也分為靜態(tài)和動(dòng)態(tài)兩種。靜態(tài)關(guān)系鏈?zhǔn)且幌盗泄δ芙M的序列,在協(xié)議運(yùn)行之前就已經(jīng)定義,用于靜態(tài)劃分的網(wǎng)絡(luò)或者用于特殊情景的捕獲。動(dòng)態(tài)關(guān)系鏈?zhǔn)峭ㄟ^學(xué)習(xí)過程形成的,用于描述源和目的節(jié)點(diǎn)之間有效路徑的特征,并在路由過程中指導(dǎo)路徑的生成。
動(dòng)態(tài)關(guān)系鏈生成過程由組首領(lǐng)發(fā)起的,在PROB包或者NS包的發(fā)送過程中形成。某個(gè)組通過發(fā)送PROB包,網(wǎng)絡(luò)中的其他組可以獲取到達(dá)該組的路由信息。通過發(fā)送NS包,可以獲取到達(dá)所請(qǐng)求組的路由信息。
在功能組首領(lǐng)發(fā)送周期性發(fā)送PROB包(或者在需要路由而發(fā)送NS包)時(shí),PROB包在網(wǎng)絡(luò)中轉(zhuǎn)發(fā)擴(kuò)散過程中,記錄沿途所經(jīng)過的轉(zhuǎn)交組(子轉(zhuǎn)交組),形成關(guān)系鏈,當(dāng)沿途節(jié)點(diǎn)轉(zhuǎn)發(fā)PROB包時(shí),會(huì)將關(guān)系鏈信息保存或者更新。PROB包的轉(zhuǎn)發(fā)采用滲透算法。
假設(shè)圖4中的網(wǎng)絡(luò)中,N1-N9為網(wǎng)絡(luò)中的節(jié)點(diǎn),G1-G4為動(dòng)態(tài)生成的4個(gè)組,PROB包轉(zhuǎn)發(fā)以及關(guān)系鏈生成過程如下1.假設(shè)N1是G1組的首領(lǐng),會(huì)定期的發(fā)送PROB包,內(nèi)容為源組地址G1,源地址N1,跳數(shù)1,前向鏈G1,后向鏈NULL。
2.N2,N3,N9是直接鄰居,收到N1的PROB包,會(huì)知道首領(lǐng)的存在,并將組鄰居表中G1表項(xiàng)的hop值設(shè)為1;N2,N3由于有鄰居組,會(huì)將PROB包的跳數(shù)設(shè)置為2然后轉(zhuǎn)發(fā)出去。但是由于N9沒有其他鄰居組,不再轉(zhuǎn)發(fā)。
3.N1,N3都會(huì)收到N2轉(zhuǎn)發(fā)的PROB包,由于N1,N3記錄的G1跳數(shù)分別為0,1,都小于包中的跳數(shù),所以丟棄。
4.N8收到PROB包后,添加一個(gè)組關(guān)系鏈條目G1/G4,并將其復(fù)制到PROB包的前向鏈,繼續(xù)轉(zhuǎn)發(fā)。
5.N4會(huì)收到N3轉(zhuǎn)發(fā)的PROB包,添加一個(gè)組關(guān)系鏈條目G1/G2,并將其復(fù)制到PROB包的前向鏈,繼續(xù)轉(zhuǎn)發(fā)。
6.N5收到N4的包,會(huì)轉(zhuǎn)發(fā),跳數(shù)設(shè)置為4。
7.N6收到后,獲得關(guān)系鏈G1/G2/G3,并將其復(fù)制到PROB包PROB的前向鏈,繼續(xù)轉(zhuǎn)發(fā)。
8.如果Prob到達(dá)某個(gè)組后,這個(gè)組的成員如果除了Prob包的源組之外沒有其他的鄰居組(說明是葉子組節(jié)點(diǎn)),就不再轉(zhuǎn)發(fā)Prob包。
若Prob包的跳數(shù)超過上限,也會(huì)丟棄,過程結(jié)束。
9.通過上述過程,G2,G3,G4中的節(jié)點(diǎn)分別學(xué)習(xí)到關(guān)系鏈為G1/G2,G1/G2/G3,G1/G4。
NS包的發(fā)送過程在節(jié)點(diǎn)缺少到目的節(jié)點(diǎn)的路由信息時(shí),會(huì)發(fā)送NS包,請(qǐng)求目的組的路由關(guān)系鏈信息。NS包在網(wǎng)絡(luò)中轉(zhuǎn)發(fā)擴(kuò)散過程中會(huì)被中間節(jié)點(diǎn)轉(zhuǎn)發(fā),并記錄沿途所經(jīng)過的轉(zhuǎn)交組(子轉(zhuǎn)交組),形成前向關(guān)系鏈。當(dāng)?shù)竭_(dá)請(qǐng)求目的組時(shí)候,將響應(yīng)一個(gè)擴(kuò)展NA作為應(yīng)答,NA將NS的前向關(guān)系鏈作為應(yīng)答關(guān)系鏈,該NA包的后向關(guān)系鏈為NS包的前項(xiàng)關(guān)系鏈的轉(zhuǎn)置,沿著相反路徑發(fā)送給請(qǐng)求源節(jié)點(diǎn)。如果當(dāng)NS到達(dá)某個(gè)非請(qǐng)求目的節(jié)點(diǎn),而該節(jié)點(diǎn)已經(jīng)有NS包所請(qǐng)求的目的組的路由信息,則直接發(fā)送給請(qǐng)求源節(jié)點(diǎn)一個(gè)擴(kuò)展NA包作為應(yīng)答,該NA包的后向關(guān)系鏈為NS包的前項(xiàng)關(guān)系鏈的轉(zhuǎn)置。
由于網(wǎng)絡(luò)具有部分連接特性,因此Prob包、NS包以及擴(kuò)展NA包等需要多跳轉(zhuǎn)發(fā)的包應(yīng)該能夠穿過網(wǎng)絡(luò)的各個(gè)連通分支。這些包轉(zhuǎn)發(fā)都使用滲透算法,采用多次滲透的方式。引入代理轉(zhuǎn)發(fā)機(jī)制,當(dāng)收到一個(gè)上述包時(shí),除了會(huì)直接對(duì)非請(qǐng)求目的組的所有鄰居組轉(zhuǎn)發(fā)外,還對(duì)要緩存該包,當(dāng)有新的鄰居組出現(xiàn)時(shí),會(huì)以源節(jié)點(diǎn)的身份重新發(fā)送該包,再次進(jìn)行滲透過程。由于部分連接的網(wǎng)絡(luò)中,連通分支是動(dòng)態(tài)變化的,某節(jié)點(diǎn)在某個(gè)時(shí)刻和另外一個(gè)連通分支分離,但是下一個(gè)時(shí)刻就可能成為這個(gè)連通分支的節(jié)點(diǎn)。通過代理轉(zhuǎn)發(fā)機(jī)制,包可以避免轉(zhuǎn)發(fā)包由于當(dāng)前的不連通而無法繼續(xù)轉(zhuǎn)發(fā)的情況,在新的節(jié)點(diǎn)出現(xiàn)時(shí)候會(huì)重復(fù)滲透過程,從而以更大的可能性穿過多個(gè)連通分支。
組關(guān)系鏈的同步節(jié)點(diǎn)對(duì)關(guān)系鏈表的時(shí)間戳進(jìn)行輪詢,當(dāng)發(fā)現(xiàn)過期條目便發(fā)送路由更新請(qǐng)求,獲取鄰居節(jié)點(diǎn)和首領(lǐng)節(jié)點(diǎn)的路由信息,并完成更新。
組關(guān)系鏈的優(yōu)化當(dāng)節(jié)點(diǎn)學(xué)習(xí)到一條關(guān)系鏈信息時(shí)候,會(huì)將其同緩存的路由關(guān)系鏈表中的條目進(jìn)行比較,如果重復(fù)或者是已經(jīng)被包含則忽略。如果是一條新的關(guān)系鏈,則對(duì)其優(yōu)劣進(jìn)行評(píng)估。評(píng)估的準(zhǔn)則是關(guān)系鏈的連接長(zhǎng)度(關(guān)系鏈穿越的節(jié)點(diǎn)數(shù))和鏈長(zhǎng)度(組的數(shù)量)以及鏈距離(目的組距離本組的遠(yuǎn)近)等度量。同一個(gè)目的組的鏈,優(yōu)先選取連接長(zhǎng)度短的;同樣連接長(zhǎng)度的鏈中,優(yōu)先選取鏈長(zhǎng)度大的;優(yōu)先選取鏈中的目的組是未曾接觸過的組。如果評(píng)估值比高過緩存鏈表中的最低評(píng)估值條目,則接受。當(dāng)關(guān)系鏈表?xiàng)l目數(shù)量達(dá)到上限,需要進(jìn)行替換。節(jié)點(diǎn)會(huì)周期性的對(duì)緩存的路由關(guān)系鏈表中的條目進(jìn)行維護(hù),包括合并、拼接、修剪、替換、簡(jiǎn)化、消除回路等。例如,(a,b,c,d,e,x)的鏈和(d,e,x,y,z)可以合并成為(a,b,c,d,e,x,y,z);如果另外存在(m,n,b,c,d,e,x,i,j)鏈,則可以簡(jiǎn)化為(m,n,b,x,i,j)。通過對(duì)關(guān)系鏈的優(yōu)化整理,節(jié)點(diǎn)可以用最少的空間,保持最新的路由信息。
基于組關(guān)系鏈的路由轉(zhuǎn)發(fā)數(shù)據(jù)包、擴(kuò)展NA包、關(guān)系鏈同步包等需要接受路由操作。以數(shù)據(jù)包為例進(jìn)行說明,當(dāng)節(jié)點(diǎn)產(chǎn)生數(shù)據(jù)包或者接收到數(shù)據(jù)包后,進(jìn)入發(fā)送隊(duì)列,接受路由以及轉(zhuǎn)發(fā)操作。路由選擇采用添加規(guī)則的方式,規(guī)則具有不同的優(yōu)先級(jí)別,隨著時(shí)間推移,使用的規(guī)則的優(yōu)先級(jí)降低。
路由選擇如圖5,路徑L為節(jié)點(diǎn)序列,關(guān)系鏈R為L(zhǎng)所經(jīng)過的組序列。組關(guān)系鏈R描述了路徑L的特征。
過程描述如下步驟1.取得數(shù)據(jù)包的目的組地址G,查找組鄰居表和組關(guān)系鏈表,組鄰居表記錄直接鄰居及其所屬組(鄰居組),組關(guān)系鏈表存放節(jié)點(diǎn)學(xué)習(xí)到的組關(guān)系鏈的集合,記為X;步驟2.如果目的組為直接鄰居組,則向該組發(fā)送,進(jìn)入轉(zhuǎn)發(fā)過程;步驟3.取得X中包含G的所有關(guān)系鏈,記為集合L,取得包的主關(guān)系鏈M,后向關(guān)系鏈B;步驟4.若鄰居組出現(xiàn)在L的某個(gè)鏈1中,則將1放入包的主關(guān)系鏈字段,則向該鄰居發(fā)送,進(jìn)入轉(zhuǎn)發(fā)過程;步驟5.若鄰居組出現(xiàn)在M中,則向該鄰居發(fā)送,進(jìn)入轉(zhuǎn)發(fā)過程;步驟6.若鄰居組出現(xiàn)在B中,則向該鄰居發(fā)送,進(jìn)入轉(zhuǎn)發(fā)過程;步驟7.對(duì)于某個(gè)鄰居組N,取得X中包含N的所有關(guān)系鏈,記為集合K,若K中存在關(guān)系鏈和L集合中的關(guān)系鏈有公共組元素,即兩關(guān)系鏈有交點(diǎn),則向該鄰居發(fā)送,進(jìn)入轉(zhuǎn)發(fā)過程;步驟8.發(fā)送NS包,請(qǐng)求到目的組的路由信息;步驟9.等待NS的應(yīng)答NA,若超時(shí)未收到應(yīng)答則轉(zhuǎn)到10,NS被應(yīng)答后,獲取路由信息,轉(zhuǎn)到步驟2;步驟10.向鄰居發(fā)送NQ包,查詢其到目的組的接近程度,若應(yīng)答NR包的權(quán)重比本節(jié)點(diǎn)的權(quán)重a大,則向該鄰居發(fā)送,進(jìn)入轉(zhuǎn)發(fā)過程;步驟11.等待,若超時(shí)沒有適合的下一跳則轉(zhuǎn)到步驟12,否則轉(zhuǎn)到步驟10;步驟12.規(guī)則全部使用,沒有找到下一跳,則直接向某個(gè)鄰居發(fā)送該包,進(jìn)入轉(zhuǎn)發(fā)過程。
轉(zhuǎn)發(fā)策略傳統(tǒng)的網(wǎng)絡(luò)路由以及完全連接的ad hoc路由中,轉(zhuǎn)發(fā)策略很簡(jiǎn)單直接向路由選擇的最優(yōu)下一跳發(fā)送,發(fā)送的數(shù)量一般只有一份。但是在部分連接的ad hoc網(wǎng)絡(luò)中,下一跳可能突然消失,因此這種轉(zhuǎn)發(fā)策略是不夠的。本發(fā)明中,路由選擇出的下一跳是一個(gè)節(jié)點(diǎn)地址(首選下一跳)以及其所屬組地址(下一跳組地址),當(dāng)首選下一跳節(jié)點(diǎn)不存在時(shí),節(jié)點(diǎn)會(huì)緩存該包,當(dāng)下一跳出現(xiàn)時(shí)再轉(zhuǎn)發(fā)。同時(shí),如果與首選下一跳同一個(gè)組地址對(duì)應(yīng)的其它組成員節(jié)點(diǎn)出現(xiàn),可以作為候選的下一跳,因此當(dāng)首選下一跳在一段時(shí)間都沒有出現(xiàn),選擇候選下一跳可以大大增加轉(zhuǎn)發(fā)的成功機(jī)會(huì),避免包的丟棄。
節(jié)點(diǎn)的路由轉(zhuǎn)發(fā)過程的狀態(tài)圖如圖6所示。節(jié)點(diǎn)初始化后由最初的Init狀態(tài)轉(zhuǎn)換到Idle狀態(tài),開始工作。節(jié)點(diǎn)周期性的進(jìn)行組身份維護(hù)操作,進(jìn)入Conscribe狀態(tài),若為組首領(lǐng),則進(jìn)行動(dòng)態(tài)劃分,發(fā)送Cns包;若為組成員則偵聽組首領(lǐng)的Cns包;若為孤立節(jié)點(diǎn)則進(jìn)行首領(lǐng)競(jìng)爭(zhēng)過程。當(dāng)首領(lǐng)被決定,組劃分完畢,組首領(lǐng)會(huì)周期性的進(jìn)入Prob狀態(tài),以向網(wǎng)絡(luò)告知本組的存在。當(dāng)節(jié)點(diǎn)收到其它節(jié)點(diǎn)的Prob包時(shí),會(huì)進(jìn)行自學(xué)習(xí),生成組關(guān)系鏈等路由信息,同時(shí),如果有新的鄰居出現(xiàn),會(huì)進(jìn)入Prox Prob狀態(tài),以觸發(fā)新鄰居的自學(xué)習(xí)過程。當(dāng)節(jié)點(diǎn)有數(shù)據(jù)產(chǎn)生,則進(jìn)入Conceived,將數(shù)據(jù)緩存,若有到目的節(jié)點(diǎn)的組關(guān)系鏈信息,則進(jìn)入FWD狀態(tài),若確認(rèn)下一跳可用,則轉(zhuǎn)發(fā)該數(shù)據(jù)包;若沒有路由,則發(fā)進(jìn)入NS狀態(tài),周期性發(fā)送NS包,NS被響應(yīng)后,進(jìn)入Replyed狀態(tài),以獲取路由信息。當(dāng)節(jié)點(diǎn)接收到NS時(shí),進(jìn)入RCV NS狀態(tài),如果是被請(qǐng)求對(duì)象,則響應(yīng)一個(gè)擴(kuò)展NA,如果不是,則轉(zhuǎn)發(fā)NS。
權(quán)利要求
1.一種分連接網(wǎng)絡(luò)環(huán)境下部基于組關(guān)系的路由機(jī)制系統(tǒng),包括部分連接的網(wǎng)絡(luò),間歇工作的移動(dòng)網(wǎng)絡(luò)節(jié)點(diǎn)、組首領(lǐng)、組關(guān)系鏈、鄰居發(fā)現(xiàn)包、鄰居查詢包、鄰居發(fā)現(xiàn)的應(yīng)答包、查詢應(yīng)答包、探測(cè)包、關(guān)系鏈同步請(qǐng)求包、關(guān)系鏈同步包、招募包、易幟包等,網(wǎng)絡(luò)節(jié)點(diǎn)由接收端口,發(fā)送端口,MAC層,MAC接口層,路由層,路由接口層,源和數(shù)據(jù)中心組成,其中路由層的組織結(jié)構(gòu)包括路由查找模塊,轉(zhuǎn)發(fā)模塊,路由維護(hù)模塊,組維護(hù)模塊,鄰居發(fā)現(xiàn)模塊,鄰居請(qǐng)求隊(duì)列,鄰居應(yīng)答隊(duì)列,MAC發(fā)送端口,MAC接收端口,上層偽接口,鄰居表,組關(guān)系鏈表。
2.按權(quán)利要求1所述的系統(tǒng),其特征在于網(wǎng)絡(luò)節(jié)點(diǎn)被劃分為若干邏輯的組,節(jié)點(diǎn)發(fā)送NS包獲取到達(dá)目的節(jié)點(diǎn)的一條路徑所經(jīng)過的組的序列,稱為組關(guān)系鏈,它描述了路徑的分布特征,作為路由依據(jù)。
3.按權(quán)利要求1所述的系統(tǒng),其特征在于網(wǎng)絡(luò)節(jié)點(diǎn)不穩(wěn)定,路徑不穩(wěn)定,但是形成的組劃分之間的鄰接關(guān)系基本穩(wěn)定,系統(tǒng)和方法采用路徑所經(jīng)過的組序列作為路由判斷依據(jù)。
4.按權(quán)利要求1所述的系統(tǒng),其特征在于路由模塊計(jì)算下一跳轉(zhuǎn)發(fā)地址后,轉(zhuǎn)發(fā)模塊并不立刻執(zhí)行轉(zhuǎn)發(fā)過程,而是啟動(dòng)鄰居發(fā)現(xiàn)模塊,確認(rèn)下一跳節(jié)點(diǎn)的存在,當(dāng)可用的下一跳響應(yīng)后,再對(duì)其發(fā)送該數(shù)據(jù)包,避免由于節(jié)點(diǎn)間歇造成的丟包現(xiàn)象。
5.按權(quán)利要求1所述的系統(tǒng),其特征在于鄰居節(jié)點(diǎn)滿足組關(guān)系鏈描述才能成為轉(zhuǎn)發(fā)的下一跳,網(wǎng)絡(luò)中的節(jié)點(diǎn)被區(qū)分為組關(guān)系鏈相關(guān)的區(qū)域和無關(guān)的區(qū)域,數(shù)據(jù)僅在組關(guān)系鏈相關(guān)區(qū)域內(nèi)被轉(zhuǎn)發(fā),能夠有效的控制通訊的范圍,避免通訊的任意擴(kuò)散,降低了網(wǎng)絡(luò)開銷。
6.一種部分連接網(wǎng)絡(luò)環(huán)境下基于組關(guān)系的路由機(jī)制的方法,步驟包括組關(guān)系鏈的定義,組關(guān)系鏈的動(dòng)態(tài)生成,隨機(jī)圈地算法,滲透算法,組關(guān)系鏈維護(hù)、優(yōu)化,組關(guān)系鏈指導(dǎo)下的路由、異步路徑生成、異步轉(zhuǎn)發(fā)策略。
7.按權(quán)利要求6所述的方法,其特征在于隨機(jī)圈地算法采用節(jié)點(diǎn)隨機(jī)競(jìng)爭(zhēng)的方式競(jìng)選組首領(lǐng),組首領(lǐng)按照設(shè)定的范圍招募組成員,節(jié)點(diǎn)的身份通過晉級(jí)和降級(jí)動(dòng)態(tài)改變,首領(lǐng)故障或者離開,則由其它成員代替,但是組的名字保持不變,組一旦創(chuàng)建,其成員負(fù)責(zé)該組的持續(xù)一致的存在。
8.按權(quán)利要求6所述的方法,其特征在于對(duì)用于路徑發(fā)現(xiàn)的鄰居發(fā)現(xiàn)包和鄰居發(fā)現(xiàn)的應(yīng)答包采用多次滲透的方式轉(zhuǎn)發(fā)包,包被轉(zhuǎn)發(fā)后仍然緩存該包一段時(shí)間,當(dāng)有其它新的鄰居組出現(xiàn)時(shí),會(huì)再次轉(zhuǎn)發(fā)該包,以適應(yīng)間歇存在的路徑。
9.按權(quán)利要求6所述的方法,其特征在于路由信息不是節(jié)點(diǎn)的地址序列,而是組的序列,轉(zhuǎn)發(fā)的下一跳不局限于單個(gè)節(jié)點(diǎn),而是一組候選節(jié)點(diǎn),增大了路徑形成的概率,避免路由頻繁失效造成的開銷。
10.按權(quán)利要求6所述的方法,其特征在于數(shù)據(jù)包攜帶路由信息,路由信息為組關(guān)系鏈,表明該數(shù)據(jù)包允許經(jīng)過的網(wǎng)絡(luò)中組區(qū)域。
11.按權(quán)利要求6所述的方法,其特征在于路由選擇采用添加規(guī)則的方式,規(guī)則包括鄰居組出現(xiàn)在組關(guān)系鏈中、包含鄰居組和目的組的兩個(gè)組關(guān)系鏈有交點(diǎn),規(guī)則具有不同的優(yōu)先級(jí)別,隨著時(shí)間推移,使用的規(guī)則的優(yōu)先級(jí)降低。
12.按權(quán)利要求6所述的方法,其特征在于將網(wǎng)絡(luò)實(shí)體按照鄰接關(guān)系和功能依據(jù),劃分成若干鄰接的組。
13.按權(quán)利要求6所述的方法,其具體步驟如下步驟1.取得數(shù)據(jù)包的目的組地址G,查找組鄰居表和組關(guān)系鏈表,組鄰居表記錄直接鄰居及其所屬組,組關(guān)系鏈表存放節(jié)點(diǎn)學(xué)習(xí)到的組關(guān)系鏈的集合,記為X;步驟2.如果目的組為直接鄰居組,則向該組發(fā)送,進(jìn)入轉(zhuǎn)發(fā)過程;步驟3.取得X中包含G的所有關(guān)系鏈,記為集合L,取得包的主關(guān)系鏈M,后向關(guān)系鏈B;步驟4.若鄰居組出現(xiàn)在L的某個(gè)鏈1中,則將1放入包的主關(guān)系鏈字段,則向該鄰居發(fā)送,進(jìn)入轉(zhuǎn)發(fā)過程;步驟5.若鄰居組出現(xiàn)在M中,則向該鄰居發(fā)送,進(jìn)入轉(zhuǎn)發(fā)過程;步驟6.若鄰居組出現(xiàn)在B中,則向該鄰居發(fā)送,進(jìn)入轉(zhuǎn)發(fā)過程;步驟7.對(duì)于某個(gè)鄰居組N,取得X中包含N的所有關(guān)系鏈,記為集合K,若K中存在關(guān)系鏈和L集合中的關(guān)系鏈有公共組元素,即兩關(guān)系鏈有交點(diǎn),則向該鄰居發(fā)送,進(jìn)入轉(zhuǎn)發(fā)過程;步驟8.發(fā)送NS包,請(qǐng)求到目的組的路由信息;步驟9.等待NS的應(yīng)答NA,若超時(shí)未收到應(yīng)答則轉(zhuǎn)到10,NS被應(yīng)答后,獲取路由信息,轉(zhuǎn)到步驟2;步驟10.向鄰居發(fā)送NQ包,查詢其到目的組的接近程度,若應(yīng)答NR包的權(quán)重比本節(jié)點(diǎn)的權(quán)重a大,則向該鄰居發(fā)送,進(jìn)入轉(zhuǎn)發(fā)過程;步驟11.等待,若超時(shí)沒有適合的下一跳則轉(zhuǎn)到步驟12,否則轉(zhuǎn)到步驟10;步驟12.規(guī)則全部使用,沒有找到下一跳,則直接向某個(gè)鄰居發(fā)送該包,進(jìn)入轉(zhuǎn)發(fā)過程。
全文摘要
本發(fā)明涉及ad hoc自組織網(wǎng)路由技術(shù)領(lǐng)域,部分連接網(wǎng)絡(luò)中的組關(guān)系路由機(jī)制,適用于具有部分連接特性的網(wǎng)絡(luò),即源和目的節(jié)點(diǎn)之間的路徑是分段間歇存在的甚至可能不存在。無線網(wǎng)絡(luò)節(jié)點(diǎn)的移動(dòng),故障,間歇工作比較普遍,這些都會(huì)造成網(wǎng)絡(luò)的部分連接特性。本發(fā)明通過將ad hoc的網(wǎng)絡(luò)拓?fù)鋭澐殖山M區(qū)域,用組之間的關(guān)系來標(biāo)記路徑特征,并作為路由過程的指導(dǎo)依據(jù),實(shí)現(xiàn)了部分連接的網(wǎng)絡(luò)中的數(shù)據(jù)傳輸。通過組關(guān)系鏈的自學(xué)習(xí)和優(yōu)化過程,生成優(yōu)化路徑的特征描述,保證數(shù)據(jù)沿著正確方向轉(zhuǎn)發(fā),提高數(shù)據(jù)到達(dá)率。同時(shí),組關(guān)系鏈限定了組成路徑的節(jié)點(diǎn)數(shù)量,能夠有效的控制通訊的范圍,避免通訊的任意擴(kuò)散,降低了網(wǎng)絡(luò)開銷。
文檔編號(hào)H04L12/56GK1741501SQ20051008646
公開日2006年3月1日 申請(qǐng)日期2005年9月22日 優(yōu)先權(quán)日2005年9月22日
發(fā)明者張?zhí)鞓? 李忠誠(chéng), 劉敏, 蔡一兵 申請(qǐng)人:中國(guó)科學(xué)院計(jì)算技術(shù)研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1