天天看點

802.11協定之BA/BAR幀

802.11n最主要的添加了Block Ack這個技術,但是在實際應用中對于BA還是知之甚少,轉貼一個講述BA基本原理的文章,但是我通過wireshark進行抓報并沒有在BAR(Block Ack Requst)裡面找到文中所說的相關資訊,但是找到了一個CACE Technlologies 釋出的一個用wireshark進行分析11n的文章,其内容請參見我的部落格中另一篇有關文章。

      以下為轉貼。

=============================================

摘要

介紹了BlockAck的建立、傳輸、拆除的過程。

引言

通過将一幀一确認的普通傳輸方式修改為連續傳輸多個幀然後一次确認多個幀的方式,來提高MAC層的傳輸效率。N個包的傳輸可節省N*DIFS的時間,在犧牲一定可靠性的基礎上達到了提高傳輸帶寬的能力。

BlockAck的建立

通過ADDBA Request/ADDBA Response可以建立BlockAck的過程。有以下幾點需要注意:

ADDBA 幀以Action幀為載體,後者在DFS功能引入。

資料傳輸與确認

一般需要在發送之前使用CTS清理隐藏節點,來提高傳輸可靠性。連續的資料幀以SIFS為間隔連續發送,注意:接收端并不需要确認。

對于BlockAck的确認分即時确認與延時确認兩種。對于即時确認一般由硬體完成,對硬體收到的包映射到确認位圖中,然後進行響應。而延時響應可以由協定棧完成,可以完成進一步的資料檢查。對于流行的路由器一般隻實作即時确認這種方式。

下圖可以形象地描述資料傳輸及确認的過程:

802.11協定之BA/BAR幀

拆除

當上層完成資料包傳輸,或MLME層内的定時器逾時時會對過程進行拆除。

ADDBA Request/Response幀格式

802.11協定之BA/BAR幀
802.11協定之BA/BAR幀

實體層的改進:

1、MIMO,傳說中的空分複用,頻點相同。AP和client成對出現。

利用多天線傳輸,将串行映射為并行

各天線獨立處理,自主運作

各天線用各自的調制方式發送電波

各天線用各自的解調方式接收電波

MIMO變态版:

1)、diversity(分集)

天線數量多于空間流數量,使用兩根天線的輸出組合來接收一個空間流,獲得更遠的傳輸距離。

2)、Beam-forming(聚束)

通過調整發送信号的相位來實作,提高了接收端的靈敏度。

2、OFDM(正交頻分複用)

傳說中的在頻域串轉并的方法,不同的頻點,一個頻點叫一個信道。

3、帶寬

Channelbonding(40MHz)

4、基頻

中國規定2.4GHz 頻段範圍是2.4~2.4835GHz, 1-13信道(1信道為2.412GHz,每兩個相鄰信道間隔為5MHz);5GHz頻段範圍是5.725~5.825GHz, 149/153/157/161/165信道(149信道為5.745GHz)

5、速率和吞吐量

DateRate

DataRate指實體層傳輸速率,是傳輸信号的速度,不管這是資料幀還是其他的控制幀。11N提供最高達600M的實體層傳輸速率

吞吐量

吞吐量指的是真正的資料載荷部分傳輸的速率。一般測試結果大緻為總傳輸速率的一半左右它是不計算諸如:TCP負載,MAC頭負載,和PHY負載,以及控制幀管理幀,和空閑時間,沖突造成的負載等

速率的計算方法:

802.11協定之BA/BAR幀

舉例如MCS5,20MHz,精簡幀間間隔,1空間流時:DataRate=52*(2/3)*6bit*1*(10/9)/4us=57.8Mbit/s

MAC層改進:

1、TXOP(對稱的傳輸機會)

當站點需要傳輸MSDU時,并不會在獲得接入機會的同時接入信道,而是等待一段時間後再進行發送。一個節點從其擷取接入信道的機會到其開始傳輸的時間叫做一個TXOP。通過輪詢或者競争的機制可以調整不同站點TXOP的大小,使得信道可以得到更好的應用。

2、BlockACK(塊确認)

802.11協定之BA/BAR幀

1)通過ADDBA Request/Response封包協商建立Block ACK協定。

2)協商完成後,發送方可以發送有限多個QoS資料封包,接收方會保留這些資料封包的接收狀态,待收到發送方的BlockAckReq封包後,接收方則回應以BlockAck封包來對之前接收到的多個資料封包做一次性回複。

3)通過DELBA Request封包來撤消一個已經建立的Block Ack協定。

3、幀格式改變

傳統的802.11幀格式:

802.11協定之BA/BAR幀

802.11n幀格式:

802.11協定之BA/BAR幀

4、Frame Aggregation

802.11n 引入聚合幀的概念,當然不是所有的幀都能聚合,廣播幀和多點傳播幀不會被聚合,隻有單點傳播幀且接收位址相同和優先級相同的幀才會被聚合。聚合之後的幀減少了幀非資料負載,使MAC層傳輸資料的有效率有了一定的提高。

傳統的幀結構:

PPDU的形成:

802.11協定之BA/BAR幀

說明:

1)、上圖的MAC頭是傳統的802.11的協定頭

2)、在單點傳播幀的情況下,當MSDU或MPDU的長度超過門限值時(2346位元組),被要求分段,并且每個分段要求單獨進行ACK響應。

802.11n聚合幀結構:

1)、由A-MSDU來組成MPDU

802.11協定之BA/BAR幀

2)、多個MPDU組成A-MPDU,加上PLCP Preamble 和 PLCP Header 之後行成PPDU(實體層)

802.11協定之BA/BAR幀

3)、由此我們也能看出A-MSDU的差別

A-MSDU隻有一個802.11n的頭,而組成A-MPDU每個MPDU都有一個802.11n的頭

Block Ack (BA) contains bitmap size of 64*16 bits. These 16 bits accounts the fragment number of the MPDUs to be acknowledged. Each bit of this bitmap represent the status (success/failure) of a MPDU.

正常的BA的size是64*16bits=128bytes。每個bit表示MPDU是否發射成功

  • Normal Block Ack--->64*16bits=128bytes.标準BA
  • Compressed Block Ack-->8bytes。壓縮的BA
    • It is an enhanced version of BA defined in 802.11n. In compressed BA, Fragmented MSDUs cannot be transmitted and hence the bitmap size is reduced from 1024 (64*16) bits to 64 (64*1) bits.
  • Multi TID Block Ack
    • This scheme is applicable only with power save operation. Previously described BA variants are capable of acknowledging a single TID (traffic identifier).

The confirmation from the recipient station, stating which frames have been received, this is explicitly mentioned in a matrix (part of the BAR) call the "bit map".