一種改進的海上無線傳感網(wǎng)動態(tài)源路由算法
引 言
0 引 言
近年來,研究人員考慮將無線傳感網(wǎng)推廣應(yīng)用于海事搜 救和海洋監(jiān)測領(lǐng)域 [1]。但海上無線傳感網(wǎng)路由方案的設(shè)計面 臨一些嚴(yán)峻挑戰(zhàn),提高惡劣海洋環(huán)境下網(wǎng)絡(luò)的性能,設(shè)計出 一種確保數(shù)據(jù)可靠傳輸?shù)穆酚蓪I蠎?yīng)用而言具有重要意義。 由于源路由算法的動態(tài)源路由(DSR)協(xié)議網(wǎng)絡(luò)中的節(jié)點緩存 多到達(dá)目的節(jié)點的源路由,使該協(xié)議對網(wǎng)絡(luò)拓?fù)渥兓哂休^快 的反應(yīng)速度,因此可以提供快速反應(yīng)式服務(wù),較好地保證了 數(shù)據(jù)的有效傳輸 [2]。但該路由協(xié)議存在一些缺陷:在高度動 態(tài)性的環(huán)境中,頻繁的鏈路斷裂導(dǎo)致數(shù)據(jù)傳輸率較低 [3] ;效 率低下的路由發(fā)現(xiàn)機制造成了較大的傳輸延遲和較高的路由開 銷 [4] ;產(chǎn)生的能耗較大 [5]。
現(xiàn)階段,針對動態(tài)源路由協(xié)議提出了很多改進和優(yōu)化。 文獻(xiàn) [6,7] 針對 DSR 路由緩存中失效路由導(dǎo)致協(xié)議性能下降 的問題,提出了改進的 DSR 路由協(xié)議,使節(jié)點能夠及時更新 緩存中的失效路由,但該方案無法減少路由開銷。在路由發(fā)現(xiàn) 的過程中,文獻(xiàn) [8,9] 提出了一些控制數(shù)據(jù)包的洪泛技術(shù)以 減少路由開銷,但未必能夠找到有效的路徑。
因此,本文提出一種改進型動態(tài)源路由(I-DSR)算法, 以提高路由效率。該算法能較好地滿足海上無線傳感網(wǎng)路由的 要求,在保證節(jié)省能耗和延長網(wǎng)絡(luò)生存時間的同時,實現(xiàn)了較 高的數(shù)據(jù)傳輸率,克服了已有路由算法的不足。
1 改進型動態(tài)源路由算法設(shè)計
1.1 路由控制包
動態(tài)源路由發(fā)現(xiàn)過程需要兩種控制數(shù)據(jù)包,即路由請求 (RREQ)和路由應(yīng)答(RREP)。本文提出的增強型動態(tài)源路 由算法需要修改傳統(tǒng)動態(tài)源路由控制數(shù)據(jù)包格式以適應(yīng)本算 法的路由機制,路由控制包格式見表 1 所列。
在路由發(fā)現(xiàn)過程中,源節(jié)點發(fā)送路由請求控制數(shù)據(jù)包RREQ,搜索到目的節(jié)點的路徑,并更新控制包的信息。請求控制包包含源節(jié)點和目的節(jié)點地址,跳數(shù) Hc 初始設(shè)置為 0, 隨著數(shù)據(jù)包在網(wǎng)絡(luò)中傳播,每通過一個中間節(jié)點跳數(shù)便加 1, 當(dāng)數(shù)據(jù)包發(fā)送到目的節(jié)點時,該跳數(shù)即為路徑所有跳數(shù)。使用路徑擁塞度度量值 Rc 衡量整條路徑的擁塞水平,由中間路徑和節(jié)點擁塞度表示。路徑可靠性度量值 Rr 由每一個中間鏈路的連通性決定,表明整條路徑能維持較長時間的連通性。Er 表示路徑剩余能量,其值為路徑中節(jié)點的最小剩余能量。在通過周期性的信息交換后,節(jié)點獲取鄰居節(jié)點的剩余能量信息, 保存在自己的緩存中。路由控制包每經(jīng)過一個中間節(jié)點,就會比較節(jié)點的剩余能量,選擇剩余能量較小值更新控制包中的Er。類型表示控制數(shù)據(jù)包的種類,即 RREQ 為1,RREP 為 0。中間節(jié)點地址棧INA 存儲路由請求數(shù)據(jù)包在網(wǎng)絡(luò)中傳輸經(jīng)過的所有中間節(jié)點的地址。
1.2 路由發(fā)現(xiàn)
當(dāng)源節(jié)點需要發(fā)送數(shù)據(jù)包時,就會啟動路由發(fā)現(xiàn)過程尋找一條到達(dá)目的節(jié)點的路由,并向網(wǎng)絡(luò)廣播路由請求控制包。路由請求控制包在選擇下一跳節(jié)點時,會綜合考慮路徑的可靠性、擁塞度、剩余能量以及跳數(shù),從而找到具有較高可靠性、較低擁塞度、較少跳數(shù)和剩余能量較高的路徑,在保證路由效率的同時,降低能量消耗,均衡網(wǎng)絡(luò)負(fù)載,延長網(wǎng)絡(luò)的生存時間。路由發(fā)現(xiàn)過程如圖 1 所示。
目的節(jié)點收到請求控制包后向源節(jié)點返回一個應(yīng)答控制包 RREP,源節(jié)點接收到 RREP 控制包后便完成了路由發(fā)現(xiàn)過程,產(chǎn)生了一條到達(dá)目的節(jié)點的源路由。在路由選擇時,第一個 RREP 控制包到達(dá),產(chǎn)生一條路徑,發(fā)送節(jié)點使用該路徑發(fā)送數(shù)據(jù)分組。當(dāng)發(fā)送節(jié)點再次收到一個應(yīng)答數(shù)據(jù)包后,便產(chǎn)生另外一條路由,根據(jù)跳數(shù)、路徑可靠性度量值、擁塞度量值和剩余能量,比較兩者路徑性能值的大小,選擇較好的一條路徑發(fā)送數(shù)據(jù)分組。直到收到最后一個路由應(yīng)答控制包, 路由選擇過程結(jié)束。
2 仿真結(jié)果與分析
本文使用Linux 系統(tǒng)下的網(wǎng)絡(luò)仿真工具NS2 模擬所需的網(wǎng)絡(luò)環(huán)境,對提出的I-DSR算法進行仿真,并與DSR[10] 算 法進行比較。仿真場景為在 1000m1000m范圍內(nèi)隨機部署150個節(jié)點,節(jié)點的運動模型為RWP(RandomWayPoint, RWP),其最大移動速度為10m/s。本文從數(shù)據(jù)傳輸率、能耗和網(wǎng)絡(luò)生存時間三個方面對兩種算法進行比較,發(fā)現(xiàn)網(wǎng)絡(luò)生存 時間為死亡節(jié)點數(shù)量達(dá)到節(jié)點總數(shù)的 20% 時網(wǎng)絡(luò)運行的時間。
圖 2所示為本文算法與DSR 算法數(shù)據(jù)傳輸率的比較。
從圖中可以看出,本文提出的算法有較高的傳輸率,原因在于本文算法有效地預(yù)測了路徑的可靠性和擁塞度,從而發(fā)現(xiàn)了比較可靠的路徑,減少了數(shù)據(jù)丟失和傳輸延時,提高了數(shù)據(jù)傳輸率。
圖 3 所示為能耗的比較。從圖中可以看出I-DSR 算法比DSR 算法更節(jié)能,原因在于DSR 在網(wǎng)絡(luò)中盲目泛洪路由請求控制包,而本文算法選擇了相對可靠的路徑發(fā)送路由請求,減少了路由開銷,節(jié)省了能量。
圖 4 所示為網(wǎng)絡(luò)生存時間的比較。從圖中可以看出,死 亡節(jié)點數(shù)為 30(達(dá)到總結(jié)點數(shù)的 20%)時,對應(yīng)的時間分別 為 235 和 280,因此本文算法較 DSR 方法延長了網(wǎng)絡(luò)生存時 間。本文算法不僅能夠節(jié)省節(jié)點能量,更在選擇路徑時,考慮 了路徑的剩余能量,具有較多剩余能量的路徑被使用的可能 性更大,這在一定程度上均衡了網(wǎng)絡(luò)負(fù)載,避免了節(jié)點因負(fù)載 過大,能量耗盡而過早死亡,從而減少了死亡節(jié)點的數(shù)量,相 比 DSR 算法延長了網(wǎng)絡(luò)生存時間。

3 結(jié) 語
本文針對海上無線傳感網(wǎng)路由方案存在的問題和挑戰(zhàn), 引入了動態(tài)源路由機制,提出了一種改進型動態(tài)源路由算法。該路由方案通過發(fā)現(xiàn)并選擇具有較低擁塞度、較高可靠性、 較少跳數(shù)和剩余能量較高的路徑傳輸數(shù)據(jù)分組,實現(xiàn)了較高 的數(shù)據(jù)傳輸率,節(jié)省了能量,并延長了網(wǎng)絡(luò)生存時間。若將本 文算法應(yīng)用到海上無線傳感網(wǎng),將大大提高海上搜救和海洋 監(jiān)測效率。