章 陽,王潛平
(中國礦業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 徐州221116)
IEEE802.15.4[1]MAC 層 的 占 空 比 由 信 標(biāo) 級 數(shù)BO(beacon order)和超幀級數(shù)SO (superframe order)決定且范圍從1到1/16384。由于不同的占空比適用于不同的網(wǎng)絡(luò)需求:如果同時(shí)增大BO 和SO,會增大傳輸?shù)臅r(shí)延,導(dǎo)致因密集的信道競爭而減小系統(tǒng)的吞吐量;如果同時(shí)減小BO和SO,會減小有效帶寬,導(dǎo)致因頻繁的信標(biāo)接收和發(fā)送增大能量消耗。所以,如何設(shè)置一對恰當(dāng)?shù)闹禎M足當(dāng)前網(wǎng)絡(luò)的需求是一個(gè)十分值得研究的問題。
Yu Kai[2]等人研究了信標(biāo)網(wǎng)絡(luò)下低功率操作的綜合分析,建立了MAC 特性模型、緩沖數(shù)據(jù)包模型。Joseph Jeon[3]等人研究了網(wǎng)絡(luò)下的占空比自適應(yīng)算法,分析了不同節(jié)點(diǎn)數(shù)量下的丟包率。高博[4]提出了一種獨(dú)立占空比算法,使每個(gè)節(jié)點(diǎn)可以采用不同的占空比和協(xié)調(diào)器進(jìn)行通信。萬靜[5]利用了節(jié)點(diǎn)隊(duì)列大小,并對GTS進(jìn)行修改,實(shí)現(xiàn)了實(shí)時(shí)任務(wù)和非實(shí)時(shí)任務(wù)的公平性分析。文獻(xiàn) [6,7]是非時(shí)隙下的占空比優(yōu)化,建立了CSMA 模型。文獻(xiàn) [8]分析了低占空比下的信標(biāo)網(wǎng)絡(luò)性能。文獻(xiàn) [9-12]在IEEE802.15.4其他方面做了些改進(jìn)。
以上研究均未同時(shí)考慮占空比和公平性問題,所以本文提出了一種可以同時(shí)解決占空比動態(tài)適應(yīng)網(wǎng)絡(luò)負(fù)載變化和節(jié)點(diǎn)公平性的方案。通過對能量、有效吞吐率、時(shí)延以及丟包率4方面進(jìn)行分析,更好地實(shí)現(xiàn)了網(wǎng)絡(luò)數(shù)據(jù)的傳輸。
IEEE802.15.4標(biāo)準(zhǔn)定義了兩種介質(zhì)訪問模式:信標(biāo)模式和非信標(biāo)模式。在信標(biāo)模式下的CAP (channel access perid)階段,節(jié)點(diǎn)通過CSMA/CA[13]算法競爭信道,傳輸非實(shí)時(shí)數(shù)據(jù);在CFP (channel access-free perid)階段,節(jié)點(diǎn)通過申請保護(hù)時(shí)隙GTS,滿足實(shí)時(shí)數(shù)據(jù)傳輸。基于信標(biāo)模式的各種優(yōu)點(diǎn),本文在信標(biāo)網(wǎng)絡(luò)模式下進(jìn)行研究。
如圖1所示,超幀[14]的活動部分分成16 個(gè)相等的時(shí)隙,活動部分又被分為CAP階段和CFP階段。其中,活動部分的第一個(gè)時(shí)隙由協(xié)調(diào)器發(fā)送信標(biāo);CAP中的時(shí)隙由節(jié)點(diǎn)通過競爭獲得;CFP中的保護(hù)時(shí)隙GTS是給特定的設(shè)備使用的。廣播的信標(biāo)幀中含有決定占空比 (duty cycle)大小的參數(shù)SO、BO 值,如式 (1)所示
圖1 超幀結(jié)構(gòu)
本文假設(shè)整個(gè)超幀的活動部分只含有CAP階段,且沒有實(shí)時(shí)任務(wù)和沖突發(fā)生。計(jì)算CAP 階段可發(fā)送的數(shù)據(jù)幀個(gè)數(shù)cap_num的前提是求出一個(gè)數(shù)據(jù)幀發(fā)送所需的符號數(shù)Ttotal。
由圖2得式 (2)和式 (3)
其中,TACK包括Tack和ACK。
其中,Tbeacon為信標(biāo)占用的時(shí)隙,SD 為活動時(shí)間。
圖2 帶ACK 的數(shù)據(jù)幀傳輸
針對IEEE802.15.4MAC層存在的固定占空比以及CAP霸占問題。本文采用了自適應(yīng)信標(biāo)控制算法,即通過終端設(shè)備的隊(duì)列長度、CAP階段可發(fā)送數(shù)據(jù)幀個(gè)數(shù)以及矩陣分析,來控制信標(biāo)幀的變化。
本算法在原協(xié)議的基礎(chǔ)上對信標(biāo)幀和數(shù)據(jù)幀進(jìn)行了重新設(shè)計(jì),其他幀結(jié)構(gòu)保持不變。
2.1.1 信標(biāo)幀
ABC算法在原信標(biāo)幀的基礎(chǔ)上,增加了雙倍競爭窗口DoubleCW (double contention window)變量,見表1。該變量包含設(shè)備編號 (DeviceID)以及標(biāo)志 (Flag)兩個(gè)字段,見表2。根據(jù)矩陣分析結(jié)果,得出需要增大CW 的節(jié)點(diǎn),并在新的超幀開始之前,將這些節(jié)點(diǎn)的Flag 設(shè)置為1,剩余的節(jié)點(diǎn)的Flag 設(shè)置為0。終端設(shè)備在接收到信標(biāo)后,根據(jù)信標(biāo)幀的信息改變自身的占空比以及CW 值。
2.1.2 數(shù)據(jù)幀
ABC算法在原數(shù)據(jù)幀的基礎(chǔ)上,增加了隊(duì)列信息Queue變量,該變量只有兩個(gè)字節(jié),見表3。其中0 位為isDevice表示是否是終端設(shè)備,1-8位為DeviceID 表示終端設(shè)備MAC地址,9-15位為Length表示隊(duì)列剩余的幀個(gè)數(shù),見表4。終端設(shè)備會將自身隊(duì)列中的剩余數(shù)據(jù)幀個(gè)數(shù)記錄在數(shù)據(jù)幀Queue的Length 字段中,這樣,協(xié)調(diào)器收到數(shù)據(jù)幀后,從數(shù)據(jù)幀的Queue字段中可以知道與自身相連的各節(jié)點(diǎn)隊(duì)列剩余幀個(gè)數(shù)。
表1 ABC信標(biāo)幀
表2 DoubleCW 結(jié)構(gòu)
表3 ABC數(shù)據(jù)幀結(jié)構(gòu)
表4 Queue結(jié)構(gòu)
在ABC算法中,所有的終端節(jié)點(diǎn)在發(fā)送數(shù)據(jù)幀時(shí),將各自隊(duì)列中剩余幀個(gè)數(shù)放入Queue的字段中。協(xié)調(diào)器得到數(shù)據(jù)幀后,將各個(gè)節(jié)點(diǎn)隊(duì)列信息存入矩陣。通過分析矩陣,得出是否需要修改占空比,是否發(fā)生節(jié)點(diǎn)抑制。根據(jù)分析的結(jié)論,修改占空比以及CW 值,流程見圖3。
圖3 ABC流程
算法涉及的變量和函數(shù)見表5。
表5 算法涉及的變量和函數(shù)
矩陣分析與信標(biāo)控制具體過程:
(1)協(xié)調(diào)器通過Matrix求出所有的totalNum [j]。
(2)判斷Matrix [j] [i]是否大于0,若邏輯結(jié)果為真,則times_CW [i]加1。同時(shí)判斷totalNum [j]是否大于cap_num,若邏輯結(jié)果為真,則times_duty 加1。循環(huán)步驟 (2),直到j(luò)等于λ。
(3)判斷times_duty 和Ω、ω 之間的大小關(guān)系。若times_duty 大于Ω,則執(zhí)行過程decBO。若times_duty 小于ω,則執(zhí)行過程incBO。
(4)查看times_CW [i]中的值,若值大于φ,則將1賦予times_CW [i]。反之,則將0賦予times_CW [i]。
(5)在步驟 (4)之后,協(xié)調(diào)器會將新的BO 寫入幀特性描述符,同時(shí)根據(jù)times_CW [i]中的值,對每個(gè)節(jié)點(diǎn)設(shè)置DoubleCW。
(6)節(jié)點(diǎn)在下一個(gè)超幀收到信標(biāo),會根據(jù)信標(biāo)中的信息,設(shè)置自身節(jié)點(diǎn)的BO 和CW。
上述描述的6個(gè)步驟,步驟(1)-步驟(4)為矩陣分析,步驟 (5)、步驟 (6)為信標(biāo)控制。關(guān)于如何通過修改占空比,在步驟 (2)和步驟 (3)中也給出了具體的方法。在1.2中,本文已經(jīng)分析了cap_num 的值,且因?yàn)锳BC 算法只是修改了BO 的值,并沒有對SO 進(jìn)行修改,所以cap_num 始終保持不變。對于節(jié)點(diǎn)抑制采取的方法,是記錄節(jié)點(diǎn)在一次算法周期內(nèi)發(fā)送數(shù)據(jù)的次數(shù),如果次數(shù)超過了上限值φ,則認(rèn)為該節(jié)點(diǎn)在算法周期內(nèi)霸占了CAP 階段,從而應(yīng)該改變該節(jié)點(diǎn)的CW 大小。而對次數(shù)未超過上限值φ 的節(jié)點(diǎn),則認(rèn)為該節(jié)點(diǎn)還未對其他節(jié)點(diǎn)構(gòu)成競爭威脅,保持原先的CW 值。矩陣分析流程,如圖4所示。
本文利用NS2 仿真模擬軟件,對IEEE802.15.4 改進(jìn)前后的協(xié)議在能量、傳輸時(shí)延、有效吞吐率以及丟包率,這4個(gè)方面進(jìn)行比較分析。其中,能量是整個(gè)模擬時(shí)間內(nèi)節(jié)點(diǎn)平均消耗的總能量;傳輸時(shí)延是一個(gè)數(shù)據(jù)包從源節(jié)點(diǎn)到目的節(jié)點(diǎn)所消耗的平均時(shí)間;有效吞吐率是正確接收的數(shù)據(jù)總量占整個(gè)網(wǎng)絡(luò)流量的百分比;丟包率是正確接收的數(shù)據(jù)幀個(gè)數(shù)占整個(gè)發(fā)送數(shù)據(jù)幀個(gè)數(shù)的百分比。仿真實(shí)驗(yàn)參數(shù)見表6,本文采取的數(shù)據(jù)包小于MAC 層數(shù)據(jù)幀負(fù)載,從而杜絕數(shù)據(jù)包拆分現(xiàn)象,簡化數(shù)據(jù)分析。
表6 仿真實(shí)驗(yàn)參數(shù)
整個(gè)仿真模擬的數(shù)據(jù)發(fā)送過程為,終端設(shè)備1-6 分別在17.1s、17.2s、17.3s,17.4s,17.5s以及17.6s發(fā)送數(shù)據(jù)給協(xié)調(diào)器0。本文對以下3種方法進(jìn)行仿真分析:①origin為原始IEEE802.15.4協(xié)議。②ABC 為未包含CW 控制改進(jìn)的ABC算法。③ABC_CW 為包含了CW 控制改進(jìn)的ABC算法。
由圖5可以看出,原算法的能量消耗遠(yuǎn)比ABC 算法的能量消耗大。這是由于ABC 算法根據(jù)網(wǎng)絡(luò)流量的變化,定期的對占空比進(jìn)行調(diào)節(jié):低負(fù)載時(shí),減少了接收和發(fā)送信標(biāo)幀帶來的能量消耗;高負(fù)載時(shí),降低了碰撞帶來的能量消耗。其中ABC和ABC_CW 的能量消耗曲線在前300s表現(xiàn)基本相同,由于這段時(shí)間屬于整個(gè)模擬時(shí)間的前半段,網(wǎng)絡(luò)還未出現(xiàn)大量數(shù)據(jù)累積,且沒有出現(xiàn)某些節(jié)點(diǎn)長期霸占CAP階段。但是從300s以后可以看出,ABC_CW 比ABC 在能量上表現(xiàn)略微的優(yōu)勢。由于ABC_CW 會分析出網(wǎng)絡(luò)是否出現(xiàn)節(jié)點(diǎn)抑制,并解決了不公平性。從而,ABC_CW 不僅保護(hù)了各終端節(jié)點(diǎn)的公平性,而且節(jié)省了大量能量消耗。
如圖6 所示,origin 的丟包率保持在25%左右,而ABC的丟包率比origin低一些,但是其值也有23%左右。ABC_CW 卻能將丟包率控制在15%左右,比之前兩種方案低了10%左右。這是因?yàn)榍皟煞N方案不能發(fā)現(xiàn)網(wǎng)絡(luò)終端設(shè)備不公平現(xiàn)象,導(dǎo)致一些終端隊(duì)列長時(shí)間未發(fā)送數(shù)據(jù)包,發(fā)生大量溢出,產(chǎn)生丟包。而ABC_CW 可以避免此現(xiàn)象出現(xiàn),從而降低了丟包率。
根據(jù)圖6可知,ABC_CW 比ABC 和origin在丟包率上有較大的改進(jìn)。因?yàn)閬G包率直接影響有效吞吐率,由圖6和圖7 在300s之后可以看出,ABC_CW 的丟包率升高,導(dǎo)致ABC_CW 的有效吞吐率降低。ABC 的丟包率比origin的丟包率低3%左右,但是有效吞吐率卻能提高20%左右,這是由于丟包率并不是影響有效吞吐率的唯一因素,還取決于其他因素,例如節(jié)點(diǎn)處理數(shù)據(jù)的速度和數(shù)據(jù)包傳輸時(shí)是否發(fā)生錯(cuò)誤等。總之,通過圖7可知ABC_CW 的有效吞吐率比ABC和origin表現(xiàn)的更好。
由圖8可知在前300s,ABC 和ABC_CW 的時(shí)延均比origin小。通過圖5能量消耗圖也可以知道,前300s沒有節(jié)點(diǎn)霸占CAP的現(xiàn)象。所以,兩種改進(jìn)算法都比origin的時(shí)延小。但是在300s-450s階段,ABC_CW 因?yàn)橐恍┕?jié)點(diǎn)的CW 改變,導(dǎo)致總的時(shí)延增大,從而平均時(shí)延增大。而ABC只設(shè)置了適合網(wǎng)絡(luò)的占空比,所以時(shí)延比origin 小。最后50s內(nèi),因模擬時(shí)間將要結(jié)束,數(shù)據(jù)包產(chǎn)生減少,3種方案的時(shí)延漸漸趨于一種相似平穩(wěn)狀態(tài)。
綜上所述,在保證時(shí)延大致不變的情況下,ABC_CW不僅比ABC和origin的丟包率減少10%,有效吞吐率提高15%-40%,而且能量消耗也可以減少90%-900%。相比ABC算話和origin算法,ABC_CW 算法滿足了無線傳感器網(wǎng)絡(luò)的節(jié)能要求。
本文基于IEEE802.15.4協(xié)議提出了ABC算法,以解決固定占空比不適合動態(tài)流量的問題和某些節(jié)點(diǎn)長期占用CAP周期帶來的不公平性問題。通過與原協(xié)議比較,ABC算法無論從能量、丟包率,還是有效吞吐率以及時(shí)延上均有明顯提高,很好地解決占空比和網(wǎng)絡(luò)流量之間的不協(xié)調(diào)問題,從而改善了整個(gè)網(wǎng)絡(luò)的公平性,完善了IEEE802.15.4 在LRWPAN網(wǎng)絡(luò)的應(yīng)用需求。該算法為將來IEEE802.15.4信標(biāo)控制進(jìn)一步優(yōu)化改進(jìn)提供了參考,同時(shí)也對其他網(wǎng)絡(luò)通信協(xié)議提供仿照基礎(chǔ)。
[1]IEEE P802.15.4REVi/D04:IEEE draft standard for information technology-telecommunications and information exchange between systems-local and metropolitan area networks-specific requirementspart 15.4:Wireless medium access control(MAC)and physical layer(PHY)specifications for low rate wireless personal area networks(WPANs)[S].IEEE,2011:1-334.
[2]Yu Kai H,Ai Chun P,Hui Nien H.A comprehensive analysis of low-power operation for beacon-enabled IEEE 802.15.4 wireless networks [J].IEEE Transactions on Wireless Communications,2009,8 (11):5601-5611.
[3]Jeon J,Jong W L,Jae Y H,et al.DCA:Duty-cycle adaptation algorithm for IEEE 802.15.4beacon-enabled networks[C]//IEEE 65th VTC2007-Spring,2007.
[4]GAO BO. Modeling and energy-efficiency study of IEEE 802.15.4 MAC in wireless sensor networks [D].Shanghai Communications University,2009 (in Chinese).[高博.無線傳感器網(wǎng)絡(luò)中IEEE 802.15.4 MAC的協(xié)議建模與能量有效性研究 [D].上海:上海交通大學(xué),2009.]
[5]WAN Jing.The beacon-enabled study of IEEE 802.15.4 MAC[D].Chengdu:University of Electronic Science and Technology,2012 (in Chinese).[萬靜.信標(biāo)模式下802.15.4 MAC協(xié)議研究 [D].成都:電子科技大學(xué),2012.]
[6]Ergen S C,F(xiàn)ischione C,Marandin D,et al.Duty-cycle optimization in unslotted 802.15.4wireless sensor networks:Global telecommunications conference[C]//IEEE GLOBECOM,2008.
[7]Fischione C,Ergen S C,Pangun P,et al.Medium access control analytical modeling and optimization in unslotted IEEE 802.15.4wireless sensor networks [C]//6th Annual IEEE Communications Society Conference on Sensor Mesh and Ad Hoc Communications and Networks,2009.
[8]Kumar V,Raghuvansi A S,Tiwari S.Performance study of beacon-enabled IEEE 802.15.4standard in WSNs with clustering [C]//International Conference on Power,Control and Embedded Systems,2010.
[9]De Paz Alberola R,Villaverde B C,Pesch D.Distributed duty cycle management(DDCM)for IEEE 802.15.4beacon-enabled wireless mesh sensor networks[C]//IEEE 8th International Conference on Mobile Adhoc and Sensor Systems,2011.
[10]Lian H,Xuecheng Z,Zhenglin L,et al.An energy-efficient AESCCM implementation for IEEE802.15.4wireless sensor networks[C]//International Conference on NSWCTC,2009.
[11]Kwangil H,Sang Soo Y,Jong Hyuk P.Adaptive multi-channel utilization scheme for coexistence of IEEE802.15.4 LRWPAN with other interfering systems[C]//11th IEEE International Conference on HPCC,2009.
[12]Lee Y H,F(xiàn)am F T.Delivering high quality,secure speech communication through low data rate 802.15.4 WPAN[C]//IEEE International Conference on ICT-MICC,2007.
[13]Wang F,Li D,Zhao Y.Analysis of CSMA/CA in IEEE 802.15.4[J].Communications,IET,2011,5 (15):2187-2195.
[14]LV Zhi'an.ZigBee network theory and application development[M].Beijing:Beihang University Press,2008(in Chinese).[呂治安.ZigBee網(wǎng)絡(luò)原理與應(yīng)用開發(fā) [M].北京:北京航空航天大學(xué)出版社,2008.]