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.11协议之BA/BAR帧相关推荐

  1. 802.11协议中的action帧的使用

    Action(行动)帧用来要求工作站采取必要的行动.频谱管理服务使用 Action 帧提出量测 要求.搜集量测的结果以及宣布任何必要的频道切换.图 8-22 显示了 Action 帧的格式,基本上 它 ...

  2. 【Wi-Fi 802.11协议】管理帧 之 Beacon帧详解

    Beacon帧简介 信标帧,由AP以一定的时间间隔周期性发出,以此来告诉外界自己无线网络的存在. Beacon帧组成 下图为Beacon帧的组成 下图为抓包所得(AP为2.4g 11n模式),Pack ...

  3. 关于 802.11 协议

    目录 一.802.11成帧封装实现    3 1.1控制帧    3 1.1.1 一般的帧控制位    3 1.1.2   RTS(请求发送)    4 1.1.3   CTS (允许发送)    5 ...

  4. 802.11协议中的广播与tcp/ip中的广播

    这两种广播经常一起用,有时候总是分不清楚,这里记录一下以备忘. 先说一下802.11协议中的广播,也就是通常所说的WiFi协议中的广播.它是指目的地址为FF:FF:FF:FF:FF:FF的帧,目的地址 ...

  5. 802.11协议精读9:初探节能模式(PS mode)与缓存机制

    https://zhuanlan.zhihu.com/p/21505178 序言 由于802.11的协议工作机制,如果其一直处于工作状态下,那么能耗还是比较大的,尤其移动设备的电量有限,所以在802. ...

  6. WIFI:802.11协议帧格式

    802协议桢格式 802.11和Wi-Fi技术并不是同一个东西.Wi-Fi标准是802.11标准的一个子集,并且是Wi-Fi联盟负责管理 802协议桢格式: 协议 发布年份/日期 Op.标准频宽 实际 ...

  7. 802.11协议:wifi

    802.11协议 博客链接:https://www.blog.23day.site/articles/71 一.协议简介 IEEE 802协议簇是指IEEE标准中关于局域网(LAN)和城域网(MAN) ...

  8. 802.11 协议介绍

    802.11协议基础 前言-OSI七层网络 开放式系统互联模型(Open System Interconnection Model)是一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围 ...

  9. WIFI基本知识及802.11协议整理

    WIFI基本知识及802.11协议整理 2015-11-11 fredzeng linux 主要内容: 一.基本概述 二.实践基础 三.一些原理 四.补充 五.其它 一.基本概述 ========== ...

最新文章

  1. lnmp环境如何添加域名和虚拟主机
  2. c语言之判断电压最大值最小值,基于单片机的频率计的C语言源代码
  3. python把图片转为字符画_Python 实现图片转换为字符画
  4. 第二次北京之行-游颐和园
  5. [转]Win7 系统安装VS2008没反应 点击安装一闪就没有反应 .
  6. 运行第一个vue.js文件
  7. MySQL中NOT IN语句对NULL值的处理
  8. Salesforce Ventures为云初创公司Vlocity注资5000万美元
  9. MYSQL5.6和5.7编译标准化安装与配置
  10. 实战SATA硬盘安装64位XP(转)
  11. 不是人人都懂的学习要点
  12. javascript 判断参数是否为非0整数数字或者整数数字字符串的简单方法(小装逼)
  13. 【自研IM系统Talk00】 --- 接口说明
  14. 真方位角计算文献汇总:球面三角形两点之间的方位
  15. TCP/UDP网络的通信
  16. 将js对象转为json对象属性加上引号
  17. scikit-learn 支持向量机算法库使用小结
  18. Android WebView中打开相机拍照和选择相册
  19. python 魔兽世界升级脚本_How to use Python to automatically modify WoW toc file version
  20. 一节计算机课作文500,难忘的一堂课作文500字5篇

热门文章

  1. 【BZOJ】 2463 [中山市选2009]谁能赢呢?(博弈论)
  2. web程序部署常见(404)错误
  3. 数据库-ADONET-向数据库提交更新
  4. 基于迭代次数的多中心定位分类法
  5. WEB开发者应该有哪些必备的技能?
  6. redis缓存java对象_Redis缓存系统-Java-Jedis操作Redis,基本操作以及 实现对象保存...
  7. 【Leetcode | easy】反转整数
  8. 【控制】《多智能体系统一致性协同演化控制理论与技术》纪良浩老师-第11章-连续时间多智能体系统牵制一致性
  9. Altium Designer 资料整理
  10. STM32 电机教程 28 - ST MCLIB实战之 位置闭环控制