第14章-物聯(lián)網(wǎng)通信技術(shù)(曾憲武)LXX2014.7_第1頁
第14章-物聯(lián)網(wǎng)通信技術(shù)(曾憲武)LXX2014.7_第2頁
第14章-物聯(lián)網(wǎng)通信技術(shù)(曾憲武)LXX2014.7_第3頁
第14章-物聯(lián)網(wǎng)通信技術(shù)(曾憲武)LXX2014.7_第4頁
第14章-物聯(lián)網(wǎng)通信技術(shù)(曾憲武)LXX2014.7_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第14章的協(xié)議1 1 第14章WSN的MAC協(xié)議14.1基于競爭的基于競爭的MAC協(xié)議協(xié)議14.2基于時分復(fù)用的基于時分復(fù)用的MAC協(xié)議協(xié)議本章小結(jié)本章小結(jié)第14章的協(xié)議2 2 14.1 基于競爭的基于競爭的MAC協(xié)議協(xié)議14.1.1 IEEE802.11 MAC協(xié)議協(xié)議IEEE802.11 MAC協(xié)議包括分布式協(xié)調(diào)(DCF)和點(diǎn)協(xié)調(diào)(Point Coordination Function, PCF)兩種訪問控制方式, 其中DCF是IEEE802.11協(xié)議的基本訪問控制方式。 由于在無線信道中難以檢測到信號的碰撞, 因而只能采用隨機(jī)退避的方式來減少數(shù)據(jù)碰撞的概率。第14章的協(xié)議3 3在DCF工

2、作方式下, 節(jié)點(diǎn)在偵聽到無線信道忙之后, 采用CSMA/CA機(jī)制和隨機(jī)退避時間技術(shù), 以實(shí)現(xiàn)無線信道的共享。 另外, 所有定向通信都采用立即主動發(fā)送ACK確認(rèn)幀的機(jī)制, 如果沒有收到ACK幀, 則發(fā)送方會重新發(fā)送數(shù)據(jù)分組。 PCF工作方式是基于優(yōu)先級的無競爭訪問, 是可選的控制方式。 它通過訪問接入點(diǎn)(AP)協(xié)調(diào)節(jié)點(diǎn)的數(shù)據(jù)收發(fā), 通過輪詢方式查詢當(dāng)前哪些節(jié)點(diǎn)有數(shù)據(jù)發(fā)送的請求, 并在必要時給予數(shù)據(jù)發(fā)送權(quán)。第14章的協(xié)議4 4在DCF工作方式下, 載波偵聽機(jī)制通過物理載波偵聽和虛擬載波偵聽來確定無線信道的狀態(tài)。 物理載波偵聽由物理層提供, 而虛擬載波偵聽由MAC層提供。 如圖14.1.1所示, 節(jié)

3、點(diǎn)A欲向節(jié)點(diǎn)B發(fā)送數(shù)據(jù), 節(jié)點(diǎn)C在A的無線通信范圍內(nèi), 節(jié)點(diǎn)D在B的無線通信范圍內(nèi), 但不在A的無線通信范圍內(nèi)。 第14章的協(xié)議5 5圖14.1.1 CSMA/CA虛擬載波偵聽示意圖第14章的協(xié)議6 6節(jié)點(diǎn)A首先向B發(fā)送一個請求幀(Request-to-Send, RTS), 節(jié)點(diǎn)B返回一個清除幀(Clear-to-Send, CTS)給予應(yīng)答。 在這兩個幀中都有一個字段表示這次數(shù)據(jù)交換需要的時間長度, 稱為網(wǎng)絡(luò)分配矢量(Network Allocation Vector, NAV), 其他幀的MAC頭也會攜帶這一信息。 節(jié)點(diǎn)C和D在偵聽到這個信息后, 就不再發(fā)送任何數(shù)據(jù), 直到這次數(shù)交換完成

4、為止。 NAV可看做一個計數(shù)器, 以均勻速率遞減計數(shù)到零。 當(dāng)計數(shù)器為零時, 虛擬載波偵聽指示信道為空閑狀態(tài), 否則, 指示信道為忙狀態(tài)。 第14章的協(xié)議7 7IEEE802.11 MAC協(xié)議規(guī)定了三種基本幀間間隔(Inter-frame Spacing, IFS), 用來提供訪問無線信道的優(yōu)先級。 三種幀間的間隔分別如下: SIFS(Short IFS): 最短幀間間隔。 使用SIFS的幀的優(yōu)先級最高, 用于需要立即響應(yīng)的服務(wù), 如ACK幀、 CTS幀和控制幀等。 第14章的協(xié)議8 8PIFS(PCF IFS): PCF方式下節(jié)點(diǎn)使用的幀間間隔, 用于獲得在無競爭訪問周期啟動時訪問信道的優(yōu)先

5、權(quán)。 DIFS(DCF IFS): DCF方式下節(jié)點(diǎn)使用的幀間間隔, 用于發(fā)送數(shù)據(jù)幀和管理幀。 上述各幀間間隔滿足關(guān)系: DIFSPIFSSIFS。 第14章的協(xié)議9 9根據(jù)CSMA/CA協(xié)議, 當(dāng)一個節(jié)點(diǎn)要傳輸一個數(shù)據(jù)分組時, 它首先偵聽信道狀態(tài)。 如果信道空閑, 而且經(jīng)過一個幀間間隔時間DIFS后信道仍然空閑, 則節(jié)點(diǎn)立即開始發(fā)送數(shù)據(jù)分組。 如果信道忙, 則節(jié)點(diǎn)一直偵聽信道直到信道的空閑時間超過DIFS。 當(dāng)信道最終空閑時, 節(jié)點(diǎn)進(jìn)一步使用二進(jìn)制退避算法(Binary Back-off Algorithm), 進(jìn)入退避狀態(tài)來避免發(fā)生碰撞, 如圖14.1.2所示。 隨機(jī)退避時間按下列公式計算

6、: 第14章的協(xié)議10 10退避時間=Random()aSlottime(14.1.1)式中, Random()是在競爭窗口0, CW內(nèi)均勻分布的偽隨機(jī)整數(shù); CW是整數(shù)隨機(jī)數(shù), 其值處于標(biāo)準(zhǔn)規(guī)定的aCWmin和aCWmax之間; aSlottime是一個時隙時間, 包括發(fā)射啟動時間、 媒體傳播時延、 檢測信道的響應(yīng)時間等。 第14章的協(xié)議11 11圖14.1.2 CSMA/CA訪問機(jī)制時序圖第14章的協(xié)議12 12節(jié)點(diǎn)在進(jìn)入退避狀態(tài)時, 啟動一個退避計時器, 當(dāng)計時達(dá)到退避時間后結(jié)束退避狀態(tài)。 在退避狀態(tài)下, 只有當(dāng)檢測到信道空閑時才進(jìn)行計時。 如果信道忙, 則退避計時器中止計時, 直到檢測

7、到信道空閑時間大于DIFS后才繼續(xù)計時。 當(dāng)多個節(jié)點(diǎn)推遲且進(jìn)入隨機(jī)退避時, 利用隨機(jī)函數(shù)選擇最小退避時間的節(jié)點(diǎn)作為競爭優(yōu)勝者, 如圖14.1.3所示。 第14章的協(xié)議13 13圖14.1.3 IEEE802.11 MAC協(xié)議的退避機(jī)制第14章的協(xié)議14 14IEEE802.11 MAC協(xié)議中通過主動確認(rèn)機(jī)制和預(yù)留機(jī)制來提高性能, 如圖14.1.4所示。 在主動確認(rèn)機(jī)制中, 當(dāng)目標(biāo)節(jié)點(diǎn)收到一個發(fā)給它的有效數(shù)據(jù)幀時, 必須向源節(jié)點(diǎn)發(fā)送一個應(yīng)答幀(ACK), 確認(rèn)數(shù)據(jù)已被正確接收。 為了保證目標(biāo)節(jié)點(diǎn)在發(fā)送ACK過程中不與其他節(jié)點(diǎn)發(fā)生沖突, 目標(biāo)節(jié)點(diǎn)使用SIFS幀作為間隔。 主動確認(rèn)機(jī)制只能用于有明確

8、目標(biāo)地址的幀, 不能用于組播報文和廣播報文傳輸。 第14章的協(xié)議15 15為了減少節(jié)點(diǎn)間使用共享信道的碰撞概率, 預(yù)留機(jī)制要求源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)在發(fā)送數(shù)據(jù)幀之前交換簡短的控制幀, 即發(fā)送請求幀RTS和清除幀CTS。 從RTS(或CTS)幀開始到ACK幀結(jié)束的這段時間, 信道將一直被這個數(shù)據(jù)交換過程占用。 RTS幀和CTS幀中包含有關(guān)這段時間長度的信息。 每個節(jié)點(diǎn)維護(hù)一個定時器, 記錄網(wǎng)絡(luò)分配向量NAV, 指示信道被占用的剩余時間。 一旦收到RTS幀或CTS幀, 所有節(jié)點(diǎn)都必須更新它們的NAV值。 只有在NAV減至零時,節(jié)點(diǎn)才可能發(fā)送信息。 通過此種方式, RTS幀和CTS幀為節(jié)點(diǎn)的數(shù)據(jù)傳輸預(yù)留了

9、無線信道。 第14章的協(xié)議16 16圖14.1.4 IEEE802.11 MAC協(xié)議的應(yīng)答域預(yù)留機(jī)制第14章的協(xié)議17 1714.1.2 S-MAC協(xié)議協(xié)議S-MAC(Sensor MAC)協(xié)議是在IEEE802.11 MAC協(xié)議的基礎(chǔ)上, 針對WSN的節(jié)省能量需求而提出的無線傳感器網(wǎng)絡(luò)MAC協(xié)議。 S-MAC協(xié)議假設(shè)在通常情況下, WSN的數(shù)據(jù)傳輸量較少, 而節(jié)點(diǎn)能協(xié)作完成共同的任務(wù), 網(wǎng)絡(luò)內(nèi)部能夠進(jìn)行數(shù)據(jù)的處理和融合以減少數(shù)據(jù)通信量, 網(wǎng)絡(luò)能夠容忍一定程度的通信延遲。 它的主要設(shè)計目標(biāo)是提供良好的擴(kuò)展性, 減少節(jié)點(diǎn)能量的消耗。 第14章的協(xié)議18 18針對碰撞重傳、 串音、 空閑偵聽和控制

10、消息等可能造成WSN消耗更多能量等因素,S-MAC 協(xié)議采用了周期性偵聽/睡眠的低占空比工作方式, 控制節(jié)點(diǎn)盡可能處于睡眠狀態(tài)以便能降低節(jié)點(diǎn)能量的消耗; 相鄰節(jié)點(diǎn)通過協(xié)商的一致性睡眠調(diào)度機(jī)制形成虛擬簇, 減少節(jié)點(diǎn)的空閑偵聽時間; 通過流量自適應(yīng)的偵聽機(jī)制, 減少信息在網(wǎng)絡(luò)中的傳輸延遲; 通過帶內(nèi)信令, 減少重傳和避免監(jiān)聽不必要的數(shù)據(jù); 通過消息分割和突發(fā)傳遞機(jī)制, 減少控制消息的開銷和消息的傳遞延遲。 以下介紹S-MAC協(xié)議所采用的主要機(jī)制。 第14章的協(xié)議19 191. 周期性偵聽和睡眠為了減少能量消耗, 節(jié)點(diǎn)要盡量處于低功耗的睡眠狀態(tài)。 每個節(jié)點(diǎn)獨(dú)立地調(diào)度其他的工作狀態(tài), 周期性地轉(zhuǎn)入睡眠

11、狀態(tài), 在蘇醒后偵聽信道狀態(tài), 判斷是否要發(fā)送或接收數(shù)據(jù)。 為了便于相互通信, 相鄰節(jié)點(diǎn)之間應(yīng)該盡量維持睡眠/偵聽調(diào)度周期的同步。第14章的協(xié)議2020每個節(jié)點(diǎn)用SYNC消息通告自己的調(diào)度信息, 同時維護(hù)一個調(diào)度表, 以保存所有相鄰節(jié)點(diǎn)的調(diào)度信息。 當(dāng)節(jié)點(diǎn)啟動工作時, 首先在一固定的時長內(nèi)進(jìn)行偵聽, 如果在這段偵聽時間內(nèi)收到其他節(jié)點(diǎn)的調(diào)度信息, 則將它的調(diào)度周期設(shè)置為與鄰居節(jié)點(diǎn)相同的周期, 并在等待一段隨機(jī)時間后廣播它的調(diào)度信息。 當(dāng)節(jié)點(diǎn)收到多個鄰居節(jié)點(diǎn)的不同調(diào)度信息時, 可以選擇第一個收到的調(diào)度信息, 并記錄收到的所有調(diào)度信息。 第14章的協(xié)議21 21如果節(jié)點(diǎn)在這段偵聽時間內(nèi)沒有收到其他節(jié)

12、點(diǎn)的調(diào)度信息, 則產(chǎn)生自己的調(diào)度周期并廣播。 在節(jié)點(diǎn)產(chǎn)生和通告自己的調(diào)度后, 如果收到鄰居的不同調(diào)度, 可分兩種情況進(jìn)行處理: 如果節(jié)點(diǎn)沒有收到過與自己調(diào)度相同的其他鄰居的通告, 則采納鄰居的調(diào)度而丟棄自己生成的調(diào)度; 如果節(jié)點(diǎn)已經(jīng)收到過與自己調(diào)度相同的其他鄰居的通告, 則在調(diào)度表中記錄該調(diào)度信息, 以便能夠與非同步的相鄰節(jié)點(diǎn)進(jìn)行通信。第14章的協(xié)議2222這樣, 具有相同調(diào)度的節(jié)點(diǎn)形成一個虛擬簇, 邊界節(jié)點(diǎn)記錄兩個或多個調(diào)度。 在部署區(qū)域較廣的WSN中, 能夠形成眾多不同的虛擬簇, 從而使得S-MAC具有良好的擴(kuò)展性。 為了適應(yīng)新節(jié)點(diǎn)的加入, 每個節(jié)點(diǎn)都要定期廣播自己的調(diào)度, 使新節(jié)點(diǎn)可以與

13、已經(jīng)存在的相鄰節(jié)點(diǎn)保持同步。 如果一個節(jié)點(diǎn)同時收到兩種不同的調(diào)度, 如圖14.1.5中處于兩個不同調(diào)度區(qū)域重合部分的節(jié)點(diǎn), 那么這個節(jié)點(diǎn)可以選擇先收到的調(diào)度, 并記錄另一個調(diào)度信息。第14章的協(xié)議2323圖14.1.5 S-MAC虛擬簇形成示意圖第14章的協(xié)議24242. 流量自適應(yīng)偵聽機(jī)制WSN一般采用多跳方式進(jìn)行通信, 但節(jié)點(diǎn)的周期性睡眠會導(dǎo)致通信延遲的累加。 S-MAC 協(xié)議采用了流量自適應(yīng)偵聽機(jī)制, 以減少通信延遲的累加效應(yīng)。 其基本思想是: 在一次通信過程中, 節(jié)點(diǎn)的鄰居節(jié)點(diǎn)在通信結(jié)束后不馬上進(jìn)入睡眠狀態(tài), 而是保持偵聽一段時間。 如果節(jié)點(diǎn)在這段時間內(nèi)接到RTS分組, 則立即接收數(shù)據(jù)

14、, 無須等到下一次調(diào)度偵聽周期, 從而減少了數(shù)據(jù)分組的傳輸延遲。 如果在這段時間內(nèi)沒有接到RTS分組, 則轉(zhuǎn)入睡眠狀態(tài)直到下一次調(diào)度偵聽周期。 第14章的協(xié)議25253. 串音避免為了減少碰撞和避免串音, S-MAC協(xié)議采用了與IEEE802.11 MAC協(xié)議類似的虛擬和物理載波偵聽機(jī)制, 以及RTS/CTS的通告機(jī)制。 兩者的區(qū)別在于當(dāng)鄰居節(jié)點(diǎn)處于通信時, S-MAC協(xié)議的節(jié)點(diǎn)進(jìn)入睡眠狀態(tài)。第14章的協(xié)議2626每個節(jié)點(diǎn)在傳輸數(shù)據(jù)時, 都要經(jīng)歷RTS/CTS/數(shù)據(jù)傳輸/ACK確認(rèn)的通信過程(除廣播外)。在傳輸?shù)拿總€分組中, 都有一個域值表示剩余通信過程需要持續(xù)的時間長度。 源和目的節(jié)點(diǎn)的鄰居

15、節(jié)點(diǎn)在偵聽期間偵聽到分組時, 記錄這個時間長度值, 同時進(jìn)入睡眠狀態(tài)。 通信過程記錄的剩余時間會隨著時間不斷減少。 當(dāng)剩余時間減至零時, 若節(jié)點(diǎn)仍處于偵聽周期, 就會被喚醒, 否則, 節(jié)點(diǎn)處于睡眠狀態(tài)直到下一個調(diào)度的偵聽周期。 每個節(jié)點(diǎn)在發(fā)送數(shù)據(jù)時,都要先進(jìn)行載波偵聽。 只有虛擬或物理載波偵聽表示無線信道空閑時, 才可以競爭獲得通信。 第14章的協(xié)議27274. 消息傳遞 因?yàn)閃SN內(nèi)部數(shù)據(jù)處理需要完整的消息, 所以S-MAC協(xié)議利用RTS/CTS機(jī)制, 一次預(yù)約發(fā)送整個長信息的時間; 又因?yàn)閃SN無線信道誤碼率較高, S-MAC協(xié)議將一個長信息分割成幾個短信息在預(yù)約的時間內(nèi)突發(fā)傳送。 為了能

16、讓鄰居節(jié)點(diǎn)及時獲取通信過程的剩余時間, 每個分組都帶有剩余時間域。 為了可靠傳輸以及通告鄰居節(jié)點(diǎn)正在進(jìn)行的通信過程, 目的節(jié)點(diǎn)對每個短消息都要發(fā)送一個應(yīng)答消息。 如果發(fā)送節(jié)點(diǎn)沒有收到應(yīng)答消息, 則立刻重傳該短消息。 第14章的協(xié)議2828S-MAC協(xié)議的消息傳遞機(jī)制與IEEE802.11 MAC協(xié)議的不同之處在于, S-MAC協(xié)議的RTS/CTS控制消息和數(shù)據(jù)攜帶的時間信息是整個長信息傳輸?shù)氖S鄷r間, 其他節(jié)點(diǎn)只要接收到一個信息就能知道整個長信息的剩余時間, 然后進(jìn)入睡眠狀態(tài)直到信息發(fā)送完畢。IEEE802.11MAC協(xié)議考慮網(wǎng)絡(luò)的公平性, RTS/CTS只預(yù)約了下一個發(fā)送短信息的時間, 其他

17、節(jié)點(diǎn)在每個短信息發(fā)送完成后不必醒來即可進(jìn)入偵聽狀態(tài)。 只要發(fā)送方?jīng)]有收到某個短信息的應(yīng)答, 連接就會斷開, 其他節(jié)點(diǎn)便可以開始競爭信道。 S-MAC與IEEE802.11MAC傳輸分組的對比如圖14.1.6所示。 第14章的協(xié)議2929圖14.1.6 S-MAC與IEEE802.11傳輸分組的對比第14章的協(xié)議3030 14.1.3 T-MAC協(xié)議協(xié)議1. 基本原理如圖14.1.7(a)所示, 向上的箭頭表示發(fā)送消息, 向下的箭頭表示接收消息, 上面部分的信息流表示節(jié)點(diǎn)一直處于偵聽方式下的消息收發(fā)序列, 下面部分的信息流表示不采用S-MAC協(xié)議時的消息收發(fā)序列。第14章的協(xié)議31 31圖14.

18、1.7 S-MAC與T-MAC協(xié)議基本機(jī)制對比第14章的協(xié)議3232S-MAC協(xié)議的周期長度受限于延遲要求和緩存大小, 活動時間主要依賴于傳輸信息的速率。 這樣就存在一個問題, 即延遲要求和緩存大小通常是固定的, 而信息傳輸速率通常是變化的。 如果要保證可靠及時的信息傳輸,節(jié)點(diǎn)的活動時間必須適應(yīng)最高通信負(fù)載。 當(dāng)負(fù)載動態(tài)較小時, 節(jié)點(diǎn)處于空閑偵聽的時間相對增加。 第14章的協(xié)議3333針對這個問題, T-MAC協(xié)議在保持周期長度不變的基礎(chǔ)上, 根據(jù)通信流量的變化動態(tài)地調(diào)整活動時間, 用突發(fā)方式發(fā)送信息, 以減少空閑偵聽時間。 如圖14.1.7(b)所示, T-MAC 協(xié)議相對S-MAC協(xié)議減少

19、了處于活動狀態(tài)的時間。 第14章的協(xié)議3434在T-MAC 協(xié)議中, 發(fā)送數(shù)據(jù)時仍采用 RTS/CTS/DATA/ACK的通信過程, 節(jié)點(diǎn)周期性地喚醒并進(jìn)行偵聽, 如果在一個給定時間TA內(nèi)沒有發(fā)生下面任何一個激活事件, 則活動結(jié)束。 在每個活動期間的開始, T-MAC協(xié)議按照突發(fā)方式發(fā)送所有數(shù)據(jù)。 TA決定了每個周期內(nèi)最小的空閑偵聽時間。第14章的協(xié)議3535TA的取值對于T-MAC協(xié)議性能至關(guān)重要, 其取值約束為TAC+R+T (14.1.2)式中, C為競爭信道時間, R為發(fā)送RTS分組的時間, T為RTS分組結(jié)束到發(fā)出CTS分組開始的時間, 它們之間的關(guān)系如圖14.1.8所示。第14章的

20、協(xié)議3636圖14.1.8 T-MAC協(xié)議數(shù)據(jù)傳輸時序圖及TA、 C、 R及T間關(guān)系第14章的協(xié)議37372. 早睡問題通常, 在WSN中存在多個節(jié)點(diǎn)向一個或少數(shù)幾個匯聚節(jié)點(diǎn)傳輸數(shù)據(jù)的單向通信方式。 如圖14.1.9所示, 假設(shè)數(shù)據(jù)傳輸方向是ABCD。 如果節(jié)點(diǎn)A通過競爭首先獲得發(fā)送數(shù)據(jù)到節(jié)點(diǎn)B的機(jī)會, 則節(jié)點(diǎn)A發(fā)送RTS消息給節(jié)點(diǎn)B, B用CTS消息應(yīng)答。 節(jié)點(diǎn)C收到節(jié)點(diǎn)B發(fā)出的CTS消息后而轉(zhuǎn)入睡眠狀態(tài), 在B接收完數(shù)據(jù)后, C醒來, 以便接收節(jié)點(diǎn)B發(fā)送給它的數(shù)據(jù)。 D可能不知道A和B的通信存在, 在AB的通信結(jié)束后已經(jīng)處于睡眠狀態(tài), 這樣, 節(jié)點(diǎn)C只有等到下一個周期才能傳輸數(shù)據(jù)到節(jié)點(diǎn)D。

21、 這種通信延遲稱為早睡問題 (Early-Sleep Problem)。第14章的協(xié)議3838圖14.1.9 T-MAC協(xié)議的數(shù)據(jù)傳輸與早睡問題第14章的協(xié)議3939T-MAC協(xié)議提出兩種方法來解決早睡問題。 第一種方法稱為未來請求發(fā)送(Future RequesttoSend, FRTS)。 如圖14.1.10(a)所示, 當(dāng)節(jié)點(diǎn)C收到B發(fā)送給A的CTS分組后,立刻向下一跳的接收者D發(fā)出FRTS分組。 FRTS分組包含D接收數(shù)據(jù)前需要等待的時間長度, D要在睡眠相應(yīng)長度時間后醒來接收數(shù)據(jù)。第14章的協(xié)議4040由于節(jié)點(diǎn)C發(fā)送的FRTS分組可能干擾節(jié)點(diǎn)A發(fā)送的數(shù)據(jù), 所以節(jié)點(diǎn)A需要推遲發(fā)送數(shù)據(jù)

22、的時間。 A通過在接收到CTS分組后發(fā)送一個與FRTS分組長度相向的DS(Data-Send)分組實(shí)現(xiàn)對信道的占用。 DS分組不包含有用信息。 A在DS分組之后開始發(fā)送正常的數(shù)據(jù)信息。 FRTS方法可以提高吞吐率, 但DS分組和FRTS分組帶來了額外的通信開銷。第14章的協(xié)議41 41圖14.1.10 解決早睡問題的兩種方法第14章的協(xié)議4242另一種方法稱為滿緩沖區(qū)優(yōu)先(Full Buffer Priority)。 當(dāng)節(jié)點(diǎn)的緩沖區(qū)接近滿時, 對收到的RTS不作應(yīng)答, 而是立即向目標(biāo)接收者發(fā)送RTS消息, 并傳輸數(shù)據(jù)給目的節(jié)點(diǎn), 如圖14.1.10(b)所示。 節(jié)點(diǎn)B向節(jié)點(diǎn)C發(fā)送RTS分組,

23、節(jié)點(diǎn)C因其緩沖區(qū)快滿而不發(fā)送CTS, 只是向節(jié)點(diǎn)D發(fā)送RTS, 將它的數(shù)據(jù)發(fā)送給節(jié)點(diǎn)D。 第14章的協(xié)議434314.2 基于時分復(fù)用的基于時分復(fù)用的MAC協(xié)議協(xié)議時分復(fù)用(Time Division Multiple Access, TDMA)是實(shí)現(xiàn)信道分配的一種機(jī)制。 在WSN中采用TDMA機(jī)制, 就可以為每個節(jié)點(diǎn)分配獨(dú)立的用于數(shù)據(jù)發(fā)送或接收的時隙, 于是節(jié)點(diǎn)可以在其他時隙內(nèi)轉(zhuǎn)入睡眠狀態(tài), 以達(dá)到節(jié)省能量的目的。 TDMA機(jī)制沒有競爭機(jī)制所產(chǎn)生的碰撞問題, 數(shù)據(jù)傳輸時不需要過多的控制信息, 節(jié)點(diǎn)在空閑時隙內(nèi)能及時進(jìn)入睡眠狀態(tài)。 第14章的協(xié)議4444TDMA機(jī)制需要節(jié)點(diǎn)之間要有比較嚴(yán)格的時

24、間同步, 這樣才能實(shí)現(xiàn)節(jié)點(diǎn)狀態(tài)的自動轉(zhuǎn)化,以及節(jié)點(diǎn)之間的協(xié)同工作。 TDMA機(jī)制在網(wǎng)絡(luò)擴(kuò)展性方面存在著不足, 很難調(diào)整時間幀的長度和時槽的分配。 對于節(jié)點(diǎn)的移動、 失效等動態(tài)拓?fù)浣Y(jié)構(gòu)適應(yīng)性較差, 對于節(jié)點(diǎn)發(fā)送數(shù)據(jù)量的變化也不敏感。 研究者利用TDMA機(jī)制的優(yōu)點(diǎn), 針對該機(jī)制的不足, 結(jié)合具體的應(yīng)用, 提出了多個基于TDMA的WSN MAC協(xié)議。 下面介紹幾種典型的協(xié)議。 第14章的協(xié)議454514.2.1 基于分簇網(wǎng)絡(luò)的基于分簇網(wǎng)絡(luò)的MAC協(xié)議協(xié)議分簇網(wǎng)絡(luò)是指網(wǎng)絡(luò)中的節(jié)點(diǎn)按照某種方式固定或自動地被劃分為若干個簇, 在每個簇內(nèi),由一個簇頭來控制所有節(jié)點(diǎn)的活動。 在基于分簇網(wǎng)絡(luò)的TDMA協(xié)議中,

25、簇頭負(fù)責(zé)為簇內(nèi)所有WSN節(jié)點(diǎn)分配時隙, 收集和處理簇內(nèi)節(jié)點(diǎn)發(fā)來的數(shù)據(jù), 并將數(shù)據(jù)發(fā)送給匯聚節(jié)點(diǎn)。 分簇WSN的結(jié)構(gòu)如圖14.2.1所示。 第14章的協(xié)議4646圖14.2.1 分簇WSN結(jié)構(gòu)示意圖第14章的協(xié)議4747在基于分簇網(wǎng)絡(luò)的MAC協(xié)議中, 節(jié)點(diǎn)狀態(tài)分為感應(yīng)(Sensing)、 轉(zhuǎn)發(fā)(Relaying)、 感應(yīng)并轉(zhuǎn)發(fā)(Sensing and Relaying)和非活動(Inactive)四種狀態(tài)。 節(jié)點(diǎn)在感應(yīng)狀態(tài)時, 采集數(shù)據(jù)并向其相鄰節(jié)點(diǎn)發(fā)送所采集的數(shù)據(jù); 在轉(zhuǎn)發(fā)狀態(tài)時, 接收其他節(jié)點(diǎn)發(fā)送的數(shù)據(jù)并發(fā)送給下一個節(jié)點(diǎn); 在感應(yīng)并轉(zhuǎn)發(fā)狀態(tài)時, 節(jié)點(diǎn)需要完成上述兩項(xiàng)的功能; 節(jié)點(diǎn)沒有數(shù)據(jù)需要

26、接收和發(fā)送時, 自動進(jìn)入非活動狀態(tài)。 第14章的協(xié)議4848為了適應(yīng)簇內(nèi)節(jié)點(diǎn)的動態(tài)變化、 及時發(fā)現(xiàn)新的節(jié)點(diǎn)、 能量相對高的節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)等目的, 協(xié)議將時間幀分為周期性的四個階段。 第一階段, 數(shù)據(jù)傳輸階段。 簇內(nèi)節(jié)點(diǎn)在各自分配的時隙內(nèi)發(fā)送采集數(shù)據(jù)給簇頭。 第二階段, 刷新階段。 簇內(nèi)節(jié)點(diǎn)向簇頭報告其當(dāng)前狀態(tài)。第14章的協(xié)議4949第三階段, 刷新引起的重組階段。 緊接著刷新階段之后, 簇頭根據(jù)簇內(nèi)節(jié)點(diǎn)的當(dāng)前狀態(tài), 重新給簇內(nèi)節(jié)點(diǎn)分配時隙。 第四階段, 事件觸發(fā)的重組階段。 節(jié)點(diǎn)能量小于特定值、 網(wǎng)絡(luò)拓?fù)浒l(fā)生變化等事件發(fā)生時, 簇頭就要重新分配時隙。 通常在多個數(shù)據(jù)傳輸階段后會有這樣的事件發(fā)生。

27、 第14章的協(xié)議505014.2.2 DEANA協(xié)議協(xié)議分布式能量感知節(jié)點(diǎn)活動(Distributed Energy Aware Node Activation, DEANA)協(xié)議將時間幀分為周期性的調(diào)度訪問階段和隨機(jī)訪問階段。 調(diào)度訪問階段由多個連續(xù)的數(shù)據(jù)傳輸時隙組成, 在某個時隙分配給特定節(jié)點(diǎn)用來發(fā)送數(shù)據(jù)。 除相應(yīng)的接收節(jié)點(diǎn)外, 其他節(jié)點(diǎn)在此時隙內(nèi)處于睡眠狀態(tài), 隨機(jī)訪問階段由多個連續(xù)的信令交換時隙組成, 用于處理節(jié)點(diǎn)的添加、 刪除以及時間同步等。第14章的協(xié)議51 51為了進(jìn)一步節(jié)省能量, 在調(diào)度訪問階段, 每個時隙又細(xì)分為控制時隙和數(shù)據(jù)傳輸時隙。 控制時隙相對數(shù)據(jù)傳輸時隙, 其長度較短

28、。 如果節(jié)點(diǎn)在其分配的時隙內(nèi)有數(shù)據(jù)需要發(fā)送, 則在控制時隙發(fā)出控制消息, 指出接收數(shù)據(jù)的節(jié)點(diǎn), 然后在數(shù)據(jù)傳輸時隙發(fā)送數(shù)據(jù)。 在控制時隙內(nèi), 所有節(jié)點(diǎn)都處于接收狀態(tài)。 如果發(fā)現(xiàn)自己不是數(shù)據(jù)的接收者, 節(jié)點(diǎn)就進(jìn)入睡眠狀態(tài)。 只有數(shù)據(jù)的接收者才能在整個時隙內(nèi)保持在接收狀態(tài)。 這樣就可以有效減少節(jié)點(diǎn)接收不必要的數(shù)據(jù)。 DEANA協(xié)議的時間幀分配如圖14.2.2所示。 第14章的協(xié)議5252圖14.2.2 DEANA協(xié)議的時間幀分配第14章的協(xié)議535314.2.3 TRAMA協(xié)議協(xié)議1. NP協(xié)議 NP協(xié)議在隨機(jī)訪問周期內(nèi)執(zhí)行, 節(jié)點(diǎn)通過NP協(xié)議以競爭方式使用無線信道。 協(xié)議要求節(jié)點(diǎn)周期性通告自己的

29、節(jié)點(diǎn)編號ID, 是否有數(shù)據(jù)需要發(fā)送以及能夠直接通信的鄰居節(jié)點(diǎn)的相關(guān)信息, 并實(shí)現(xiàn)節(jié)點(diǎn)之間的時間同步。第14章的協(xié)議5454在TRAMA協(xié)議中每個節(jié)點(diǎn)有唯一的節(jié)點(diǎn)編號ID。 節(jié)點(diǎn)根據(jù)編號獨(dú)立計算其兩跳內(nèi)所有節(jié)點(diǎn)在每個時隙上的優(yōu)先級, 節(jié)點(diǎn)u在編號為t的時隙內(nèi)的優(yōu)先級計算公式為priority(u, t)=hash(u + t) (14.2.1) 由于節(jié)點(diǎn)間獲取的鄰居節(jié)點(diǎn)信息是一致的, 每個節(jié)點(diǎn)獨(dú)立計算在每個時隙上各個節(jié)點(diǎn)的優(yōu)先級也是一致的, 因此, 節(jié)點(diǎn)能夠確定每個時隙上優(yōu)先級最高的節(jié)點(diǎn), 從而知道自己在哪些時隙上優(yōu)先級最高。 節(jié)點(diǎn)優(yōu)先級最高的時隙稱為節(jié)點(diǎn)的贏時隙。第14章的協(xié)議55552. S

30、EP協(xié)議調(diào)度信息的產(chǎn)生過程如下: 節(jié)點(diǎn)根據(jù)上層應(yīng)用分組的速率, 首先計算它的調(diào)度間隔Tinterval(Tinterval代表一次調(diào)度對應(yīng)的時隙個數(shù)), 然后, 節(jié)點(diǎn)計算在t, t+Tinterval內(nèi)它具有最高優(yōu)先級的時隙; 最后, 節(jié)點(diǎn)在贏時隙內(nèi)發(fā)送數(shù)據(jù)并通過調(diào)度消息告訴相應(yīng)的接收者。 如果節(jié)點(diǎn)沒有足夠多的數(shù)據(jù)需要發(fā)送, 應(yīng)及時通告放棄贏時隙,以便其他節(jié)點(diǎn)利用。 在節(jié)點(diǎn)的每個調(diào)度間隔內(nèi), 最后一個贏時隙預(yù)留給節(jié)點(diǎn)廣播它的下一個調(diào)度間隔的調(diào)度信息。 第14章的協(xié)議5656由于節(jié)點(diǎn)間保持了一致的兩跳鄰居拓?fù)浣Y(jié)構(gòu), 因而可以將鄰居節(jié)點(diǎn)按照節(jié)點(diǎn)ID的升序或降序排列, 并采用位圖(Bitmap)指定

31、接收者。 位圖中的每一位代表一個鄰居節(jié)點(diǎn), 需要該節(jié)點(diǎn)接收信息則將該節(jié)點(diǎn)的對應(yīng)位置置l, 這樣可以方便地實(shí)現(xiàn)單播、 廣播和組播。第14章的協(xié)議5757節(jié)點(diǎn)將放棄的贏時隙位圖置為全0。 最后一個非0時隙稱為變更時隙(Changeover Slot)。 節(jié)點(diǎn)通過調(diào)度分組廣播其調(diào)度信息。 調(diào)度分組的格式如圖14.2.3所示, 其中, SourceAddr是發(fā)送調(diào)度分組的節(jié)點(diǎn)編號; Timeout是從當(dāng)前時隙開始本次調(diào)度有效的時隙個數(shù); Width是鄰居個數(shù), 也就是鄰居位圖的字節(jié)長度; NumSlot是贏時隙的個數(shù)。第14章的協(xié)議5858圖14.2.3 TRAMA協(xié)議中調(diào)度分組格式第14章的協(xié)議59

32、59節(jié)點(diǎn)采用攜帶技術(shù)在發(fā)送數(shù)據(jù)分組中攜帶節(jié)點(diǎn)調(diào)度摘要, 以減少調(diào)度分組在廣播過程中丟失分組所造成的影響。 調(diào)度摘要包括Timeout、 NumSlot以及接下來的一個贏時隙的位圖。 該贏時隙既可以解決調(diào)度分組丟失問題, 也可以實(shí)現(xiàn)調(diào)度變更。 如發(fā)送給節(jié)點(diǎn)2、 3, 現(xiàn)只想發(fā)送給3, 則可以在最近一個數(shù)據(jù)分組中修改贏時隙的位圖(變更部分中的0010表示3)。 第14章的協(xié)議6060出于多種原因, 節(jié)點(diǎn)可能改變自己的調(diào)度, 如調(diào)度分組宣布放棄的贏時隙可能不再放棄等。 在一個節(jié)點(diǎn)的變更時隙, 其所有的鄰居節(jié)點(diǎn)都要處于接收狀態(tài), 來同步它們關(guān)于節(jié)點(diǎn)的調(diào)度信息。 為了防止調(diào)度信息的不一致和發(fā)送調(diào)度分組時

33、產(chǎn)生的沖突, 節(jié)點(diǎn)只能在當(dāng)前調(diào)度時隙內(nèi)的最后一個贏時隙廣播下一個調(diào)度間隔的調(diào)度信息。 第14章的協(xié)議61 613. AEA算法節(jié)點(diǎn)有發(fā)送、 接收和睡眠三種狀態(tài)。 在調(diào)度訪問周期內(nèi)的給定時隙,當(dāng)節(jié)點(diǎn)有數(shù)據(jù)需要發(fā)送, 并且在競爭信道中處于最高的優(yōu)先級時, 它處于發(fā)送狀態(tài), 當(dāng)節(jié)點(diǎn)是當(dāng)前發(fā)送節(jié)點(diǎn)指定的接收者時, 它處于接收狀態(tài); 其他情況下, 節(jié)點(diǎn)處于睡眠狀態(tài)。 每個節(jié)點(diǎn)在調(diào)度周期的每個時隙上運(yùn)行AEA算法。 該算法根據(jù)當(dāng)前兩跳鄰居節(jié)點(diǎn)內(nèi)節(jié)點(diǎn)的優(yōu)先級和一跳鄰居的調(diào)度信息, 決定節(jié)點(diǎn)在當(dāng)前時隙的活動策略為發(fā)送、 接收還是睡眠。 第14章的協(xié)議6262以下引入AEA算法的相關(guān)術(shù)語。 N1(u): u的直

34、接鄰居集合。 N2(u): u的兩跳鄰居集合。 CS(u): u的競爭節(jié)點(diǎn)集合, 包括u、 N1(u)和N2(u)中的節(jié)點(diǎn)。 tx(u): 絕對勝者(Absolute Winner)集合, 是CS(u)中優(yōu)先級最高的節(jié)點(diǎn)。 第14章的協(xié)議6363atx(u): 相對勝者(Alternative Winner)集合, 是u和其直接鄰居中優(yōu)先級最高的節(jié)點(diǎn)。 PTX(u): 可能發(fā)送節(jié)點(diǎn)集合(Possible Transmitter set), 是u及其直接鄰居中滿足以下公式的優(yōu)先級最高的節(jié)點(diǎn), 但不包括atx(u)節(jié)點(diǎn)。 在(5.4.6)中, y是u的一個直接鄰居,其優(yōu)先級大于u的所有兩跳鄰居節(jié)點(diǎn)

35、的優(yōu)先級。 第14章的協(xié)議6464prio(y)prio(u) x, yN1(N1(y) and x N1(y)(14.2.2) NEED(u): 需要競爭節(jié)點(diǎn)(Need Contender Set), u和PTX(u)中需要額外時隙的節(jié)點(diǎn)。ntx(u): 需要發(fā)送者(Need Transmitter), NEED(u)中優(yōu)先級最高的節(jié)點(diǎn)。 在TRAMA協(xié)議中, 節(jié)點(diǎn)間通過NP協(xié)議獲得一致的兩跳內(nèi)的拓?fù)湫畔ⅲ?通過SEP協(xié)議建立和維護(hù)發(fā)送者和接收者的調(diào)度信息, 通過AEA算法決定節(jié)點(diǎn)在當(dāng)前時隙的活動策略。A第14章的協(xié)議6565TRAMA協(xié)議通過分布式協(xié)商保證節(jié)點(diǎn)無沖突地發(fā)送數(shù)據(jù), 無數(shù)據(jù)收發(fā)

36、的節(jié)點(diǎn)處于睡眠狀態(tài); 同時, 避免把時隙分配給沒有信息發(fā)送的節(jié)點(diǎn), 在節(jié)點(diǎn)節(jié)省能量的同時, 保證了網(wǎng)絡(luò)的較高數(shù)據(jù)傳輸速率。 但是, 該協(xié)議要求節(jié)點(diǎn)有較大的存儲空間來保存拓?fù)湫畔⒑袜従诱{(diào)度信息, 需要計算兩跳內(nèi)鄰居的所有節(jié)點(diǎn)的優(yōu)先級, 并且運(yùn)行AEA算法。 TRAMA協(xié)議適用于周期性數(shù)據(jù)收集或監(jiān)測WSN方面的應(yīng)用。 第14章的協(xié)議6666AEA算法的偽代碼描述如下: 1: 計算tx(u), atx(u)和ntx(u)2: if (u-tx(u) then /u是絕對勝者3: if (u在調(diào)度分組中通告在時隙內(nèi)發(fā)送數(shù)據(jù)) then4: let u.state=TX (發(fā)送狀態(tài))5: let u.r

37、eceive=u.reported.rxId6: 發(fā)送數(shù)據(jù), 更新通告的調(diào)度信息7: else if (u在調(diào)度分組中放棄該時隙) then第14章的協(xié)議67678: call HandleNeedTransmissions9: endif 10: else if (tx(u)N1(u) then u的一跳鄰居是絕對勝者11: if (tx(u)在調(diào)度分組中放棄該時隙)then12: call HandleNeedTransmissions13: else if (tx(u)在調(diào)度分組中通告接收者為u)then14: let u.mode=RX(接收狀態(tài))15: else 16: let u. mode=SL (睡眠狀態(tài))第14章的協(xié)議686817: 更新tx(u)的調(diào)度信息18: endif19: else /u的兩跳鄰居是絕對勝者20: if (atx(u)與tx(u)不是兩跳內(nèi)的鄰居, 而且atx(u)PTX(u) then21: call HandleNeedT

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論