BA机制

BA机制是在802.11n中出现的,中文叫做块确认机制,其通过将多个“acknowledgment”汇总到一个帧中来提高信道效率。

分类

  1. immediate BA 立即应答:适用于高带宽,低时延业务;
  2. delayed BA 延迟应答:适用于时延可容忍业务。

流程(安装、Data/Block Ack、拆除)

  1. BA机制通过ADDBA request和ADDBA response这两个帧交换来启动。启动之后,Qos数据可以从发端向接收端发送;
  2. BA这个block发送的时刻是TXOP(poll TXOP或者通过EDCA机制赢得TXOP),即在接收端获得资源后,发送这个Block Ack;

安装

  1. Tx STA(发起方)首先通过discovering来检查其延迟块确认和立即块确认功能位(Capability Information 域中的Delayed Block Ack和Immediate Block Ack能力比特)来检查预期的接收方STA是否能够参与BlockAck机制
  2. 如果接收端STA具有BA机制能力,发端STA便发送一个ADDBA Request帧,此帧会指示这个Block Ack是为哪种TID流量安装的
  3. 接收端STA有选择权,可以接受也可以不接受;注意:无论接收方STA是否“接受BA机制的建立”,接收端STA都要向发端STA回复ADDBA Response帧,“接受与否”这个消息是包含在ADDBA Response帧中的;如果接受,收、发端之间就建立了块应答机制(BA机制)。
  4. ADDBA request中的Block Ack Policy和Buffer Size域是发端给接收端的建议,接收方可采纳,也可不采纳。当接收端STA接受了BA机制的建立,就应该为BA分配缓存。

数据传输&应答

块确认机制建立之后,应该有以下操作:

  1. 发起端以SIFS间隔发送QoS数据帧块;
  2. 块内总的“帧数量”(块:帧聚合)不超过ADDBA response帧中的Buffer Size域的值;
  3. 每一个帧中的Qos control field内的Ack Policy subfield应设置为Block Ack

需要注意的点:

  1. 由于此种“帧聚合”方式发送的帧的长度比较大,所以一般都会使用“RTS/CTS”保护机制;
  2. 发起端可以将帧块分散在几个TXOP中发送;
  3. 具有不同TID的帧序列可在同一TXOP中;
  4. 同一TXOP中可有不同TID的MSDU交织;
  5. 同一TXOP中可有不同RA的MSDU交织;
  6. 在多TXOP内传输的属于同一TID的帧可以合起来使用一个BlockAck帧作为应答。

立即应答BA

  1. 如果使用立即应答策略,接收端应用Block Ack响应BlockAckReq帧
  2. 如接收端发送Block Ack帧,发起端应更新记录并重传Block Ack帧中未应答的帧;
  3. 重传既可在单独块中,也可在另一块中

延迟应答BA

  1. 如果使用延迟应答策略,接收端应用Ack响应BlockAckReq帧;(即,接收端先用Ack帧回复发端,告知其已经收到了BlockReq帧);
  2. 接收端应在随后获得的TXOP中发送Block Ack帧;一旦Block Ack帧中的内容准备好,接收端就应该在最早的TXOP以最高优先级AC发送Block Ack帧。

BA拆除

主动方式
当发送方没有数据可发送,且最后的Block Ack交换已经完成,发送方应该通过向其接收方发送DELBA帧指示结束使用Block Ack机制。接收方不需回应管理响应帧。DELBA接收方释放所有为Block Ack传输分配的资源。
自动拆除
如果在Block Ack超时值的持续时间内,没有从对等方接收到BlockAck,BlockAckReq或QoS数据帧(根据Block Ack策略发送),则可能会自动拆除已建立的Block Ack机制。
The Block Ack Timeout Value field (2 byte) is used in the ADDBA Request and Response frames to indicate the timeout value for Block Ack.

Block Ack机制相关推荐

  1. mysql jstorm_jstorm进阶-ack机制及KafkaSpout

    安装部署使用 ack机制 ack机制原理 这里不讲什么是ack机制,可以参考官网的文档Ack 机制 我们只要知道它是使用异或xor的原理即可: A xor A = 0 A xor B xor B xo ...

  2. ack strom 保证只有一次_Storm容错机制(一):ACK机制

    前言 好久没有写文章了,然后一连就写了三篇, 前两篇文章 Storm入门(一):编程模型 Storm入门(二):架构模型和集群部署 都是一些比较简单的入门教程,这一篇我们来聊一聊稍微高级点的话题, 关 ...

  3. 【转】ActiveMQ消息传送机制以及ACK机制详解

    2019独角兽企业重金招聘Python工程师标准>>> 本文转载自 http://shift-alt-ctrl.iteye.com/blog/2020182 AcitveMQ是作为一 ...

  4. Apache Storm 实时流处理系统ACK机制以及源码分析

    1.ACK机制简介 Storm的可靠性是指Storm会告知用户每一个消息单元是否在一个指定的时间(timeout)内被完全处理.完全处理的意思是该MessageId绑定的源Tuple以及由该源Tupl ...

  5. 用redis实现消息队列(实时消费+ack机制)【转】

    用redis实现消息队列(实时消费+ack机制) java queue 消息队列 redis 消息队列 首先做简单的引入. MQ主要是用来: 解耦应用. 异步化消息 流量削峰填谷 目前使用的较多的有A ...

  6. ack是什么,如何使用Ack机制,如何关闭Ack机制,基本实现,STORM的消息容错机制,Ack机制

    1.ack是什么 ack 机制是storm整个技术体系中非常闪亮的一个创新点. 通过Ack机制,spout发送出去的每一条消息,都可以确定是被成功处理或失败处理, 从而可以让开发者采取动作.比如在Me ...

  7. RabbitMQ的消息确认ACK机制

    1.什么是消息确认ACK. 答:如果在处理消息的过程中,消费者的服务器在处理消息的时候出现异常,那么可能这条正在处理的消息就没有完成消息消费,数据就会丢失.为了确保数据不会丢失,RabbitMQ支持消 ...

  8. ActiveMQ消息传送机制以及ACK机制详解

    2019独角兽企业重金招聘Python工程师标准>>> AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全 ...

  9. kafkaspot在ack机制下如何保证内存不溢

    storm框架中的kafkaspout类实现的是BaseRichSpout,它里面已经重写了fail和ack方法,所以我们的bolt必须实现ack机制,就可以保证消息的重新发送:如果不实现ack机制, ...

最新文章

  1. ButterKnife 8.4.0 @BindView 失败,nullpointerexception
  2. idea断点_IDEA Debug 无法进入断点的解决方法
  3. gdb调试多进程和多线程命令
  4. day20 django
  5. Android 2.3 r1 中文 API (57) —— ScaleGestureDetector
  6. 想要拥有自己的jar包吗?------超级简单的打jar包教程~~~
  7. Git删除本地/本地远程/远程服务器分支
  8. js中for循环的优化写法
  9. Android应用程序版本号管理(官方文档中文版) 2011-08-07 22:03:36
  10. 计算机网络原理实验实验一:使用网络协议分析仪Wireshark
  11. 【数据结构】AOE网——关键路径
  12. 权力的游戏——读《原则2 :应对变化中的世界秩序》(中)
  13. 国科大学习资料--人工智能原理与算法-2021年期末考试题解析(学长整理)
  14. 连接到linux桌面,widows 远程连接到linux 桌面!
  15. 新浪微博PC端模拟登陆
  16. MALTAB中 imshow函数出错
  17. mac更改管理员密码
  18. vpa函数python_关于取MATLAB的有效位数问题,以及vpa函数
  19. JAVA程序之矩形、三角形、平行四边形、菱形
  20. Android NDK开发配置NDK

热门文章

  1. 书呆子rico_Excel书呆子优胜者的夏季赠品
  2. 新兴IT企业特斯拉(十)——太空探索、超级高铁和地下隧道
  3. php第三方支付系统--支付流程--及代码
  4. HTML 怎么取消文本框的输入时的边框?
  5. 耗时一年,乘风破浪:一群牛逼的人,做成了一件牛逼的事儿!
  6. 通信网络与IP网络知识梳理
  7. js(jquery方式) 直接访问 elasticsearch
  8. CreateJS-EaseJS 应用
  9. PHP反射ReflectionClass、ReflectionMethod
  10. 小米手环6NFC安装太空人表盘