媒體訪問控制(MAC)協(xié)議對無線傳感網(wǎng)的性能具有重要影響。根據(jù)無線傳感網(wǎng)在網(wǎng)絡(luò)性能方面的要求,針對現(xiàn)有無線傳感網(wǎng)協(xié)議在節(jié)點(diǎn)能耗和時延方面的不足,提出了一種IM-TDMA方案,根據(jù)節(jié)點(diǎn)流量的變化,動態(tài)地調(diào)節(jié)幀長,提高信道利用率;同時采用計數(shù)器管理及續(xù)傳優(yōu)先的調(diào)度方式,簡化了調(diào)度復(fù)雜度,降低了節(jié)點(diǎn)能耗。仿真結(jié)果表明:IM-TDMA方案能有效地節(jié)約能耗。降低時延,可運(yùn)用于實際無線傳感網(wǎng)的MAC協(xié)議方案中。
0引言
無線傳感網(wǎng)絡(luò)(Wireless Sensor Network)是由許多在空間中分布的自動裝置組成的一種無線通信網(wǎng)絡(luò),這些裝置使用傳感器監(jiān)控不同位置的物理或環(huán)境狀況(比如溫度。聲音。振動。壓力。運(yùn)動或污染物),并相互協(xié)作,共享信息。無線傳感網(wǎng)絡(luò)最初起源于戰(zhàn)場監(jiān)測等軍事應(yīng)用,現(xiàn)已被應(yīng)用于很多民用領(lǐng)域,如環(huán)境與生態(tài)監(jiān)測。健康監(jiān)護(hù)。家居自動化以及交通控制等。其應(yīng)用價值,已引起世界多國軍事部門。工業(yè)界和學(xué)術(shù)界的廣泛關(guān)注。
無線傳感網(wǎng)有TDMA和CSMA兩種基本的MAC協(xié)議方案。其中基于TDMA的MAC協(xié)議實現(xiàn)信道分配的機(jī)制簡單成熟,它沒有CSMA競爭機(jī)制的碰撞和重傳問題,而是為傳感器網(wǎng)絡(luò)中每個節(jié)點(diǎn)分配獨(dú)立的時隙用于數(shù)據(jù)發(fā)送或接收,數(shù)據(jù)傳輸時不需要過多的控制信息,且節(jié)點(diǎn)在空閑時能夠及時進(jìn)入睡眠狀態(tài)。因而在節(jié)點(diǎn)無移動且網(wǎng)絡(luò)部署情況已知的場景,采用TDMA方式進(jìn)行通信,可避免信道沖突以及沖突引起的丟包和能量損耗;保證數(shù)據(jù)傳輸?shù)膶崟r性和可靠性;令節(jié)點(diǎn)在不工作期間進(jìn)入睡眠狀態(tài),以保存能量。這些特點(diǎn)很適合無線傳感網(wǎng)中的節(jié)能要求。近年來,有很多基于TDMA的改進(jìn)方案,像LEACH.BCMAC等。這些新的方案雖然在資源節(jié)約。性能提高上有了一些改進(jìn),卻存在調(diào)度方式復(fù)雜。時延過大。信道利用率低。資源浪費(fèi)等不合理性。因此尋求新的方案以改進(jìn)存在的問題,仍然是業(yè)界面臨的迫切任務(wù)。
1問題描述
現(xiàn)有無線傳感網(wǎng)中,基于TDMA的MAC協(xié)議大多是與簇的組網(wǎng)方式相結(jié)合。將網(wǎng)絡(luò)劃分為若干個簇,每個簇選舉一個簇頭節(jié)點(diǎn)做為集中控制點(diǎn),對簇內(nèi)成員進(jìn)行TDMA調(diào)度,各簇內(nèi)成員在其分配的時隙內(nèi)發(fā)送數(shù)據(jù)。
典型的有LEACH協(xié)議,該協(xié)議以輪為單位周期性執(zhí)行簇的重構(gòu)過程。如圖1所示,每輪分為簇的形成階段和簇的穩(wěn)定階段。簇的形成階段,主要完成簇頭節(jié)點(diǎn)的選擇。廣播。建立和調(diào)度機(jī)制的生成。簇的穩(wěn)定階段,分為調(diào)度階段和數(shù)據(jù)傳輸階段。調(diào)度階段,簇頭根據(jù)收集來的簇內(nèi)節(jié)點(diǎn)的信息,將數(shù)據(jù)傳輸階段分配為n個長度相等的幀,每個幀內(nèi)的時隙又固定分配給簇內(nèi)的成員,每輪只調(diào)度分配一次。數(shù)據(jù)傳輸階段,根據(jù)調(diào)度結(jié)果,每個簇內(nèi)成員在每幀中的固定時隙內(nèi)進(jìn)行數(shù)據(jù)傳輸。每輪數(shù)據(jù)傳輸階段之后進(jìn)行下一輪的簇重構(gòu)過程。這種基于簇的TDMA協(xié)議,采用周期性的選舉簇頭的方法,使得各簇頭節(jié)點(diǎn)的能量得到均衡,延長了網(wǎng)絡(luò)的工作壽命;但是在每一輪中只進(jìn)行一次調(diào)度,且n個幀的長度相等,各節(jié)點(diǎn)在幀內(nèi)的時隙固定。如圖1所示,假設(shè)在一個幀內(nèi)只有第1.5.m三個節(jié)點(diǎn)有數(shù)據(jù)需要傳輸(圖中的陰影時隙,即表示有數(shù)據(jù)傳輸),則無數(shù)據(jù)傳送節(jié)點(diǎn)所占用的固定時隙就會被浪費(fèi),從而造成了信道利用率低下,時延加大。同時由于簇頭起到的是轉(zhuǎn)發(fā)信息的功能,因而在整個幀內(nèi),簇頭都需要保持監(jiān)聽狀態(tài),浪費(fèi)了簇頭的能量。
圖1 LEACH調(diào)度協(xié)議
類似的還有BCMAC協(xié)議,如圖2所示,該協(xié)議與LEACH協(xié)議在簇的形成階段相似。在穩(wěn)定階段對TDMA協(xié)議進(jìn)行了一些改進(jìn),即在每幀開始時,由那些有數(shù)據(jù)傳輸?shù)墓?jié)點(diǎn)向簇頭發(fā)送申請,簇頭節(jié)點(diǎn)根據(jù)申請情況來分配時隙,并向簇內(nèi)節(jié)點(diǎn)廣播調(diào)度方法,每個需要發(fā)送數(shù)據(jù)的節(jié)點(diǎn)獲得一個確定的發(fā)送時間,沒有數(shù)據(jù)需要發(fā)送的節(jié)點(diǎn)則處于睡眠狀態(tài),并在下一幀開始時蘇醒。假設(shè)只有三個節(jié)點(diǎn)有數(shù)據(jù)傳輸,則簇頭節(jié)點(diǎn)將節(jié)點(diǎn)信息收集起來進(jìn)行時隙分配。由于簇頭無需在整個幀長內(nèi)保持偵聽且無數(shù)據(jù)傳輸?shù)墓?jié)點(diǎn)可以處于睡眠狀態(tài),因而節(jié)約了大量的能量。同時由于采用了固定幀長,仍然會有時隙被浪費(fèi),因而沒有提高信道利用率,時延依然很大。該方案中,簇頭需要廣播各個節(jié)點(diǎn)的ID號及調(diào)度方案,增加了調(diào)度開銷,增加了能量消耗。本文提出的IM-TDMA方案是在現(xiàn)有TDMA協(xié)議的基礎(chǔ)上,通過變長幀長來適應(yīng)網(wǎng)絡(luò)流量變化,提高信道利用率,降低時延;并通過計數(shù)器管理方式來進(jìn)行TDMA調(diào)度,降低調(diào)度復(fù)雜性,減少調(diào)度開銷,降低能耗;同時選取合適的時隙大小,進(jìn)一步優(yōu)化網(wǎng)絡(luò)性能。
圖2 BCMAC調(diào)度協(xié)議
2 IM-TDMA方案描述
2.1基本算法
IM-TDMA方案與LEACH協(xié)議和BCMAC協(xié)議在簇形成階段類似,如圖3所示,仍是按輪運(yùn)行的,每一輪由簇形成階段和簇穩(wěn)定階段組成。簇形成階段,完成成簇。簇頭選舉及時鐘同步的任務(wù);簇穩(wěn)定階段,根據(jù)節(jié)點(diǎn)的流量,分為n個長度不等的幀,即每幀有幾個節(jié)點(diǎn)需要傳輸數(shù)據(jù)就分配幾個時隙。如圖3所示,假設(shè)一幀中有3個節(jié)點(diǎn)有數(shù)據(jù)傳輸,則該幀就只由3個時隙組成。該方案將每幀分為時隙申請。調(diào)度和數(shù)據(jù)傳輸三步。
圖3 IM—TDMA調(diào)度方案
2.1.1時隙申請
這一階段主要按照節(jié)點(diǎn)ID順序,給每個節(jié)點(diǎn)分配一個信令小時隙,每個信令小時隙占用1 b用于向簇頭申請時隙。有數(shù)據(jù)需要傳輸?shù)墓?jié)點(diǎn)在自己的信令小時隙內(nèi)發(fā)送申請時隙的信息,觸發(fā)簇頭計數(shù)器,隨著申請節(jié)點(diǎn)數(shù)的增加,計數(shù)器值依次增加,每個節(jié)點(diǎn)觸發(fā)計數(shù)器得到的計數(shù)值即為該節(jié)點(diǎn)在本幀的時隙位置值。由于各節(jié)點(diǎn)在各自不同的信令小時隙內(nèi)向簇頭發(fā)送申請時隙的信息,因此不會發(fā)生碰撞。在此過程中,對上一幀中未傳完的數(shù)據(jù)節(jié)點(diǎn)優(yōu)先分配信令時隙,即在每幀開始時先給在上一幀中未傳完數(shù)據(jù)的節(jié)點(diǎn)申請時隙,以讓續(xù)傳信息優(yōu)先完成數(shù)據(jù)傳輸,然后再給在本幀中有數(shù)據(jù)傳送的節(jié)點(diǎn)申請時隙,且每幀中每個節(jié)點(diǎn)只能進(jìn)行一次時隙申請。具體的時隙分配過程如圖4所示,每一幀信令時隙S0由兩部分組成,第一部分S0為續(xù)傳申請時隙,其由h個信令小時隙組成,h為前一幀數(shù)據(jù)傳輸所占用的總時隙數(shù),且在每輪數(shù)據(jù)的第一幀,h值為0.第二部分S02由m個信令小時隙組成,m為該簇內(nèi)的所有節(jié)點(diǎn)數(shù)。由于每幀每個節(jié)點(diǎn)只能發(fā)送一次申請時隙的信令信息,因而在S01中申請時隙的節(jié)點(diǎn)不會在S02中重復(fù)申請時隙。如果某個節(jié)點(diǎn)在上一幀中有未傳輸完的數(shù)據(jù),需要在本幀中傳輸,假定其在上一幀中的第i個時隙傳送,則在本幀中S01時隙的第S01i個信令小時隙發(fā)送申請時隙信息,觸發(fā)簇頭計數(shù)器加1,計數(shù)器的值即為該節(jié)點(diǎn)在本幀中傳送的時隙位;如果某個節(jié)點(diǎn)在本幀中有需要傳輸?shù)臄?shù)據(jù),假定其信令小時隙是第j個,則在S02時隙中的第S02j個信令小時隙中發(fā)送申請時隙信令,觸發(fā)簇頭計數(shù)器加1,計數(shù)器的值即為該信息在本幀中傳送的時隙位。計數(shù)器在每輪開始時,初始化為0,并在每幀時隙申請完成之后立刻置0.
2.1.2調(diào)度分配
這一階段簇頭根據(jù)時隙申請及觸發(fā)計數(shù)器生成的計數(shù)結(jié)果,廣播一個調(diào)度結(jié)果。該調(diào)度分配結(jié)果將數(shù)據(jù)時隙分為兩部分。第一部分是在S01申請續(xù)傳的時隙,假設(shè)有p個;第二部分是在S02申請新傳的時隙,假設(shè)有q個。
這兩部分所占用的時隙數(shù)之和,即為下一幀用于申請續(xù)傳信息的信令小時隙的h(h = p + q)值。
圖4 幀結(jié)構(gòu)圖
下面以一個實例來說明:
假設(shè)有m個節(jié)點(diǎn),如圖5所示,用Ip表示第p個節(jié)點(diǎn)所傳的數(shù)據(jù)信息內(nèi)容,用Sq表示第q個時隙,用S01i表示S01信令時隙中第i個信令小時隙,用S02j表示S02信令時隙中第j個信令小時隙。計數(shù)器的值在系統(tǒng)形成時已初始化為0.假設(shè)在第一幀中節(jié)點(diǎn)3.5.8有數(shù)據(jù)傳輸,因為是第一幀,所以不存在續(xù)傳信息,即沒有S01信令時隙,只有S02信令時隙。節(jié)點(diǎn)3在S02時隙中的第S023個信令小時隙中向簇頭發(fā)送申請時隙的信息,觸發(fā)記數(shù)器,因為該幀開始時,計數(shù)器初始化為0,因而觸發(fā)后其值為1,故節(jié)點(diǎn)3的數(shù)據(jù)在第1時隙中傳輸,可表示為I3在S1中傳;同理節(jié)點(diǎn)5在S02時隙中第S025個信令小時隙中向簇頭發(fā)送申請時隙的信息,觸發(fā)記數(shù)器,記數(shù)器值增為2,表明節(jié)點(diǎn)5的數(shù)據(jù)在第2時隙中傳輸,表示為I5在S2中傳;同樣的道理可得節(jié)點(diǎn)8的數(shù)據(jù)在第3個時隙中傳輸,即I8在S3中傳。第一幀時隙申請完之后,將計數(shù)器置為0.這樣在第一幀中,節(jié)點(diǎn)3.5.8的數(shù)據(jù)依次在S1.S2.S3三個時隙中傳輸。第一幀的時隙總數(shù)為3(即下一幀的h值)。在第二幀中,假設(shè)節(jié)點(diǎn)3.8的數(shù)據(jù)在第一幀中未傳送完,需要在第二幀中續(xù)傳,同時節(jié)點(diǎn)1.4.9在本幀中有數(shù)據(jù)需要傳輸。由于前一幀的時隙總數(shù)為3,因而本幀的h值為3,即S01時隙中有3個信令小時隙,因為節(jié)點(diǎn)3在前一幀中所占的是第一時隙,因而節(jié)點(diǎn)3在S01時隙中的第S011個信令小時隙中發(fā)送申請時隙信息,觸發(fā)計數(shù)器,故節(jié)點(diǎn)3的續(xù)傳信息在本幀中的第1時隙傳送,可表示為I3在S1中傳;同理節(jié)點(diǎn)8在前一幀的第3時隙傳送數(shù)據(jù),因而節(jié)點(diǎn)8在該幀中的S01時隙的第S013個信令小時隙發(fā)送申請時隙信息,觸發(fā)計數(shù)器,計數(shù)器值加1,故節(jié)點(diǎn)8在該幀中的續(xù)傳信息在第2時隙傳送,可表示為I8在S2中傳。接著分配本幀中需要傳送信息的節(jié)點(diǎn)的時隙位置,節(jié)點(diǎn)1在本幀中有數(shù)據(jù)需要傳輸,因而節(jié)點(diǎn)1在S02時隙的第S021個信令小時隙發(fā)送申請時隙信息,繼續(xù)觸發(fā)計數(shù)器,計數(shù)器值加1,故節(jié)點(diǎn)1在該幀中的第3時隙傳送,可表示為I1在S3中傳;同理節(jié)點(diǎn)4在本幀中有數(shù)據(jù)需要傳輸,因而在S02時隙的第S024個信令小時隙發(fā)送申請時隙信息,觸發(fā)計數(shù)器,計數(shù)器值加1,故節(jié)點(diǎn)4在該幀中的第4時隙傳送,可表示為I4在S4中傳;同理可得節(jié)點(diǎn)9在該幀中的第5時隙傳送,可表示為I9在S5中傳。由于每幀中每個節(jié)點(diǎn)只能申請一次時隙,因而續(xù)傳信息的節(jié)點(diǎn)不會在S02時隙中重復(fù)進(jìn)行時隙申請。本幀節(jié)點(diǎn)申請完時隙后,計數(shù)器初始化為0.這樣在第二幀中節(jié)點(diǎn)3.8的數(shù)據(jù)分別在第1.2時隙中進(jìn)行續(xù)傳,而節(jié)點(diǎn)1.4.9的數(shù)據(jù)分別在第3.4.5時隙中進(jìn)行傳輸??梢钥闯霰編偟膫鬏敃r隙數(shù)為5(為下一幀的h值)。
圖5 幀結(jié)構(gòu)示例
2.1.3數(shù)據(jù)傳輸
這一階段各個節(jié)點(diǎn)按照簇頭發(fā)送的調(diào)度信息,在各自分配的數(shù)據(jù)時隙中傳輸數(shù)據(jù)。如果節(jié)點(diǎn)在下一幀中仍有數(shù)據(jù)傳輸,則繼續(xù)在下一幀信令時隙S01時隙中對應(yīng)的信令小時隙進(jìn)行時隙申請,完成調(diào)度,然后在分配的時隙中進(jìn)行數(shù)據(jù)傳輸即可。
在這種調(diào)度分配中,難免會遇到需要傳輸?shù)臄?shù)據(jù)極少甚至無數(shù)據(jù)傳輸?shù)那闆r,為了避免調(diào)度的頻繁進(jìn)行或睡眠時間過長,需要設(shè)定一個最小幀長,這個需要依據(jù)實際應(yīng)用中要求的而定。本方案中依據(jù)所占用的平均時隙數(shù)而定。
2.2時隙計算
在此調(diào)度方案中,使用的是幀長不定。時隙定長的方法,需要對時隙定義一個合適的長度,過大會使空閑時間過長,浪費(fèi)資源,過小又會使調(diào)度次數(shù)增多。按照節(jié)點(diǎn)的負(fù)載與信道容量的關(guān)系,給出如下時隙計算公式:
式中:ts表示所選的時隙大?。籦avg表示各節(jié)點(diǎn)產(chǎn)生的業(yè)務(wù)通信負(fù)載的平均量;bk表示各個節(jié)點(diǎn)可能產(chǎn)生的業(yè)務(wù)負(fù)載量的值;m表示簇中的節(jié)點(diǎn)數(shù);C表示信道容量。
3仿真實驗及結(jié)果分析
3.1仿真參數(shù)設(shè)置
為了驗證本方法的有效性和通用性,在不同負(fù)載情況下,對IM-TDMA,BCMAC和傳統(tǒng)的TDMA協(xié)議的平均時延和平均能量消耗進(jìn)行了仿真對比實驗。仿真環(huán)境如下:
無線網(wǎng)絡(luò)的覆蓋范圍為100 m×100 m,節(jié)點(diǎn)數(shù)為50,數(shù)據(jù)包大小為512 B,模擬時間為1 000 s,簇半徑為30 m,數(shù)據(jù)包由CBR流量產(chǎn)生器產(chǎn)生。
3.2仿真結(jié)果分析
三種協(xié)議在平均時延方面的對比如圖6所示??梢钥闯觯琁M-TDMA協(xié)議比TDMA協(xié)議和BCMAC協(xié)議的時延都小,這是因為IM-TDMA協(xié)議根據(jù)節(jié)點(diǎn)流量來動態(tài)調(diào)節(jié)幀長,提高了信道利用率,因而數(shù)據(jù)的傳輸時延較小。
圖6 平均時延對比
三種協(xié)議在平均能量消耗方面的比較如圖7所示。由圖7可以看出,當(dāng)網(wǎng)絡(luò)數(shù)據(jù)流量較大時,TDMA協(xié)議的能耗較小;而當(dāng)網(wǎng)絡(luò)數(shù)據(jù)流量較小時,IM-TDMA協(xié)議的能耗較小。這是因為當(dāng)數(shù)據(jù)量較大時,簇頭調(diào)度開銷所消耗的能量占主導(dǎo)地位,因而TDMA的能耗較BC-MAC和IM-TDMA協(xié)議較小。當(dāng)網(wǎng)絡(luò)數(shù)據(jù)較小時,由于TDMA在沒有數(shù)據(jù)傳輸時也要保持偵聽狀態(tài),因此能耗較大。而BCMAC協(xié)議雖然不用在整個過程中保持偵聽,但幀長度固定,因而能耗較IM-TDMA協(xié)議大。
從仿真結(jié)果可以看出,IM-TDMA協(xié)議較TDMA協(xié)議和BCMAC協(xié)議在能耗和時延方面更優(yōu)。
圖7 平均能量消耗對比
4結(jié)語
本方案是對無線傳感網(wǎng)的MAC協(xié)議方案進(jìn)行的設(shè)計。傳統(tǒng)的TDMA分配方案在時隙分配上采用固定幀長的方式,信道利用率低;在調(diào)度方法上偵聽時間過長。過程復(fù)雜,造成能量的浪費(fèi)。文中的IM-TDMA調(diào)度方案能夠克服上述不足,在時隙分配上,采用依據(jù)即時信息,動態(tài)改變幀長的方式,提高了信道利用率;在調(diào)度方法上,采用計數(shù)器管理方式,簡化了調(diào)度復(fù)雜性,節(jié)約了能量的消耗。仿真結(jié)果表明,本方案效果極好。
(審核編輯: 小王子)