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