802.11ac supports a maximum speed of ~433 Mbps on a 80 Mhz channel. Does this mean the application level throughput between two 11ac devices is 433 Mbps? Not really. "433 Mbps" is the Maximum PHY rate and this is what the device manufacturers would advertise. Application throughput depends on various factors that vary from time to time and device to device. Some factors are the type of data (TCP/UDP etc), Speed of the device, Channel conditions etc. Apart from the variable factors there are also some overheads in the 802.11 protocol itself. This article tries to describe the 802.11 overheads and calculate the maximum UDP throughput (under _ideal_ conditions) for a given PHY rate.
Overheads in 802.11 data transmission
The overheads in 802.11 data transmission are illustrated in the above figure.
They are:
- Fixed wait : DIFS or AIFS
- Random Wait
- PHY Header
- MAC Header
- MAC FCS
- SIFS
- ACK/Block ACK (PHY Header + ACK Data + FCS)
Along with the above, the data frame has the following overheads
- SNAP Header
- IP Header
- UDP Header
UDP Throughput
Maximum UDP throughput (for a UDP payload of 1500 bytes) in various 802.11 modes is shown below.
Mode | Maximum PHY Rate(Mbps) | PHY Data time (us) | PHY HDR time (us) | ACK time (us) | Maximum UDP throughput (Mbps) (Payload size = 1500 bytes) |
11g
|
54
|
232
|
120
|
34
|
31.1
|
11a
|
54
|
232
|
126
|
40
|
30.2
|
11n (20 MHz)
|
72.2
|
176
|
142
|
56
|
32.1
|
11n (40 MHz)
|
150
|
84
|
142
|
56
|
42.6
|
11ac (20 MHz)
|
86.7
|
148
|
146
|
60
|
33.9
|
11ac (40 MHz)
|
200
|
64
|
146
|
60
|
44.4
|
11ac (80 MHz)
|
433
|
32
|
146
|
60
|
50.4
|
Isn't it surprising that a PHY rate of 433 Mbps results in a throughput of just 50.4 Mbps? Well, that is why aggregation is essential for achieving good throughput. Lets look at the throughput when MPDU aggregation is used (in 11n and 11ac).
Throughput with A-MPDU
Mode | Maximum PHY Rate(Mbps) |
A-MPDU size |
Maximum Throughput (UDP Payload=1500, A-MPDU spacing=0) |
11n (20 MHz) | 72.2 | 8192 | 56.3 |
72.2 | 16384 | 62 | |
72.2 | 32768 | 65.5 | |
72.2 | 65536 | 67.3 | |
11n (40 MHz) | 150 | 8192 | 97.1 |
150 | 16384 | 116.1 | |
150 | 32768 | 128.3 | |
150 | 65536 | 136 | |
11ac (80 MHz) | 433 | 8192 | 169.5 |
433
|
16384
|
241
|
|
433
|
32768
|
305.3
|
|
433
|
65536
|
352.9
|
Approximations/Assumptions
The Maximum possible UDP throughput in the above calculations should be fairly accurate. However, please note that:
- An average random wait of 8 slots is considered (CWMax=15)
- PHY "SERVICE" bits (16) are not considered
- MPDU PAD bits are not considered
- Tail bits (6) are not considered
- Transmission time is rounded to nearest symbol time (4 micro seconds)
- A different UDP payload size would result in a different throughput number (larger the payload size better is the throughput)
- "Ideal" conditions are assumed, e.g., an RF shield room
The spreadsheets used for the above calculations can be downloaded from here.