摘要:無線傳感器網(wǎng)絡(WSN)中多對一通信產(chǎn)生的網(wǎng)絡擁塞是一個亟待解決的問題。針對WSN節(jié)點生命期有限的情況,引入了節(jié)點相對信息熵的概念,提出基于節(jié)點相對信息熵的擁塞避免機制:節(jié)點首先計算其聯(lián)合信息熵為上游節(jié)點分配數(shù)據(jù)窗;然后上游節(jié)點根據(jù)收到的數(shù)據(jù)窗的大小來決定向下游節(jié)點發(fā)送數(shù)據(jù)包的大小。仿真分析表明,該算法有效地避免了網(wǎng)絡數(shù)據(jù)包的丟失,減少了網(wǎng)絡傳輸延遲,且具有良好的能量有效性。
關鍵詞:無線傳感器網(wǎng)絡;節(jié)點相對信息熵;擁塞避免;數(shù)據(jù)窗
0 引言
與物理世界緊密耦合的無線傳感器網(wǎng)絡(WSN)具有大規(guī)模密集部署、節(jié)點資源受限、無線帶寬小、拓撲結構動態(tài)變化等特點。其節(jié)點采集到的數(shù)據(jù)以多跳的方式發(fā)送到基站。這種多對一的數(shù)據(jù)傳輸方式以及待檢測事件的突發(fā)性,使得能量、處理能力及通信能力都受限的WSN在數(shù)據(jù)傳輸過程中經(jīng)常發(fā)生擁塞,從而導致數(shù)據(jù)包的大量丟失和網(wǎng)絡傳輸?shù)难舆t等問題。對于能源非常有限的節(jié)點,如何延長無線傳感器網(wǎng)絡的生命期是一個很重要的問題。在無線傳感器網(wǎng)絡中,無線通信是能源的主要消耗者,無線通信主要是數(shù)據(jù)包的轉發(fā),減少數(shù)據(jù)包的轉發(fā)次數(shù),合理分配節(jié)點發(fā)送數(shù)據(jù)包的大小,有效利用節(jié)點轉發(fā)的數(shù)據(jù)包不但可以減少無線傳感器網(wǎng)絡的能量消耗,而且還可以保證在突發(fā)情況下保證網(wǎng)絡的暢通,降低災害事件的發(fā)生。因此,節(jié)點擁塞避免是保證無線傳感器網(wǎng)絡正常傳輸?shù)囊粋€關鍵手段。
近年來,WSN中的擁塞問題日益引起了學術界的廣泛關注。研究人員逐步提出了多種針對WSN自身特點的控制策略(如CODA,ESRT,F(xiàn)usion等)。這些控制算法采用了不同的機制有效地減輕擁塞,是一種被動的方式,可能導致節(jié)點數(shù)據(jù)的重發(fā),且一般不能完全消除節(jié)點擁塞現(xiàn)象。
現(xiàn)有無線傳感器網(wǎng)絡的節(jié)點擁塞控制機制都是在節(jié)點發(fā)生擁塞時才采取一定的擁塞控制措施。但是,無線傳感器網(wǎng)絡節(jié)點大規(guī)模密集部署,在突發(fā)數(shù)據(jù)流引發(fā)擁塞后,再采用擁塞控制措施也不一定可以完全避免節(jié)點擁塞,很有可能導致災難性的后果發(fā)生。因此,在本文中,提出了基于節(jié)點相對信息熵的擁塞避免機制,該擁塞避免機制是基于事件的有效信息量,真正體現(xiàn)無線傳感器網(wǎng)絡以事件為中心的特點。
1 基于信息熵的節(jié)點擁塞避免策略
節(jié)點擁塞避免的重要問題是按一定的策略,為網(wǎng)絡資源均衡合理地分配數(shù)據(jù)窗的大小。在無線傳感器網(wǎng)絡中,由于節(jié)點大規(guī)模部署,若兩個節(jié)點位于各自的通信半徑內(nèi),它們可以直接通信。節(jié)點響應監(jiān)測區(qū)域內(nèi)的事件或周期性地產(chǎn)生數(shù)據(jù)并發(fā)送至基站。如圖1所示,對于相同的感知區(qū)域,把感知到的數(shù)據(jù)轉發(fā)到下游節(jié)點,其下游節(jié)點不斷把數(shù)據(jù)再轉發(fā)到自身的下游節(jié)點,這樣不斷地進行數(shù)據(jù)轉發(fā),最后可能導致下游的某個節(jié)點產(chǎn)生擁塞。顯然,對于大規(guī)模部署和處理緊急事件的無線傳感器網(wǎng)絡來講,擁塞不僅嚴重浪費了節(jié)點能量還降低了轉發(fā)效率,而且還可能導致不可預料的事件發(fā)生。
1.1 WSN節(jié)點網(wǎng)絡模型
WSN由分布在各個地方的傳感器節(jié)點通過自組織方式所形成的網(wǎng)絡模型。在該模型中,傳感器節(jié)點采集數(shù)據(jù),通過無線傳感器網(wǎng)絡傳遞到基站,然后再傳遞給檢測中心。在這里假設每一個傳感器節(jié)點都有直接或間接與基站通信的能力,則節(jié)點會響應監(jiān)測區(qū)域內(nèi)的事件或周期性地產(chǎn)生數(shù)據(jù)并發(fā)送到基站。
假設N個傳感器節(jié)點按相對均勻的隨機高密度部署在一個監(jiān)測區(qū)域內(nèi),具有以下性質(zhì):
(1)N個傳感器節(jié)點被隨機部署在監(jiān)測區(qū)域,基站不受能源限制,且位于一個區(qū)域的邊界上,其他傳感器節(jié)點為電池驅動;
(2)所有節(jié)點都為靜止節(jié)點,且各節(jié)點的軟硬件同構,通信頻率相同;
(3)每個節(jié)點采用全向天線,節(jié)點之間為雙向鏈路即A節(jié)點能和B節(jié)點通信,B節(jié)點也能和A節(jié)點通信,節(jié)點的通信范圍有限且通信半徑保持為R;
(4)WSN的信道質(zhì)量可靠且傳輸?shù)恼`碼率基本可以忽略,其路由機制保持相對靜止,不會出現(xiàn)很大范圍的路由變化。
1.2 WSN中信息熵的數(shù)學定義
在此基于WSN的網(wǎng)絡模型和信息論,給出WSN節(jié)點的信息熵的數(shù)學定義。
定義1:節(jié)點信息熵:根據(jù)香農(nóng)的定義,自信息的數(shù)學期望為信息熵,因此節(jié)點信息熵表示節(jié)點N每發(fā)送一個數(shù)據(jù)包所提供的平均信息量:
式中:q表示ai(i=1,2,…,q-1,q)的取值有q種可能性;P(ai)為字符ai出現(xiàn)的概率,節(jié)點信息熵H(X)表征了傳感器節(jié)點整體的統(tǒng)計特征,是總體平均不確定性的量度(單位:比特/數(shù)據(jù)包)。式(1)中的單位取決于對數(shù)函數(shù)的底數(shù)。本文中,取對數(shù)函數(shù)底數(shù)為2,即表示每個數(shù)據(jù)包含有1比特的信息量。
在無線傳感器網(wǎng)絡中,節(jié)點感知到的數(shù)據(jù)既存在一定的差異又有一定的冗余,為了表征節(jié)點之間的這種關系,下面引入了節(jié)點相對信息熵。
定義2:節(jié)點相對信息熵:假設P和Q是兩個概率分布函數(shù),則定義P相對于Q的信息距離即節(jié)點相對信息熵為:
式中:Pi和Qi為一個字符在節(jié)點中所出現(xiàn)的概率。
節(jié)點相對信息熵可用于計算任意兩節(jié)點之間節(jié)點信息熵的差異性的大小。它的物理意義是兩組概率分布之間的差異性程度,因而對于兩組不同的概率分布P和Q,計算其節(jié)點相對信息熵D(P‖Q),如果這個值越小,表明兩組概率分布越接近,這兩個節(jié)點之間的數(shù)據(jù)相似程度越大,則節(jié)點P就可以減少向節(jié)點Q發(fā)送數(shù)據(jù)包以保證網(wǎng)絡的暢通。對于極限情況,當D(P‖Q)=0時,表示兩組概率分布完全相等,則這兩個節(jié)點之間的數(shù)據(jù)幾乎一樣,此時,節(jié)點P可以暫停向節(jié)點Q發(fā)送數(shù)據(jù)包。
1.3 基于節(jié)點信息熵的擁塞避免策略
在一種路由協(xié)議機制下,若一個數(shù)據(jù)包從節(jié)點u發(fā)送至鄰居節(jié)點d,則稱u是d的上游節(jié)點,d是u的下游節(jié)點。在本文的網(wǎng)絡模型中,總是假設路由機制是靜態(tài)的或是很少進行更新的,因此可知每個下游節(jié)點d總是可以知道有多少個上游節(jié)點u。按照上述基本假設,本文提出的擁塞避免策略過程如圖2所示。
1.4 算法的分析與實現(xiàn)
在這里以雙重身份節(jié)點m(節(jié)點m既可以看作下游節(jié)點,也可以看作上游節(jié)點)作為主要考慮節(jié)點,首先當節(jié)點m作為上游節(jié)點時,向其自己的上游節(jié)點發(fā)送消息
(1)如果節(jié)點m發(fā)送數(shù)據(jù)窗SDWm>0且當前信道可用,則節(jié)點m根據(jù)其收到的下游節(jié)點發(fā)送的廣播消息
(3)如果僅作為上游節(jié)點u的發(fā)送數(shù)據(jù)窗SDWm>0,則上游節(jié)點u退出上游節(jié)點集,此時上游節(jié)點u不響應下游節(jié)點d發(fā)送的
(4)如果僅作為上游節(jié)點u發(fā)送數(shù)據(jù)窗SDWm=0,上游節(jié)點集則向下游節(jié)點發(fā)送消息(req>;
(5)下游節(jié)點m收到消息廣播消息
在上述過程中,若上游節(jié)點u當前的發(fā)生數(shù)據(jù)窗大于0,則不響應下游節(jié)點d發(fā)送的
2 實驗仿真
為了驗證本文所提出的避免節(jié)點擁塞機制的性能,選取經(jīng)典的CODA算法作比較?,F(xiàn)假設本文的仿真實驗環(huán)境設置如下:
(1)選取200個節(jié)點隨機部署在600×600的正方形區(qū)域內(nèi),基站選擇在該區(qū)域邊界上;
(2)節(jié)點的位置是固定的,且節(jié)點之間的通信半徑R=50,網(wǎng)絡帶寬設置為1 Mb/s;
(3)信道質(zhì)量相對可靠,可忽略信道對誤碼率的影響,源節(jié)點產(chǎn)生的數(shù)據(jù)包大小相同,且報文的產(chǎn)生率為每單位時間10個數(shù)據(jù)包,節(jié)點可用最大緩沖區(qū)間為15個數(shù)據(jù)包。
圖3描述了仿真過程中的網(wǎng)絡傳輸延遲。從圖中可以看出,CODA下的網(wǎng)絡傳輸延遲(每個到達基站的數(shù)據(jù)包在網(wǎng)絡中停留的時間)得到了一定的控制,而本文由于采用了基于發(fā)送數(shù)據(jù)窗的擁塞避免機制,降低了數(shù)據(jù)包在緩沖區(qū)內(nèi)的平均等待時間,減少了在網(wǎng)絡中的傳輸延遲。
圖4表示了對網(wǎng)絡平均丟包率的比較。由于仿真環(huán)境假設信道質(zhì)量相對可靠,不會對網(wǎng)絡平均丟包率造成影響,因此,這里的數(shù)據(jù)包的丟失主要是由網(wǎng)絡的擁塞引起的。從圖中可以看出,CODA的網(wǎng)絡平均丟包率比本文的平均丟包率高。由于CODA采取了調(diào)節(jié)局部擁塞的節(jié)點,則在第120 s左右網(wǎng)絡平均丟包率趨于穩(wěn)定,網(wǎng)絡平均丟包率幾乎為0,但并不能保證在有突發(fā)數(shù)據(jù)流出現(xiàn)時隨著時間的推移還會出現(xiàn)網(wǎng)絡平均丟包率增大的現(xiàn)象。而本文的算法完全是采用的節(jié)點避免策略,因此在整個網(wǎng)絡生命周期內(nèi),網(wǎng)絡的平均丟包率幾乎為0。
圖5主要從無線傳感器網(wǎng)絡的能耗上進行比較。由于CODA下的數(shù)據(jù)包傳輸跳數(shù)較少,進而轉發(fā)數(shù)據(jù)包的次數(shù)也會減少,所以CODA的能耗相對較低一些。本文的算法雖然增加了傳輸跳數(shù)和節(jié)點之間的通信次數(shù),但卻減少了由于沖突和擁塞帶來的能量浪費,進而有效地提高了能源的利用率。從圖5中可以看出,本文的算法比CODA的能量消耗相對多些,但這對于處理突發(fā)的緊急事件卻起著重要的作用,這樣即使多消耗了
一點能量,卻可以避免災難性后果的發(fā)生。
3 結語
本文在現(xiàn)有節(jié)點擁塞控制的基礎上提出了基于信息熵的節(jié)點擁塞避免機制。仿真測試表明,該算法更適合于突發(fā)情況下的無線傳感器網(wǎng)絡的特點。算法使用的基于信息熵的擁塞避免策略,可以有效地避免節(jié)點產(chǎn)生擁塞,從而減少了網(wǎng)絡的平均丟包率,降低了網(wǎng)絡中的傳輸延遲,這對于處理突發(fā)緊急的事件是非常重要的,由于節(jié)點不需要時刻監(jiān)測信道狀態(tài),因此只有在有突發(fā)事件發(fā)生時,才會消耗大量能量??偟膩碚f,本文的算法是比較合理的。