當我們在咖啡廳要連線Wifi的時候,一定會需要知道店家的 Wifi連線名稱 ,這個名稱叫做SSID,這是由店家的Wifi AP設備所設定的,而且為了要讓大家能看到它的名字,SSID必須每隔一段時間廣播一次。我們今天就來實測一下,SSID到底多久會放送一次。
Wifi連線名稱 藏在Beacon Frame
店家的Wifi AP實在是很忙,要送已連線使用者的資料,又要廣播Wifi連線名稱,它是如何做到讓手機可以區分這兩種訊息呢? 原來Wifi的傳輸跟其它通訊網路一樣,所有資訊都是拆切成一塊塊的資料,以網路的階層術語來說,在Network Layer稱為封包Packet,在Data Link Layer稱為Frame,現在講的SSID就是位於802.11的Data Link Layer的Frame裡面的資料,Frame格式如下圖。
Frame的前兩個Byte稱為Frame Control,裡面有4個bit用來表示這個Frame是哪種型態,其中一種稱為信標Beacon,SSID就是藏在Beacon類型的Frame Body裡面,它會不斷的週期性的廣播,告訴別人自己是誰。
你有沒有發現,這個動作好像電影裡面的航空雷達螢幕裡的飛機,每台飛機都會報出自己的編號。沒錯! 飛機編號的廣播,也稱為Beacon,它是透過飛機上的答詢機Transponder將自身的編號傳回地面站,於是就成了雷達螢幕上密密麻麻的資訊。
SSID在哪個頻率
要知道SSID的發送間隔,必須使用頻譜分析儀測量,但是頻譜分析儀需要確切的連線頻率才能測量,那這個頻率到底在哪裡呢? 為了要知道Wifi AP的連線頻率,目前有些免費的手機APP,可以讀到附近Wifi設備的連線名稱與頻率,如下圖。
我自己的Wifi AP連線名稱是設定為Tomato50,但連線頻率則是設定為Auto,所以我並不知道實際的連線頻率為何,但從接收端的手機APP就可以得知我實際的連線頻率是在5745MHz。
觀察 Wifi連線名稱 SSID廣播週期
既然知道Wifi連線頻率了,接下來就把頻譜切換到Real time mode,這樣可以方便觀察Wifi訊號,接著將中心頻率設定為5745MHz,下圖就是Real time的頻譜密度Density,Real time的頻譜分析儀可以完整的抓到Wifi的所有訊號。雖然這個圖看起來很厲害的樣子,但我只是拿它來確認頻率是否正確而已,真正要看SSID的傳送間隔,還需要用另一個量測項目PvT(Power versus Time)。
PVT可以讓我們觀察某個頻段的訊號在時間上的功率變化,所以外觀上看起來就像個示波器如下圖,畫面中的橫軸是時間,從左到右是300ms,中間凸出來的脈衝訊號就是在5745MHz這個頻率上出現的訊號功率,你會發現它每隔一段時間就會出現一次。
既然是週期性的訊號,我當然要來測量一下間距,如下圖利用Maker功能我們得到兩跟脈衝之間的距離是102ms,剛好SSID所在的Beacon frame,也是週期性的傳送,那麼這個脈衝會不會就是Beacon訊號呢?
為了對這些脈衝驗明正身,我直接進入AP分享器的設定頁面,點進Wireless setting,如下圖裡面有一項Beacon interval,它目前的值是100,單位是TU,它定義為1024us,所以換算起來也就是102.4ms的意思,這個值和我們剛才測量到的102ms非常接近。
但數值很接近也可能只是剛好而已,我需要確認就是它,因此採取的作法就是改變這個數值,再看看PVT上的脈衝是否也跟著改變,這樣才能確認我們看到的脈衝就是Beacon的訊號,所以我就把Beacon interval改成150ms如下圖。
回到PVT的畫面來,由於脈衝訊號有變寬,所以我將螢幕從左至右的掃描時間,從原先的300ms增加到600ms,所以脈衝訊號的間距在視覺上,看起來是差不多的,但其實它有變寬,那到底是寬多少? 這就要再用Marker來觀察了,把Marker標上去之後,測得脈衝間距是153ms,這個數值跟我剛才的設定是一樣的,完全有跟著Beacon interval的設定在走,表示目前在PVT畫面上看到的脈衝,確實就是Beacon frame的訊號,目前是每150ms送一次,於是我們獲得了印證。
Beacon interval怎麼設定
這一題沒有標準答案,反正它就是一個廣播電台的概念,廣播的次數越密集,使用者越能更快速的知道你的Wifi連線名稱,在大範圍的空間中,這是個不錯的想法,但有一好沒兩好,密集的Beacon傳送,當然就會壓縮到正常的資料傳送頻寬,傳送速率可能會下降,這就是店家自己要去權衡的地方。
但我想應該也沒有人特別會去思考這個東西要設定多少,反正Wifi都可以用,小小咖啡廳如果使用者也不多,一般Beacon interval的預設值是100ms,通常也不會有問題,如果你是超大面積的空間要使用,可能就要使用多台AP,那就是另外一件事情了。
你好,拜读了笔者的几篇文章,探索精神值得夸赞,按照这个方法汽车钥匙可以测出来频率吗
汽車鑰匙是近場, 這個方法是遠場, 我猜你應該會量不到
單位是TU, 100 TU ~= 102 mS
A time unit (TU) is a unit of time equal to 1024 microseconds.[1] It was originally introduced in IEEE 802.11-1999 standard[2] and continues to be used in newer issues of the IEEE 802.11 standard.[1]
感謝指正, 我來修改一下
Dear 阿信助教
最近有類似的狀況需量測,
只不過待測物是Bluetooth device
量測手法也是類似概念嗎?
謝謝
我會認為是相同概念
只不過bluetooth功率較低, 又會hopping
可能要找一下訊號在哪個頻率