在802.11幀格式中,前兩個字節爲Frame Control字段,其中前兩位爲協議版本,由於802.11協議簇目前只有一個版本,因此這兩位一直爲00,接下來兩位爲幀類型,目前有三個值,分別是:00表示管理幀;01表示控制幀和10表示數據幀。上文介紹了管理幀,這裏介紹控制幀和數據幀。後端
控制幀只包含報頭信息,按照最低基本速率傳輸,以確保每一個網絡內的設備都更夠接收到控制幀。其具備清除信道、請求信道,並對單播幀進行確認,協助數據幀與管理幀傳送的功能。網絡
數據幀則主要用於數據傳輸。大多數數據幀攜帶有來自3-7層的數據負載,且數據負載每每是被加密的。某些特定不包含上層數據的數據幀用於特殊的媒介訪問控制。app
咱們首先說一下控制幀的子類型:ide
0000–0110 Reserved
保留字段,還未被分配使用加密
0111 Control wrapper
由802.11n中引入, 用於攜帶其餘的控制幀(不包含Control Wrapper幀) 和一些HT控制域。
spa
1000 Block ack request (BlockAckReq)
802.11e 引入了BA機制,將多個確認幀聚合到一個確認幀中,改進了信道傳 輸效率。
orm
1001 Block ack (BlockAck)
BAR幀的回覆幀,是對多個單播幀的聚合回覆。blog
1010 PS-Poll
用於節電模式ci
1011 RTS get
1100 CTS
RTS/CTS是對虛擬載波機制的一個加強。STA在發送數據前,會先向對方發出 一個RTS請求,周圍設備偵聽到RTS的STA會從新調整它們的NAV的值。 接收 方會回一個CTS,周圍偵聽到CTS的STA也會從新調整它們的NAV的值。這種機 制有效地避免了相互都不能偵聽到對方發送數據的STA之間的訪問衝突。
1101 ACK
802.11速率傳輸是半雙式模式,因此爲了確認數據傳輸成功,每一個單播數據 都要一個確認幀,它有14個字節長。
1110 CF-End
1111 CF-End and CF-Ack
Contention Free(CF)幀主要用於獲取信道,其幀格式以下
數據幀的子類型以下:
1、攜帶數據的數據幀:
0000 Data
0001 Data + CF-Ack [PCF only]
0010 Data + CF-Poll [PCF only]
0011 Data + CF-Ack + CF-Poll [PCF only]
1000 QoS Data [HCF]
1001 QoS Data + CF-Ack [HCF]
1010 QoS Data + CF-Poll [HCF]
1011 QoS Data + CF-Ack + CF-Poll [HCF]
2、不攜帶任何數據的數據幀:
0100 Null (no data)
0101 CF-Ack (no data) [PCF only]
0110 CF-Poll (no data) [PCF only]
0111 CF-Ack + CF-Poll (no data) [PCF only]
1100 QoS Null (no data) [HCF]
1101 Reserved
1110 QoS CF-Poll (no data) [HCF]
1111 QoS CF-Ack + CF-Poll (no data) [HCF]
說道數據幀就不得不談談與其相關的四個問題:數據幀地址格式,分片,聚合,傳輸速率。
1. 數據幀地址格式:由於AP的後端就是802.3網絡,即DS。因此咱們會看到一下四個地址格式:
2. 分片:即將一個完整的數據幀分爲若干個幀用於在高干擾環境中傳輸。在干擾比較嚴重的時候,使用分片機制,能夠下降重傳的開銷。可是,在幹 擾不是很嚴重的狀況下,分片機制會致使傳輸開銷變大,反而會下降吞吐量。
3. 聚合:與分片相反,聚合是指將若干幀聚合成爲一個數據幀進行傳輸。 其又分爲A-MPDU 和A-MSDU。
4. 傳輸速率: 協議標準中定義了基本速率集,每一個STA或AP都必須支持。此外,還可 以支持基本速率集以外的一些速率 。隨着AP與STA之間的距離發生變化,它們之間傳輸數據使用的速率也會 動態變化。 通常來說,當二者距離增長時,速率會逐漸下降。數據幀在每次重傳的時候都會下降傳輸速率以確保重傳成功。