原文地址:https://zhuanlan.zhihu.com/p/79572297
TWT節能機制簡介(Target Wake Time)
TWT定時喚醒機制(Target Wake Time,TWT)首次出現在802.11ah “Wi-Fi HaLow”標准中,其用於支持大規模物聯網環境下的節能工作。隨着IEEE 802.11ax標准的發展,TWT的功能獲得了進一步的擴展,這使得IEEE 802.11ax標准能夠更加優化設備的節能機制,提供更可靠,更節能的傳輸機制。在802.11ax中,TWT機制在ah的基礎上,已經被修改為支持基於觸發的上行鏈路傳輸,從而擴展了TWT工作的范圍。
在TWT中,終端和AP之間建立了一張時間表(該時間表是終端和AP協定的),時間表是由TWT時間周期所組成的。通常終端和AP所協商的TWT時間周期包含一個或者多個beacon周期(總體時間比如幾分鍾,幾小時,甚至高達幾天)。當終端和AP所協商的時間周期到達后,終端會醒來,並等待AP發送的觸發幀,並進行一次數據交換。當本次傳輸完成后,返回睡眠狀態。每一個終端和AP都會進行獨立的協商,每一個終端都具有單獨的TWT時間周期。AP也可以將終端們根據設定的TWT時間周期進行分組,一次和多個終端進行連接,從而提高節能效率。
如上圖所示,User 1和User 2分別和AP協定了兩個TWT時間周期,分別為TW1和TW2。終端User 1和User 2默認就工作在睡眠模式下(sleep mode),保持一個較低的功耗。當TWT時間周期到達時,AP會發送一個觸發幀(Trigger)給終端,終端進而蘇醒並和AP執行數據交換,當數據交換完成后,終端恢復睡眠模式。TWT和傳統PSM模式的差別是,終端只在TWT時間開始的時候蘇醒,而在PSM模式中,從該beacon周期開始,終端就會通過該beacon幀中的DTIM信息,觀察是否AP是否由緩存自己的數據幀,如果有的話,那么就保持蘇醒,直到接收完成后,才恢復到睡眠模式。在上圖中,如果是傳統的PSM的話,若本輪beacon幀中提示有User 1的信息,那么其不會在TW1時間內睡眠,會保持蘇醒,直到數據交換完成后,才恢復睡眠。
TWT的三種工作模式
TWT一共有三種工作模式,分別是:1)Individual TWT,2)Broadcast TWT,3)Opportunistic PS。
- Individual TWT:該模式下終端會和AP協商特定的TWT時間,該時間會被存放在AP的時間表中。終端會在特定的時間醒來並和AP進行幀交換。每一個終端僅僅直到自己和AP協商的TWT時間,不需要知道其他終端的TWT時間。Individual TWT還有多種工作模式,比如說顯式工作模式。
其大致工作流程如下:
- 終端想要建立一個TWT連接,其會將自己的節能調度信息告知給AP
- AP將會分配TWT周期,並將該周期反饋給終端
- 終端會在指定的TWT周期時蘇醒,並和AP進行數據幀交換
- 在本輪交換中,會分成顯式和隱式兩種工作模式
- 顯式工作模式
- 在本次數據幀交換中,AP會顯式告訴終端,下一輪的TWT周期
- 終端會在新的指定的TWT周期時蘇醒,並再一次和AP進行數據幀交換
- 隱式工作模式
- 在本次數據幀交換中,AP不會告訴終端,下一輪的TWT周期
- 終端會自己計算出下一輪的TWT周期(通過在當前TWT周期上增加一個特定的時間)
- 終端會在自己計算的TWT周期時蘇醒,並再一次和AP進行數據幀交換
如上圖所示,終端會在蘇醒的時候,首先和AP發起一個TWT建立請求,終端和AP協商一個TWT時間(即圖中Negotiate a schedule),當協商完成后,終端就進入睡眠狀態。在該圖上,AP發送Beacon時,也會包含了公開的TWT信息,在Individual TWT工作模式下,該信息終端時不需要的。終端一直保持睡眠狀態,直到TWT時間到達。終端蘇醒,並接收AP的觸發幀,即TWT Trigger。當終端接收到該觸發后,其會和AP進行數據幀交互。於此同時,AP會告知終端下一次的TWT時間(在顯式TWT中,睡眠間隔的逐次設定的),終端會在新的TWT時間上,定時蘇醒,並執行數據幀交換。TWT的一次蘇醒間隔有可能是小於一個beacon周期,也有可能是大於一個beacon周期的,相比於傳統的PSM,APSD之類的節能方式,更加具有一般性。
終端和AP可以關於TWT時間周期進行協商,終端可以要求取消TWT參數,或者向AP請求特定的TWT時間。如果AP統一終端的請求,其會反饋“Accept TWT”。還有多種協商的具體參數,可以參考上圖,即協議中的Table 10-19a。
- Broadcast TWT:廣播TWT機制是一種由AP負責管理的工作機制。在該機制下,TWT時間周期是由AP宣告,通常AP會在每一個beacon幀中宣告本輪的TWT時間周期。在一些特殊的情況下,AP也會在其他的管理幀中宣告,比如Association幀,Reassociation幀或者Probe Response幀等等。我們需要注意在Broadcast TWT中,存在加入組和離開組的交互動作,終端需要向AP申請加組才可以執行Broadcast TWT,這個加組交互動作也是通過在終端和AP交換管理幀中,通過攜帶TWT elements完成的。當終端完成加組后,終端會按照最近接收到的TWT時間周期進行工作,此時這一類型的終端也被叫做“TWT Scheduled STA”,AP被稱為“TWT Scheduling AP”。終端在TWT時間周期到達后進行蘇醒,AP會發送廣播的觸發幀,發現哪些終端正在處於蘇醒狀態(加組后的終端們),並向這些終端發送數據幀,這里由於是廣播通信,所以只有AP向節點發送。當AP發送完成后,終端恢復到睡眠狀態,直到下一次廣播TWT時間到達。通常,這種廣播TWT中的時間間隔,我們也稱為“TWT SP (Service Period)”。
如上圖所示,AP會在Beacon幀中,進行TWT Broadcast時間周期(即TWT SP時間)的宣告。終端們蘇醒並接收該Beacon信息。然后在對應的TWT時間到達時,對應的終端們會提前蘇醒,接收AP發送的TWT trigger,以及AP發送的下行數據幀,在此過程中,AP也由可能發送新的一次的TWT Broadcast時間周期(即TWT SP時間)。終端接收完成后,進入睡眠狀態,並在新的TWT SP時間到達時,再次蘇醒,以后以此類推。
- Opportunistic PS:機會PS模式和前面兩種工作模式是類似的,但是沒有AP和節點的協商過程。AP會在每一個Beacon內,公開宣告一個TWT時間。任意終端可以選擇在這個公開TWT時間內進行蘇醒,並和AP執行數據幀交換。這個交換可以是單個節點的,也可以是采用OFDMA機制進行交換。
如上圖所示,AP在Beacon幀中宣告了一個公開的TWT時間,任意終端都可以直到該TWT時間。當該TWT公開時間到達后,AP會發送觸發幀,此時蘇醒的節點可以和AP進行交互,並執行數據幀的交換。在圖中,由多個節點蘇醒,從而觸發了一次OFDMA類型的數據幀交互。