OLSR路由協(xié)議的功率補(bǔ)償機(jī)制研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:針對(duì)物聯(lián)網(wǎng)無線傳感器監(jiān)測(cè)系統(tǒng),研究了適合稀疏分布傳感器節(jié)點(diǎn)下的無線路由OLSR協(xié)議。并對(duì)傳統(tǒng)OLSR路由協(xié)議進(jìn)行改進(jìn)。在網(wǎng)絡(luò)高可靠性要求和節(jié)點(diǎn)分布不均的情況下,引入了功率補(bǔ)償機(jī)制和自主切換機(jī)制,并對(duì)改進(jìn)后的協(xié)議通過NS2進(jìn)行了仿真實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,該協(xié)議在可靠性和時(shí)延方面均有所提高,達(dá)到了提高稀疏節(jié)點(diǎn)無線路由網(wǎng)絡(luò)系統(tǒng)性能的目的。
關(guān)鍵詞:OLSRSR協(xié)議;稀疏路由;補(bǔ)償點(diǎn);功率補(bǔ)償;自主切換機(jī)制
0 引言
無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)多用于比較惡劣的環(huán)境,如戰(zhàn)場(chǎng)或各種地下作業(yè),因此對(duì)節(jié)能和數(shù)據(jù)可靠傳輸?shù)囊筝^高,同時(shí)由于節(jié)點(diǎn)分布不均勻,多為垂直和水平分布,傳統(tǒng)的路由協(xié)議如AODV(Ad Hoc On-Demand Distance Vector Routing),Gear,Leach等缺乏靈活性,且對(duì)節(jié)點(diǎn)定位要求較高。而先應(yīng)式路由協(xié)議OLSR(Optimized Link state Routing)引入了MPR選擇機(jī)制,使得其有效減少路由開銷和保證節(jié)點(diǎn)傳輸?shù)目煽啃浴?br />
OLSR是一種先驗(yàn)式路由協(xié)議,已經(jīng)被IETFMANET工作組正式公布為自組網(wǎng)路由協(xié)議的RFC標(biāo)準(zhǔn)。OLSR通過獲得的拓?fù)湫畔?,利用Dijkstra算法進(jìn)行路由計(jì)算,選擇到達(dá)目的節(jié)點(diǎn)的最短路徑。
雖然OLSR協(xié)議具有很多優(yōu)點(diǎn),但研究結(jié)果表明,當(dāng)節(jié)點(diǎn)分布稀疏時(shí),使用OLSR協(xié)議獲得的數(shù)據(jù)吞吐量大幅度下降,同時(shí)延遲也增大。因此本文將對(duì)OLSR協(xié)議進(jìn)行改進(jìn),使其在稀疏節(jié)點(diǎn)環(huán)境中也能取得較好的性能。
1 OLSR路由協(xié)議的改進(jìn)
本文提出的結(jié)合功率進(jìn)行補(bǔ)償機(jī)制的改進(jìn)OLSR協(xié)議,在節(jié)點(diǎn)密集處采用傳統(tǒng)OLSR協(xié)議,在節(jié)點(diǎn)稀疏處自動(dòng)切換到改進(jìn)后的OLSR協(xié)議。
1.1 OLSR路由算法的缺陷
(1)不適應(yīng)稀疏節(jié)點(diǎn)
OLSR協(xié)議默認(rèn)節(jié)點(diǎn)信號(hào)傳播半徑足夠大,保證源與目的節(jié)點(diǎn)之間存在通信鏈路使得網(wǎng)絡(luò)整體連通。但在節(jié)點(diǎn)稀疏或移動(dòng)分布式無線網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,網(wǎng)絡(luò)拓?fù)漕l繁改變,無法確保網(wǎng)絡(luò)的連通性及節(jié)點(diǎn)問始終存在通信路徑。
(2)鏈路結(jié)構(gòu)不均衡
OLSR協(xié)議只有被選為MPR的節(jié)點(diǎn)才產(chǎn)生并轉(zhuǎn)發(fā)TC(TopologyControl)消息,默認(rèn)情況下的TC只包含了MPR(MultiPoint Relays)選擇者的地址信息。在每個(gè)時(shí)刻,網(wǎng)絡(luò)節(jié)點(diǎn)的拓?fù)浼飪H僅存在MPR鏈路信息,而塒其他的對(duì)稱鏈路或者單向鏈路不會(huì)反映到網(wǎng)絡(luò)拓?fù)浼?。OLSR協(xié)議實(shí)驗(yàn)可以得到10個(gè)節(jié)點(diǎn)情況下網(wǎng)絡(luò)拓?fù)鋱D如圖1所示,完整的拓?fù)鋱D如圖2所示。
由圖1可以看出,節(jié)點(diǎn)3,7,8,9均未被任何節(jié)點(diǎn)選為MPR,它們沒有TC消息可以發(fā)送,同時(shí)節(jié)點(diǎn)8只有一條鏈路可以被廣播。
節(jié)點(diǎn)8到目的節(jié)點(diǎn)只有一條可用鏈路,因此需要為這些MPR節(jié)點(diǎn)集中節(jié)點(diǎn)數(shù)為1的節(jié)點(diǎn)選擇一個(gè)備用的轉(zhuǎn)發(fā)節(jié)點(diǎn),當(dāng)MPR節(jié)點(diǎn)出現(xiàn)故障時(shí),能夠及時(shí)代替MPR節(jié)點(diǎn)轉(zhuǎn)發(fā)。
1.2 稀疏OLSR路由補(bǔ)償節(jié)點(diǎn)選擇算法
改進(jìn)協(xié)議針對(duì)只有一條鏈路被感知的節(jié)點(diǎn),在Hello消息中增加一個(gè)標(biāo)志位,標(biāo)志該節(jié)點(diǎn)MPR集中節(jié)點(diǎn)數(shù)量。[!--empirenews.page--]
協(xié)議開始后,按照傳統(tǒng)OLSR協(xié)議進(jìn)行MPR選舉,MPR集合中的節(jié)點(diǎn)選出后,各個(gè)MPR節(jié)點(diǎn)檢查收到的節(jié)點(diǎn)Hello消息中的標(biāo)志位,當(dāng)標(biāo)志位為1時(shí),在網(wǎng)絡(luò)性能下降到一定程度時(shí)就可以采用補(bǔ)償算法選取相應(yīng)的補(bǔ)償節(jié)點(diǎn),增大補(bǔ)償節(jié)點(diǎn)發(fā)射功率,使它的通信范圍覆蓋MPR集合中惟一節(jié)點(diǎn)所覆蓋的范圍,這樣就解除了該惟一節(jié)點(diǎn)的不可靠性,以保證整個(gè)網(wǎng)絡(luò)的連通性。補(bǔ)償節(jié)點(diǎn)選擇流程如圖3所示。
由圖3可得到補(bǔ)償算法如下:
BEGIN
DO在Hello消息中附帶子集節(jié)點(diǎn)上一次發(fā)送消息后的剩余能量信息;
IF節(jié)點(diǎn)剩余能量>λ THEN
MPR集合中的節(jié)點(diǎn)能量將要耗盡或者鏈路狀態(tài)變壞;
DO MPR集合中節(jié)點(diǎn)惟一的節(jié)點(diǎn)發(fā)送補(bǔ)償請(qǐng)求消息給所有一跳鄰居節(jié)點(diǎn);
IF該節(jié)點(diǎn)做過補(bǔ)償點(diǎn)THEN
根據(jù)分組內(nèi)部的發(fā)射/接收功率信息;
DO計(jì)算鄰接點(diǎn)與惟一節(jié)點(diǎn)的距離,并寫入補(bǔ)償回應(yīng)消息中,發(fā)送給MPR集合中的節(jié)點(diǎn),同時(shí)該節(jié)點(diǎn)作為備用補(bǔ)償點(diǎn);
ELSF IF距離鄰居節(jié)點(diǎn)N最近THEN
MPR集合中的惟一節(jié)點(diǎn)收到應(yīng)答消息;
DO選擇距離最近的鄰居節(jié)點(diǎn)作為補(bǔ)償點(diǎn);
ELSE END
END IF
END IF
ELSE END
END IF
DO選出的補(bǔ)償節(jié)點(diǎn)根據(jù)收到的信息來調(diào)整發(fā)射功率。補(bǔ)償節(jié)點(diǎn)將自身通信半徑增大到補(bǔ)償節(jié)點(diǎn)的MPR節(jié)點(diǎn)的通信半徑和該MPR節(jié)點(diǎn)與它距離之和;
END
為了節(jié)約能量,補(bǔ)償節(jié)點(diǎn)最大發(fā)射功率的工作時(shí)間為一個(gè)查找周期,當(dāng)發(fā)現(xiàn)MPR集合中的集合節(jié)點(diǎn)不需要補(bǔ)償節(jié)點(diǎn)時(shí)就恢復(fù)之前的發(fā)射功率。
2 自主切換機(jī)制
在路由建立階段,當(dāng)通過各個(gè)節(jié)點(diǎn)的Hello消息使整個(gè)網(wǎng)絡(luò)的MPR節(jié)點(diǎn)集確定后,MPR子集內(nèi)部各個(gè)節(jié)點(diǎn)利用式(1)求出平均閾值Savr:
Savr=Sall/Smpr (1)
式中:Sall代表整個(gè)網(wǎng)絡(luò)的節(jié)點(diǎn)數(shù)和;Smpr代表MPR集合節(jié)點(diǎn)個(gè)數(shù)。MPR節(jié)點(diǎn)集合內(nèi)的各個(gè)子節(jié)點(diǎn)計(jì)算自己負(fù)責(zé)轉(zhuǎn)發(fā)的節(jié)點(diǎn)數(shù)Hello_Cou nt。當(dāng)Hello_Count低于平均閾值Savr時(shí),便利用式(2)開始預(yù)測(cè)本輪信號(hào)強(qiáng)度:
式中:Snew-measure表示新測(cè)得的信號(hào)強(qiáng)度;Sold表示上一次預(yù)測(cè)的信號(hào)強(qiáng)度;Snew表示預(yù)測(cè)的下一段時(shí)間的信號(hào)強(qiáng)度;是權(quán)重,取值范圍是[0,1],越小,預(yù)測(cè)信號(hào)強(qiáng)度受該時(shí)刻信號(hào)強(qiáng)度的影響越大。
當(dāng)預(yù)測(cè)的下次信號(hào)強(qiáng)度低于預(yù)先規(guī)定的一定強(qiáng)度時(shí),可以確定此處為稀疏節(jié)點(diǎn)分布區(qū)且信號(hào)強(qiáng)度較低,則該MPR集合中節(jié)點(diǎn)分組內(nèi)實(shí)行改進(jìn)后的OLSR協(xié)議,否則繼續(xù)使用OLSR協(xié)議。[!--empirenews.page--]
OLSR協(xié)議和改進(jìn)OLSR協(xié)議的自主切換機(jī)制流程如圖4所示。
3 功率控制算法依據(jù)
補(bǔ)償機(jī)制中,需要增大節(jié)點(diǎn)的發(fā)射功率,當(dāng)源節(jié)點(diǎn)向目的節(jié)點(diǎn)發(fā)送分組時(shí),發(fā)送功率Pt與接收功率Pr的關(guān)系如下:
式中:λ為載波波長(zhǎng);d為源節(jié)點(diǎn)和目的節(jié)點(diǎn)間的距離;Gt為發(fā)射機(jī)天線增益;Gr為接收機(jī)天線增益。設(shè)接收功率的門限為Prt,當(dāng)信號(hào)的功率不小于Prt時(shí)才能被正確接收,可推出式(4)和式(5):
由式(4)可知,當(dāng)傳輸距離增大1倍,發(fā)射功率成冪級(jí)數(shù)增加,才能被正確接收。
4 實(shí)驗(yàn)結(jié)果
本文實(shí)驗(yàn)環(huán)境是在Linux操作平臺(tái)下移植了TinyOS操作系統(tǒng),利用CC2430控制芯片進(jìn)行編程,并在ns2.34環(huán)境下進(jìn)行仿真實(shí)驗(yàn)。
4.1 仿真實(shí)驗(yàn)環(huán)境
仿真的網(wǎng)絡(luò)范圍為500m×1 000 m,節(jié)點(diǎn)數(shù)量為20和100個(gè),傳輸范圍為250 m,物理信道的帶寬為2 Mb/s,MAC層使用802.11a協(xié)議。建立12個(gè)CBR業(yè)務(wù)連接,分組長(zhǎng)度為512 B,仿真時(shí)間為200 s,發(fā)包率為4個(gè)/s。節(jié)點(diǎn)的速度分別為0 m/s,1 m/s,5 m/s,10 m/s,20 m/s,25m/s,30m/s。
4.2 性能指標(biāo)
協(xié)議改進(jìn)主要針對(duì)網(wǎng)絡(luò)的可靠傳輸,因此仿真實(shí)驗(yàn)的性能指標(biāo)有節(jié)點(diǎn)投遞率和網(wǎng)絡(luò)傳輸平均延時(shí)。由于改進(jìn)后的協(xié)議運(yùn)用了自主切換機(jī)制,必然會(huì)增大部分能量的開銷,因此,需要對(duì)剩余能量也進(jìn)行仿真實(shí)驗(yàn)。
(1)投遞率
OLSR協(xié)議適用于節(jié)點(diǎn)密集型的網(wǎng)絡(luò),從圖5可以看出,兩個(gè)協(xié)議在100個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)整體比20個(gè)節(jié)點(diǎn)的稀疏網(wǎng)絡(luò)的投遞率高。在節(jié)點(diǎn)固定或者移動(dòng)較小的情況下,性能已經(jīng)很好,則改進(jìn)后的協(xié)議性能并未得到良好的體現(xiàn)。當(dāng)節(jié)點(diǎn)移動(dòng)速度超過10 m/s后,網(wǎng)絡(luò)性能明顯下降,這時(shí)運(yùn)用自主切換機(jī)制,網(wǎng)絡(luò)的投遞率得到顯著改善。速度越大,OLSR協(xié)議性能下降越快,而改進(jìn)的OLSR協(xié)議性能下降得到控制。[!--empirenews.page--]
(2)平均時(shí)延
在節(jié)點(diǎn)固定或者移動(dòng)速度較低的情況下,改進(jìn)的OLSR協(xié)議并未表現(xiàn)出特別的優(yōu)勢(shì),這是由于監(jiān)測(cè)網(wǎng)絡(luò)的性能耗費(fèi)一定的時(shí)延,之前采用自主切換提高的時(shí)延并不明顯。
端到端時(shí)延統(tǒng)計(jì)如圖6所示。由圖可看出,當(dāng)節(jié)點(diǎn)移動(dòng)速度超過15 m/s后,改進(jìn)的OLSR協(xié)議能夠在網(wǎng)絡(luò)剩余能量很低或部分MPR節(jié)點(diǎn)失效的情況下,使數(shù)據(jù)通過補(bǔ)償節(jié)點(diǎn)得到及時(shí)的轉(zhuǎn)發(fā),因而它的網(wǎng)絡(luò)傳播時(shí)延相比OLSR協(xié)議有明顯降低。
(3)剩余能量
對(duì)100個(gè)節(jié)點(diǎn)進(jìn)行仿真,速度固定為5m/s,假定節(jié)點(diǎn)初始能量在[20,60]間隨機(jī)分配。仿真時(shí)間為400s,x軸表示剩余能量,y軸表示處于該能量的節(jié)點(diǎn)數(shù),如圖7所示。
在400s處,使用傳統(tǒng)路由協(xié)議在剩余能量60 J處有3個(gè),而改進(jìn)的協(xié)議在此處為1個(gè)。但是存剩余能量為10 J的節(jié)點(diǎn)中,傳統(tǒng)OLSR有15個(gè),而改進(jìn)的OLSR只有11個(gè),兩個(gè)協(xié)議的大多數(shù)節(jié)點(diǎn)都集中在[20,50]的能量區(qū)。由此可見,使用改進(jìn)的OLSR協(xié)議并沒有造成過多的能量耗費(fèi),同時(shí)有效地平衡了能量的均衡使用,從而延長(zhǎng)了部分節(jié)點(diǎn)的壽命。
5 結(jié)論
本文分析了OLSR協(xié)議不適合節(jié)點(diǎn)分布稀疏的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)情況,通過加入特定節(jié)點(diǎn)補(bǔ)償機(jī)制和自主切換機(jī)制塒其進(jìn)行改進(jìn).并對(duì)改進(jìn)后的OLSR協(xié)議進(jìn)行了仿真。實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的協(xié)議能夠取得更高的投遞率,提高了網(wǎng)絡(luò)傳輸?shù)目煽啃?。在?jié)點(diǎn)移動(dòng)速度較大時(shí),在降低時(shí)延方面效果顯著。同時(shí)也有利地均衡了各個(gè)節(jié)點(diǎn)的能量,從而延長(zhǎng)整個(gè)網(wǎng)絡(luò)的壽命。
選取出的補(bǔ)償節(jié)點(diǎn)進(jìn)行合適的功率放大后,增大了節(jié)點(diǎn)的傳輸覆蓋范圍,必然會(huì)對(duì)周圍的節(jié)點(diǎn)傳輸信號(hào)有所影響,本文假定是在忽略功率增大的幅度對(duì)周圍節(jié)點(diǎn)信號(hào)強(qiáng)度影響的情況下進(jìn)行的研究,下一步對(duì)增加這種補(bǔ)償和切換機(jī)制后的網(wǎng)絡(luò)與節(jié)點(diǎn)信號(hào)強(qiáng)度之間的關(guān)系和影響進(jìn)行研究,找到一種均衡的度量關(guān)系,使改進(jìn)的協(xié)議性能可以得到最好的發(fā)揮。