802.11N blockACK
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的確認分即時確認與延時確認兩種。對于即時確認一般由硬件完成,對硬件收到的包映射到確認位圖中,然后進行響應。而延時響應可以由協議棧完成,可以完成進一步的數據檢查。對于流行的路由器一般只實現即時確認這種方式。
下圖可以形象地描述數據傳輸及確認的過程:
拆除
當上層完成數據包傳輸,或MLME層內的定時器超時時會對過程進行拆除。
ADDBA Request/Response幀格式
?
轉存失敗重新上傳取消
?
?
物理層的改進:
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負載,以及控制幀管理幀,和空閑時間,沖突造成的負載等
速率的計算方法:
舉例如MCS5,20MHz,精簡幀間間隔,1空間流時:DataRate=52*(2/3)*6bit*1*(10/9)/4us=57.8Mbit/s
MAC層改進:
1、TXOP(對稱的傳輸機會)
當站點需要傳輸MSDU時,并不會在獲得接入機會的同時接入信道,而是等待一段時間后再進行發送。一個節點從其獲取接入信道的機會到其開始傳輸的時間叫做一個TXOP。通過輪詢或者競爭的機制可以調整不同站點TXOP的大小,使得信道可以得到更好的應用。
2、BlockACK(塊確認)
?
1)通過ADDBA Request/Response報文協商建立Block ACK協定。
2)協商完成后,發送方可以發送有限多個QoS數據報文,接收方會保留這些數據報文的接收狀態,待收到發送方的BlockAckReq報文后,接收方則回應以BlockAck報文來對之前接收到的多個數據報文做一次性回復。
3)通過DELBA Request報文來撤消一個已經建立的Block?Ack協定。
3、幀格式改變
傳統的802.11幀格式:
802.11n幀格式:
4、Frame Aggregation
?
802.11n 引入聚合幀的概念,當然不是所有的幀都能聚合,廣播幀和多播幀不會被聚合,只有單播幀且接收地址相同和優先級相同的幀才會被聚合。聚合之后的幀減少了幀非數據負載,使MAC層傳輸數據的有效率有了一定的提高。
傳統的幀結構:
PPDU的形成:
說明:
1)、上圖的MAC頭是傳統的802.11的協議頭
2)、在單播幀的情況下,當MSDU或MPDU的長度超過門限值時(2346字節),被要求分段,并且每個分段要求單獨進行ACK響應。
802.11n聚合幀結構:
1)、由A-MSDU來組成MPDU
?
2)、多個MPDU組成A-MPDU,加上PLCP Preamble 和 PLCP Header 之后行成PPDU(物理層)
?
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".
總結
以上是生活随笔為你收集整理的802.11N blockACK的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 802.11e (Quality of
- 下一篇: git 生成patch和使用patch