Loading learning content...
We've established that wireless stations cannot detect collisions during transmission. We've explored how interframe spaces provide timing structure and how the contention window reduces collision probability. But what happens when, despite all these mechanisms, a collision still occurs?
The answer is the Acknowledgment (ACK) mechanism—the third pillar of CSMA/CA that provides collision inference as a substitute for collision detection. Every unicast frame requires explicit acknowledgment from the recipient. If the ACK doesn't arrive within a precise time window, the sender infers that the transmission failed.
This simple concept—send frame, wait for ACK, retry if missing—has profound implications for protocol design, efficiency, and reliability. Understanding the ACK mechanism is essential for diagnosing wireless performance issues and comprehending advanced features like Block ACK and frame aggregation.
By the end of this page, you will understand the complete ACK mechanism: frame formats, timing requirements, transmission procedures, timeout calculations, failure recovery, and advanced acknowledgment features like Block ACK and No ACK policies.
In wired Ethernet (CSMA/CD), there are no acknowledgments at the MAC layer. If a frame is sent without collision detection, it's assumed to succeed. Error recovery is handled by upper layers (TCP, for example). Why doesn't 802.11 follow the same approach?
MAC-layer ACKs enable retransmission in ~100 μs. TCP retransmission takes ~200 ms. That's 2000× faster recovery. For a channel with 5% frame errors, MAC ACKs maintain 95%+ efficiency while TCP-only recovery would collapse to <10% throughput.
The 802.11 ACK frame is one of the simplest frames in the protocol—designed for minimum overhead and maximum speed.
ACK Frame Structure:
+-------------+-------------+----------+---------+-----+
| Frame | Duration | Receiver | FCS | |
| Control | /ID | Address | | |
+-------------+-------------+----------+---------+-----+
2 bytes 2 bytes 6 bytes 4 bytes
Total ACK frame: 14 bytes (plus PHY preamble/header)
| Field | Size | Content |
|---|---|---|
| Frame Control | 2 bytes | Type=01 (Control), Subtype=1101 (ACK), flags |
| Duration/ID | 2 bytes | Usually 0 for ACK (ends the exchange) |
| Receiver Address | 6 bytes | MAC address of the station being acknowledged |
| FCS | 4 bytes | CRC-32 for error detection |
Notice that ACK frames have no transmitter address field. The recipient of the original data frame knows who it is—it doesn't need to identify itself. This saves 6 bytes per ACK, reducing overhead significantly since ACKs are sent frequently.
Frame Control Field Breakdown:
Bit: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
[Protocol ][Type][--Subtype--][ToDS][FromDS][MF][Retry][PM][MD][WEP][O]
[ 00 ][ 01 ][ 1 1 0 1][ 0 ][ 0 ][ 0][ 0 ][ 0][0 ][ 0 ][0]
Type = 01 (Control frame)
Subtype = 1101 (ACK)
All other flags = 0 for normal ACK
ACK Transmission Requirements:
The timing of ACK transmission is critical. Too early, and it overlaps with the end of the data frame. Too late, and other stations interpret the channel as idle and begin their DIFS countdown. The SIFS timing window is precise and non-negotiable.
ACK Timing Diagram (802.11a):
Time (μs): 0 500 516 560
|-------------|------------|-----------|---->
DATA Frame SIFS(16μs) ACK Frame
(500 μs) (44 μs)
|<-- Sender transmits -->|<-- Recipient -->|
|<-- Sender waits -->|
DATA Frame ends at T=500
ACK must begin at T=500+16=516 (±4 μs tolerance)
ACK ends at T=516+44=560
DIFS starts at T=560
Other stations can contend at T=560+34=594
Why Exactly SIFS?
The SIFS-DIFS gap (2 slots = 18 μs in 802.11a) is precisely sized to accommodate ACK transmission. ACK at lowest rate (6 Mbps) takes about 44 μs, well within the protection window.
SIFS (10-16 μs) is extremely short. Hardware must complete FCS check, address lookup, ACK frame construction, and RF tuning in this time. Early 802.11 hardware often struggled with SIFS compliance; modern chips have dedicated logic paths for ACK generation.
After transmitting a data frame, the sender waits for an ACK. If the ACK doesn't arrive within a calculated timeout period, the sender concludes that transmission failed. This timeout must be carefully calibrated—too short causes false failures; too long wastes time.
ACK Timeout Calculation:
ACKTimeout = SIFS + ACK_Tx_Time + Slot_Time + aPHY-RX-START-Delay
Where:
Values (802.11a at 6 Mbps ACK):
| Component | Value |
|---|---|
| SIFS | 16 μs |
| Preamble + Signal | 20 μs |
| ACK (14 bytes at 6 Mbps) | 18.7 μs |
| Slot Time | 9 μs |
| PHY-RX-START-Delay | 20 μs |
| Total ACKTimeout | ~84 μs |
When ACK timeout occurs, the sender only knows that something went wrong—not what. The data might have succeeded (ACK lost) or failed (various reasons). The sender's only option is to retry. Upper layers may eventually determine if duplicate transmission occurred.
Failure Recovery Procedure:
1. ACKTimeout expires without receiving valid ACK
2. Increment retry counter
3. If retry counter > retry limit:
a. Discard frame
b. Report failure to upper layer
c. Reset CW to CWmin
d. Proceed to next frame in queue
4. Else:
a. Double CW (up to CWmax) — Binary Exponential Backoff
b. Select new random backoff from [0, CW]
c. Wait for channel idle + DIFS
d. Execute backoff procedure
e. Retransmit frame (with Retry bit set in Frame Control)
The Retry Bit:
Retransmitted frames have the Retry bit (bit 11 in Frame Control) set to 1. This allows recipients to detect duplicates if the original transmission succeeded but ACK was lost. The recipient should not process the same frame twice.
The rate at which ACK frames are transmitted is not arbitrary—it's determined by specific rules designed to ensure the ACK is decodable by all stations that heard the original data frame.
ACK Rate Rules (IEEE 802.11-2020):
The ACK must be transmitted at a rate that is:
Examples:
| Data Frame Rate | Basic Rate Set | ACK Rate |
|---|---|---|
| 54 Mbps (OFDM) | {6, 12, 24} Mbps | 24 Mbps |
| 24 Mbps (OFDM) | {6, 12, 24} Mbps | 24 Mbps |
| 12 Mbps (OFDM) | {6, 12, 24} Mbps | 12 Mbps |
| 11 Mbps (DSSS) | {1, 2} Mbps | 2 Mbps |
| 1 Mbps (DSSS) | {1, 2} Mbps | 1 Mbps |
ACK at the highest possible rate would minimize overhead, but not all stations might decode it. Using basic rates ensures even legacy stations can understand the ACK and properly set their NAV. Additionally, lower rates are more robust against errors—essential for the tiny, critical ACK frame.
ACK Duration by Rate:
| Rate | Preamble | Header | 14-byte ACK | Total Duration |
|---|---|---|---|---|
| 1 Mbps (DSSS, long) | 144 μs | 48 μs | 112 μs | 304 μs |
| 11 Mbps (DSSS, short) | 72 μs | 24 μs | 10 μs | 106 μs |
| 6 Mbps (OFDM) | 16 μs | 4 μs | 24 μs | 44 μs |
| 24 Mbps (OFDM) | 16 μs | 4 μs | 8 μs | 28 μs |
| 54 Mbps (OFDM) | 16 μs | 4 μs | 8 μs | 28 μs |
Observation: OFDM ACKs (802.11a/g/n/ac) take ~28-44 μs. DSSS ACKs (802.11b) can take over 300 μs at 1 Mbps! This is one reason why 802.11b presence dramatically reduces network efficiency.
Mixed Network Impact:
When 802.11b stations are present in an 802.11g network:
Sending an ACK for every frame imposes significant overhead, especially at high data rates where the ACK time approaches the data time. Block ACK (BA) was introduced in 802.11e and enhanced in 802.11n to acknowledge multiple frames with a single response.
Block ACK Operation:
Block ACK Bitmap:
BlockACK Frame (minimum 32 bytes):
+--------+----------+------+--------+-------+-----+
| Frame | Duration | RA | BA | BA | FCS |
| Control| | | Control| Info | |
+--------+----------+------+--------+-------+-----+
2 2 6 2 24+ 4
BA Info contains:
- BA Starting Sequence Control (2 bytes)
- Block Ack Bitmap (8-128 bytes depending on variant)
Example Bitmap (8 bytes = 64 frames):
Bit 0: Frame 0 received correctly (1) or not (0)
Bit 1: Frame 1 received correctly (1) or not (0)
...
Bit 63: Frame 63 received correctly (1) or not (0)
Efficiency Comparison:
Sending 64 frames of 1500 bytes at 300 Mbps:
| Method | ACK Overhead | Data Time | Overhead Ratio |
|---|---|---|---|
| Normal ACK | 64 × (SIFS + ACK) = 2.8 ms | 2.56 ms | 109% overhead |
| Block ACK | 1 × (SIFS + BAR + SIFS + BA) ≈ 100 μs | 2.56 ms | 4% overhead |
Block ACK provides 25x reduction in acknowledgment overhead!
This is why 802.11n and later achieve much higher throughput—frame aggregation combined with Block ACK dramatically reduces per-frame overhead.
Block ACK is typically used with A-MPDU (Aggregated MAC Protocol Data Unit), where multiple MAC frames are concatenated and transmitted as a single PHY frame. The receiver decodes and acknowledges each MPDU within the aggregate using the Block ACK bitmap.
While ACKs are mandatory for normal unicast frames, IEEE 802.11e introduced QoS extensions that allow different acknowledgment policies for different traffic types.
| Policy | ACK Behavior | Use Case | Tradeoffs |
|---|---|---|---|
| Normal ACK | Immediate ACK for each frame | Default for all unicast | Reliable but overhead-heavy |
| No ACK | No acknowledgment expected | Real-time media, multicast | No reliability; no retry cost |
| Block ACK | Single ACK for frame burst | High-throughput aggregation | Requires session setup; complex bitmap |
| No Explicit ACK | ACK piggybacks on next data | Bidirectional traffic | Reduces separate ACK frames |
No ACK Policy Details:
The No ACK policy is specified in the QoS Control field of the MAC header (Ack Policy bits). When set:
Use Cases for No ACK:
When No ACK Is Dangerous:
Multicast and broadcast frames are NEVER acknowledged—there's no way for multiple recipients to ACK without collision. This means multicast is inherently unreliable at Layer 2. Multicast traffic is also sent at basic rates, making it both slow and unreliable.
We've completed our deep dive into the acknowledgment mechanism—the final pillar of CSMA/CA. Let's consolidate the key concepts:
Module Complete:
You've now mastered CSMA/CA—the fundamental medium access control protocol for IEEE 802.11 wireless networks. You understand:
These mechanisms work together to enable efficient, reliable wireless communication despite the inherently challenging nature of the radio medium.
Congratulations! You now have comprehensive knowledge of CSMA/CA—the protocol that makes every WiFi network in the world function. From the physical constraints that shaped its design to the microsecond-level timing that enables fair channel access, you understand how wireless stations coordinate without explicit communication.