It is initialized by ADDBA request / response from between originator and recipient.
after initiation blocks of QoS data are transmitted from originator to recipient.
the originator can start transmitting the blocks of data after a polled TXOP or by winning the EDCA contention.
the MPDUs within the block of transmitted frames are acknowledged by a BlockAck frame which is request by the originator in the BlockAckReq (BAR) frame.
there are two flavors - Immediate Block Ack and Delayed Block Ack
Immediate Block Ack and Delayed Block Ack differ in the way BAR and BA are handled. With Immediate Block Ack, the BA is required after the receipt of BAR whereas with Delayed Block Ack, the BAR itself is acknowledged (by recipient) with a simple Ack frame and the BA is sent later on separately which also gets acknowledged (by originator) separately.
the originator or the recipient may tear down the Block Ack agreement by sending the DELBA (delete BA) Request which, if received successfully, is acknowledged with an Ack.
Chart showing BlockAck mechanism
Originator first checks if the recipient STA is capable of Block Ack mechanism by checking Delayed Block Ack and Immediate Block Ack capability bits (as seen in Beacons, Association / Reassociation request, and Response frames).
If the recipient is capable of Block Ack mechanism the originator sends a ADDBA Request frame indicating the TID (traffic ID) for which Block Ack is being set up.
for Block Ack mechanism between HT-STAs the buffer size field in the ADDBA Request can be changed by the recipient of ADDBA Req frame.
the recipient responds with the ADDBA Response frame and can chose to accept or reject the request.
if the recipient rejects, the originator may not use the Block Ack mechanism.
when recipient accepts, it indicates the number of buffers it allocates for this Block Ack agreement. Buffer size may be different for different Block Ack agreements.
the originator changes the size of the transmission window based on the ADDBA response from the recipient. The originator may increase or decrease the size in accordance to the recipient response but is not greater than value of 64.
the originator sets the A-MSDU supported field to 1 indicating it might transmit A-MSDU with the TID and recipient can set the same field to 1 to indicate it is capable of receiving an A-MSDU with this TID. The recipient can technically respond with any value of the A-MSDU supported field and if the originator does not like it, it can tear down the Block Ack agreement and send frames using normal ack.
Block Ack Timeout Value: duration after which the Block Ack session is terminated when there are no frame exchanges.
Start Sequence Number (SSN): the sequence number of the first data frame from the originator for this Block Ack session.
b) Data and Block Ack
Once the Immediate Block Ack or Delayed Block Ack is setup, the originator may transmit a block of QoS data frames separated by a SIFS (Short Inter-frame Space) duration with total number of data frames not exceeding buffer size as defined by ADDBA Response.
the originator may do the following
separate the Block and Basic BlockAckReq frames into separate TXOPs
split a Block frame across multiple TXOPs
split transmission of data MPDUs sent under Block Ack policy across multiple TXOPs
Interleave MPDUs with different TIDs within same TXOP
sequence or interleave MPDUs for different RAs within a TXOP
Originator uses SSN to indicate to the recipient of the sequence number of first frame in the block for which acknowledgment is expected.
Recipient maintains a Block Ack record which consists of originator address, TID and acknowledgment state of the data frames received from the originator.
In case of Immediate Block Ack policy - recipient responds to basic BlockAckReq frame from originator with a basic BlockAck frame which indicates any missing frames. The originator retries any frames that are not acknowledged in the basic BlockAck frame in another block or individually.
The difference with Delayed Block Ack policy is that the recipient responds to the BlockAckReq frame with a normal Ack and then transmits the BlockAck frame in a TXOP obtained later. The originator responds to the basic BlockAck with an Ack and then retries the unacknowledged frames from the BlockAck frame in another block or individually.
In BlockAck frame the recipient only acknowledges the frames starting from the starting sequence number (SSN) until the highest sequence number that has been received correctly and sets the bit in the BlockAck bitmap of other frames (frames not received correctly from originator) to 0. The recipient reports the status of old and prior frames (frames before the first frame that the originator sends - SSN) as successfully recieved (bit is the bitmap set to 1).
The recipient maintains a field called NextExpectedSequenceNumber which is set to 0 when the Block Ack mechanism is negotiated. if the recipient receives a frame with a sequence number older than the NextExpectedSequenceNumber for that Block Ack agreement than the recipient drops the frame thinking its either old or a duplicate.
When originator has not more data to send and the final frame in the Block has been sent the originator signals the end of the Block Ack mechanism by sending the DELBA (Delete BlockAck) frame to the recipient.
There is no response needed from the recipient. It just releases all resources allocated for that Block Ack agreement.
The Block Ack agreement may be torn down if there are no BlockAck, BlockAckReq or QoS data frames (sent under the Block Ack policy) for the Block Ack's TID received from the peer within duration of the Block Ack timeout value.
debug dot11 d1 monitor address 7cd1.c392.3232
debug dot11 d1 tr pr clients xmt rcv ba
*Apr 10 00:15:05.471: 8893F78B r 12 28/17/28/34 77- B000 030 EBBF4F 923232 EBBF4F 1600 auth l 6
*Apr 10 00:15:05.483: 889428B2-1 923232 - send BAR 0 E100
*Apr 10 00:15:05.483: 889429EA t 12 0 - 8400 1750 923232 EBBF4F 0004 E100 bar----> sent BAR (BlockAckReq) for priority 0 and SSN 3600 (E10)
Note: the response to BAR which is BA is not seen in the debug outputs
As you see above the clients indicates the missing frames which the originator may resend using another Block Ack mechanism or send them individually.
Note: The aim of this article is to try and summarize the key points involved in the Block Ack mechanism. This article is by no means a comprehensive guide for the Block Ack process. For detailed info please refer to the IEEE 802.11-2012 standard.
I have an access point "AIR-AP2802I-I-K9" and I need a power injector for it. It is very hard for me to wait till import process. I need to operate it within a week urgent. Is there any other injectors (non-Cisco) could be used temporary?
Hiwe have three offices all running with their own 5508's. I plan on replacing those WLC's with newer ones. Is there a design were I can replace they with a pair in our CoLo data center and have all the AP's talk back to them? I used to do this with HREAP...
Hi,We have 5520 wlc and we are using RTU license.Currently we are using 100 license and trying to add some more licenses , while trying add more license getting an error like "licenses cannot added/removed on secondary HA /SKU cont...