一種基于不對稱鏈路的水聲傳感器網(wǎng)絡(luò)路由協(xié)議構(gòu)建方法
【專利摘要】本發(fā)明涉及一種基于不對稱鏈路的水聲傳感器網(wǎng)絡(luò)路由協(xié)議構(gòu)建方法,其步驟包括:首先,分析網(wǎng)絡(luò)中節(jié)點(diǎn)之間的通信鏈路是對稱鏈路還是不對稱鏈路,節(jié)點(diǎn)之間的通信鏈路為不對稱鏈路時(shí)還需要根據(jù)節(jié)點(diǎn)周圍鄰居節(jié)點(diǎn)的信息構(gòu)建反轉(zhuǎn)路徑,增加網(wǎng)絡(luò)的連通度;其次,根據(jù)節(jié)點(diǎn)的鄰居列表和已經(jīng)構(gòu)建完成的反轉(zhuǎn)路徑,構(gòu)建合適的傳輸路徑,下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)優(yōu)先選擇所有對稱鏈路中離Sink節(jié)點(diǎn)最近的鄰居節(jié)點(diǎn),若沒有對稱鏈路節(jié)點(diǎn),則選擇所有不對稱鏈路中離Sink節(jié)點(diǎn)最近的鄰居節(jié)點(diǎn),此時(shí)由于反轉(zhuǎn)路徑的使用,時(shí)延增加,等待時(shí)間需要增加;最后對構(gòu)建的傳輸路徑的優(yōu)化和更新,主要包括無效節(jié)點(diǎn)和環(huán)路的去除,以及周期更新傳輸路徑。
【專利說明】
一種基于不對稱鏈路的水聲傳感器網(wǎng)絡(luò)路由協(xié)議構(gòu)建方法
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及一種基于不對稱鏈路的水聲傳感器網(wǎng)絡(luò)路由協(xié)議構(gòu)建方法,屬于水聲傳感器網(wǎng)絡(luò)通信支持技術(shù)領(lǐng)域?!颈尘凹夹g(shù)】
[0002]在海洋環(huán)境的數(shù)據(jù)傳輸中,要求降低網(wǎng)絡(luò)能量損耗和數(shù)據(jù)等待時(shí)延,從而可以提高數(shù)據(jù)傳輸?shù)目煽啃裕瑫r(shí),能夠延長網(wǎng)絡(luò)壽命。另外,由于水下環(huán)境惡劣和多變,節(jié)點(diǎn)與節(jié)點(diǎn)之間的通信鏈路常發(fā)出變化和失效,路由機(jī)制需要具備一定的魯棒性。因此,針對海洋環(huán)境的路由算法設(shè)計(jì)研究引起了人們的重視。近年來,人們提出了多種基于不同應(yīng)用目標(biāo)的水聲傳感器網(wǎng)絡(luò)路由協(xié)議,并根據(jù)不同的應(yīng)用對路由協(xié)議進(jìn)行分類研究和比較,但是,大部分協(xié)議很少考慮海洋環(huán)境中節(jié)點(diǎn)之間不對稱鏈路,而提出的路由協(xié)議不符合實(shí)際海洋環(huán)境。[0003 ]在當(dāng)前研究的水聲傳感器網(wǎng)絡(luò)中保證可靠路由主要有兩種:基于對稱鏈路的路由協(xié)議、基于不對稱鏈路的路由協(xié)議?;趯ΨQ鏈路的路由協(xié)議在構(gòu)建路由協(xié)議時(shí)假設(shè)節(jié)點(diǎn)之間的通信鏈路完全對稱,并在此基礎(chǔ)上構(gòu)建路由?;诓粚ΨQ鏈路的路由協(xié)議在構(gòu)建路由協(xié)議時(shí)考慮節(jié)點(diǎn)之間的通信鏈路存在不對稱性,構(gòu)建路由協(xié)議需要根據(jù)實(shí)際環(huán)境,并針對節(jié)點(diǎn)之間的不對稱鏈路采取一定的方法增加網(wǎng)絡(luò)的聯(lián)通度。
[0004]為了優(yōu)化水聲傳感器網(wǎng)絡(luò)數(shù)據(jù)傳輸能量,國內(nèi)外研究者提出了多種路由機(jī)制,相關(guān)文獻(xiàn)如下:
[0005]1、2008年,Hai等人在《Depth-Based Routing protocol》提出基于深度的路由協(xié)議,該協(xié)議中下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)選擇依據(jù)是節(jié)點(diǎn)與一跳鄰居節(jié)點(diǎn)的深度差,源節(jié)點(diǎn)將數(shù)據(jù)包傳輸給鄰居節(jié)點(diǎn),鄰居節(jié)點(diǎn)與節(jié)點(diǎn)的深度差越大,鄰居節(jié)點(diǎn)等待越短的時(shí)間就將數(shù)據(jù)包轉(zhuǎn)發(fā)出去,即該鄰居節(jié)點(diǎn)能越早成為下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn),通常,節(jié)點(diǎn)都是選擇深度比自己淺的鄰居節(jié)為下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)。
[0006]2、2010年,Hu等人在《energy-efficient and lifetime-aware routing protocol》提出一種將數(shù)據(jù)包傳輸過程與數(shù)學(xué)模型相結(jié)合的路由協(xié)議。該協(xié)議中各個(gè)節(jié)點(diǎn)之間信息傳輸過程用數(shù)學(xué)中的鏈路狀態(tài)轉(zhuǎn)換圖表示,其中狀態(tài)指當(dāng)前節(jié)點(diǎn)存儲的數(shù)據(jù)包狀態(tài),轉(zhuǎn)換條件指數(shù)據(jù)包轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)概率指不同節(jié)點(diǎn)轉(zhuǎn)發(fā)信息的可靠性,并應(yīng)用Q-learning技術(shù)計(jì)算出狀態(tài)轉(zhuǎn)換Q的最優(yōu)值。具體實(shí)現(xiàn)過程:節(jié)點(diǎn)需要傳送數(shù)據(jù)包時(shí),它根據(jù)路由列表找出鄰居節(jié)點(diǎn)中Q值最大的節(jié)點(diǎn)并將該節(jié)點(diǎn)作為下一跳的轉(zhuǎn)發(fā)節(jié)點(diǎn),其他非轉(zhuǎn)發(fā)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)接收到需要傳輸?shù)臄?shù)據(jù)包就直接丟棄。但是,由于水下環(huán)境不穩(wěn)定,下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)選擇依據(jù)Q值也不斷變化且很不穩(wěn)定,同時(shí),由于需要全網(wǎng)計(jì)算節(jié)點(diǎn)的Q值,針對大規(guī)模網(wǎng)絡(luò)這樣的統(tǒng)計(jì)計(jì)算會損耗大量能量。
[0007]3、2012年,Ayaz等人在《Hop-by-Hop Dynamic Addressing Based routing protoco 1》提出網(wǎng)絡(luò)中部署多個(gè)Sink節(jié)點(diǎn)的網(wǎng)絡(luò)均衡能量損耗的路由協(xié)議。該協(xié)議應(yīng)用節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的跳數(shù)值作為動(dòng)態(tài)位置信息來應(yīng)對水下傳感器節(jié)點(diǎn)的位置信息不斷變化,另夕卜,使用海底描定courier節(jié)點(diǎn)收集海底周圍的感知信息,并且最后能將數(shù)據(jù)包直接傳送給水面Sink節(jié)點(diǎn)。傳感器節(jié)點(diǎn)先收集自身到Sink節(jié)點(diǎn)的跳數(shù)值,然后在構(gòu)建路由時(shí)根據(jù)自身離某個(gè)sink節(jié)點(diǎn)的跳數(shù)值最小的節(jié)點(diǎn)作為下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn),如此構(gòu)建一條路徑傳送數(shù)據(jù)包給Sink節(jié)點(diǎn)。當(dāng)傳感器節(jié)點(diǎn)靠近c(diǎn)ourier節(jié)點(diǎn)(跳數(shù)值跳不大于3)時(shí),節(jié)點(diǎn)直接將數(shù)據(jù)包傳送給courier節(jié)點(diǎn),并由其轉(zhuǎn)發(fā)給Sink節(jié)點(diǎn)。
[0008]4、2013年,Chen等人在《Mobicast Routing Protocol》提出應(yīng)對海洋速度變化和網(wǎng)絡(luò)產(chǎn)生漏洞的路由協(xié)議,另外,該協(xié)議解決了受洋流影響節(jié)點(diǎn)不斷移動(dòng)后,AUV傳輸通知信息的時(shí)延。網(wǎng)絡(luò)中使用AUV收集感知信息,AUV沿固定路線循環(huán),并且周期廣播信息通知周圍節(jié)點(diǎn)傳送信息。當(dāng)節(jié)點(diǎn)受洋流影響不斷移動(dòng)時(shí),AUV收集區(qū)域相應(yīng)的調(diào)整,節(jié)點(diǎn)向遠(yuǎn)方向流動(dòng)則收集區(qū)域擴(kuò)大,反之,則縮小。為了減少AUV收集信息時(shí)等待時(shí)間,AUV都會提前通知周圍鄰居節(jié)點(diǎn),讓周圍鄰居節(jié)點(diǎn)提前設(shè)置收集區(qū)域。另外,由于洋流的影響,網(wǎng)絡(luò)的部分區(qū)域可能會有漏洞產(chǎn)生,為了有效繞過漏洞,該協(xié)議首先將AUV整個(gè)感知區(qū)域分片,哪一個(gè)片內(nèi)節(jié)點(diǎn)偏移速度大,產(chǎn)生漏洞,則該片就擴(kuò)大感知區(qū)域,使更多的節(jié)點(diǎn)參與數(shù)據(jù)轉(zhuǎn)發(fā)。
[0009]5.、2013年,Zhang等人在《Link-state based Adaptive Feedback Routing》提出基本不對稱鏈路的路由協(xié)議。該協(xié)議考慮了節(jié)點(diǎn)波束寬度和水聲傳感器網(wǎng)絡(luò)中三維方向的影響對節(jié)點(diǎn)之間通信鏈路的影響,并針對有不對稱鏈路使用平滑路由反饋。該協(xié)議主要分為兩個(gè)部分:路由發(fā)現(xiàn)和路徑維護(hù)。路由發(fā)現(xiàn)主要有三步,即鏈路檢測、路徑請求、路徑反饋。網(wǎng)絡(luò)中節(jié)點(diǎn)通過鏈路檢測機(jī)制獲得鏈路狀態(tài)信息;然后每個(gè)節(jié)點(diǎn)構(gòu)建自己的路由表,信息傳送通過節(jié)點(diǎn)建立的路由表;路徑反饋依據(jù)鏈路之間的狀況自適應(yīng)構(gòu)建反饋傳輸路徑, 當(dāng)前鏈路是對稱的,則直接傳送信息,若鏈路是不對稱的,則選擇合適的轉(zhuǎn)發(fā)節(jié)點(diǎn)傳送信息。路徑維護(hù)主要有兩步,即路由表更新機(jī)制和路由更新。路由表更新機(jī)制采用預(yù)測動(dòng)態(tài)路由方法,這能有效避免由于頻繁更新路由帶來的能量損耗,然后根據(jù)最新的路由表更新路由。
【發(fā)明內(nèi)容】
[0010]本發(fā)明所要解決的技術(shù)問題是:在隨機(jī)部署的水聲傳感器網(wǎng)絡(luò)中,對節(jié)點(diǎn)之間通信鏈路進(jìn)行分析,根據(jù)節(jié)點(diǎn)之間鏈路特性選取下一跳節(jié)點(diǎn),并對傳輸路徑進(jìn)行優(yōu)化和更新。
[0011]為了達(dá)到上述目的,本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的:
[0012]—種基于不對稱鏈路的水聲傳感器網(wǎng)絡(luò)路由協(xié)議構(gòu)建方法:包括以下步驟:
[0013]步驟一:鄰居列表構(gòu)建。水聲傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)之間通信鏈路受洋流和節(jié)點(diǎn)感知波束的影響,節(jié)點(diǎn)的通信鏈路存在不對稱性,并根據(jù)節(jié)點(diǎn)之間通信鏈路為對稱鏈路或不對稱鏈路構(gòu)建鄰居列表。
[0014]步驟二:反轉(zhuǎn)路徑構(gòu)建。節(jié)點(diǎn)之間的通信鏈路不對稱會影響網(wǎng)絡(luò)的連通度,降低傳輸路徑的可靠性,于是,針對不對稱鏈路構(gòu)建反轉(zhuǎn)路徑,源節(jié)點(diǎn)通過廣播控制包構(gòu)建可靠的發(fā)展路徑。
[0015]步驟三:選擇合適的下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)構(gòu)建傳輸路徑。源節(jié)點(diǎn)根據(jù)鄰居列表信息選擇合適的下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn),優(yōu)先選擇節(jié)點(diǎn)的鄰居列表存儲的鄰居節(jié)點(diǎn)為對稱鏈路,節(jié)點(diǎn)與鄰居節(jié)點(diǎn)之間沒有對稱鏈路時(shí)再選擇不對稱鏈路。
[0016]步驟四:傳輸路徑的優(yōu)化和更新。構(gòu)建傳輸路徑后,路徑中可能存在環(huán)或無效節(jié)點(diǎn),需要去除這些情況。同時(shí),水下環(huán)境不斷變化,需要周期更新傳輸路徑。
[0017]上述步驟一中,鄰居列表構(gòu)建方法如下:
[0018]源節(jié)點(diǎn)廣播控制包,周圍節(jié)點(diǎn)收到控制包后及時(shí)回復(fù)確認(rèn)信息,源節(jié)點(diǎn)根據(jù)收到確認(rèn)信息確認(rèn)鄰居節(jié)點(diǎn)信息。源節(jié)點(diǎn)能收到鄰居節(jié)點(diǎn)的確認(rèn)信息,鄰居節(jié)點(diǎn)能收到源節(jié)點(diǎn)的信息,則節(jié)點(diǎn)與鄰居節(jié)點(diǎn)之間的通信鏈路是對稱的;否則,節(jié)點(diǎn)沒有收到鄰居節(jié)點(diǎn)的確認(rèn)信息,但鄰居節(jié)點(diǎn)收到節(jié)點(diǎn)的控制包,節(jié)點(diǎn)與鄰居節(jié)點(diǎn)之間的通信鏈路是不對稱的。根據(jù)上面的分析,源節(jié)點(diǎn)分別將鄰居節(jié)點(diǎn)的信息存儲在對稱鏈路列表和不對稱鏈路列表內(nèi)。
[0019]上述步驟二中,反轉(zhuǎn)路徑構(gòu)建方法如下:
[0020]節(jié)點(diǎn)與鄰居節(jié)點(diǎn)存在不對稱鏈路,需要構(gòu)建一條從鄰居節(jié)點(diǎn)到節(jié)點(diǎn)的傳輸路徑。 鄰居節(jié)點(diǎn)廣播控制包后,該控制包包括數(shù)據(jù)包類型、源節(jié)點(diǎn)ID(鄰居節(jié)點(diǎn))、目的節(jié)點(diǎn)ID(節(jié)點(diǎn))、轉(zhuǎn)發(fā)節(jié)點(diǎn)和最大跳數(shù)Hop,收到該控制包的節(jié)點(diǎn)查看自身的鄰居列表是否有目的節(jié)點(diǎn) ID,如果有則將該節(jié)點(diǎn)作為中間轉(zhuǎn)發(fā)節(jié)點(diǎn),將該節(jié)點(diǎn)ID寫入新的控制包后直接傳輸給目的節(jié)點(diǎn);否則,選擇離源節(jié)點(diǎn)最近的鄰居節(jié)點(diǎn)作為中間節(jié)點(diǎn),依據(jù)此方法多次選擇中間轉(zhuǎn)發(fā)節(jié)點(diǎn),構(gòu)建反轉(zhuǎn)路徑,反轉(zhuǎn)路徑的最大跳數(shù)值設(shè)置為3,跳數(shù)值超過3時(shí)能量損耗嚴(yán)重,開銷大于構(gòu)建反轉(zhuǎn)路徑開銷。[0021 ]上述步驟三中,選擇合適的下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)構(gòu)建傳輸路徑方法如下:
[0022]全網(wǎng)中的傳感器節(jié)點(diǎn)向周圍廣播信息,其他傳感器節(jié)點(diǎn)收集周圍信息,通過這種方式全網(wǎng)的傳感器節(jié)點(diǎn)了解全網(wǎng)的信息。網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)獲得后,節(jié)點(diǎn)根據(jù)自身鄰居列表信息,優(yōu)先選擇對稱鄰居列表中離S i n k節(jié)點(diǎn)最近的節(jié)點(diǎn),該節(jié)點(diǎn)的距離可能大于節(jié)點(diǎn)到 Sink節(jié)點(diǎn)距離,但這樣能有效避免網(wǎng)絡(luò)中無效節(jié)點(diǎn),節(jié)點(diǎn)等待確認(rèn)消息的時(shí)間為TP。當(dāng)節(jié)點(diǎn)自身鄰居列表中只有不對稱鄰居列表時(shí),同樣選擇離Sink節(jié)點(diǎn)最近的節(jié)點(diǎn),并且節(jié)點(diǎn)等待 2*TP時(shí)間,SPTP = (Rc-D(Ci,Cj))/V,其中RC指節(jié)點(diǎn)的感知半徑,D(Ci,Cj)指源節(jié)點(diǎn)到該鄰居節(jié)點(diǎn)距離,v指波速。
[0023]上述步驟五中,傳輸路徑的優(yōu)化和更新方法如下:
[0024]傳輸路徑構(gòu)建后可能存在無效節(jié)點(diǎn)和環(huán)路,這些都影響路徑的質(zhì)量增加網(wǎng)絡(luò)損耗。無效節(jié)點(diǎn)去除主要是:該無效節(jié)點(diǎn)作為下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)時(shí)周圍除了上一跳傳輸節(jié)點(diǎn)外, 沒有合適的鄰居節(jié)點(diǎn),此時(shí)需要通知傳輸節(jié)點(diǎn),標(biāo)識和刪除該無效節(jié)點(diǎn),并且重新選擇轉(zhuǎn)發(fā)節(jié)點(diǎn)。環(huán)路去除主要是:傳輸路徑中節(jié)點(diǎn)與周圍多個(gè)鄰居節(jié)點(diǎn)構(gòu)成環(huán)路,此時(shí)只要該節(jié)點(diǎn)直接與環(huán)路中最后一個(gè)鄰居節(jié)點(diǎn)通信,去除其他環(huán)繞的鄰居節(jié)點(diǎn)。水下環(huán)境不斷變化,網(wǎng)絡(luò)需要周期更新收集網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)重新構(gòu)建傳輸路徑。
[0025]本發(fā)明的有益效果是:1.水下環(huán)境干擾很大,網(wǎng)絡(luò)中節(jié)點(diǎn)之間的通信鏈路存在的不對稱性,單一的考慮節(jié)點(diǎn)之間對稱的通信鏈路不能很好的滿足實(shí)際環(huán)境要求,本發(fā)明針對實(shí)際環(huán)境中節(jié)點(diǎn)之間不對稱鏈路構(gòu)建可靠的傳輸路徑;2.由于節(jié)點(diǎn)之間存在不對稱的通信鏈路,網(wǎng)絡(luò)連通度性較差,構(gòu)建路由協(xié)議時(shí)需要考慮可靠的傳輸路徑一一反轉(zhuǎn)路徑,反轉(zhuǎn)路徑的構(gòu)建增加網(wǎng)絡(luò)連通度,同時(shí)也增加了傳輸鏈路可靠性?!靖綀D說明】[〇〇26]圖1為本發(fā)明不對稱鏈路示意圖;
[0027]圖2為本發(fā)明反轉(zhuǎn)路徑構(gòu)建示意圖;
[0028]圖3為本發(fā)明傳輸路徑構(gòu)建示意圖;[〇〇29]圖4為本發(fā)明環(huán)路去除示意圖。【具體實(shí)施方式】
[0030]以下結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步的詳細(xì)說明。
[0031] —種基于不對稱鏈路的水聲傳感器網(wǎng)絡(luò)路由協(xié)議構(gòu)建方法,其步驟包括:[〇〇32]步驟一:鄰居列表構(gòu)建
[0033]水聲傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)之間通信鏈路受洋流和節(jié)點(diǎn)感知波束的影響,節(jié)點(diǎn)的通信鏈路存在不對稱性,并根據(jù)節(jié)點(diǎn)之間通信鏈路為對稱鏈路或不對稱鏈路構(gòu)建鄰居列表;
[0034]如圖1所示,不對稱鏈路。源節(jié)點(diǎn)廣播控制包,周圍節(jié)點(diǎn)收到控制包后及時(shí)回復(fù)確認(rèn)信息,源節(jié)點(diǎn)根據(jù)收到確認(rèn)信息確認(rèn)鄰居節(jié)點(diǎn)信息。源節(jié)點(diǎn)能收到鄰居節(jié)點(diǎn)的確認(rèn)信息, 鄰居節(jié)點(diǎn)能收到源節(jié)點(diǎn)的信息,則節(jié)點(diǎn)與鄰居節(jié)點(diǎn)之間的通信鏈路是對稱的;否則,節(jié)點(diǎn)沒有收到鄰居節(jié)點(diǎn)的確認(rèn)信息,但鄰居節(jié)點(diǎn)收到節(jié)點(diǎn)的控制包,節(jié)點(diǎn)與鄰居節(jié)點(diǎn)之間的通信鏈路是不對稱的。如圖1所示,Nodel廣播控制包后,Node2能接收到Nodel信息,但是Nodel不能接收到Node2的確認(rèn)信息,Node 1起初并不知道有Node2這個(gè)鄰居,通過后期反轉(zhuǎn)路徑構(gòu)建,Nodel獲得Node2信息,獲得鄰居節(jié)點(diǎn)的信息。[〇〇35]步驟二:反轉(zhuǎn)路徑構(gòu)建。
[0036]針對節(jié)點(diǎn)之間的通信鏈路不對稱構(gòu)建反轉(zhuǎn)路徑,源節(jié)點(diǎn)通過廣播控制包構(gòu)建可靠的發(fā)展路徑。
[0037]如圖2,根據(jù)步驟一中節(jié)點(diǎn)之間存在不對稱鏈路,網(wǎng)絡(luò)連通度降低,節(jié)點(diǎn)不能及時(shí)有效的收到信息,此時(shí)需要構(gòu)建一條從鄰居節(jié)點(diǎn)到節(jié)點(diǎn)的傳輸路徑。鄰居節(jié)點(diǎn)廣播控制包后,該控制包含有數(shù)據(jù)包類型、源節(jié)點(diǎn)ID(鄰居節(jié)點(diǎn))、目的節(jié)點(diǎn)ID(節(jié)點(diǎn))、轉(zhuǎn)發(fā)節(jié)點(diǎn)和最大跳數(shù)Hop,收到該控制包的節(jié)點(diǎn)查看自身的鄰居列表是否有目的節(jié)點(diǎn)ID,如果有則將該節(jié)點(diǎn)作為中間轉(zhuǎn)發(fā)節(jié)點(diǎn),將該節(jié)點(diǎn)ID寫入新的控制包后直接傳輸給目的節(jié)點(diǎn);否則,根據(jù)貪婪算法查找合適的中間節(jié)點(diǎn),構(gòu)建反轉(zhuǎn)路徑(反轉(zhuǎn)路徑的最大跳數(shù)值設(shè)置為3,跳數(shù)值超過3時(shí)能量損耗嚴(yán)重,開銷大于構(gòu)建反轉(zhuǎn)路徑開銷)。如圖2所示,Nodel與Node2之間存在不對稱鏈路,降低了Nodel與Node2的聯(lián)通度,因此,此時(shí)Node2為源節(jié)點(diǎn)構(gòu)建一條最大跳數(shù)值為3的反轉(zhuǎn)路徑到達(dá)Nodel,依如面提到的方法,最終構(gòu)建的反轉(zhuǎn)路徑為Node24Node3—Node44 Nodel〇[〇〇38]步驟三:如圖3,選擇合適的下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)構(gòu)建傳輸路徑。
[0039]源節(jié)點(diǎn)根據(jù)鄰居列表信息選擇合適的下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn),優(yōu)先選擇節(jié)點(diǎn)的鄰居列表存儲的鄰居節(jié)點(diǎn)為對稱鏈路,節(jié)點(diǎn)與鄰居節(jié)點(diǎn)之間沒有對稱鏈路時(shí)再選擇不對稱鏈路。
[0040]節(jié)點(diǎn)獲得周圍鄰居信息后構(gòu)建鄰居列表,然后根據(jù)鄰居列表信息,優(yōu)先選擇對稱鄰居列表中離Sink節(jié)點(diǎn)最近的節(jié)點(diǎn),該節(jié)點(diǎn)的距離可能大于節(jié)點(diǎn)到Sink節(jié)點(diǎn)距離,但這樣能有效避免網(wǎng)絡(luò)中無效節(jié)點(diǎn),節(jié)點(diǎn)等待確認(rèn)消息的時(shí)間為TP。當(dāng)節(jié)點(diǎn)自身鄰居列表中只有不對稱鄰居列表時(shí),同樣選擇離Sink節(jié)點(diǎn)最近的節(jié)點(diǎn),并且節(jié)點(diǎn)等待2*Tp時(shí)間,S卩TP= (Rc-D dCW/V,其中Rc指節(jié)點(diǎn)的感知半徑,DdCj指源節(jié)點(diǎn)到該鄰居節(jié)點(diǎn)距離,v指波速。如圖 3, Source節(jié)點(diǎn)的所有鄰居節(jié)點(diǎn)中Nodel離Sink節(jié)點(diǎn)最近,并且Source節(jié)點(diǎn)與Nodel之間是對稱鏈路,優(yōu)先考慮,則下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)為Nodel,其他轉(zhuǎn)發(fā)節(jié)點(diǎn)依據(jù)上面的方法,最終構(gòu)建傳輸路徑到達(dá)Sink節(jié)點(diǎn)。[0041 ]步驟四:傳輸路徑的優(yōu)化和更新
[0042]構(gòu)建傳輸路徑后,去除路徑中可能存在的環(huán)路或無效節(jié)點(diǎn)的情況,同時(shí),根據(jù)水下環(huán)境不斷變化,周期更新傳輸路徑。[〇〇43]如圖4,環(huán)路去除。構(gòu)建傳輸路徑時(shí)節(jié)點(diǎn)周圍多個(gè)鄰居節(jié)點(diǎn)作為轉(zhuǎn)發(fā)節(jié)點(diǎn),節(jié)點(diǎn)與這些鄰居節(jié)點(diǎn)構(gòu)成環(huán)路,這樣的傳輸路徑增加了路徑長度和跳數(shù),也增加了網(wǎng)絡(luò)能量損耗, 一般只要該節(jié)點(diǎn)直接與環(huán)路中最后一個(gè)鄰居節(jié)點(diǎn)通信就能完成數(shù)據(jù)包轉(zhuǎn)發(fā)。傳輸路徑中的環(huán)有時(shí)有三個(gè)節(jié)點(diǎn),有時(shí)有四個(gè)節(jié)點(diǎn),并且一個(gè)傳輸路徑中可能有多個(gè)環(huán),這些都會影響傳輸路徑的可靠性。如圖4,傳輸路徑中有一個(gè)源節(jié)點(diǎn)與周圍4個(gè)鄰居節(jié)點(diǎn)構(gòu)成的環(huán)路,SP Node2—Nodel—Node4—Node3,此時(shí),只要Node2直接將數(shù)據(jù)包傳送給Node3就將數(shù)據(jù)包成功傳送出去,于是,Node2直接將數(shù)據(jù)包傳送Node3,去除環(huán)路。
【主權(quán)項(xiàng)】
1.一種基于不對稱鏈路的水聲傳感器網(wǎng)絡(luò)路由協(xié)議構(gòu)建方法,其特征在于:包括以下 幾個(gè)步驟:步驟一:鄰居列表構(gòu)建水聲傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)之間通信鏈路受洋流和節(jié)點(diǎn)感知波束的影響,節(jié)點(diǎn)的通信鏈路 存在不對稱性,并根據(jù)節(jié)點(diǎn)之間通信鏈路為對稱鏈路或不對稱鏈路構(gòu)建鄰居列表;步驟二:反轉(zhuǎn)路徑構(gòu)建針對節(jié)點(diǎn)之間的通信鏈路不對稱構(gòu)建反轉(zhuǎn)路徑,源節(jié)點(diǎn)通過廣播控制包構(gòu)建可靠的發(fā) 展路徑;步驟三:選擇合適的下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)構(gòu)建傳輸路徑源節(jié)點(diǎn)根據(jù)鄰居列表信息選擇合適的下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn),優(yōu)先選擇節(jié)點(diǎn)的鄰居列表存儲 的鄰居節(jié)點(diǎn)為對稱鏈路,節(jié)點(diǎn)與鄰居節(jié)點(diǎn)之間沒有對稱鏈路時(shí)再選擇不對稱鏈路;步驟四:傳輸路徑的優(yōu)化和更新構(gòu)建傳輸路徑后,去除路徑中可能存在的環(huán)路或無效節(jié)點(diǎn)的情況,同時(shí),根據(jù)水下環(huán)境 不斷變化,周期更新傳輸路徑。2.根據(jù)權(quán)利要求1所述的一種基于不對稱鏈路的水聲傳感器網(wǎng)絡(luò)路由協(xié)議構(gòu)建方法, 其特征在于:所述步驟一中,鄰居列表構(gòu)建方法如下:源節(jié)點(diǎn)廣播控制包,周圍節(jié)點(diǎn)收到控制包后及時(shí)回復(fù)確認(rèn)信息,源節(jié)點(diǎn)根據(jù)收到確認(rèn) 信息確認(rèn)鄰居節(jié)點(diǎn)信息;源節(jié)點(diǎn)能收到鄰居節(jié)點(diǎn)的確認(rèn)信息,鄰居節(jié)點(diǎn)能收到源節(jié)點(diǎn)的信 息,則節(jié)點(diǎn)與鄰居節(jié)點(diǎn)之間的通信鏈路是對稱的;否則,節(jié)點(diǎn)沒有收到鄰居節(jié)點(diǎn)的確認(rèn)信 息,但鄰居節(jié)點(diǎn)收到節(jié)點(diǎn)的控制包,節(jié)點(diǎn)與鄰居節(jié)點(diǎn)之間的通信鏈路是不對稱的;源節(jié)點(diǎn)分 別將鄰居節(jié)點(diǎn)的信息存儲在對稱鏈路列表和不對稱鏈路列表內(nèi)。3.根據(jù)權(quán)利要求1所述的一種基于不對稱鏈路的水聲傳感器網(wǎng)絡(luò)路由協(xié)議構(gòu)建方法, 其特征在于:所述步驟二中,反轉(zhuǎn)路徑構(gòu)建方法如下:節(jié)點(diǎn)與鄰居節(jié)點(diǎn)存在不對稱鏈路,構(gòu)建一條從鄰居節(jié)點(diǎn)到節(jié)點(diǎn)的傳輸路徑,鄰居節(jié)點(diǎn) 廣播控制包后,該控制包包括數(shù)據(jù)包類型、源節(jié)點(diǎn)ID、目的節(jié)點(diǎn)ID、轉(zhuǎn)發(fā)節(jié)點(diǎn)和最大跳數(shù) Hop,收到該控制包的節(jié)點(diǎn)查看自身的鄰居列表是否有目的節(jié)點(diǎn)ID,如果有則將該節(jié)點(diǎn)作為 中間轉(zhuǎn)發(fā)節(jié)點(diǎn),將該節(jié)點(diǎn)ID寫入新的控制包后直接傳輸給目的節(jié)點(diǎn);否則,選擇離源節(jié)點(diǎn)最 近的鄰居節(jié)點(diǎn)作為中間節(jié)點(diǎn),依據(jù)此方法多次選擇中間轉(zhuǎn)發(fā)節(jié)點(diǎn),最終構(gòu)建反轉(zhuǎn)路徑;反轉(zhuǎn) 路徑的最大跳數(shù)值設(shè)置為3,跳數(shù)值超過3時(shí)能量損耗嚴(yán)重,開銷大于構(gòu)建反轉(zhuǎn)路徑開銷。4.根據(jù)權(quán)利要求1所述的一種基于不對稱鏈路的水聲傳感器網(wǎng)絡(luò)路由協(xié)議構(gòu)建方法, 其特征在于:所述步驟三中,選擇合適的下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)構(gòu)建傳輸路徑方法如下:全網(wǎng)中的傳感器節(jié)點(diǎn)向周圍廣播信息,其他傳感器節(jié)點(diǎn)收集周圍信息,通過這種方式 全網(wǎng)的傳感器節(jié)點(diǎn)了解全網(wǎng)的信息;網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)獲得后,節(jié)點(diǎn)根據(jù)自身鄰居列表信息, 優(yōu)先選擇對稱鄰居列表中離Sink節(jié)點(diǎn)最近的節(jié)點(diǎn),該節(jié)點(diǎn)的距離可能大于節(jié)點(diǎn)到Sink節(jié)點(diǎn) 距離,但這樣能有效避免網(wǎng)絡(luò)中無效節(jié)點(diǎn),節(jié)點(diǎn)等待確認(rèn)消息的時(shí)間為TP;當(dāng)節(jié)點(diǎn)自身鄰居 列表中只有不對稱鄰居列表時(shí),同樣選擇離Sink節(jié)點(diǎn)最近的節(jié)點(diǎn),并且節(jié)點(diǎn)等待2*Tp時(shí)間, 即TP= (1^-0(<^,(:」))八,其中1^指節(jié)點(diǎn)的感知半徑,0((^,(:」)指源節(jié)點(diǎn)到該鄰居節(jié)點(diǎn)距離,¥ 指波速。5.根據(jù)權(quán)利要求1所述的一種基于不對稱鏈路的水聲傳感器網(wǎng)絡(luò)路由協(xié)議構(gòu)建方法,其特征在于:所述步驟四中,傳輸路徑的優(yōu)化和更新方法如下:無效節(jié)點(diǎn)去除的方法:該無效節(jié)點(diǎn)作為下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)時(shí)周圍除了上一跳傳輸節(jié)點(diǎn) 夕卜,沒有合適的鄰居節(jié)點(diǎn),此時(shí)需要通知傳輸節(jié)點(diǎn),標(biāo)識和刪除該無效節(jié)點(diǎn),并且重新選擇 轉(zhuǎn)發(fā)節(jié)點(diǎn);環(huán)路去除的方法:傳輸路徑中節(jié)點(diǎn)與周圍多個(gè)鄰居節(jié)點(diǎn)構(gòu)成環(huán)路,此時(shí)只要該節(jié)點(diǎn)直 接與環(huán)路中最后一個(gè)鄰居節(jié)點(diǎn)通信,去除其他環(huán)繞的鄰居節(jié)點(diǎn),水下環(huán)境不斷變化,網(wǎng)絡(luò)需 要周期更新收集網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)重新構(gòu)建傳輸路徑。
【文檔編號】H04W40/24GK106060886SQ201610341462
【公開日】2016年10月26日
【申請日】2016年5月20日
【發(fā)明人】韓光潔, 鮑娜, 王皓, 劉立
【申請人】河海大學(xué)常州校區(qū)