專利名稱:一種基于dtn深空傳感器網(wǎng)絡(luò)多徑路由方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在深空傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)之間備份多路徑中下一條節(jié)點(diǎn)的選擇問(wèn)題,具體地講,涉及一種基于DTN深空傳感器網(wǎng)絡(luò)多徑路由方法。
背景技術(shù):
對(duì)未知的求索驅(qū)使人類一步步“邁向”太空,人類探索宇宙演化過(guò)程、揭示生命起源、尋找生命存在的腳步一刻也沒(méi)有停止。無(wú)線傳感器網(wǎng)絡(luò)被認(rèn)為是21世紀(jì)重要的技術(shù)之一,其在環(huán)境探測(cè)中擔(dān)任著重要的角色,在人類探索深空的過(guò)程中也越來(lái)越發(fā)揮重要的作用。然而,處于深空的傳感器網(wǎng)絡(luò)由于環(huán)境因素影響,與傳統(tǒng)的傳感器網(wǎng)絡(luò)存在很大不同,這使得深空傳感器網(wǎng)絡(luò)成為一種受限網(wǎng)絡(luò)。如何有效改善這種情況呢? 2003年,Kevin Fall提出了一種全新的網(wǎng)絡(luò)體系結(jié)構(gòu)——DTN0它是一種運(yùn)行在區(qū)域網(wǎng)絡(luò)之上的網(wǎng)絡(luò),能夠?qū)崿F(xiàn)區(qū)域網(wǎng)絡(luò)互聯(lián),并且它的網(wǎng)絡(luò)體系結(jié)構(gòu)包含了許多能夠解決受限網(wǎng)絡(luò)問(wèn)題的特性。對(duì)于網(wǎng)絡(luò)而言,路由研究是一個(gè)重要的研究?jī)?nèi)容。深空傳感器網(wǎng)絡(luò)運(yùn)行在惡劣甚至是未知的遠(yuǎn)程環(huán)境中,由于太陽(yáng)電磁輻射干擾、節(jié)點(diǎn)移動(dòng)、節(jié)點(diǎn)自身缺乏資源等,建立的路由可能很容易斷開,因此設(shè)計(jì)有效的策略延長(zhǎng)網(wǎng)絡(luò)的生存壽命是深空傳感器網(wǎng)絡(luò)的核心問(wèn)題。這使得為其設(shè)計(jì)路由協(xié)議成為一個(gè)富有挑戰(zhàn)的問(wèn)題。實(shí)際上,為了緩解這些問(wèn)題,可以采用多徑路由的方式。多徑路由為主路徑尋找替代路徑,以替代方式增加路由過(guò)程的效率。它利用資源冗余和多樣性支持錯(cuò)誤容忍,負(fù)載平衡,端到端傳遞時(shí)延最小化和降低能量消耗等需求。同時(shí),有文獻(xiàn)已經(jīng)證明選擇多條路徑時(shí),維護(hù)比最短路徑長(zhǎng)很多的替代路徑和多于兩條或三條的替代路徑都是`無(wú)益處的。此外,多徑路由應(yīng)該是按需的(on-demand)和備份多路徑方式,這樣可以有效減少開銷和對(duì)存儲(chǔ)資源的利用。由此,本文對(duì)深空傳感器網(wǎng)絡(luò)提出一種基于DTN的多徑路由,使能有效緩解數(shù)據(jù)分組在傳輸中遇到的上述問(wèn)題。同時(shí),結(jié)合對(duì)鏈路連接概率的研究,加入對(duì)節(jié)點(diǎn)剩余能量的考慮,建立效用函數(shù)。在選擇多條路徑時(shí),有文獻(xiàn)已經(jīng)證明維護(hù)比最短路徑長(zhǎng)很多的替代路徑和多于兩條或三條的替代路徑都是無(wú)益處的。因此,在選擇備用路徑時(shí),利用得到的效用函數(shù)選擇最佳路徑,能夠有效減少開銷和利用資源。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種基于DTN深空傳感器網(wǎng)絡(luò)多徑路由方法,更好的均衡網(wǎng)絡(luò)負(fù)載,充分利用網(wǎng)絡(luò)資源。本發(fā)明采用如下技術(shù)手段實(shí)現(xiàn)發(fā)明目的一種基于DTN深空傳感器網(wǎng)絡(luò)多徑路由方法,其特征在于,包括如下步驟(I)路由發(fā)現(xiàn),包括請(qǐng)求query過(guò)程和回復(fù)r印Iy過(guò)程,找出數(shù)據(jù)分組發(fā)送的主路徑和備用路徑;
(2)路由維護(hù),當(dāng)主路徑正常時(shí),數(shù)據(jù)分組在主路徑上正常傳輸,當(dāng)主路徑斷開時(shí),主路徑斷開處的傳感器節(jié)點(diǎn)a執(zhí)行一跳數(shù)據(jù)廣播到它的鄰居節(jié)點(diǎn),節(jié)點(diǎn)a在數(shù)據(jù)分組頭部指出鏈路斷開,鄰居節(jié)點(diǎn)接收到該數(shù)據(jù)分組時(shí),鄰居節(jié)點(diǎn)在其備用路由表中查找手否有到目的節(jié)點(diǎn)的下一跳節(jié)點(diǎn)的表項(xiàng),若存在,鄰居節(jié)點(diǎn)緩存該數(shù)據(jù)分組,并向節(jié)點(diǎn)a回復(fù)收到數(shù)據(jù)分組的確認(rèn)分組REQ,向節(jié)點(diǎn)a確認(rèn)是否可以傳輸該數(shù)據(jù)分組,判斷節(jié)點(diǎn)a收到的確認(rèn)分組REQ的數(shù)量,如果節(jié)點(diǎn)a收到一個(gè)確認(rèn)分組REQ,節(jié)點(diǎn)a向此相鄰節(jié)點(diǎn)發(fā)送回復(fù)分組REP,允許數(shù)據(jù)分組經(jīng)過(guò)此相鄰節(jié)點(diǎn)傳遞,如果節(jié)點(diǎn)a收到多個(gè)確認(rèn)分組REQ,轉(zhuǎn)步驟(3);(3)計(jì)算節(jié)點(diǎn)a與每個(gè)相鄰節(jié)點(diǎn)之間的效用值,選擇效用值最大的相鄰節(jié)點(diǎn),節(jié)點(diǎn)a向效用值最大的相鄰節(jié)點(diǎn)發(fā)送回復(fù)分組REP,允許數(shù)據(jù)分組經(jīng)過(guò)此相鄰節(jié)點(diǎn)傳遞,同時(shí)節(jié)點(diǎn)a向其它相鄰節(jié)點(diǎn)發(fā)送回復(fù)分組ERR,收到回復(fù)分組ERR的相鄰節(jié)點(diǎn)將緩存中的數(shù)據(jù)刪除,同時(shí)根據(jù)上述計(jì)算結(jié)果更新自身的備用路由表;(4)數(shù)據(jù)分組在備份路徑上傳遞,節(jié)點(diǎn)a發(fā)送RERR分組到源節(jié)點(diǎn),開始路由重新發(fā)現(xiàn)過(guò)程,更新網(wǎng)絡(luò)情況和拓?fù)?,使路由保持最新和最佳。作為?duì)本技術(shù)方案的進(jìn)一步限定,所述步驟(I)包括如下步驟(1.1)請(qǐng)求query過(guò)程當(dāng)一個(gè)源節(jié)點(diǎn)需要發(fā)起一個(gè)到目的節(jié)點(diǎn)的數(shù)據(jù)會(huì)話,它先查找自己的路由表,如果自己的路由表中存在到目的節(jié)點(diǎn)的理由信息,直接發(fā)送RREQ分組到目的節(jié)點(diǎn),當(dāng)發(fā)現(xiàn)路由表中沒(méi)有任何到目的節(jié)點(diǎn)的路由信息時(shí),轉(zhuǎn)步驟(1. 2);(1. 2)源節(jié)點(diǎn)通過(guò)洪泛RREQ請(qǐng)求分組的方式搜索路由,每個(gè)RREQ分組擁有一個(gè)唯一的標(biāo)識(shí)符,這樣節(jié)點(diǎn)可以發(fā)現(xiàn)和丟棄復(fù)制分組,以避免回路的出現(xiàn),當(dāng)中間節(jié)點(diǎn)接收到一個(gè)非復(fù)制RREQ分組時(shí),它在其路由表中記錄先前的跳和源節(jié)點(diǎn)信息,然后,中間節(jié)點(diǎn)廣播分組,或者如果它的路由表中存在到目的節(jié)點(diǎn)的路由就發(fā)送RREP分組給源節(jié)點(diǎn);(1. 3)當(dāng)目的節(jié)點(diǎn)接收到RREQ分組時(shí),它按照已經(jīng)選擇的路由向源節(jié)點(diǎn)發(fā)送RREP分組;(1. 4)回復(fù)re ply過(guò)程當(dāng)不是主路徑上的節(jié)點(diǎn)雜亂地監(jiān)聽到由其相鄰節(jié)點(diǎn)傳輸?shù)姆轻槍?duì)自身的RREP分組時(shí),它在其備用路由表中記錄下這個(gè)相鄰節(jié)點(diǎn),使其成為該節(jié)點(diǎn)到目的節(jié)點(diǎn)的下一跳節(jié)點(diǎn),如果監(jiān)聽節(jié)點(diǎn)在主路徑的多個(gè)中間節(jié)點(diǎn)的射頻范圍內(nèi),該監(jiān)聽節(jié)點(diǎn)可能接收到來(lái)自相同路由的許多RREP分組,在這種情況下,監(jiān)聽節(jié)點(diǎn)選擇最佳的路由插入到它的備用路由表中,當(dāng)RREP分組到達(dá)路由的源節(jié)點(diǎn)時(shí),源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的主路徑被建立,同時(shí),在備用路由表中擁有到目的節(jié)點(diǎn)表項(xiàng)的節(jié)點(diǎn)成為網(wǎng)狀網(wǎng)的一部分,主路徑和備份路徑一起構(gòu)成了網(wǎng)狀結(jié)構(gòu),呈現(xiàn)魚骨狀。作為對(duì)本技術(shù)方案的進(jìn)一步限定,所述步驟(3)的計(jì)算規(guī)則如下(3.1)相鄰節(jié)點(diǎn)能量更新,根據(jù)傳感器節(jié)點(diǎn)自身特性,已知傳感器節(jié)點(diǎn)的剩余能量值,利用本次剩余能量與前一次的剩余能量,對(duì)下一次能量的剩余情況進(jìn)行預(yù)測(cè),估計(jì)相鄰節(jié)點(diǎn)目前的剩余能量是否還滿足一次數(shù)據(jù)傳輸所需能量
權(quán)利要求
1.一種基于DTN深空傳感器網(wǎng)絡(luò)多徑路由方法,其特征在于,包括如下步驟 (1)路由發(fā)現(xiàn),包括請(qǐng)求query過(guò)程和回復(fù)reply過(guò)程,找出數(shù)據(jù)分組發(fā)送的主路徑和備用路徑; (2)路由維護(hù),當(dāng)主路徑正常時(shí),數(shù)據(jù)分組在主路徑上正常傳輸,當(dāng)主路徑斷開時(shí),主路徑斷開處的傳感器節(jié)點(diǎn)a執(zhí)行一跳數(shù)據(jù)廣播到它的鄰居節(jié)點(diǎn),節(jié)點(diǎn)a在數(shù)據(jù)分組頭部指出鏈路斷開,鄰居節(jié)點(diǎn)接收到該數(shù)據(jù)分組時(shí),鄰居節(jié)點(diǎn)在其備用路由表中查找手否有到目的節(jié)點(diǎn)的下一跳節(jié)點(diǎn)的表項(xiàng),若存在,鄰居節(jié)點(diǎn)緩存該數(shù)據(jù)分組,并向節(jié)點(diǎn)a回復(fù)收到數(shù)據(jù)分組的確認(rèn)分組REQ,向節(jié)點(diǎn)a確認(rèn)是否可以傳輸該數(shù)據(jù)分組,判斷節(jié)點(diǎn)a收到的確認(rèn)分組REQ的數(shù)量,如果節(jié)點(diǎn)a收到一個(gè)確認(rèn)分組REQ,節(jié)點(diǎn)a向此相鄰節(jié)點(diǎn)發(fā)送回復(fù)分組REP,允許數(shù)據(jù)分組經(jīng)過(guò)此相鄰節(jié)點(diǎn)傳遞,如果節(jié)點(diǎn)a收到多個(gè)確認(rèn)分組REQ,轉(zhuǎn)步驟(3); (3)計(jì)算節(jié)點(diǎn)a與每個(gè)相鄰節(jié)點(diǎn)之間的效用值,選擇效用值最大的相鄰節(jié)點(diǎn),節(jié)點(diǎn)a向效用值最大的相鄰節(jié)點(diǎn)發(fā)送回復(fù)分組REP,允許數(shù)據(jù)分組經(jīng)過(guò)此相鄰節(jié)點(diǎn)傳遞,同時(shí)節(jié)點(diǎn)a向其它相鄰節(jié)點(diǎn)發(fā)送回復(fù)分組ERR,收到回復(fù)分組ERR的相鄰節(jié)點(diǎn)將緩存中的數(shù)據(jù)刪除,同時(shí)根據(jù)上述計(jì)算結(jié)果更新自身的備用路由表; (4)數(shù)據(jù)分組在備份路徑上傳遞,節(jié)點(diǎn)a發(fā)送RERR分組到源節(jié)點(diǎn),開始路由重新發(fā)現(xiàn)過(guò)程,更新網(wǎng)絡(luò)情況和拓?fù)?,使路由保持最新和最佳?br>
2.根據(jù)權(quán)利要求1所述基于DTN深空傳感器網(wǎng)絡(luò)多徑路由方法,其特征在于,所述步驟(I)包括如下步驟 (1.1)請(qǐng)求query過(guò)程當(dāng)一個(gè)源節(jié)點(diǎn)需要發(fā)起一個(gè)到目的節(jié)點(diǎn)的數(shù)據(jù)會(huì)話,它先查找自己的路由表,如果自己的路由表中存在到目的節(jié)點(diǎn)的理由信息,直接發(fā)送RREQ分組到目的節(jié)點(diǎn),當(dāng)發(fā)現(xiàn)路由表中沒(méi)有任何到目的節(jié)點(diǎn)的路由信息時(shí),轉(zhuǎn)步驟(1. 2); (1. 2)源節(jié)點(diǎn)通過(guò)洪泛RREQ請(qǐng)求分組的方式搜索路由,每個(gè)RREQ分組擁有一個(gè)唯一的標(biāo)識(shí)符,這樣節(jié)點(diǎn)可以發(fā)現(xiàn)和丟棄復(fù)制分組,以避免回路的出現(xiàn),當(dāng)中間節(jié)點(diǎn)接收到一個(gè)非復(fù)制RREQ分組時(shí),它在其路由表中記錄先前的跳和源節(jié)點(diǎn)信息,然后,中間節(jié)點(diǎn)廣播分組,或者如果它的路由表中存在到目的節(jié)點(diǎn)的路由就發(fā)送RREP分組給源節(jié)點(diǎn); (1. 3 )當(dāng)目的節(jié)點(diǎn)接收到RREQ分組時(shí),它按照已經(jīng)選擇的路由向源節(jié)點(diǎn)發(fā)送RREP分組; (1.4)回復(fù)reply過(guò)程當(dāng)不是主路徑上的節(jié)點(diǎn)雜亂地監(jiān)聽到由其相鄰節(jié)點(diǎn)傳輸?shù)姆轻槍?duì)自身的RREP分組時(shí),它在其備用路由表中記錄下這個(gè)相鄰節(jié)點(diǎn),使其成為該節(jié)點(diǎn)到目的節(jié)點(diǎn)的下一跳節(jié)點(diǎn),如果監(jiān)聽節(jié)點(diǎn)在主路徑的多個(gè)中間節(jié)點(diǎn)的射頻范圍內(nèi),該監(jiān)聽節(jié)點(diǎn)可能接收到來(lái)自相同路由的許多RREP分組,在這種情況下,監(jiān)聽節(jié)點(diǎn)選擇最佳的路由插入到它的備用路由表中,當(dāng)RREP分組到達(dá)路由的源節(jié)點(diǎn)時(shí),源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的主路徑被建立,同時(shí),在備用路由表中擁有到目的節(jié)點(diǎn)表項(xiàng)的節(jié)點(diǎn)成為網(wǎng)狀網(wǎng)的一部分,主路徑和備份路徑一起構(gòu)成了網(wǎng)狀結(jié)構(gòu),呈現(xiàn)魚骨狀。
3.根據(jù)權(quán)利要求1所述基于DTN深空傳感器網(wǎng)絡(luò)多徑路由方法,其特征在于,所述步驟(3)的計(jì)算規(guī)則如下 (3.1)相鄰節(jié)點(diǎn)能量更新,根據(jù)傳感器節(jié)點(diǎn)自身特性,已知傳感器節(jié)點(diǎn)的剩余能量值,利用本次剩余能量與前一次的剩余能量,對(duì)下一次能量的剩余情況進(jìn)行預(yù)測(cè),估計(jì)相鄰節(jié)點(diǎn)目前的剩余能量是否還滿足一次數(shù)據(jù)傳輸所需能量
全文摘要
本發(fā)明公開了一種基于DTN深空傳感器網(wǎng)絡(luò)多徑路由方法,其特征在于,包括如下步驟(1)路由發(fā)現(xiàn),包括請(qǐng)求query過(guò)程和回復(fù)reply過(guò)程,找出數(shù)據(jù)分組發(fā)送的主路徑和備用路徑;(2)路由維護(hù);(3)計(jì)算節(jié)點(diǎn)a與每個(gè)相鄰節(jié)點(diǎn)之間的效用值;(4)數(shù)據(jù)分組在備份路徑上傳遞,節(jié)點(diǎn)a發(fā)送RERR分組到源節(jié)點(diǎn),開始路由重新發(fā)現(xiàn)過(guò)程,更新網(wǎng)絡(luò)情況和拓?fù)洌孤酚杀3肿钚潞妥罴?。本發(fā)明給出了基于最大效用值的多徑路由方法,在鏈路連接概率一個(gè)影響因子決定的基礎(chǔ)上,增加了一個(gè)剩余能量因子,如果沒(méi)有考慮能量問(wèn)題,即使節(jié)點(diǎn)間連接概率為1,剩余能量很低時(shí),也無(wú)法完成數(shù)據(jù)分組的正確轉(zhuǎn)發(fā)。
文檔編號(hào)H04L12/707GK103036783SQ20121056045
公開日2013年4月10日 申請(qǐng)日期2012年12月20日 優(yōu)先權(quán)日2011年12月23日
發(fā)明者傅學(xué)生, 周賢偉, 李菲 申請(qǐng)人:山東黃金集團(tuán)有限公司