Block Ack 基本原理
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帧格式