童列高
摘 要:針對(duì)海上無線傳感網(wǎng)節(jié)點(diǎn)的移動(dòng)性和網(wǎng)絡(luò)拓?fù)涞膭?dòng)態(tài)特性,引入動(dòng)態(tài)源路由,改進(jìn)動(dòng)態(tài)源路由的發(fā)現(xiàn)機(jī)制,提出一種適用于海上無線傳感網(wǎng)的動(dòng)態(tài)源路由算法。該算法可以提高數(shù)據(jù)傳輸率,并節(jié)省能耗,延長(zhǎng)網(wǎng)絡(luò)生存時(shí)間,保證了網(wǎng)絡(luò)的可靠性。仿真結(jié)果表明,提出的改進(jìn)型動(dòng)態(tài)源路由算法(I-DSR)相比DSR算法以及其他路由算法具有更好的性能。
關(guān)鍵詞:海上無線傳感網(wǎng);鏈路穩(wěn)定性;平均剩余能量;動(dòng)態(tài)源路由
中圖分類號(hào):TP39 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2018)01-00-02
0 引 言
近年來,研究人員考慮將無線傳感網(wǎng)推廣應(yīng)用于海事搜救和海洋監(jiān)測(cè)領(lǐng)域[1]。但海上無線傳感網(wǎng)路由方案的設(shè)計(jì)面臨一些嚴(yán)峻挑戰(zhàn),提高惡劣海洋環(huán)境下網(wǎng)絡(luò)的性能,設(shè)計(jì)出一種確保數(shù)據(jù)可靠傳輸?shù)穆酚蓪?duì)海上應(yīng)用而言具有重要意義。由于源路由算法的動(dòng)態(tài)源路由(DSR)協(xié)議網(wǎng)絡(luò)中的節(jié)點(diǎn)緩存多到達(dá)目的節(jié)點(diǎn)的源路由,使該協(xié)議對(duì)網(wǎng)絡(luò)拓?fù)渥兓哂休^快的反應(yīng)速度,因此可以提供快速反應(yīng)式服務(wù),較好地保證了數(shù)據(jù)的有效傳輸[2]。但該路由協(xié)議存在一些缺陷:在高度動(dòng)態(tài)性的環(huán)境中,頻繁的鏈路斷裂導(dǎo)致數(shù)據(jù)傳輸率較低[3];效率低下的路由發(fā)現(xiàn)機(jī)制造成了較大的傳輸延遲和較高的路由開銷[4];產(chǎn)生的能耗較大[5]。
現(xiàn)階段,針對(duì)動(dòng)態(tài)源路由協(xié)議提出了很多改進(jìn)和優(yōu)化。文獻(xiàn)[6,7]針對(duì)DSR 路由緩存中失效路由導(dǎo)致協(xié)議性能下降的問題,提出了改進(jìn)的DSR路由協(xié)議,使節(jié)點(diǎn)能夠及時(shí)更新緩存中的失效路由,但該方案無法減少路由開銷。在路由發(fā)現(xiàn)的過程中,文獻(xiàn)[8,9]提出了一些控制數(shù)據(jù)包的洪泛技術(shù)以減少路由開銷,但未必能夠找到有效的路徑。
因此,本文提出一種改進(jìn)型動(dòng)態(tài)源路由(I-DSR)算法,以提高路由效率。該算法能較好地滿足海上無線傳感網(wǎng)路由的要求,在保證節(jié)省能耗和延長(zhǎng)網(wǎng)絡(luò)生存時(shí)間的同時(shí),實(shí)現(xiàn)了較高的數(shù)據(jù)傳輸率,克服了已有路由算法的不足。
1 改進(jìn)型動(dòng)態(tài)源路由算法設(shè)計(jì)
1.1 路由控制包
動(dòng)態(tài)源路由發(fā)現(xiàn)過程需要兩種控制數(shù)據(jù)包,即路由請(qǐng)求(RREQ)和路由應(yīng)答(RREP)。本文提出的增強(qiáng)型動(dòng)態(tài)源路由算法需要修改傳統(tǒng)動(dòng)態(tài)源路由控制數(shù)據(jù)包格式以適應(yīng)本算法的路由機(jī)制,路由控制包格式見表1所列。
在路由發(fā)現(xiàn)過程中,源節(jié)點(diǎn)發(fā)送路由請(qǐng)求控制數(shù)據(jù)包RREQ,搜索到目的節(jié)點(diǎn)的路徑,并更新控制包的信息。請(qǐng)求控制包包含源節(jié)點(diǎn)和目的節(jié)點(diǎn)地址,跳數(shù)Hc初始設(shè)置為0,隨著數(shù)據(jù)包在網(wǎng)絡(luò)中傳播,每通過一個(gè)中間節(jié)點(diǎn)跳數(shù)便加1,當(dāng)數(shù)據(jù)包發(fā)送到目的節(jié)點(diǎn)時(shí),該跳數(shù)即為路徑所有跳數(shù)。使用路徑擁塞度度量值Rc衡量整條路徑的擁塞水平,由中間路徑和節(jié)點(diǎn)擁塞度表示。路徑可靠性度量值Rr由每一個(gè)中間鏈路的連通性決定,表明整條路徑能維持較長(zhǎng)時(shí)間的連通性。Er表示路徑剩余能量,其值為路徑中節(jié)點(diǎn)的最小剩余能量。在通過周期性的信息交換后,節(jié)點(diǎn)獲取鄰居節(jié)點(diǎn)的剩余能量信息,保存在自己的緩存中。路由控制包每經(jīng)過一個(gè)中間節(jié)點(diǎn),就會(huì)比較節(jié)點(diǎn)的剩余能量,選擇剩余能量較小值更新控制包中的Er。類型表示控制數(shù)據(jù)包的種類,即RREQ為1,RREP為0。中間節(jié)點(diǎn)地址棧INA存儲(chǔ)路由請(qǐng)求數(shù)據(jù)包在網(wǎng)絡(luò)中傳輸經(jīng)過的所有中間節(jié)點(diǎn)的地址。
1.2 路由發(fā)現(xiàn)
當(dāng)源節(jié)點(diǎn)需要發(fā)送數(shù)據(jù)包時(shí),就會(huì)啟動(dòng)路由發(fā)現(xiàn)過程尋找一條到達(dá)目的節(jié)點(diǎn)的路由,并向網(wǎng)絡(luò)廣播路由請(qǐng)求控制包。路由請(qǐng)求控制包在選擇下一跳節(jié)點(diǎn)時(shí),會(huì)綜合考慮路徑的可靠性、擁塞度、剩余能量以及跳數(shù),從而找到具有較高可靠性、較低擁塞度、較少跳數(shù)和剩余能量較高的路徑,在保證路由效率的同時(shí),降低能量消耗,均衡網(wǎng)絡(luò)負(fù)載,延長(zhǎng)網(wǎng)絡(luò)的生存時(shí)間。路由發(fā)現(xiàn)過程如圖1所示。
目的節(jié)點(diǎn)收到請(qǐng)求控制包后向源節(jié)點(diǎn)返回一個(gè)應(yīng)答控制包RREP,源節(jié)點(diǎn)接收到RREP控制包后便完成了路由發(fā)現(xiàn)過程,產(chǎn)生了一條到達(dá)目的節(jié)點(diǎn)的源路由。在路由選擇時(shí),第一個(gè)RREP控制包到達(dá),產(chǎn)生一條路徑,發(fā)送節(jié)點(diǎn)使用該路徑發(fā)送數(shù)據(jù)分組。當(dāng)發(fā)送節(jié)點(diǎn)再次收到一個(gè)應(yīng)答數(shù)據(jù)包后,便產(chǎn)生另外一條路由,根據(jù)跳數(shù)、路徑可靠性度量值、擁塞度量值和剩余能量,比較兩者路徑性能值的大小,選擇較好的一條路徑發(fā)送數(shù)據(jù)分組。直到收到最后一個(gè)路由應(yīng)答控制包,路由選擇過程結(jié)束。
2 仿真結(jié)果與分析
本文使用Linux系統(tǒng)下的網(wǎng)絡(luò)仿真工具NS2模擬所需的網(wǎng)絡(luò)環(huán)境,對(duì)提出的I-DSR算法進(jìn)行仿真,并與DSR[10]算法進(jìn)行比較。仿真場(chǎng)景為在1 000 m×1 000 m范圍內(nèi)隨機(jī)部署150個(gè)節(jié)點(diǎn),節(jié)點(diǎn)的運(yùn)動(dòng)模型為RWP(Random Way Point,RWP),其最大移動(dòng)速度為10 m/s。本文從數(shù)據(jù)傳輸率、能耗和網(wǎng)絡(luò)生存時(shí)間三個(gè)方面對(duì)兩種算法進(jìn)行比較,發(fā)現(xiàn)網(wǎng)絡(luò)生存時(shí)間為死亡節(jié)點(diǎn)數(shù)量達(dá)到節(jié)點(diǎn)總數(shù)的20%時(shí)網(wǎng)絡(luò)運(yùn)行的時(shí)間。
圖2所示為本文算法與DSR算法數(shù)據(jù)傳輸率的比較。
從圖中可以看出,本文提出的算法有較高的傳輸率,原因在于本文算法有效地預(yù)測(cè)了路徑的可靠性和擁塞度,從而發(fā)現(xiàn)了比較可靠的路徑,減少了數(shù)據(jù)丟失和傳輸延時(shí),提高了數(shù)據(jù)傳輸率。
圖3所示為能耗的比較。從圖中可以看出I-DSR算法比DSR算法更節(jié)能,原因在于DSR在網(wǎng)絡(luò)中盲目泛洪路由請(qǐng)求控制包,而本文算法選擇了相對(duì)可靠的路徑發(fā)送路由請(qǐng)求,減少了路由開銷,節(jié)省了能量。
圖4所示為網(wǎng)絡(luò)生存時(shí)間的比較。從圖中可以看出,死亡節(jié)點(diǎn)數(shù)為30(達(dá)到總結(jié)點(diǎn)數(shù)的20%)時(shí),對(duì)應(yīng)的時(shí)間分別為235和280,因此本文算法較DSR方法延長(zhǎng)了網(wǎng)絡(luò)生存時(shí)間。本文算法不僅能夠節(jié)省節(jié)點(diǎn)能量,更在選擇路徑時(shí),考慮了路徑的剩余能量,具有較多剩余能量的路徑被使用的可能性更大,這在一定程度上均衡了網(wǎng)絡(luò)負(fù)載,避免了節(jié)點(diǎn)因負(fù)載過大,能量耗盡而過早死亡,從而減少了死亡節(jié)點(diǎn)的數(shù)量,相比DSR算法延長(zhǎng)了網(wǎng)絡(luò)生存時(shí)間。
3 結(jié) 語
本文針對(duì)海上無線傳感網(wǎng)路由方案存在的問題和挑戰(zhàn),引入了動(dòng)態(tài)源路由機(jī)制,提出了一種改進(jìn)型動(dòng)態(tài)源路由算法。該路由方案通過發(fā)現(xiàn)并選擇具有較低擁塞度、較高可靠性、較少跳數(shù)和剩余能量較高的路徑傳輸數(shù)據(jù)分組,實(shí)現(xiàn)了較高的數(shù)據(jù)傳輸率,節(jié)省了能量,并延長(zhǎng)了網(wǎng)絡(luò)生存時(shí)間。若將本文算法應(yīng)用到海上無線傳感網(wǎng),將大大提高海上搜救和海洋監(jiān)測(cè)效率。
參考文獻(xiàn)
[1]鮮江峰,徐善凱.基于神經(jīng)網(wǎng)絡(luò)的WSN丟失數(shù)據(jù)恢復(fù)研究[J].物聯(lián)網(wǎng)技術(shù),2017,7(2):40-41.
[2]莊春梅,王利利,陸建德.DSR協(xié)議的路由緩存策略[J].計(jì)算機(jī)工程,2010,36(2):100-101.
[3]王北光,李立新,謝濤.移動(dòng)AdHoc網(wǎng)絡(luò)DSR路由協(xié)議的改進(jìn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(8):121-124.
[4]王利利.移動(dòng)自組網(wǎng)DSR路由協(xié)議的研究與性能改進(jìn)[D].蘇州:蘇州大學(xué),2008.
[5]郭鵬遠(yuǎn).移動(dòng)自組網(wǎng)DSR協(xié)議改進(jìn)研究[D].南昌:南昌航空大學(xué),2015.
[6] Jaideep Patel,Nilay Khare. Fuzzy and Parallel Enhanced Congestion Detection and Avoidance for Multiple Class of Traffic in Wireless Network[J]. Indian Journal of Science and Technology,2016,9(12):1-9.
[7] Yun-Sheng Yen, Han-Chieh Chaob, Ruay-Shiung Changd,et al. Flooding-limited and multi-constrained QoS multicast routing based on the genetic algorithm for MANETs[J]. Mathematical and Computer Modelling,2011,53(11-12):2238-2250.
[8] C Bettstetter, H Hartenstein, X Perez-Costa. Stochastic properties of the random waypoint mobility model[J]. ACM/Kluwer Wirel. Netw,2004,10 (5): 555-567.
[9] A Kang, Y Zhang, B Nath.Accurate and energy-efficient congestion level measurement in ad hoc networks[C].IEEE Wireless Communications and Networking Conference, 2005.
[10] D B Johnson, A D Maltz, J Broch.DSR: the dynamic source routing protocol for multi-hop wireless ad hoc networks, Charles E. Perkins (Ed.) [M].Ad Hoc Networking, Addison-Wesley, 2001:139-172.