官术网_书友最值得收藏!

第5章
無線傳感器網絡傳輸層協議

5.1 無線傳感器網絡傳輸層協議概述

在OSI模型中,傳輸層是第四層,是整個協議的核心層,主要負責在源和目標之間提供可靠的、性價比合理的數據傳輸功能。為了實現傳輸層對上層透明、可靠的數據傳輸服務,傳輸層主要研究控制鏈路的流量和如何避免擁塞,保證數據能夠有效、無差錯地傳輸到目的節點。

與OSI模型類似,在無線傳感器網絡中,傳輸層能夠實現節點之間和節點與外部網絡之間的通信,主要負責將監測區域內的數據傳送到外部網絡,理想的傳輸層能支持可靠的信息傳遞并提供有效的擁塞控制,以此來延長無線傳感器網絡的生命周期。

傳統的Internet主要采用TCP/IP協議,也有的采用UDP協議,其中UDP采用的是無連接的傳輸,雖然能夠保證網絡的實時性,時延非常小,但其數據丟包率較高,不能保證數據可靠傳輸,不適用于無線傳感器網絡,下面將詳細討論TCP協議。

TCP協議提供端到端的可靠數據傳輸,采用重傳機制來確保數據被無誤地傳輸到目的節點。但是由于無線傳感器網絡自身的特點,TCP協議不能直接用于無線傳感器網絡,原因如下。

(1)TCP協議提供的是端到端的可靠數據傳輸,也就是說,只提供從源節點到目的節點的數據交換,中間節點只能作為轉發節點,沒有數據處理能力。而無線傳感器網絡中存在大量的冗余信息,要求節點能夠對接收到的數據包進行簡單的處理(如融合、計算)后再轉發,從而提升網絡的性能,這種機制在TCP協議中會被當作丟包來處理,從而源節點會再次重發該數據包,造成能量的浪費和擁塞。

(2)TCP協議采用的三次握手機制,時間太長,過程也相當復雜。對于無線傳感器網絡來說,保證它的實時性是非常重要的,而且無線傳感器網絡中節點的動態性強,TCP沒有相對應的處理機制。

(3)TCP協議對可靠性要求很高,要求所有的數據包都被傳送到目的節點,否則就會重傳,可靠性保證采用的是基于數據包的傳輸方式;而無線傳感器網絡中節點眾多,數據包中包含了太多的冗余信息,進行簡單處理后可能會減少數據包的數量,采用的是基于事件的可靠性,只要求目的節點接收到源節點發送的事件,可以有一定的數據包丟失或者刪除。

(4)在網絡中,反饋非常重要。TCP協議采用的ACK反饋機制,目的節點接收到數據包后,反饋一個ACK數據包來通知源節點已經成功收到數據包,在這個過程中需要經歷所有的中間節點,時延非常大且能量消耗也特別大;而無線傳感器網絡中對時延的要求比較高,能量也非常有限。

(5)對于擁塞控制的無線傳感器網絡協議來說,有時非擁塞丟包是正常的,但是在TCP協議中,非擁塞的丟包會引起源端進入擁塞控制階段,從而降低網絡的性能。

(6)最后一點也最重要,在TCP協議中,每個節點都被要求有一個獨一無二的IP地址,這在大規模的無線傳感器網絡中基本上不可能實現,也是沒有必要的。無線傳感器網絡節點只需要處理好它與相鄰節點之間的通信即可,也省去了要傳輸長地址的麻煩,節省了能量。

因此,無線傳感器網絡的傳輸層協議不能直接使用傳統的TCP協議,而應該根據無線傳感器網絡應用的特點和網絡自身的條件來設計自己的協議,歸納起來,主要包括以下幾點。

1. 降低傳輸層協議的能耗

傳統的傳輸層協議之所以不適用于無線傳感器網絡,其中一個重要的原因就是傳統的傳輸協議需要消耗大量的能量,TCP協議采用三次握手協議,控制開銷太大。無線傳感器網絡是大規模、分布式的網絡,節點分布密集、價格低廉,能源不可替換。因此在無線傳感器網絡設計中,節省能量是首要考慮的因素,研究一種高效的傳輸協議對于延長網絡的生命周期是非常有益的。

無線傳感器網絡有很多種降低能耗的方式,如節點周期性地睡眠或者數據融合等,而且能量效率與節點、睡眠機制和數據融合的聯系也相當緊密。有一個好的擁塞控制機制的協議能夠最大限度地節省能量,基于事件的可靠性保證在一定程度上也能夠減少能源的消耗,因此在設計協議時,必須在綜合考慮、權衡系統所需要的性能后,根據這三個指標來確定協議機制。

2. 進行有效的擁塞控制

在無線傳感器網絡中,觀測區域內的節點感知到數據之后將數據發送給Sink節點,采用的是多對一傳輸模式,這樣勢必就會造成越靠近Sink節點的地方數據流越大,而節點的處理能力和存儲能力是有限的,這樣會造成部分數據包丟失而引發重傳,導致進一步的擁塞,從而加重網絡的負擔,有時甚至會使整個網絡癱瘓。我們通過進行有效的擁塞控制來提高網絡性能,擁塞控制包括擁塞發現和擁塞避免兩方面,擁塞發現一般通過以下兩種方法來檢測。

(1)根據隊列緩存利用率來判斷節點是否處于擁塞狀態。例如,如果節點A的擁塞度設為0.5,節點中隊列緩存擁塞度高于0.5則認為擁塞,若節點A中存儲的數據包大小為N,隊列長度為M,如果N/M>0.5,則判斷該節點處于擁塞狀態。一般來說,節點通過周期性地檢測隊列長度來計算隊列擁塞度,并將此值包含在反饋信息中。

(2)根據信道空閑狀態來判斷是否擁塞。節點周期性地偵聽信道,看看是否有數據在信道上傳輸,可采用這種最直接的方式來判斷擁塞狀態。

方法(1)只能對單個節點進行緩存利用率的測量,不能代表整個鏈路的擁塞度,具有一定的片面性。而方法(2)要求節點時刻保持偵聽狀態,這樣勢必會消耗大量的能量,對于能量有限的無線傳感器網絡來說,采用兩種方法相結合的方式才是最好的,而現在的主流協議也正是采用這種方式。節點先檢測隊列緩存度,發現緩存度高之后再進行信道的偵聽,這樣能夠保證效率,也能夠減少能量的消耗。

檢測到擁塞后,不同的協議也有不同的消除或緩解擁塞機制,其中用得最多的是擁塞反饋和數據路由的切換。簡而言之,擁塞反饋是指節點檢測到擁塞之后,就會給它的父節點發送一個包含擁塞控制信息的數據包,通知上游節點減緩或停止數據包的發送。數據路由的切換則是在節點檢測到擁塞之后,另擇一條最優的路徑傳輸數據,從而減少擁塞節點的數據流,待擁塞解除后,恢復原最優路徑繼續傳輸數據。

3. 保證網絡的可靠性

保證無線傳感器網絡的可靠性主要是通過發送數據的冗余信息和數據包的重傳機制來完成的。眾多節點檢測到同一信息之后,發送包含同一事件的數據包,會有一定的冗余信息,即使有部分數據包丟失或者被刪除之后還能夠保證事件被可靠地傳輸到目的節點;另外一個就是數據包的重傳,重傳有三種機制,即ACK反饋重傳、NACK反饋重傳和IACK反饋重傳,一般來說,節點首先將數據包復制之后保存在緩存中,若收到目的節點發回來的“成功發送”反饋信息,則將數據包刪除,反之則重新發送數據包。

可靠性可以分為兩種:數據包可靠性和基于事件的可靠性。TCP協議采用的就是基于數據包的可靠性度量,這種機制要保證所有的數據包都被目的節點無誤地收到。而在無線傳感器網絡中可靠性保證雖然也分為這兩種,但基于數據包的可靠性度量只是用在某些要求特別高的領域,如軍事、戰場等;對于一般的無線傳感器網絡來說,基于數據包的可靠性是沒有必要的,因為大量的冗余信息允許一定的數據包丟失或者融合,并不要求所有數據包都可靠地傳輸,如溫度、天氣測量等,這種方式稱為基于事件的可靠性度量。采用這種方式能夠在一定程度上減少擁塞,降低節點消耗的能量。

主站蜘蛛池模板: 永川市| 乌审旗| 黔南| 肇州县| 邳州市| 左贡县| 当涂县| 竹溪县| 万盛区| 荣昌县| 右玉县| 平顶山市| 迁西县| 海南省| 额敏县| 杭锦旗| 红安县| 开远市| 东港市| 化德县| 江都市| 平舆县| 株洲县| 叙永县| 德钦县| 沧州市| 讷河市| 弋阳县| 当阳市| 新竹市| 班玛县| 黎城县| 商南县| 石棉县| 墨竹工卡县| 凤阳县| 新津县| 玉林市| 吉安市| 盘锦市| 昭觉县|