查看: 844|回复: 0

[技术交流] 80211 BA/BAR

[复制链接]

185

主题

204

帖子

596

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
596
发表于 2020-7-8 11:41:43 | 显示全部楼层 |阅读模式

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空间流时ataRate=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".

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表