賴菊蘭,王曉品,劉 強
(廣州軟件學院 電子系,廣東 廣州 510990)
隨著終端接入數據數量增多,無線傳感通信網絡中的傳輸通道會發生擁塞,導致信息丟失,因此需要對無線傳感通信網絡中各傳輸通道的擁塞程度進行控制。文獻[1]提出了基于數據驅動的控制方法,該方法根據節點間關聯性被動監測附近節點傳輸數據幀,對節點活躍度進行量化,并進行擁塞控制。但該方法未考慮擁塞節點發送速率,端到端延時較大。文獻[2]提出了基于帶寬自適應的控制方法,通過分組預測擁塞網絡狀態,估計可用帶寬,判斷網絡丟包程度,通過擁塞窗口自適應調節控制通信網絡擁塞。但該方法受到鏈路帶寬限制,節點丟包率較高。文獻[3]提出了基于博弈論的控制方法,運用數據流優化算法控制通信網絡的擁塞。但數據流優化算法較為復雜,全局吞吐量小。
為了解決上述問題,以提升無線傳感通信網絡擁塞控制效果,本文設計一種嵌入式技術下的無線傳感通信網絡擁塞控制系統。設計嵌入式以太網擁塞數據交換接口電路,采用嵌入緩沖器開環控制模塊結構,根據排隊長度變化控制數據包丟棄率。計算接收方通告窗口大小,檢測高、低優先級傳輸網絡擁塞情況。通過計算擁塞節點發送速率來控制高、低優先級傳輸網絡局部擁塞。將全局擁塞競爭窗口變為當前窗口,使用檢測緩存隊列占空率方式控制全局擁塞。測試結果表明,所設計系統最大吞吐量為2 600 b/s,最大端到端延時為18 s,最大節點丟包率為2.0%,使用該系統能夠提升網絡擁塞控制效果。
當前,網絡中擁塞檢測和控制多依靠節點的主動響應,缺乏節點數據的緩沖區域,這將嚴重影響檢測和控制的進程,并進一步加劇擁塞,導致數據丟包。現有分層網絡架構的各層功能存在著大量的冗余和重疊,數據交換跨接時存在擁塞。為此,文章摒棄傳統分層結構,設計嵌入式無線傳感通信網絡擁塞控制系統硬件結構,如圖1 所示。

圖1 嵌入式無線傳感通信網絡擁塞控制系統硬件結構
如圖1 所示,在系統硬件架構中,使用Cortex?A8 核的AM3354 工業處理器高速處理數據,為系統穩定運行提供支持。利用嵌入式以太網擁塞數據交換接口保證內部點對點連接和外部跨接方式的通信質量,解決數據交換跨接的擁塞問題。利用開環控制模塊將數據按優先級排列,保留數據緩沖區域,控制丟包率。
將以太網接口添加到嵌入式系統中,利用內置的以太網接口來實現。該接口采用一種內部總線的方式來完成與網絡之間的信息交流。嵌入式以太網擁塞數據交換接口電路如圖2 所示。

圖2 嵌入式以太網擁塞數據交換接口電路
DM9000AE 可以8 位或16 位總線與Cortex?A8 內 核的AM3354 工業處理器連接[4?5]。在向以太網上傳輸數據幀時,將其按字節傳輸到DM9000AE 的數據傳輸緩沖存儲器中[6],DM9000AE 根據MAC 分組處 理緩沖數據[7]。外部網線無論是采用點對點還是跨接方式,都可以實現良好的通信。
開環控制是將網絡傳輸信息存儲到緩沖系統,利用模糊規則預測數據流量,控制網絡中的丟包速率[8]。嵌入緩沖器的開環控制模塊結構如圖3 所示。

圖3 嵌入緩沖器的開環控制模塊結構
嵌入緩沖器開環控制的模塊化框架是按照數據包中的優先級來判定的,將具有不同優先級的每個字段排入對應的排隊中[9];然后分別對每一個排隊進行正規化,并對正規化的長度進行估計,通過模糊規則推導出每個隊列的丟包率[10]。
模糊機制的特征在于它消除了以往固定的隊列長度和固定的閾值限制,并以排隊長度的變化情況和隊列優先等級分類為依據,對其進行分類處理,從而動態推斷數據包丟棄概率。
基于開環控制模塊對緩沖空間的隊列數據進行擁塞檢測,根據檢測報文分別對高、低優先級的數據進行擁塞控制。
發送方窗口尺寸取決于接收方可用緩存空間,假設僅接收方可以指示發送方使用傳輸窗口尺寸,若無線傳感通信網絡無法以發送方同樣的速度將數據傳遞至接收方,則應告知發送方減速。除了接收方以外,網絡是一個次要的實體,它確定了發送方窗口的尺寸。用于確定窗口真實尺寸的公式如下:
式中:Ct表示緩存空間;Dt表示擁塞窗口。窗口真正大小取兩者之中相對較小的一個,將該窗口視為發送方窗口。
擁塞窗口有1 個最大報文段的長度作為起始值,該報文段的數據在設置時被指定為同樣名稱的選項。每當有一個報文段被證實,就會在報文段的擁塞窗口增加一個報文段的長度。在第1 個ACK 到達之后,擁塞窗口的尺寸會增加1,則目前的擁塞窗口為2。此時,對于每個ACK,將增大1 個報文段的長度,即識別擁塞窗口為4。這時4 個報文段可以被傳送,在4 次確認之后,擁塞窗口的尺寸會再增大4,即擁塞窗口為8。慢開始不會無限持續,并且發送方會注意到一個變量是慢開始的閾值,在以字節表示的窗口尺寸達到該閾值后,便停止慢開始。
在對每個發送通道的擁塞狀況進行衡量時,根據數據優先權級別檢測發送通道的擁塞狀況,并且它的測量準則也是不同的。針對具有更高優先權的傳輸數據,僅在傳送通道中對具有更高優先權的排隊對象使用情況進行分析。然而,如果有優先級比較低的發送數據,在發送通道擁塞情況下,不僅需要對優先級較低的數據進行變換和分析,還需要將其優先級排隊變為空,如此就可以將其優先級排隊中的數據傳遞出去。描述高優先級傳輸數據a的信道擁塞情況公式如下:
式中:LHt表示所需傳輸高優先級報文長度;GHt表示高優先級數據緩存大?。籒表示節點總數。
對于低優先級傳輸數據b,信道擁塞情況表示為:
式中:LFt表示低優先級報文長度;GFt表示低優先級數據緩存大小。由此完成基于嵌入式技術的擁塞檢測。
將無線傳感通信網絡擁塞分為兩個部分:局部擁塞和全局擁塞,分別采用高優先級傳輸數據和低優先級傳輸數據進行控制。
2.2.1 局部擁塞控制
在常規局部擁塞控制機制下,擁塞節點上游的中間節點負責碼率調整,這將極大地影響整個網絡的通信質量,特別是對高優先級數據包的傳輸穩定性與公平性影響較大。當上游節點接收到節點響應后,在高優先級傳送擁塞節點之間跳躍傳輸數據,但在資源有限的情況下,信源的高發射率將超過整個網絡的最高承載量,導致低優先級傳送數據出現擁塞。為此,本文創新性地提出一種基于閉環的信源率調整方案,信源網節點按照基站的需求動態調節傳輸速率,公式如下:
式中:vk表示擁塞節點速率;g表示基站在單位時間內獲取的數據吞吐量;β表示數據單位時間內基站吞吐量;ψ表示擁塞節點速率提高幅度;分別表示高優先級和低優先級的傳輸速率,上游節點為k。
2.2.2 全局擁塞控制
當出現全局擁塞問題時,競爭窗口變為當前窗口的空閑度λ,則當前窗口可表示為:
在碰撞開始的瞬間,由于競爭權值比較小,所以競爭窗的增幅也較小,能夠降低信道的空閑度,使排隊不會在網絡中等得太久,從而提升信道的使用率。當碰撞次數越來越多,競爭權值越來越大,系統的性能也會越來越好。若重新傳送的數目超過閾值,則會丟棄此數據包,根據緩沖區排隊占空情況判斷是否發生了擁塞,并對各個擁塞節點進行擁塞控制。逐跳網絡擁塞控制示意圖如圖4 所示。

圖4 逐跳網絡擁塞控制示意圖
如圖4 所示,當一個局部節點接收到一個待轉發數據時,通過逐跳網絡能夠立刻檢測擁塞。為了減少一個受影響的節點到達該通道所需的時間,可以在最短的時間內將數據包從數據緩沖區中釋放出來,從而快速緩解全局擁塞。由此完成嵌入式技術下無線傳感通信網絡擁塞控制。
以實際無線傳感通信網絡的狀況為依據,將等比例的模擬場景部署在1 000 m×1 000 m 的監控范圍內,通過數據傳輸可靠性衡量所設計的控制系統的穩定性。
采用NS?2 仿真平臺對設計的控制系統進行仿真實驗,基于此搭建的網絡拓撲結構如圖5 所示。

圖5 無線傳感通信網絡拓撲結構
在安全校驗范圍內,利用虛擬節點對節點信息校驗,避免被破壞節點中信息丟失。
將本文控制系統與基于數據驅動的控制方法(文獻[1])、基于帶寬自適應的控制方法(文獻[2])、基于博弈論的控制方法(文獻[3])進行對比分析。
3.2.1 全局吞吐量
將全局吞吐量作為控制效率評價指標,公式如下:
式中:M表示信息量;T表示時間。根據該公式并結合實驗數據,統計13 000 s 內不同方法的全局實際吞吐量。不同方法全局吞吐量對比結果如圖6 所示。

圖6 不同方法全局吞吐量對比結果
由圖6 可知,使用嵌入式技術下的控制系統比其他三種方法的吞吐量要大,最大吞吐量為2 600 b/s,說明該系統利用良好的吞吐性能可以控制網絡擁塞。
3.2.2 端到端延時
將端到端延時作為控制效率的評價指標,公式如下:
式中:Td、Tp、Tt分別表示傳輸時延、傳播時延和處理時延;S表示源主機和目的主機之間的路由器臺數。
不同方法端到端延時的對比結果如圖7 所示。由圖7 可知:使用基于數據驅動的控制方法、基于帶寬自適應的控制方法、基于博弈論的控制方法最大端到端延時分別為59 s、70 s、93 s;使用嵌入式技術下控制系統最大端到端延時為18 s,與其他方法相比,該系統擁塞控制延時較小。

圖7 不同方法端到端延時對比結果
3.2.3 節點丟包率
將節點丟包率作為系統擁塞控制可靠性衡量指標,公式如下:
式中:Ds、Dr分別表示節點發送數據包平均數和最終接收數據包均值。不同方法節點丟包率對比結果如表1所示。

表1 不同方法節點丟包率對比結果 %
由表1 可知,本文設計的控制系統比其他三種方法的節點丟包率小,能夠在擁塞信道內有效控制節點丟包率。
針對傳統控制系統擁塞控制效果差的問題,本文設計一種嵌入式技術下的無線傳感通信網絡擁塞控制系統。在此基礎上,充分發揮嵌入式節點的靈活性和精確性,實現了對非聯網情況下網絡擁塞的有效控制。實驗測試結果表明,所設計系統通過控制吞吐量、端到端延時、節點丟包率,能夠較快地緩解擁塞,在節約能量前提下,減少了網絡丟包,可以有效地克服現有方法缺陷,實現精確控制。