一種基于廣播消息的無線傳感器網(wǎng)絡(luò)mac協(xié)議的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種無線傳感器網(wǎng)絡(luò)的MC協(xié)議,具體為一種基于廣播消息的無線傳 感器網(wǎng)絡(luò)MAC協(xié)議。
【背景技術(shù)】
[0002] 無線傳感器網(wǎng)絡(luò)(WirelessSensorNetworks,WSN)是由部署在監(jiān)測區(qū)域內(nèi)大量 的微型傳感器節(jié)點通過無線通信的方式形成的一個多跳自組織網(wǎng)絡(luò)系統(tǒng)。WSN的數(shù)據(jù)感知、 聚合、傳輸?shù)冗^程均由傳感器節(jié)點完成的,但傳感器節(jié)點受到體積、成本的約束,一般設(shè)計 的十分微小,這直接造成節(jié)點本身的計算及存儲能力有限,所以如何節(jié)約節(jié)點的能量消耗 成為WSN的首要考慮因素。WSN同時是一個應(yīng)用相關(guān)性的網(wǎng)絡(luò),網(wǎng)絡(luò)需要按照應(yīng)用的相關(guān)要 求,將用戶感興趣的數(shù)據(jù)傳遞到終端。經(jīng)過分析得知,節(jié)點所消耗能量的90%被無線通信模 塊使用,因此WSN要做到能量高效,通常要以通信模塊作為重點目標(biāo)。因為網(wǎng)絡(luò)節(jié)點的通信 模塊由MAC(MediumAccessControl)層控制,所以通過改進(jìn)MAC協(xié)議來優(yōu)化通信模塊的 工作是實現(xiàn)WSN能量高效的一條較好的途徑。
[0003] 目前,按照信道的接入方式,低功耗MAC協(xié)議可以分為調(diào)度類、競爭類、混合類。調(diào) 度類MAC協(xié)議是一種無碰撞的MAC協(xié)議,大多數(shù)采用TDM機(jī)制,該機(jī)制將連續(xù)的時間分割 成一系列連續(xù)的時隙,節(jié)點只在發(fā)送和接收信息的時隙喚醒。TRAM就是一種流量自適應(yīng) 的調(diào)度類MAC協(xié)議。競爭類MAC協(xié)議是一種自適應(yīng)的MAC協(xié)議,一般采用CSMA機(jī)制即載波 偵聽多路訪問。S-MC是競爭類的代表協(xié)議,采用占空比機(jī)制減少空閑偵聽,利用RTS/CTS/ DATE/ACK數(shù)據(jù)交換機(jī)制消除串音并保障數(shù)據(jù)的完整性,利用自適應(yīng)偵聽減少多跳傳輸?shù)?時延。結(jié)合不同信道接入方式的MAC協(xié)議就是混合類MAC協(xié)議,典型代表有CSMA/TDMA的 Z-MAC和I-MAC已經(jīng)TDMA/FDMA的SMACS/EAR協(xié)議等。上述幾種MAC協(xié)議在對網(wǎng)絡(luò)壽命(低 功耗)和網(wǎng)絡(luò)性能(時延、遞送率等)均有較高要求的應(yīng)用環(huán)境均存在一定的局限性,為此, 本發(fā)明提出了 一種基于廣播消息的自適應(yīng)MAC協(xié)議:SA-MAC。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的是為對網(wǎng)絡(luò)壽命(低功耗)和網(wǎng)絡(luò)性能(時延、遞送率等)均有較 高要求的應(yīng)用環(huán)境提供一種低碰撞、低功耗的競爭類MAC協(xié)議:SA-MC(seIf-adaption AdvertisementMAC)。本發(fā)明的SA-MAC協(xié)議是在S-MAC的基礎(chǔ)上提出的競爭類MAC協(xié)議, 其是利用源節(jié)點發(fā)送的廣播消息使無關(guān)節(jié)點進(jìn)入睡眠狀態(tài),相關(guān)節(jié)點則在對應(yīng)的時刻喚醒 進(jìn)行數(shù)據(jù)交換,目的是通過減少節(jié)點的空閑偵聽時間和數(shù)據(jù)碰撞概率,以降低網(wǎng)絡(luò)的能耗 并提尚網(wǎng)絡(luò)性能。
[0005] 為實現(xiàn)上述目的,本發(fā)明的技術(shù)方案是:一種基于廣播消息的無線傳感器網(wǎng)絡(luò)MAC協(xié)議,該協(xié)議采用周期工作制,且一個工作周期的時間長度為固定值,將一個工作周期 按時間先后劃分為同步周期、廣播周期和數(shù)據(jù)周期,其中,數(shù)據(jù)周期被分割成若干時間長 度相同的工作區(qū)間,每個工作區(qū)間的大小為相關(guān)節(jié)點使用最大CW進(jìn)行一次完整RTS/CTS/ DATE/ACK數(shù)據(jù)交換所需的時間;所述協(xié)議的實現(xiàn)過程包括如下步驟: (1) 、同步周期內(nèi),通過同步幀消息的交換,實現(xiàn)同一虛擬簇內(nèi)的節(jié)點時間同步; (2) 、廣播周期內(nèi),源節(jié)點在廣播周期隨機(jī)選取工作區(qū)間,并利用廣播消息使相關(guān)節(jié)點 在對應(yīng)的工作區(qū)間完成數(shù)據(jù)交換;所述廣播的消息包含目的節(jié)點的地址和選取的工作區(qū) 間; 在廣播周期內(nèi),所述協(xié)議利用節(jié)點數(shù)據(jù)緩存區(qū)的實時情況動態(tài)調(diào)整CW的大小,以實 現(xiàn)節(jié)點接入信道的公平性;CW的自適應(yīng)調(diào)整方法為:首先,節(jié)點初始化CW的尺寸為最大值 CWmax,節(jié)點需要進(jìn)行數(shù)據(jù)發(fā)送的時候,利用公式CWcur=[CWmax*(l-(BS/BST))]對CW進(jìn)行 實時調(diào)整,其中,CW當(dāng)前值CWcur的取值范圍始終在[CWmin,CWmax]之間,并取整數(shù);BST 代表設(shè)定的數(shù)據(jù)緩存區(qū)閾值,BS代表數(shù)據(jù)緩存區(qū)的當(dāng)前使用值; (3) 、數(shù)據(jù)周期內(nèi),相關(guān)節(jié)點在對應(yīng)的工作區(qū)間喚醒,源節(jié)點開始進(jìn)行信道競爭,其中CW 的大小采用廣播周期的CW自適應(yīng)調(diào)整方法進(jìn)行調(diào)整,源節(jié)點成功接入信道后與目的節(jié)點 進(jìn)行RTS/CTS/DATE/ACK數(shù)據(jù)交換。
[0006] 由于在實際情況中網(wǎng)絡(luò)的流量會實時變化,為進(jìn)一步提高信道利用率,在步驟(2) 的源節(jié)點在廣播周期隨機(jī)選取工作區(qū)間過程中,SA-MC規(guī)定隨機(jī)數(shù)的選取范圍將根據(jù)網(wǎng)絡(luò) 的實時情況進(jìn)行實時調(diào)整,即隨機(jī)數(shù)的生成方法包括如下步驟: (1) 、網(wǎng)絡(luò)中所有的節(jié)點維持一個隨機(jī)數(shù)發(fā)生器,包含三個變量:最大值NBmax=m,最小 值NBmin=I及當(dāng)前值NBcur; (2) 、初始化節(jié)點的NBcur=[NBmax/2],并取整數(shù); (3) 、需要發(fā)送數(shù)據(jù)的源節(jié)點在[NBmin,NBcur]之間生成一個隨機(jī)數(shù),并在廣播周期競 爭信道廣播請求消息;其中,生成的隨機(jī)數(shù)即為源節(jié)點隨機(jī)選取的工作區(qū)間; (4) 、源節(jié)點在成功廣播自己的請求消息后,在對應(yīng)的工作區(qū)間喚醒進(jìn)行再次競爭信 道進(jìn)行數(shù)據(jù)交換;源節(jié)點在每次數(shù)據(jù)交換完成后,對通信結(jié)果進(jìn)行判斷,如果數(shù)據(jù)包發(fā)送 失敗,那么當(dāng)前值NBcur加1,反之當(dāng)前值NBcur減1,其中NBcur的取值范圍在[NBmin, NBmax]之間; (5 )、重復(fù)步驟(2 ) ~步驟(4 )過程。
[0007] 由于節(jié)點的數(shù)據(jù)緩存區(qū)有限,如果網(wǎng)絡(luò)中的某個區(qū)域突然監(jiān)測到大量的數(shù)據(jù),就 會出現(xiàn)大量丟包的現(xiàn)象。進(jìn)一步地,SA-MC根據(jù)緩存區(qū)的實時狀態(tài)設(shè)計了一種數(shù)據(jù)突發(fā)機(jī) 制(FastTransmissionScheme,F(xiàn)TS)。SA-MAC根據(jù)節(jié)點數(shù)據(jù)緩存區(qū)的實時狀態(tài)采用下述 兩種數(shù)據(jù)發(fā)送模式:定義數(shù)據(jù)緩存區(qū)閾值為BST,數(shù)據(jù)緩存區(qū)當(dāng)前使用值為BS,當(dāng)BS〈=BST 時,節(jié)點使用正常數(shù)據(jù)傳輸機(jī)制;當(dāng)BS>BST時,節(jié)點使用數(shù)據(jù)突發(fā)機(jī)制;所述數(shù)據(jù)突發(fā)機(jī)制 的工作機(jī)制為: 需要使用數(shù)據(jù)突發(fā)機(jī)制的源節(jié)點,在廣播周期以最小CW接入信道發(fā)送M0RE_RTS進(jìn)行 信道預(yù)約,并預(yù)定若干個工作區(qū)間,目的節(jié)點接收到M0RE_RTS后,發(fā)送M0RE_CTS,源節(jié)點和 目的節(jié)點交換控制幀后進(jìn)入睡眠狀態(tài),在廣播周期結(jié)束后進(jìn)行連續(xù)的數(shù)據(jù)交換,直到雙方 節(jié)點發(fā)現(xiàn)達(dá)到預(yù)定的工作區(qū)間個數(shù),并且剩余時間不足以完成一次數(shù)據(jù)交換,源節(jié)點和目 的節(jié)點放棄這次數(shù)據(jù)傳輸進(jìn)入睡眠狀態(tài);無線傳感器網(wǎng)絡(luò)內(nèi)的其他源節(jié)點根據(jù)M0RE_RTS 進(jìn)行判斷:如果與自己位于同一虛擬簇,則根據(jù)包含的預(yù)約工作區(qū)間數(shù)進(jìn)行判斷,定義預(yù)約 工作區(qū)間數(shù)為c,如果c〈NBmax,源節(jié)點暫時在[c+1,NBmax]之間進(jìn)行工作區(qū)間的隨機(jī)選 取,反之直接進(jìn)入睡眠狀態(tài);如果與自己不屬于同一虛擬簇,直接進(jìn)行睡眠狀態(tài)。
[0008] 節(jié)點使用FTS可以迅速將緩存區(qū)的數(shù)據(jù)發(fā)送出去,但如果BST的值過低就會造 成WSN內(nèi)大量的節(jié)點使用FTS,出現(xiàn)網(wǎng)絡(luò)擁塞和部分節(jié)點的數(shù)據(jù)大量丟棄的現(xiàn)象,反之如果 BST的值過高,就會降低網(wǎng)絡(luò)性能。進(jìn)一步地,本發(fā)明的SA-MC針對這些問題,規(guī)定節(jié)點根 據(jù)本地的觀測自主調(diào)整數(shù)據(jù)緩存區(qū)閾值,所述數(shù)據(jù)緩存區(qū)閾值BST的調(diào)整方法為:首先,節(jié) 點初始化BST當(dāng)前值為(BSTM+BSTN)/2,并以Tbuffer為一個時間周期記錄在此期間發(fā)送 失敗的數(shù)據(jù)包數(shù)量,節(jié)點在每個TbufTer周期結(jié)束的時刻利用公式Change= (CDEM-BDEM) / BDEM得出當(dāng)前Tbuffer周期數(shù)據(jù)包發(fā)送失敗數(shù)量的變化率,并根據(jù)公式BSTC=BSTC* (1+Change)確定節(jié)點在下個Tbuffer周期使用的BSTC值,其中,BSTC的取值范圍始終在 [BSTN,BSTM]之間; BSTC代表BST的當(dāng)前值,BSTM代表設(shè)定的BST最大值,BSTN代表設(shè)定的BST最小值,Tbuffer為緩存區(qū)閾值的更新周期,⑶EM為當(dāng)前Tbuffer周期內(nèi)發(fā)送失敗的數(shù)據(jù)包個數(shù), BDEM為上個Tbuffer周期內(nèi)發(fā)送失敗的數(shù)據(jù)包個數(shù),Change為發(fā)送失敗數(shù)據(jù)包的變化率。
[0009] 有益效果:本發(fā)明的SA-MC協(xié)議利用廣播消息減少節(jié)點的空閑偵聽時間;利用隨 機(jī)喚醒機(jī)制緩解網(wǎng)絡(luò)的數(shù)據(jù)碰撞問題;通過調(diào)整競爭窗口實現(xiàn)節(jié)點接入信道的公平性;采 用低占空比機(jī)制及數(shù)據(jù)突發(fā)機(jī)制進(jìn)一步提升網(wǎng)絡(luò)的性能。仿真結(jié)果證明,本發(fā)明的SA-MC 協(xié)議與現(xiàn)有的ADV-MC協(xié)議和S-MC協(xié)議相比,其網(wǎng)絡(luò)功耗,及時延、遞送率等網(wǎng)絡(luò)性能均 具有較好的水準(zhǔn)。
[0010] 本發(fā)明的SA-MAC協(xié)議與ADV-MAC協(xié)議相類似,但與ADV-MAC相比SA-MAC具有以 下特點: I.SA-MC利用廣播消息實現(xiàn)相關(guān)節(jié)點隨機(jī)喚醒機(jī)制,使相關(guān)節(jié)點工作在不同的時間 區(qū)間,從而降低了數(shù)據(jù)的碰撞的概率,提升了信道利用率,而ADV-MC僅僅利用廣播消息使 無關(guān)節(jié)點進(jìn)入睡眠狀態(tài),相關(guān)節(jié)點在數(shù)據(jù)交換的過程中仍要進(jìn)行激烈的信道競爭。
[0011] 2.SA-MAC通過對節(jié)點競爭窗口(ContentionWindow,CW)的實時調(diào)整,實現(xiàn)了節(jié) 點間接入信道的公平性,而ADV-MC沒有考慮到節(jié)點間的公平性,默認(rèn)所有節(jié)點接入信道 的概率一致。
[0012] 3.研宄證明,節(jié)點在通信過程中最主要無關(guān)能耗是空閑偵聽,SA-MAC采用低占空 比機(jī)制降低WSN中所有節(jié)點的空閑偵聽時間,而ADV-MAC主要通過減少無關(guān)節(jié)點的空閑偵 聽時間降低網(wǎng)絡(luò)無關(guān)能耗。
[0013] 4.SA-MC針對負(fù)載的變化提出了相對應(yīng)的數(shù)據(jù)突發(fā)機(jī)制,而ADV-MC沒有考慮 網(wǎng)絡(luò)流量的突發(fā)性。
【附圖說明】
[0014] 圖1為本發(fā)明SA-MC的周期工作機(jī)制。
[0015] 圖2a為本發(fā)明SA-MC與其他協(xié)議在單跳環(huán)境中,數(shù)據(jù)包的平均遞送率隨數(shù)據(jù)發(fā) 送間隔變化的仿真實驗圖。
[0016] 圖2b為本發(fā)明SA-MC與其他協(xié)議在單跳環(huán)境中,數(shù)據(jù)包的平均時延隨數(shù)據(jù)發(fā)送 間隔變化的仿真實驗圖。
[0017] 圖2c為本發(fā)明SA-MC與其他協(xié)