基于競爭轉(zhuǎn)發(fā)的適用于無線網(wǎng)絡(luò)的路由方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及無線網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別是涉及一種無線網(wǎng)絡(luò)的機會路由技術(shù)。
【背景技術(shù)】
[0002] 無線移動自組網(wǎng)是一個由移動節(jié)點的集合臨時和動態(tài)形成的多跳無線網(wǎng)絡(luò),它不 需要使用任何現(xiàn)有的網(wǎng)絡(luò)基礎(chǔ)設(shè)施或中心化管理,廣泛應(yīng)用于救災(zāi)、分布式協(xié)作計算和戰(zhàn) 場自動化等場合。自組織、快速部署和無需任何固定基礎(chǔ)設(shè)施的特點,使自組網(wǎng)作為一個重 要的和有前途的研究領(lǐng)域受到極大關(guān)注。然而由于節(jié)點移動、信號干擾和功率損耗等因素 的影響,在自組網(wǎng)中本質(zhì)上難以得到準確的鏈路狀態(tài)信息和網(wǎng)絡(luò)拓撲信息。另一方面,繁重 的業(yè)務(wù)流量、頻繁的鏈路中斷和網(wǎng)絡(luò)分離將引發(fā)傳輸中斷,造成數(shù)據(jù)包的延遲和丟失。無線 網(wǎng)絡(luò)可以有效地增大了覆蓋范圍,增強了性能,覆蓋范圍的擴大對于解決目前運營商基站 之間覆蓋盲區(qū)或者集中熱點接入能力不足等問題是大有益處的。無線網(wǎng)絡(luò)可以適用于多種 接入技術(shù),不同應(yīng)用技術(shù)對應(yīng)于不同的應(yīng)用場景,小到家庭寬帶網(wǎng)絡(luò)和小區(qū)網(wǎng)絡(luò),大到企業(yè) 網(wǎng)和城域網(wǎng),無線網(wǎng)絡(luò)技術(shù)均十分適用。
[0003] 麻省理工大學(xué)的研究者提出了機會路由策略,它是一種用于無線多跳網(wǎng)絡(luò)的路由 協(xié)議,充分利用無線網(wǎng)絡(luò)的廣播特性能進行數(shù)據(jù)傳輸。機會路由協(xié)議的基本思想:源節(jié)點向 目的節(jié)點發(fā)送一個數(shù)據(jù)包,首先發(fā)送給一個候選節(jié)點組A,根據(jù)某一度量,再從該節(jié)點組A 中選出最優(yōu)節(jié)點a,a把數(shù)據(jù)包廣播給另外一組候選節(jié)點B,而A組中除a以外的其它節(jié)點 并不廣播此數(shù)據(jù)包.然后再從B組中選取最優(yōu)節(jié)點b,b把該數(shù)據(jù)包廣播給下一組節(jié)點C, 如此重復(fù)直到目的節(jié)點接收到數(shù)據(jù)包。機會路由協(xié)議從源節(jié)點到目的節(jié)點發(fā)送的數(shù)據(jù)包并 不是按一條固定的最佳路徑傳輸,也就是說每次轉(zhuǎn)發(fā)的數(shù)據(jù)包并不是單播給某一個節(jié)點, 而是充分利用無線網(wǎng)絡(luò)的廣播傳輸特性,每次數(shù)據(jù)包都轉(zhuǎn)發(fā)給一組節(jié)點,這些節(jié)點根據(jù)它 們到目的節(jié)點的度量(Metric)來確定它們優(yōu)先級,選擇優(yōu)先級最高的那個節(jié)點再次轉(zhuǎn)發(fā) 數(shù)據(jù)包給另外一組節(jié)點,如此重復(fù)直到目的節(jié)點。
[0004] 機會路由算法中每個節(jié)點需要掌握全網(wǎng)拓撲信息,網(wǎng)絡(luò)路由維護開銷大,控制幀 比例大。數(shù)據(jù)轉(zhuǎn)發(fā)過程中發(fā)送數(shù)據(jù)的中間節(jié)點根據(jù)過去掌握的鄰居的信息情況主動選擇最 優(yōu)下一跳中間節(jié)點,即選擇鄰居中到根節(jié)點路徑參數(shù)metric小的中間節(jié)點轉(zhuǎn)發(fā),在鄰居收 到數(shù)據(jù)前就確定了轉(zhuǎn)發(fā)節(jié)點。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明所要解決的技術(shù)問題是,提供一種根據(jù)自身信息競爭數(shù)據(jù)轉(zhuǎn)發(fā)權(quán)的下一跳 中間節(jié)點選擇方法,以及基于該節(jié)點選擇方法的一種開銷小的路由方法。
[0006] 本發(fā)明為解決上述技術(shù)問題所采用的技術(shù)方案是,基于競爭轉(zhuǎn)發(fā)選擇下一跳中間 節(jié)點的方法,包括以下步驟:
[0007] 1)當(dāng)前中間節(jié)點接收到需轉(zhuǎn)發(fā)的幀,將接收到幀的單跳廣播至所有鄰居節(jié)點;
[0008] 2)各鄰居節(jié)點接收到幀后查看幀內(nèi)跳數(shù)數(shù)值,如果鄰居節(jié)點自身到目的地址的跳 數(shù)小于等于該跳數(shù)數(shù)值,則該鄰居節(jié)點成為轉(zhuǎn)發(fā)競爭節(jié)點,轉(zhuǎn)發(fā)競爭節(jié)點開始計時;
[0009] 3)轉(zhuǎn)發(fā)競爭節(jié)點計時到達退避時間T后,判斷退避時間內(nèi)是否接收到CACK競爭轉(zhuǎn) 發(fā)幀,如是,進入步驟4),如否,進入步驟5);
[0010] 4)轉(zhuǎn)發(fā)競爭節(jié)點放棄本次的轉(zhuǎn)發(fā)競爭,查看CACK競爭轉(zhuǎn)發(fā)幀中包含的CREQ中的 跳數(shù)數(shù)值,當(dāng)自身到目的地址的跳數(shù)大于CREQ中的跳數(shù)數(shù)值,根據(jù)轉(zhuǎn)發(fā)競爭節(jié)點自身到目 的地址的跳數(shù)與CREQ中的跳數(shù)數(shù)值的差值延長退避時間T,返回步驟2);
[0011] 5)轉(zhuǎn)發(fā)競爭節(jié)點向所述當(dāng)前中間節(jié)點發(fā)送CREQ,設(shè)置自身到目的地址的跳數(shù)為 CREQ中的跳數(shù)數(shù)值;
[0012] 6)當(dāng)前中間節(jié)點接收到CREQ后,選擇發(fā)送該CREQ的轉(zhuǎn)發(fā)競爭節(jié)點為下一跳中間 節(jié)點,單跳廣播CACK競爭轉(zhuǎn)發(fā)幀至所有鄰居節(jié)點,CACK中包含有CREQ中的跳數(shù)數(shù)值;
[0013] 7)下一跳中間節(jié)點接收到CACK后確認自身為轉(zhuǎn)發(fā)數(shù)據(jù)的當(dāng)前中間節(jié)點,當(dāng)前中 間節(jié)點將接收到幀的單跳廣播至所有鄰居節(jié)點,返回步驟2)。
[0014] 本發(fā)明體現(xiàn)了自學(xué)習(xí)的思想,通過設(shè)置退避時間以及退避時間的延長規(guī)則,到根 節(jié)點跳數(shù)大的節(jié)點在競爭轉(zhuǎn)發(fā)數(shù)據(jù)時退避時間將變得更長,多個轉(zhuǎn)發(fā)競爭節(jié)點中最開始時 到目的節(jié)點跳數(shù)最小的節(jié)點沒有優(yōu)勢,但隨著轉(zhuǎn)發(fā)的進行該節(jié)點有一次競爭到轉(zhuǎn)發(fā)權(quán)則以 后將以更大概率獲得轉(zhuǎn)發(fā)權(quán),讓更優(yōu)的節(jié)點擁有更高的優(yōu)先級。與現(xiàn)有方式轉(zhuǎn)發(fā)數(shù)據(jù)的思 想不同,本發(fā)明是在鄰居收到數(shù)據(jù)后再由鄰居自身情況去競爭轉(zhuǎn)發(fā)權(quán),轉(zhuǎn)發(fā)數(shù)據(jù)的中間節(jié) 點只是被動確認而已,這種方法實時性更強,更容易選擇最優(yōu)的轉(zhuǎn)發(fā)節(jié)點,避免相同數(shù)據(jù)被 中間節(jié)點重復(fù)轉(zhuǎn)發(fā)的問題,配合跳數(shù)作為路由度量比使用metric參數(shù)更利于之后的路由 方法發(fā)揮優(yōu)勢。另外,通過鄰居節(jié)點發(fā)送CREQ來選擇下一跳節(jié)點能避開失效或負載過重的 鄰居節(jié)點,相比根據(jù)本地路由表主動選擇下一跳節(jié)點的現(xiàn)有方法,本發(fā)明能在網(wǎng)絡(luò)拓撲發(fā) 生變化時自然完成自愈。
[0015] 具體的,延長退避時間T的方法是:
[0017] 其中,t轉(zhuǎn)發(fā)競爭節(jié)點設(shè)置的退避時間的初始值范圍最大值,d為轉(zhuǎn)發(fā)競爭節(jié)點自 身到根節(jié)點的跳數(shù),c為CREQ中的跳數(shù)數(shù)值,m為調(diào)節(jié)系數(shù),L為CREQ大小,V為物理層傳 輸速率,0為大于1的常系數(shù)。
[0018] 各轉(zhuǎn)發(fā)競爭節(jié)點設(shè)置的退避時間T的初始值可以為一固定值,更優(yōu)選的,為了盡 量使競爭等待小的同時也使因隱藏終端而發(fā)生CREQ碰撞的概率降到足夠低,各轉(zhuǎn)發(fā)競爭
[0019] 另外,本發(fā)明提供了一種基于上述競爭轉(zhuǎn)發(fā)的適用于無線網(wǎng)絡(luò)的路由方法,包括 以下步驟:
[0020] 1)根節(jié)點路由建立:
[0021] 為全網(wǎng)設(shè)置一個固定的根節(jié)點;
[0022] 根節(jié)點周期向全網(wǎng)周期性廣播PP通告幀,全網(wǎng)各節(jié)點建立到根節(jié)點的單向路由;
[0023] 在每一個廣播周期,網(wǎng)絡(luò)中各節(jié)點收到PP后將PREP路徑回應(yīng)幀以單跳廣播方式 傳輸至根節(jié)點,根節(jié)點根據(jù)接收到的PREP更新本地路由表;單跳廣播過程中通過如權(quán)利要 求1所述競爭轉(zhuǎn)發(fā)的方式選擇下一跳中間節(jié)點;這里,根節(jié)點地址作為單跳廣播的目的地 址;經(jīng)多個廣播周期之后,根節(jié)點建立到達全網(wǎng)各節(jié)點的多條路由;根節(jié)點沒有一次建立 到普通節(jié)點的多條鏈路,而是在多個廣播周期中積累掌握多條鏈路;
[0024] 2)數(shù)據(jù)發(fā)送:
[0025] 當(dāng)源節(jié)點未建立到目的節(jié)點的單向路由時,源節(jié)點先將數(shù)據(jù)幀以單跳廣播方式傳 輸至根節(jié)點;單跳廣播過程中通過競爭轉(zhuǎn)發(fā)的方式選擇下一跳中間節(jié)點;這里,根節(jié)點地 址作為單跳廣播的目的地址;
[0026] 根節(jié)點接收到來自源節(jié)點的數(shù)據(jù)幀后,查找本地路由表,將數(shù)據(jù)幀單播至目的節(jié) 占.
[0027] 目的節(jié)點接收到來自源節(jié)點的數(shù)據(jù)幀后,判斷數(shù)據(jù)幀是否經(jīng)根節(jié)點轉(zhuǎn)發(fā),如是,目 的節(jié)點向全網(wǎng)廣播PREQ廣播路徑請求幀至源節(jié)點,源節(jié)點接收到PREQ后,以單跳廣播方式 將之后的數(shù)據(jù)幀傳輸至目的節(jié)點,這里,目的節(jié)點地址作為單跳廣播的目的地址,如否,則 源節(jié)點直接以單跳廣播方式將數(shù)據(jù)幀傳輸至目的節(jié)點;單跳廣播過程中通過競爭轉(zhuǎn)發(fā)的方 式選擇下一跳中間節(jié)點。
[0028] 本發(fā)明的路由方法解決現(xiàn)有機會路由算法中普遍采用的每個節(jié)點需要掌握全網(wǎng) 拓撲信息而造成的路由維護開銷大的問題,本方法只維護根節(jié)點與普通節(jié)點的雙向路由, 由于采用競爭轉(zhuǎn)發(fā)機制,根節(jié)點與普通節(jié)點間存在多條鏈路,穩(wěn)定性增強。在數(shù)據(jù)流產(chǎn)生 時利用數(shù)據(jù)發(fā)送機制中目的節(jié)點單向廣播的方法使全網(wǎng)了解到目的節(jié)點路由信息,避免了 現(xiàn)有方式中源節(jié)點廣播后目的節(jié)點再廣播的兩次廣播方式,也無需在平時維護全網(wǎng)路由信 息,減小了路由開銷。
[0029] 本發(fā)明的有益效果是,能更優(yōu)選擇下一跳節(jié)點,傳輸性能更好,路由開銷更小。
【附圖說明】
[0030] 圖1為實施例中根節(jié)點的廣播流程;
[0031] 圖