Block Acknowledgement: Control Frame

 
For the reliable wireless communication ACK frames plays a crucial role; ACK simply means the frame was received by the receiving station and no ACK results to retransmission of the frame. As the wireless networks evolved to handle higher data rates, the overhead of sending an ACK frame for every data frame became inefficient. This led to the development of Block Acknowledgement (Block ACK) which was introduced through 802.11e amendment and it allows multiple frames to be acknowledged with a single response.

Block ACK Request (BAR) Frame

The Block ACK Request (BAR) frame initiates the Block ACK mechanism and has a specific format with these fields:

  • Frame Control: Contains control information for the frame (2 bytes)
  • Duration: Specifies timing information for upcoming transmissions (2 bytes)
  • RA (Receiver Address): Identifies the individual MAC address of the STA receiving the BAR (6 bytes)
  • TA (Transmitter Address): Identifies the individual MAC address of the STA sending the BAR (6 bytes)
  • BAR Control: This field provides important control information about the BAR Frame
  • BAR Information: This field contains the starting sequence number of the frame block being acknowledged.
  • FCS (Frame Check Sequence): Used for error detection (4 bytes)
Block ACK scheme is negotiated between STA and AP upon successful authentication is completed. It may include Add Block Ack Request and Response Frames proceeding the data frames.  It can be verified through the Block Ack Request and Response Action frames captured near the AP. 

The following Wireshark Captures shows the Block ACK Policy negotiated through Block ACK Request and Response Frames and followed by that, there is series of data exchange: 

Block ACK Request  Wireshark Filter: 

wlan.fc.type_subtype == 0x0018 or wlan.fc.type_subtype == 24


Block ACK Response Wireshark Filter: 

wlan.fc.type_subtype == 0x0019 or wlan.fc.type_subtype == 25



Lets review different fields in the Block Ack Frame: 


Block ACK Control and Information Fields:




BLOCK ACK Bitmap:

Block ACK frame that contains a bitmap indicating which frames were successfully received and the sequence number of the frames it is expecting in the next TXOP (Sorry, I had to take another capture as my Wireshark crashed and reminds me, that we must save the captures sooner we are done!)





Looking at the Block ACK Bitmap section above, we can interpret following :

  1. The "BA Policy: Immediate Acknowledgement Required" indicates this is using the immediate Block ACK policy.
  2. The bitmap indicates that frame 0 were successfully received as indicated by the Starting Sequence Number.
  3. Each bit in the bitmap corresponds to a specific frame in the sequence. A '1' bit indicates successful reception, while a '0' bit indicates a missing frame. 
  4. The TID 0x01 helps us identify which quality of service (QoS) queue these frames belong to.



Comments

Popular posts from this blog

Understanding RSSI and LQI Metrics of IOT

Understanding "Invalid FTE" Error with 802.11r Roaming

Association Failures with Legacy Printers due to Management Frame Protection- A Technical Analysis