實驗五 如何啟動省電模式?

 

[實驗目的]

   學習在省電模式下,行動主機如何跟基地台要求被暫存的資料。

 

[實驗設備和測試環境]

1.      基地台x1 (SMC SMCWBR14S-N4)

2.      筆記型電腦一台 (Benq U102, Broadcom 802.11g網路卡, WINDOWS XP)

3.      AirPcap Tx

4.      Windows XP + winpcap 4.1.1 + wireshark 1.2.6

 

[背景知識]

一般行動主機有四種工作的狀態:休眠、傳送、接收和監聽。其中休眠所耗的電量是最低的,所以如果行動主機若能常處在休眠模式,則其生命的週期則可拉大。但是若是行動主機處於休眠狀態時,基地台需要配合暫存原本要給休眠的行動主機,而行動主機需要定期的醒來(可以透過在做系統連結時,使用Listen interval告知基地台,請參考實驗三),看看基地台所送出的訊標(Beacon)中的TIM (Traffic Indication Map)資訊,如果基地台有暫存的資料,就會在對應休眠的行對主機AID(Association ID)去做設定,甦醒的行動主機若發現其AID有被設定,則會發出Power-Save Poll (簡稱PS-Poll)的訊框給基地台,基地台再把暫存的資料送給行動主機,若行動主機正確收到,會再回應一個ACK,告知基地台。另外要特別留意的是,當基地台把資料訊框送給行動主機時,可以透過Frame Control中的More Data子欄位告知基地台是否還有暫存資料,若More Data=1,則行動主機還需要透過PS-Poll再跟基地台要暫存的資料。

 

PS-Poll的訊框格式如下如圖所示Frame Control中的子欄位Type=01(控制類訊框)Subtype=1010(Power-Saveg Poll),接著是連結ID(AID),主要是行動主機可透過這個AID在基地台找出是所對應的暫存資料(AID的值為1~2007),然後第一個位址是BSSID(通常是目前連結基地台的MAC Address),第二個是傳送端位址(也就是送出此PS-PollMAC Address)

 

基地台可以透過Beacon告知行動主機目前有那些AID是有被暫存資料的,其告知的方法就是透過Beacon的資訊項目(Element ID=5)來告的。底下是Element ID=5的格式,第一個Element ID=5(表示流量指示圖譜,Traffic Indication MapTIM),第二個Length指的是在length這個欄位後面有多少個位元是屬於這個資訊項目的,第三個欄位是DTIM倒數計數(DTIM Count),第四個欄位是DTIM週期(DTIM Period),第三和第四個欄位是用在通知行動主機有關群播(Multicast)或廣播(Broadcast),目前暫不討論,有興趣的讀者請悅讀參考資料一,第五個欄位是位元譜控制(Bitmap Control),若有廣播或群播的訊框等待傳送,該位元會設為1,反之設為0。最後一個欄位是bitmap,若是對應的AID在基地台有暫存的資料,則對應的bit就會設為1,反之設為0

 

[實驗環境和步驟]

1.Benq U102Broadcom 802.11g無線網卡設定內容中的進接,其原本省電模式是設為快速,請改成如下面右圖一樣已啟用

    

 

2.重新再連線一次,則Benq U102需要再透過尋找基地台,身份認證,系統連結等步驟,完成前三個部份之後,接著要做取得IP的設定(via DHCP),所以觀察wireshark所抓取的封包結果可以發現當Benq U102送出DHCP Discover後,Benq U102可能有進入休眠,接著SMC基地台送出的Beacon中的TIM說明了有Benq U102的暫存資料,所以Benq U102就發出Power-Save Poll的資訊給基地台,基地台收到後,再把所暫存的DHCP offer送給Benq U102

 

3.底下是Beacon的內容。其中的TIM的值為05 04 00 01 00 0205表示Element ID=5(TIM)Length=4(後面接了四個位元組的資料)00 (DTIM count)01(DTIM Period)00 (bitmap control0表示沒有廣播或群播的待傳資料)02=00000010(從右邊算過來的第一個bit,代表AID 0,用來表示是否有廣播或群播的待傳資料,算過來的第二個bit,是AID=1,其值是1,表示有代傳資料,其他以此類推)

 

行動主機透過PS-Poll中的AID跟基地台要暫存的資料,其AID以下圖為例其值是0xC001=11000000 00000001,分析的時候也是要從右邊往左邊看,分成 (11) + (0000 00000001)(11)表示省電-詢問的AID (因為這個欄位是和Duration共用,當最左邊的位元為0就表示Duration,若為11則表示PS-PollAID,其後的(0000 00000001)=1也就是AID=1

 

[參考資料]

1.      簡榮宏,廖冠雄,”無線區域網路”,全華科技圖書股份有限公司。

 

[作者]

Chih-Heng Ke (柯志亨, Henry)

Assistant Professor, Department of Computer Science and Information Engineering, National Kinmen Institute of Technology, Taiwan

smallko@gmail.com

 

Last Modified: 2010/5/24