基于802.11協(xié)議數(shù)據(jù)鏈路層的MAC子層實現(xiàn)的節(jié)能機制研究
802.11是IEEE 802.11標準委員會制訂的無線局域網(wǎng)信道接入?yún)f(xié)議,也可用于無線自組織網(wǎng)(Ad Hoc網(wǎng)絡)。無線結點使用的易耗盡能源(主要是電池)只能提供有限的能量供應;而目前由于受電池制造技術的限制,在保持電池重量一定的條件下,電池容量很難有突破性的提高。另一方面,移動終端性能不斷提高,功能也越來越強大,對電源供應的需求也更加強烈。因此研究新的技術以減少能耗并延長電源使用時間非常有必要。
無線網(wǎng)絡接口在結點總功耗中占有相當大的比例。通常情況下,無線網(wǎng)絡接口加電工作時按功率消耗由小到大的順序有4種模式:睡眠模式(sleep)、空閑模式(idle)、接收模式(receive)以及發(fā)送模式(transmit)。當無線網(wǎng)絡接口工作于睡眠模式時稱結點處于睡眠狀態(tài),而當無線網(wǎng)絡接口工作在其他三種模式時稱結點處于活躍狀態(tài)。
試驗表明:網(wǎng)絡接口處于睡眠狀態(tài)時能耗特別低,處于空閑模式時的功率消耗與處于接收、發(fā)送模式時的功率消耗相差無幾。這說明在發(fā)送代價很大的網(wǎng)絡中為了節(jié)能而常用的功率控制機制并不能顯著降低網(wǎng)絡能耗;盡可能將結點網(wǎng)絡接口置于睡眠狀態(tài)是降低結點功耗的關鍵,各種節(jié)能協(xié)議的設計也主要是圍繞這個思想進行的。這種類型的節(jié)能協(xié)議主要由數(shù)據(jù)鏈路層的MAC子層實現(xiàn)。
1 802.11協(xié)議的基本節(jié)能機制
802.11協(xié)議在MAC子層標準中定義了兩種模式:分布協(xié)調功能DCF和點協(xié)調功能PCF。由于DCF的使用比較普遍,因此本文主要基于DCF來探討802.11協(xié)議的節(jié)能技術。
在節(jié)能模式下,當結點沒有數(shù)據(jù)傳輸時可以進入睡眠狀態(tài),但這種操作不能影響正常的數(shù)據(jù)通信。因此必須要解決好兩個問題:節(jié)能模式下結點如何從其他結點接收數(shù)據(jù);結點如何向處于節(jié)能模式的結點發(fā)送數(shù)據(jù)。
802.11標準中為802.11DCF定義了節(jié)能模式PSM(Power Save Mode)。PSM工作于全互連網(wǎng)絡中,工作過程如圖1所示。各結點將時間軸分為連續(xù)的beacon周期,當每一beacon周期開始時,工作于節(jié)能模式的結點都喚醒一段時間,稱之為ATIM窗口(Ad Hoc Traffic IndicaTIon Message)。在ATIM窗口開始的時刻各結點都處于活躍狀態(tài)并競爭發(fā)一beacon幀來進行全網(wǎng)同步,其中beacon幀中攜帶本結點的時鐘信息。各結點都與成功接收到的beacon幀進行同步,并且不再發(fā)送自己的beacon幀。同步后,有報文要發(fā)送的結點通過發(fā)送ATIM幀與接收結點進行信息交互,接收結點收到發(fā)給自己的ATIM幀后,應答一個ATIM-ACK(如果ATIM幀的地址是一廣播地址,則無需應答)。結點如果有報文要發(fā)送或接收,則在剩余的beacon周期時間內(nèi)(本文稱作流量窗口,簡稱TW窗口)一直處于活躍狀態(tài),那些沒有報文要發(fā)送或接收的結點則在TW窗口內(nèi)處于睡眠模式以節(jié)省能量,直到下一beacon周期開始時刻重新喚醒。802.11PSM協(xié)議有以下幾條規(guī)則必須遵守:
(1)如果某結點收到發(fā)給自己的ATIM幀或廣播地址的ATIM幀,則該結點在本beacon周期內(nèi)要一直處于活躍狀態(tài);
(2)只有當結點既沒有發(fā)ATIM幀又沒有收到地址為本結點或廣播地址的ATIM幀時才可在本beacon周期的TW窗口內(nèi)進入睡眠態(tài),直到下一周期開始再喚醒;
(3)ATIM幀和ATIM-ACK幀發(fā)送采用正常的802.11DCF接入規(guī)則競爭信道;
(4)在TW窗口內(nèi),處于活躍狀態(tài)的結點采用正常的802.11DCF接入規(guī)則競爭信道。
PSM作為802.11最基本的節(jié)能協(xié)議,能夠在一定程度上實現(xiàn)節(jié)能目標。但它存在一些不足:
(1)PSM協(xié)議中,ATIM窗口大小固定不變。而ATIM窗口的大小對系統(tǒng)的節(jié)能效率和吞吐率有較大影響,大小固定的ATIM窗口不能靈活適應這種狀況。ATIM窗口設置得過大會導致實際用來發(fā)送數(shù)據(jù)的時間縮短而使最大吞吐率降低,也會降低節(jié)能效率。尤其網(wǎng)絡在低負荷時,過大的ATIM窗口的負面影響極為明顯。而ATIM窗口過小則可能導致某些發(fā)送結點在ATIM窗口內(nèi)沒有時間與接收結點建立連接,也可能使最大吞吐率降低;
(2)在整個ATIM窗口內(nèi),所有結點都必須處于活躍狀態(tài)。當所有結點都沒有數(shù)據(jù)傳輸時在ATIM窗口一直處于空閑狀態(tài),仍要消耗不少能量;
(3)每個有數(shù)據(jù)收發(fā)的結點在TW窗口內(nèi)要一直處于活躍狀態(tài)(即使只有一個報文要發(fā)送或接收)。結點在結束通信后,如果TW窗口尚未結束,它就要在窗口剩余時間內(nèi)一直處于空閑狀態(tài),這依然要消耗不少能量;
(4)在TW 窗口內(nèi),數(shù)據(jù)發(fā)送時競爭信道采用的是普通802.11協(xié)議中的CSMA/CA機制。當結點發(fā)現(xiàn)信道忙時,就要退避一段時間再進行信道接入。在這段退避時間內(nèi),結點處于空閑狀態(tài),依然消耗不少能量。
2 802.11中各種改進的節(jié)能協(xié)議
針對802.11PSM節(jié)能協(xié)議中存在的不足,不少學者提出了改進建議。常見的對基本節(jié)能機制的改進協(xié)議有如下幾種。
2.1 TIPS協(xié)議
TIPS協(xié)議(Traffic Indication-based Power Saving)是針對PSM中所有結點沒有數(shù)據(jù)傳輸時在ATIM窗口內(nèi)仍然保持活躍狀態(tài)的缺陷進行的改進。如果所有結點都沒有數(shù)據(jù)傳輸,在ATIM窗口進入睡眠狀態(tài)會減少能耗。但結點不能過早地盲目地轉入睡眠狀態(tài),因為即使結點自己沒有數(shù)據(jù)發(fā)送,它也無法了解鄰結點是否有數(shù)據(jù)需要接收或轉發(fā)。為了解決這一問題,TIPS協(xié)議在ATIM窗口開始時刻利用兩個beacon時隙作為流量指示器,將第一個時隙稱為ETS(Earlier Time Slot),第二個時隙稱為LTS(Later Time Slot)。
TIPS協(xié)議ATIM窗口如圖2所示。在TIPS協(xié)議中,當結點有數(shù)據(jù)需要發(fā)送時就在ETS時隙中競爭發(fā)送作為同步的beacon幀,否則延遲到LTS幀中發(fā)送。如果beacon幀在ETS時隙中發(fā)送,說明網(wǎng)絡中有結點要傳輸數(shù)據(jù),此后TIPS協(xié)議工作過程與PSM相同。如果ETS時隙中沒有beacon幀發(fā)送,就認為所有結點都沒有數(shù)據(jù)要發(fā)送,此時所有結點在LTS時隙后就進入睡眠狀態(tài),直到下一beacon周期開始時刻重新喚醒。
在TIPS協(xié)議中,網(wǎng)絡沒有報文傳輸時結點在ATIM窗口就能進入睡眠狀態(tài),因此比PSM節(jié)能效率高,數(shù)據(jù)流量小時尤其明顯。
2.2 DPSM協(xié)議
DPSM協(xié)議(Dynamic Power-Saving Mechanism)可以動態(tài)調整ATIM窗口大小,并且結點結束數(shù)據(jù)傳輸后即可在TW窗口內(nèi)進入睡眠狀態(tài)。
DPSM協(xié)議中每個結點根據(jù)自己觀察到的網(wǎng)絡狀況而各自使用不同大小的ATIM窗口。結點在ATIM窗口中交互ATIM幀的同時通知對方自己有多少報文要發(fā),在TW窗口內(nèi),當發(fā)送結點發(fā)送完數(shù)據(jù)后,收發(fā)雙方都可以進入睡眠狀態(tài)。如果在當前的beacon周期內(nèi)沒有將已經(jīng)通過ATIM幀廣播的數(shù)據(jù)發(fā)完,則在下一beacon周期的TW窗口中收發(fā)雙方都處于活躍狀態(tài)繼續(xù)發(fā)送未發(fā)完的數(shù)據(jù),而不必再通過ATIM幀廣播。結點會在所有發(fā)送報文中帶上自己的ATIM窗口大小信息,其他結點如果收到此報文就可以知道對方的ATIM窗口大小。某結點發(fā)送ATIM幀時,根據(jù)目的結點的ATIM窗口大小,首先向ATIM窗口最小的結點發(fā)送ATIM幀,如果不知道對方的ATIM窗口大小,就按最小的ATIM窗口來對待。如果某結點在當前的ATIM窗口內(nèi)來不及向所有目的結點發(fā)送ATIM幀,則可以增大ATIM窗口。ATIM窗口的增加和減少都是按一定的粒度來進行的。某結點如果從其他結點發(fā)送的報文中得知對方的ATIM窗口比自己的ATIM窗口大2個級別以上,則將自己的ATIM窗口增大一個級別。當某一結點在ATIM窗口結束后因為要發(fā)送或接收數(shù)據(jù)報文而處于活躍狀態(tài)時,又收到其他結點發(fā)來的ATIM幀,則可以響應一個ATIM-ACK報文,并在下一beacon周期中將自己的ATIM窗口增大一個級別,如圖3所示。
某一結點在連續(xù)發(fā)送幾次ATIM幀都沒有收到對方響應的ATIM-ACK幀時(因為對方的ATIM窗口比自己小)就會將當前的數(shù)據(jù)報文作上標記,當結點收到發(fā)送給自己的作了標記的數(shù)據(jù)報文后,也要將ATIM窗口增大一個級別。如果某結點能用當前的ATIM窗口順利將所有ATIM幀發(fā)送給對方,這說明當前的ATIM窗口已經(jīng)足夠大,則它可以選擇將ATIM窗口縮小一個級別。
DPSM能夠使結點根據(jù)網(wǎng)絡狀況動態(tài)調整ATIM窗口大小,并且在數(shù)據(jù)傳輸結束后就進入睡眠狀態(tài)。因此比PSM節(jié)能效率高,同時也沒有降低吞吐率。
2.3 NPSM協(xié)議
NPSM協(xié)議(New Saving Mechanism)中報文發(fā)送完畢之后結點可以進入睡眠狀態(tài),工作過程如圖4所示。在每一beacon周期開始時仍然有一段時間內(nèi)所有結點都處于活躍狀態(tài)。收發(fā)雙方不必事先交互ATIM報文就可以直接發(fā)送數(shù)據(jù)報文。在發(fā)送報文的同時通過在控制報文和數(shù)據(jù)報文中攜帶一些特定信息來告知對方及其他結點自己當前有多少報文等待發(fā)送、要發(fā)給誰以及其他鄰居結點總共有多少報文等待發(fā)送給自己等信息。所有無關結點在收到這些信息后就能估算出發(fā)送報文的結點至少還會處于活躍狀態(tài)多少時間,而目的結點也能知道對方有多少報文等待發(fā)送給自己?;钴S窗口結束后,如果結點沒有數(shù)據(jù)發(fā)送或接收就轉入睡眠狀態(tài)。
由于NPSM協(xié)議中結點在報文發(fā)送完畢之后可以進入睡眠狀態(tài),因此比802.11PSM協(xié)議有更高的節(jié)能效率。同時,由于無需交互ATIM報文, NPSM協(xié)議比802.11PSM協(xié)議有更高的吞吐率。
2.4 IPSM協(xié)議
IPSM協(xié)議[7-8](ImprovedPower Saving Mechanism)與DPSM具備一樣的特征,既可以動態(tài)該改變ATIM窗口大小,又允許結點在TW窗口完成數(shù)據(jù)傳輸后轉入睡眠狀態(tài)。但兩者采取機制完全不同。IPSM中定義了4個參數(shù):最大ATIM窗口ATIMmax,最小ATMI窗口ATIMmin、信道空閑時間CIT(Channel Idle Time)、信道空閑時間門限CITThreshold(Channel Idle Time Threshold)。ATIMmax和ATIMmin限定了ATIM窗口變化的范圍。CIT指在ATIM窗口結束時刻測得的信道持續(xù)空閑時間。CITThreshold則提供了ATIM窗口增大的條件。在ATIM窗口結束時如果CIT大于CITThreshold,則說明信道已經(jīng)空閑了足夠長時間,結點沒有再試圖發(fā)送ATIM幀,不必改變ATMI窗口大??;否則就要增大ATIM窗口。各個結點窗口大小變化是同步的。
IPSM協(xié)議工作過程如圖5所示。在beacon周期初始時,ATIM窗口置為ATIMmin,如果在窗口結束時刻測得的CIT小于或等于CITThreshold時,就在ATIMmin基礎上延長ATIM窗口持續(xù)時間形成新的ATIM窗口。此過程反復進行直到CIT大于CITThreshold時或ATIM窗口增大到ATIMmax時為止。ATIM窗口結束后,結點開始傳輸數(shù)據(jù)。IPSM協(xié)議在ATIM幀中和傳輸?shù)臄?shù)據(jù)分組中包含有結點待傳輸?shù)姆纸M數(shù)量信息。這些信息能夠讓目的結點判斷出它是否接收完所有分組數(shù)據(jù)。如果一個結點在TW窗口結束了數(shù)據(jù)傳輸,即使TW窗口還沒有關閉,結點也可進入睡眠狀態(tài)。如果源結點在beacon周期結束時沒有傳輸完數(shù)據(jù),則在下一個beacon周期它和目的結點處于活躍狀態(tài),不必傳輸ATIM幀就能繼續(xù)傳輸數(shù)據(jù)。
IPSM協(xié)議中,結點根據(jù)網(wǎng)絡狀況同步調整ATIM窗口大小,同時數(shù)據(jù)傳輸結束后就能進入睡眠狀態(tài)。因此其節(jié)能效果比PSM好。
2.5 S-PAM協(xié)議
PSM協(xié)議中結點在TW窗口進行數(shù)據(jù)傳輸使用CSMA/CA機制,沒有競爭到信道的結點就要退避一段時間再發(fā)送。S-PAM(The Slot-based Power Saving Mechanism)協(xié)議使得結點在退避時間內(nèi)轉入睡眠狀態(tài),提高節(jié)能效率。
在S-PAM中,將TW窗口劃分為幾個不同的時隙。結點只在選定的時隙中傳輸數(shù)據(jù),相應只在傳輸數(shù)據(jù)的時隙中處于活躍態(tài),而在退避時隙時轉入睡眠狀態(tài)。傳輸數(shù)據(jù)時隙在ATIM窗口中選定并通過ATIM分組進行消息發(fā)布。S-PAM工作具體過程如圖6所示。
S-PAM協(xié)議中,結點在退避時間內(nèi)能進入睡眠狀態(tài),因此節(jié)能效率高。同時數(shù)據(jù)在分配好的時隙中傳輸,吞吐率也得以提高。但時隙分配機制比較復雜。
以上這些協(xié)議都是針對PSM的不足在某一方面進行的改進,使得節(jié)能性能得以提高。各協(xié)議性能比較如表1所示。目前,從多方面綜合考慮而進行的節(jié)能研究還比較少。
3 節(jié)能技術所面臨的困難及發(fā)展方向
動態(tài)關閉無線接口是802.11協(xié)議的主要節(jié)能機制,但需要解決好以下幾個方面的問題:
(1)如何獲得全網(wǎng)時鐘同步。PSM及其改進協(xié)議大都使用beacon幀進行同步,在全互連無線網(wǎng)絡中是可行的。但對于多跳Ad Hoc網(wǎng)絡[9-12]而言,由于沒有一個通信范圍能覆蓋全網(wǎng)的中心結點,使得全網(wǎng)同步實現(xiàn)起來相當困難。這就促使研究者必須研究解決同步問題和異步時間驅動情況下的節(jié)能技術;
(2)研究時間-報文綜合驅動的節(jié)能技術。PSM及其改進協(xié)議將時間軸劃分為不同的beacon周期進行操作,屬于時間驅動節(jié)能技術,沒有過多考慮網(wǎng)絡負荷影響。網(wǎng)絡負荷低時節(jié)能性能顯著。而在網(wǎng)絡負荷高時節(jié)能效果比較差。報文驅動機制正好相反,它利用報文發(fā)送前交互的控制信息決定結點是否進入睡眠狀態(tài)。如果能將這兩種節(jié)能機制優(yōu)點結合起來又克服各自缺點,則能取得更好的節(jié)能效果;
(3)如何發(fā)送廣播報文。在普通網(wǎng)絡中,由于所有結點一直處于活躍狀態(tài),廣播報文可以隨時發(fā)送。而當運行節(jié)能協(xié)議時,如何發(fā)送廣播報文是一個需要研究的問題;
(4)模式轉換的能耗問題。結點在睡眠狀態(tài)和活躍狀態(tài)間相互轉換時需要消耗額外的能量。如果睡眠時間過少,它節(jié)省的能量還不足以彌補模式轉換消耗的能量,此時就不宜進入睡眠狀態(tài)。如何確定最少睡眠時間也是必須要解決的問題;
(5)如何判斷當前存在的鄰居結點。無線網(wǎng)絡中結點間常常要交互信息以判斷有哪些鄰結點。由于工作于節(jié)能模式的結點會在許多情況下處于睡眠狀態(tài),這有可能影響某些結點對鄰居結點的正確判斷;
(6)協(xié)議各層如何協(xié)作以提高節(jié)能效果。節(jié)能問題涉及到網(wǎng)絡的各層,進行跨層設計非常有必要。在Ad Hoc網(wǎng)絡中,路由協(xié)議的節(jié)能研究是節(jié)能工作一個重要方面。MAC子層節(jié)能技術要考慮與路由協(xié)議協(xié)同工作,保證當前處于睡眠狀態(tài)結點也能收到必要的路由信息。
無線終端在能源有限條件下能連續(xù)工作較長時間是業(yè)界所希望的。因此節(jié)能問題引起了國際學術界的廣泛關注,產(chǎn)業(yè)界也一直在尋求通過采用節(jié)能機制來延長終端工作時間的方法??梢灶A期隨著時間的推移,各種新的節(jié)能機制將在無線網(wǎng)絡中得到越來越廣泛的應用,從而進一步推動無線網(wǎng)絡的發(fā)展。