鄭州航空工業管理學院電子通信工程學院 劉 亞 王 龍 陳建威
無線傳感網絡一種擁塞控制機制研究
鄭州航空工業管理學院電子通信工程學院 劉 亞 王 龍 陳建威
無線傳感器網絡容易產生擁塞,嚴重影響網絡的Qos傳輸性能和生存周期,擁塞控制成為無線傳感器網絡服務質量保障機制的關鍵技術之一。本文提出的無線傳感器網絡擁塞控制機制,包括逐跳擁塞反饋和速率調節兩部分,結果表明,該擁塞控制機制不僅有效地緩解網絡擁塞情況還保持了網絡吞吐的穩定,具有良好的能源有效性。
無線傳感網絡;擁塞控制;速率調節
無線傳感網絡(WSN)監測區域內大量的傳感器節點隨機散布、節點間采用多跳的多對一的通信方式,大量的、并發的數據發送造成干擾,另外傳感器節點的計算能力和存儲空間也十分有限,可以說網絡擁塞肯定會發生在網絡的通信過程中。網絡擁塞會導致節點緩沖區溢出,進而引起數據包的丟失,不利于保證網絡傳輸性能的穩定。傳統的網絡擁塞控制機制無法適用于WSN,因此本文設計一種有效的擁塞控制機制(CCMW),來提高WSN的性能。

圖1 擁塞控制網絡拓撲圖
本文提出的擁塞控制機制主要包括兩部分:(1)擁塞檢測與逐跳的擁塞反饋;(2)速率調節。如圖1所示,節點z周期性的獲取上游節點x和y的發送速率并結合自身緩沖隊列的使用情況來計算判斷當前節點z擁塞發生的可能性,如果z檢測到擁塞則向上游節點反饋擁塞消息,讓上游節點x和y按預先設定的策略降低發送速率,同時z的下游節點p也根據預定策略決定是否提高z的發送速率。基站也有規律的計算單位時間內收到數據包個數,來確定源速率調節。
有效的擁塞檢測是處理網絡擁塞控制的前提和重要保證,但是類似于文獻[2]中CODA這種檢測擁塞的手段會大量增加節點能耗,并且可能會導致對信道是否發生擁塞情況的誤判。假設當節點緩沖隊列中數據包較少,而信道采樣值大于規定的值,此時擁塞可能不會發生,卻會引起上游節點的一系列速率操作。所以基于緩沖隊列使用情況的擁塞檢測要更優于基于CODA的擁塞檢測機制。
擁塞檢測的基本思想是:以△t為時間周期,階段性的檢測當前緩沖隊列的可用空間,結合當前節點本身的輸出速率和上游節點的輸入速率判斷下個周期內緩沖隊列是否會溢出而發生擁塞。
速率調節是解決擁塞問題的基本手段。本文速率調節分為局部速率調節和全局速率調節兩種。
局部調節指的是對擁塞節點本身和其上下游節點發送速率的調節。這種方法避免了因為節點緩沖隊列大小的差別而導致擁塞的發生,使得緩沖隊列較小的節點同樣能保持較高的發送速率來減少緩沖的數據包個數以免擁塞進一步向上擴散。
全局速率調節是從源節點到基站的速率調節。源節點執行速率調節分開兩種情況,一是響應下游擁塞節點的反饋信息降低發送速率,二是在基站收到的某事件的數據包個數不符合對該事件的準確性要求時,進行基站到源節點的速率調節。源節點參考基站的計算結果進行速率調節相對比較準確,能夠確保信道出現擁塞情況時快速恢復,保證網絡傳輸性能,降低網絡傳輸的丟包率。
在100*100m2,節點數為40并且隨機分布的WSN中,進行仿真,其中源節點速率每秒鐘120個數據包,數據包長度30Bytes,信道容量256Kbs,節點通信半徑30m,實驗通過隨機選取6個節點作為源節點來產生數據包,觀察CCMW和CODA兩種機制的性能。仿真結果如圖2-3所示:

圖2 平均網絡丟包率對比圖

圖3 源節點速率圖
圖2所示,本文中的CCMW機制在第6s時擁塞情況得到緩解,其丟包率也被控制在152packets/s,而CODA是在仿真進行到第8s時擁塞情況才開始緩解,并且丟包率相對更高。從圖3可以看出仿真開始大約五秒左右,本文機制下的源節點速率就停留在一個相對比較穩定的位置,而CODA機制下的源節點速率波動相對較大。
本文提出了一種無線傳感網絡擁塞控制機制CCMW,CCMW主要分為兩個部分:擁塞檢測與逐跳的擁塞反饋;速率調節。并對CCMW和CODA方案進行了仿真對比,通過在網絡丟包率、能耗和穩定性方面的比較,表明CCMW具有較好的性能。
[1]Wan C Y,Eisenman S,and Campbell A.CODA:Congestion detection and avoidance in sensor Network[J].Proceeding of ACM first conference on Sensor System,Los Angeles,USA,2013(2):266-278.
[2]浦倩云,吳錫生.基于擁塞控制的無線路由算法研究[J].通信技術,2016,44(03):312-317.
[3]錢麗麗.監測類應用無線傳感器網絡抗擁塞MAC協議研究[D].南京:東南大學,2016.
劉亞(1987—),女,河南鄭州人,碩士,鄭州航空工業管理學院電子通信學院助教,研究方向:無線傳感網絡技術。
航空科學基金資助項目(2015ZD55005);河南省科技攻關基金資助項目(No.152102210137);鄭州航院青年科研基金項目(2017133002)。