本文將介紹802.11協議下的四種節能模式,分別是PSM、APSD,PSMP以及SMPS。ASPD是基于802.11e進行設計的,在APSD中,先分節點,再分上下行的傳輸模式,U-APSD只可以在EDCA的模式下進行使用。
在802.11主要的版本中,總共定義了四種節能模式,除了最基本的PSM模式,以及其工作方式上的一些細節。由于PSM是在最初的802.11協議下進行的設計,其用了較為保守設計,以確保最穩定的運行需求。在后來的802.11幾個新版本中,為了改善節能模式的性能,所以還出現了一些其他的節能模式。本文主要介紹了其中主要的三個節能模式:APSD,PSMP以及SMPS。
APSD(Automatic Power Save Delivery)
ASPD模式是對PSM模式的一個直接改進。PSM模式的其最大的缺點在于請求數據時采用的“乒乓”機制。即一個polling幀請求,一個數據幀反饋,這樣一個來回交替的過程。該設計在數據緩存較多的情況下,會造成過多的polling幀出現,降低實際網絡傳輸效率。從而ASPD就需要對此加以改進。
APSD(Automatic Power Save Delivery):ASPD是基于802.11e進行設計的。在802.11e中設置一個服務時間的概念,即Service Period(SP)。我們可以簡單的理解成,若節點占據信道后,其制定一段服務時間,并且在該段時間內,該節點可以傳輸多個幀,換言之就是一次競爭多次傳輸。在ASPD中,還分為S-APSD與U-APSD兩種具體的工作模式。(PS:本文對Service Period以及EDCA的具體工作機制不會加以展開,其內容后期會放在對802.11e的整理中)
我們利用下圖,首先描述一下APSD的基本思想:
在上圖中,我們假設有一個QOS-AP,有一個QOS-STA(PS:由于ASPD是基于802.11e的,所以QOS-AP與QOS-STA都是支持802.11e的設備)。假設是由QOS-STA發起一個傳輸過程,即首先會發送一個“Trigger Frame”幀,這個幀有可能是QoS data或者QoS Null幀,通過該幀,節點申請到一個服務時間,即Service Period Start(PS:該服務時間可以理解成802.11e中的TXOP時間,而不是一般意義上網絡模型中所用的服務時間,在服務時間內,可以傳遞多個網絡幀),然后QOS-AP會反饋一個ACK和一個QOS-Data幀。接下來在服務時間范圍內,QOS-STA會持續和QOS-AP進行數據交換。當QOS-AP的緩存全被發送完之后,會在最后一個QOS-Data幀中的QOS控制字段,標注EOSP(End Of Service Period),從而結束一個服務時間,即Service Period End。對比我們在初探節能模式中所提到的PS-Poll,這種“乒乓”的模式而言,前者一個請求一個反饋,而APSD中,一次請求就可以交換多個幀。下面我們說明S-APSD以及U-APSD。
S-APSD(Scheduled APSD):基于調度的APSD,S-APSD可以在EDCA(DCF的擴展)和HCCA(PCF的擴展)這兩種工作模式下都可以使用,從筆者的個人觀點而言,S-APSD更像是前面我們提到的PSM-PCF模式下的擴展。由于S-APSD的具體工作機制不太好抓包做確認,所以只能夠通過對協議的字面含義進行理解,如有錯誤,還請見諒。
如上圖所示,是S-APSD的一個工作模式。在S-APSD中,SP(Service Period)是預先調度的,在調度時間將要到來之時,QOS-AP會發送一個triger frame,同時QOS-STA也會提前醒來接受該幀,從而開啟一個服務時間。該服務時間是通過管理幀中的Schedule Element字段進行調度的,所以節點可以提前知道什么時候應該醒來。在上圖中,QOS-AP發送的triger就是PS-Poll,然后就開始和QOS-STA交換數據,即STA向AP反饋數據之后,AP再向STA反饋數據,這樣交替切換,直到SP時間結束。
在這里,QOS-AP和QOS-STA交換數據還是上下行按序切換的,即這里還是有一些類似“乒乓”機制,在后面我們提到的PSMP實際上對這一點會再次加以改進。
U-APSD(Unscheduled APSD):基于非調度的APSD,U-APSD只可以在EDCA的模式下進行使用,U-ASPD更像之前提到的PSM-DCF模式的擴展。
如上圖,是U-APSD的工作時序。在該模式中,QOS-STA會首先發送一個triger幀(即QOS-Null)給AP,AP收到該幀的時候,就意味著一段服務時間的起始,接著AP和節點會相繼交換數據。(PS:至于在服務時間內,上下行數據交替發送過程中是否還會有bakcoff,筆者目前所讀的資料是沒有的,不過對于協議中的原文描述,筆者還沒有確定)
實際上在一個SP時間內的工作機制,S-APSD和U-APSD是基本機制的,區別主要在于S-APSD的SP時間是實現調度好的,比如前面該時間就是利用beacon幀中實現調度,而在U-APSD是節點發起的,即該調度時間任意時刻都有可能發起,同時還可以主要到,一般S-APSD都是AP進行發起,而U-APSD是節點進行發起較多,不過這點也不是絕對而已。
PSMP(Power-Save Multi-Poll)
實際上從802.11e中引入TXOP,Block ACK,802.11n中引入的RIFS,幀聚合,802.11ac中引入MU-MIMO(PS:協議中僅僅是AP下行可以使用MU-MIMO,上行未包含),這些技術都會導致AP的突發(burst)下行傳輸的效率相比上行接入效率要高。
所以從節能模式的角度而言,在APSD中,先分節點,再分上下行的傳輸模式,就沒有先分上下行,再分節點的傳輸效率高,那么后者就是PSMP設計的基本想法。
PSMP(Power-Save Multi-Poll):在802.11n中新增的模式,可以理解是引入了更嚴格的調度機制,其首先利用一個PSMP幀來調度整個節能模式的傳輸周期,將其分成PSMP下行傳輸時段,PSMP-DTT(PSMP Downlink Transmission Time)和PSMP上行傳輸時段,PSMP-UTT(PSMP Uplink Transmission Time)。在PSMP-DTT過程中,AP進行突發傳輸,其中幀間間隔可能會更小,比如RIFS。RIFS的時間會比SIFS會更小,SIFS時間是包含了一個發送狀態到接受狀態的切換時間,而RIFS僅僅是兩次發送狀態之間的切換時間。在該過程中,節點可以不采用CCA,直接在被調度的具體時間內醒來,并接受數據,從而可以獲得更多的休眠時間,從而節能。在PSMP-UTT時間內,節點僅僅會在被調度的周期內醒來,并反饋上行數據幀,從而也減少了較多的監聽過程,節約了能量。在PSMP中,若AP的下行傳輸中存在廣播/組播包,那么會在PSMP-DTT時間內,第一個數據幀進行發送,這點實際上和之前的PSM模式傳輸組播或者廣播幀是一樣的。
如下圖表述了一個PSMP的時序調度(參考《Cambridge.Next Generation Wireless LANs.802.11n》)
那么AP首先發送一個PSMP幀,該幀中包含了后續時間內,下行鏈路和上行鏈路具體的調度安排。然后開始進入PSMP-DTT時間,第一個是發送本地緩存的組播/廣播幀(即PSMP-DTT1時刻內),然后按序發送節點所對應的緩存單播幀,這里PSMP-DTT時間內,幀間間隔可以采用RIFS,以達到更高的效率。對于ACK的部分,由于筆者沒有做詳細考證,所以沒有加以描述。當PSMP-DTT時間結束后,節點會依次在自己對應的上行調度周期內,發送數據幀,如STA1就在PSMP-UTT1中發送上行數據。當PSMP-UTT時間結束后,這一輪PSMP的數據交換就完成了。
PS:一些PSMP的細節在《Cambridge.Next Generation Wireless LANs.802.11n》一書第9章中,所述較為詳細,有興趣可以擴展閱讀。
SMPS(Spatial Multiplexing Power Save)
最后,我們描述一下在802.11n中所敘述的SMPS模式,即多天線模式下的節能模式。在該模式下,節點可以選擇關于多余的天線,從而達到節能目的。但在實際過程中,節點是不好貿然關閉自己的天線的,因為其無法確定AP是按照多空間流的形式,還是按照單空間流的形式向其發送數據。若AP采用多流發送下行數據,而節點僅僅是單根天線的工作模式,那么是無法正確接收的(這里與發送分集不同,若發送分集也是需要AP按照分集模式進行發送,而不是空分復用的形式發送,其預編碼的策略不同)。所以節點要與AP有關關閉天線該動作,進行適當的溝通,那么該機制就對應到SMPS的使用。
SMPS(Spatial Multiplexing Power Save):該模式下,節點會關閉多余的天線,僅僅使用一根天線進行工作,從而達到節能的目的。在SMPS中還分為兩種模式,一者靜態工作模式(Static SM Power Save),一者動態工作模式(Dynamic SM Power Save)。
上圖表示的是一個靜態工作模式下的SMPS,其中我們可以看到,節點說先需要發送一個action frame,將AP切換為單流發送下行幀,以讓節點節約一些能量。若需要恢復回多流工作模式,則需要反饋一個action frame,其中顯式注明static mode disabled,從而AP接下來發送的幀才會是多流模式。
上圖是動態工作模式下的SMPS,其中當STA發送一個動態模式的action frame后,AP緊接著反饋的下行幀中就會采用單流模式(圖中的下行幀是RTS,實際上也可以是數據幀)。當該幀反饋后,AP發送下一個幀的時候,則會回到默認發送的多流模式,主動從單流模式切換回來,而在靜態模式中,這個切換需要一個顯示的action frame,故這里就是靜態和動態SMPS的一個區別。
評論