802.11 WLAN 定義了三種類型的幀格式,他們分別是:管理幀(Management Frame)、控制幀(Control Frame)和數據幀(Data Frame)。幀頭部中的類型字段中會標識出該幀屬於哪個字段。這篇博文僅僅介紹管理幀, 後面接下來會繼續介紹控制幀和數據幀。
正如上圖所示,在802.11幀格式中,前兩個字節爲Frame Control字段,其中前兩位爲協議版本,因爲802.11協議簇目前只有一個版本,所以這兩位一直爲00,接下來兩位爲幀類型,目前有三個值,分別是:00,表示管理幀;01,表示控制幀,和10,表示數據幀。
在接下來的四個比特,是子類型標識位,下面我們逐一來介紹管理幀的子類型:
0000,Association request:關聯請求幀
認證成功後,STA就會進入關聯階段, 這個交互的目的是爲了加入這個BSS 並獲取一個AID。通過Association Request攜帶的信息,使AP瞭解STA的相關能力信息,這樣 AP就可以決定如何與該STA進行通信0001,Association response:關聯請求回覆幀
當AP收到Association Request後,它會檢查每一個802.11參數,並與自己 支持的802.11參數進行匹配,如果出現不匹配的情況,AP會看當前的差異 是否屬於Bloocking Factor。 如果是的話,AP就會拒絕關聯,否則的話, AP就會標記這個差異,並在回Association Response的時候攜帶自己的 802.11參數。
AP返回一個狀態碼,0代表關聯成功。 併爲STA分配一個AID,它是1~2007(2 字節長,只用到最低的14個Bit,其他位爲1.)0010,Reassociation request:再關聯請求幀
該幀只能由STA 發出。 使用場景主要是: 當STA已經關聯到一個ESS並想關 聯到同一個ESS下的另一個AP上。 也可用於: 當STA短暫離開當前關聯的AP 後,重新關聯此AP。 也可用於:當Authenticator timer過期後,STA 進行認證和重新關聯。已經關聯上某個AP的STA也可以通過此幀重新協商一 些參數。0011,Reassociation response:再關聯請求回覆幀
AP使用此幀迴應STA發出的在關聯請求。其格式與Association Response類似。0100,Probe request:探測請求幀
主要用於主動掃描,查找AP信息。STA也可以利用Probe Request來發現某個網絡特定的信息。 爲了支持這個 目的,Probe Request可以包含一個可選的 Request Information信息, 它們可以 請求一個或多個額外的參數。另外, Probe Request也可以攜帶一些廠商自定 義的IE信息。0101,Probe response:探測請求回覆幀
主要用於主動掃描,AP回覆特定的查找AP信息請求。其幀內容等同於beacon frame, 只是不包含TIM字段和QoS字段。如果Probe request中包含Request Information 信息,則此幀應包含相應的Request Information 信息。1000,Beacon:信標幀
AP以某個固定的時間間隔發送Beacon幀,並通知下一個Beacon幀發送的時間。 如果當前媒介忙碌,會推遲當前Beacon幀的發送,但是不會影響下一個 Beacon幀的發送,下一個Beacon幀仍然會按照預定的時間進行發送。
beacon幀包含所有AP的屬性,以備STA在關聯之前查驗自身是否符合其要求。1001,Announcement traffic indication message (ATIM):
此幀只適用於IBSS網絡,用於通知處於power save模式下的其他STA是否應該轉換睡眠模式到激活狀態來接收緩衝的數據。1010,Disassociation:解關聯幀:
該幀可能是單播幀,也可能是多播幀。處於Disassociated狀態的STA仍然是處於Authenticated狀態,它們可以直接 進行重新關聯。1011,Authentication:認證幀:
在所有網絡中,STA想要加入某一特定的網絡之前,必須事先完成認證。不同於關聯請求和回覆,認證過程只使用一種格式的認證幀。1100,Deauthentication:解認證幀:
當雙方通信完成,會發送此幀結束會話。 該幀的格式與Disassociation類似。1110,Action no ack:
就是不需要ack的Action幀。
管理幀通常標準MAC頭部的大小爲24字節,擁有三個地址域。管理幀總是是MAC層處理,它們不會被傳遞給上層(for app),另外,它們 的To DS和From DS的值總是爲0.