Keywords

1 Introduction

One of the main objectives of the IEEE 802.11 group of standards is to increase data rates as well as the efficiency of the radio resources usage and thus to improve the quality of communication services. By the efficiency of the data transmission channel utilization, we will understand the ratio between the actual payload throughput and the nominal modulation and coding rate.

Due to high transmission overheads, frames are not transmitted one by one. Instead, various aggregation mechanisms are used in order to increase the efficiency of the radio resource usage. Here the aggregated MSDU (A-MSDU) frames aggregation mechanism for the IEEE 802.11-2016 standard [1] will be considered.

The MAC service data unit (MSDU) is a transmission unit used at the MAC layer (OSI model L2) when being received from a higher layer. As a result of the MSDU aggregation directly at the MAC layer, the A-MSDU blocks are constructed [5]. A-MSDUs are transmitted to the underlying physical layer (PHY-layer), where they are processed as MPDU. Each A-MSDU block contains a common header for multiple MSDU frames that are assigned to one client and belong to the same IEEE 802.11e class of service. Each MSDU (except for the last one), when aggregated, is supplemented to be a multiple of 4 bytes.

In the IEEE 802.11ac amendment to the standard, the size of the A-MSDU is limited to a maximum MPDU size of 11454 bytes. The maximum number of MSDUs inside the A-MSDU can be 8, 16, 32, or have no restrictions depending on the corresponding value of the Extended Capabilities Element table [1].

The main purpose of this aggregation mode is that, since for the vast majority of clients, ethernet is the original frame format, it is convenient to combine multiple frames addressed to one client within a single transmission to form one A-MSDU. I.e. it is possible to optimize the overhead of L2 headers, which are identical for the large number of frames addressed to one client.

The complement to this mechanism in the standard since the IEEE 802.11n standard amendment is a lower layer A-MPDU aggregation process. Both mechanisms from the point of view of the channel layer are shown in Fig. 1.

Fig. 1.
figure 1

IEEE 802.11n/ac frame aggregation mechanisms

MAC Protocol Data Unit (MPDU) is data block transmitted from the MAC level to the PHY level. In the 802.11ac standard amendment, the MPDU size can be limited to 3895, 7991 and 11454 bytes depending on the corresponding VHT Capability Information. Aggregated MPDUs (A-MPDUs) [1] are the MPDUs that are grouped together into one physical layer unit (physical protocol data unit (PPDU)). All frames have a common PLCP header and preamble. Each A-MPDU frame consists of several A-MPDU subframes, that include an MPDU delimiter frame and an optional MPDU frame.

The standard permits the usage of A-MPDU and A-MSDU mechanisms together or individually [1]. With the IEEE 802.11ac standard amendment A-MPDU is used, even if only one MPDU is to be transmitted. In other words, in VHT mode, the A-MSDU mechanism is optional and the A-MPDU is mandatory.

The main disadvantage of the A-MSDU mechanism is the fact that the whole frame sequence becomes one data element (PDU) and thus has only one CRC check. As the error rate increases with the increase of the frame size, and the retransmission of the part of an A-MSDU block is impossible, this will result in the retransmission of the entire aggregated block at lower speeds, which minimizes the advantages of aggregation. A-MPDU, in turn, consists of multiple PDUs, each with its own CRC. Therefore, in the case of an error, the PDUs can be retransmitted separately, thereby increasing overall efficiency. However, the performance gain carries an “overhead” in the form of an additional MAC header for each sub-frame.

2 Related Works

In the A-MPDU and A-MSDU mechanisms various overhead costs are reduced. A-MSDU - reduces the overhead on MAC headers in good quality channel conditions. A-MPDU, on the other hand, does not reduce the L2 overhead. Instead, it reduces the overhead of the CSMA/CA - IFS, ACKs, DIFS and backoff. In most real systems, the latter is more important, and therefore most of the actual IEEE 802.11n devices use A-MPDU [10].

In [4] the disadvantages of the A-MSDU mechanism from the position of the overall bandwidth of the WLAN are shown both from the point of view of ideal conditions, and in the case of possible transmission errors. As a result, for the 802.11n standard, bandwidth dependencies were obtained from the number of frames in the aggregated block, frame size, and packet error rate. It has been shown that the A-MPDU aggregation mode is useful in all cases, and aggregation of A-MSDU is useful only in the case of a fairly low rate of reception/ transmission errors [2, 3]. Since [4], many other papers like [15] consider the same approach with several particularities. For example, the works regarding this topic include the models of hybrid operation [8] and multicast traffic for 802.11n [12]. The simulation of frame aggregation mechanisms for 802.11n has been considered in [13]. The simulation of frame aggregation for different number of stations has been considered in [14].

The missing link in all these works is, on the one hand, weak attention to the last revision of the standard, and on the other hand, insufficient attention to the nature of the traffic. The aim of this work is to define the A-MSDU aggregation mode model depending on the channel parameters. We will also evaluate the limits of the applicability of this mechanism to supplement the 802.11ac standard and determine the optimal mode of its operation depending on the frame size and their number in the A-MSDU block.

3 The Model

We shall consider the efficiency of the channel resource utilization from the position of the frame aggregation modes. First, consider the ideal case for the mechanism of A-MSDU and UDP traffic. For the airtime being occupied, the transmission time of the data frame as a function of the frame size (LMSDU) is defined [1] as:

$${ {T_{MSDU} (L_{MSDU} ,SNR) = T_{PHY - PREAMBLES} + T_{SYML} \cdot \left\lceil {\frac{{T_{SYMS} }}{{T_{SYML} }} \cdot \left\lceil {\frac{{ 8\cdot L_{MSDU} + N_{Service} }}{{N_{DBPS} }}} \right\rceil } \right\rceil },} $$
(1)

where:

  • TPHY-PREAMBLES – is the total duration of all physical layer preambles.

  • NDBPS – is the total number of data payload bits per OFDM symbol.

  • TSYMS and TSYML – is the duration of symbol transmission for short and long guard interval respectively.

  • NService – is the size of « Service » field, equal to 16 bits.

A-MSDU block transmission time is:

$${ T_{A - MSDU} = T_{PHY - PREAMBLES} + T_{MAC} + K \cdot (T_{A - MSDU - Header} + T_{MSDU} ) + T_{SIFS} + T_{ACK},} $$
(2)

where:

  • K – is the number of frames with payload,

  • TSIFS – is the duration of the short interframe spacing (16 μs for VHT channel).

  • \( T_{A - MSDU - Header} = \frac{112bits}{PHYRate} \) – is the duration of A-MSDU header transmission (112 bits)

  • \( T_{ACK} = \frac{112bits}{PHYRate} \) – is the duration of ACK frame transmission (112 bits)

  • \( T_{MAC} = \frac{272bits}{PHYRate} \) – is the duration of MAC header transmission (272 bits),

where by PHYRate we understand the data transfer rate in Mbit/s, given by the modulation and coding sequence (MCS) index.

The transmission time of a single MSDU frame for one spatial stream is given by:

$$ T_{MSDU} = T_{SYML} \cdot \left\lceil {\frac{{T_{SYMS} }}{{T_{SYML} }} \cdot \left\lceil {\frac{{ 8\cdot L_{MSDU} + N_{Service} }}{{N_{DBPS} }}} \right\rceil } \right\rceil $$
(3)

While considering all frames to be of equal size, the total throughput shall be:

$$ THPT = \frac{{K \cdot L_{MSDU} }}{{T_{DIFS} + T_{BO} + T_{A - MSDU} }}, $$
(4)

where:

  • TBO – is the average back-off interval.

  • TDIFS – is the duration of the long interframe spacing (34 μs for VHT channel).

The channel utilization efficiency in ideal conditions shall be:

$$ ChUtil = \frac{THPT}{PHYRate} $$
(5)

Now consider the case for A-MSDU aggregation mechanism of the UDP traffic in a channel that has a certain probability of a bit error. Let’s designate pBIT to be the constant probability of erroneous receipt of one bit, or bit error rate (BER).

For a frame to be discarded by the receiver as received with an error, one corrupted LDPC code word with number of payload bits equal to CWsize is sufficient. The probability of the code word corruption is determined by the coding rate specified by the selected MCS index. All possible code word sizes for different coding rates are given in [1].

The standard provides three options for the code word size CWsize with a different payload size CWdata, depending on the selected coding rate. The number of code words NCW required to transmit one frame payload of LMSDU size (byte) is defined [1] as:

$$ N_{CW} = \left\{ {\begin{array}{*{20}l} 1 \hfill & {N_{avbits} \le 1944} \hfill \\ 2 \hfill & {1944 < N_{avbits} \le 2592} \hfill \\ {\left\lceil {\frac{{8 \cdot L_{MSDU} + 16}}{1944 \cdot Rate}} \right\rceil } \hfill & {N_{avbits} > 2592} \hfill \\ \end{array} } \right., $$
(6)

where the number of available bits in minimum number of OFDM symbols needed is:

$$ N_{avbits} = N_{CBPS} \cdot N_{SYM} = N_{CBPS} \cdot \left\lceil {\frac{{8 \cdot L_{MSDU} + 16}}{{N_{CBPS} \cdot Rate}}} \right\rceil , $$
(7)

where NCBPS – is the number of code bits per OFDM symbol. In this case, according to [1], the code word size CWsize is chosen as follows:

$$ CW_{size} = \left\{ {\begin{array}{*{20}l} {648} \hfill & {Cond1} \hfill \\ {1296} \hfill & {Cond2} \hfill \\ {1944} \hfill & {Cond3} \hfill \\ \end{array} } \right., $$
(8)

where the conditions Cond1, Cond2 and Cond3 are defined by:

$$ Cond1 = \left( {N_{avbits} \le 648} \right) \wedge \left( {N_{avbits} < 8 \cdot L_{MSDU} + 16 + 912 \cdot (1 - Rate)} \right) $$
(9)
$${ Cond2 = \left[ {\begin{array}{*{20}c} {\left( {N_{avbits} \le 648} \right) \wedge \left( {N_{avbits} \ge 8 \cdot L_{MSDU} + 16 + 912 \cdot (1 - Rate)} \right)} \\ {\left( {648 < N_{avbits} \le 1296} \right) \wedge \left( {N_{avbits} < 8 \cdot L_{MSDU} + 16 + 1464 \cdot (1 - Rate)} \right)} \\ {\left( {1944 < N_{avbits} \le 2592} \right) \wedge \left( {N_{avbits} < 8 \cdot L_{MSDU} + 16 + 2916 \cdot (1 - Rate)} \right)} \\ \end{array} } \right.} $$
(10)
$$ {Cond3 = \left[ {\begin{array}{*{20}c} {\left( {648 < N_{avbits} \le 1296} \right) \wedge \left( {N_{avbits} \ge 8 \cdot L_{MSDU} + 16 + 1464 \cdot (1 - Rate)} \right)} \\ {1296 < N_{avbits} \le 1944} \\ {\left( {1944 < N_{avbits} \le 2592} \right) \wedge \left( {N_{avbits} \ge 8 \cdot L_{MSDU} + 16 + 2916 \cdot (1 - Rate)} \right)} \\ {N_{avbits} > 2592} \\ \end{array} } \right.} $$
(11)

Because of:

$$ N_{CBPS} = \frac{{N_{DBPS} }}{Rate} $$
(12)

we can see that:

$$ N_{avbits} = \frac{{N_{DBPS} }}{Rate} \cdot \left\lceil {\frac{{8 \cdot L_{MSDU} + 16}}{{N_{DBPS} }}} \right\rceil $$
(13)

Considering (613) together we can determine the number of code words and their size for the defined frame size and MCS index.

Because of the fact that the probability of the transmission error missing by the higher-layer MAC mechanism (CRC-32) is extremely small (0.532 = 2.3*10−10), and because of the absence of the error correction at the MAC layer, we assume that the receipt error probabilities of the individual frames on the channel and physical layers are equal. In other words, we will not consider the case of missing an error in the LDPC code word.

The successfully received code word must contain no more than t bit errors:

$$ t = \left\lfloor {\frac{d - 1}{2}} \right\rfloor , $$
(14)

where d – is the minimum code distance of the LDPC code implemented. The minimum code distances for different rates of the LDPC encoding are estimated in [9].

As we consider bit error rate pBIT to be constant value, then the probability of successful bit transmission shall be:

$$ q = 1 - p_{BIT} $$
(15)

Then, according to Bernoulli theorem, the probability of successful receipt of a code word PCW of size CWsize is determined as sum of probabilities of successful code word receipt of the same size with number of corrupted bits k from 0 to t. Thus:

$$ \begin{aligned} P_{CW} & = \sum\limits_{k = 0}^{t} {P_{{CW_{size} }} (k) = } \sum\limits_{k = 0}^{t} {C_{{CW_{size} }}^{k} p_{BIT}^{k} (1 - p_{BIT} )^{{CW_{size} - k}} } \\ & = \sum\limits_{k = 0}^{t} {\frac{{CW_{size} !}}{{k! \cdot (CW_{size} - k)!}} \cdot p_{BIT}^{k} (1 - p_{BIT} )^{{CW_{size} - k}} } \\ & = (1 - p_{BIT} )^{{CW_{size} }} + \sum\limits_{k = 1}^{t} {\frac{{\prod\limits_{i = 0}^{k - 1} {\left( {CW_{size} - i} \right)} }}{k!} \cdot p_{BIT}^{k} (1 - p_{BIT} )^{{CW_{size} - k}} } \\ \end{aligned} $$
(16)

Formula (16) gives the probability of successful reception of a code word depending on its size, coding rate and bit error rate. For example, Fig. 2 shows the probability of successful reception of the code word as function of the bit error rate for MCS5 and LMSDU = 700 Bytes.

Fig. 2.
figure 2

Probability of successful reception of the code word

To have the whole frame corrupted, at least one code word out of total quantity NCW, must contain an unrecoverable error. Thus the probability pMSDU of the MSDU frame loss is given by:

$$ p_{MSDU} = 1 - P_{CW}^{{N_{CW} }} $$
(17)

The probability \( p_{A\_MSDU} \) of A-MSDU block of frames loss is given by:

$$ p_{A\_MSDU} = 1 - (1 - p_{MSDU} )^{K} , $$
(18)

where K – is the number of MSDU frames within A-MSDU block.

Combining (17) and (18), we can state:

$$ p_{A\_MSDU} = 1 - (1 - (1 - P_{CW}^{{N_{CW} }} ))^{K} = 1 - P_{CW}^{{N_{CW} \cdot K}} $$
(19)

The probability that n-th consequent A-MSDU block transmission will be successful is:

$$ (1 - p_{A\_MSDU} ) \cdot p_{A - MSDU}^{n - 1} $$
(20)

Thus, the estimated quantity of retransmissions that will take place before a successful A-MSDU will be received is given by:

$$ \sum\limits_{i = 1}^{\infty } {\left( {(1 - p_{A\_MSDU} ) \cdot p_{A - MSDU}^{i - 1} \cdot i} \right)} = \frac{1}{{1 - p_{A\_MSDU} }} = \frac{1}{{p_{CW}^{{N_{CW} \cdot K}} }}. $$
(21)

Thus, the total throughput of the channel with the fixed BER is:

$$ THPT = \frac{{K \cdot 8 \cdot L_{MSDU} \cdot p_{CW}^{{N_{CW} \cdot K}} }}{{DIFS + T_{BO} + T_{A - MSDU} }} $$
(22)

Combining (2), (5) and (22) we have:

$${ \begin{array}{*{20}l} {ChUtil = \frac{THPT}{PHYRate} = } \hfill \\ {\frac{{PHYRate^{ - 1} \cdot K \cdot 8 \cdot L_{MSDU} \cdot p_{CW}^{{N_{CW} \cdot K}} }}{{K \cdot (T_{A - MSDU - Header} + T_{MSDU} ) + T_{MAC} + SIFS + T_{ACK} + T_{BO} + DIFS + T_{PHY - PREAMBLES} }}}, \hfill \\ \end{array}} $$
(23)

where TMSDU is defined according to (3).

4 The Efficiency of the A-MSDU Frame Aggregation Mechanism

Let’s now estimate the efficiency of the A-MSDU aggregation mechanism

As ChUtil = f(K, LMSDU,pBIT, PHYRate), we will define the parameters in the following way:

  • LMSDU = 700 Bytes (average frame size, according to [6])

  • K = {1; 2; 3; 5}. Here K = 1 means no frame aggregation.

  • Both PHYRate and NDBPS are the characteristics of selected MCS index. Let’s consider the operation in MCS8 mode with short guard interval of IEEE 802.11ac.

With the chosen mode TBO = 63 μs [7, 11], TPHY-PREAMBLES= 40 μs, TSIFS = 16 μs and TDIFS = 34 μs [1].

As the result of the assumptions above, we will calculate the channel utilization efficiency as a function of the bit error rate.

Now let’s construct the dependencies ChUtil (pBIT) for the noisy channel case for the traffic frames with different K and the characteristics above and determine the pBIT value below which the A-MSDU mechanism is effective. The results for the chosen MCS8 are shown in Fig. 3.

Fig. 3.
figure 3

ChUtil(pBIT) for MCS8 for different K.

Note that there is a pBIT value, which limits the application area for the A-MSDU mode. I.e. for large pBIT values, the channel utilization efficiency decreases in relation to the non-aggregated (K = 1) transmission mode.

Let’s now build the dependency ChUtil(K) for fixed pBIT. Considering the operation in MCS8 see Fig. 4.

Fig. 4.
figure 4

ChUtil(K) for MCS8 for different pBIT.

It is clear that the graph has a maximum the more expressed, the higher is the pBIT value.

5 Optimal Number of Frames Within A-MSDU Block

Now we will determine the optimal number of MSDU frames in A-MSDU block. The highest efficiency for the given bit error rate is achieved at a certain K value which we will consider to be the optimal number of frames Kopt.

It is given by:

(24)

with , .

And KMAX – is the maximum number of frames in a block for the selected operation mode. KMAX – can be defined explicitly or otherwise be limited by A-MSDU maximum size, which is 11454 bytes for IEEE 802.11ac.

In order to solve the Eq. (24) we must determine the monotonic intervals for function (23). The maximum is given by:

$$ K_{opt} = \arg \left\{ {\frac{d(ChUtil)}{d(K)} = 0} \right\},{\text{ while}}\,\,K > 0 $$
(25)

Let’s denote:

$$ \begin{aligned} T_{1} & = T_{A - MSDU - Header} + T_{MSDU} \\ T_{2} & = T_{MAC} + SIFS + T_{ACK} + T_{BO} + DIFS + T_{PHY - PREAMBLES} \\ \end{aligned} $$

The K-derivative:

$$ \begin{array}{*{20}l} {\left( {\frac{{K \cdot 8 \cdot L_{MSDU} \cdot p_{CW}^{{N_{CW} \cdot K}} }}{{PHYRate \cdot K \cdot T_{1} + PHYRate \cdot T_{2} }}} \right)^{{\prime }} } \hfill \\ { = \frac{{8 \cdot L_{MSDU} \cdot p_{CW}^{{N_{CW} \cdot K}} (T_{2} + N_{CW} \cdot \,\ln p_{CW} (K^{2} \cdot T_{1} + K \cdot T_{2} ))}}{{PHYRate \cdot \left( {K \cdot T_{1} + T_{2} } \right)^{2} }}} \hfill \\ \end{array} $$
(26)

Then Kopt is given by:

$$ K_{opt} = \arg \left\{ {\frac{{8 \cdot L_{MSDU} \cdot p_{CW}^{{N_{CW} \cdot K}} (T_{2} + N_{CW} \cdot \,\ln p_{CW} (K^{2} \cdot T_{1} + K \cdot T_{2} ))}}{{PHYRate \cdot \left( {K \cdot T_{1} + T_{2} } \right)^{2} }} = 0} \right\} $$
(27)

The equation has roots only when:

$$ T_{2} + N_{CW} \cdot \,\ln p_{CW} (K^{2} \cdot T_{1} + K \cdot T_{2} ) = 0 $$

And its positive root is given by:

$$ K_{opt} = - \frac{{T_{2} }}{{2T_{1} }} - \frac{{\sqrt {(T_{2} N_{CW} \ln p_{CW} )^{2} - 4T_{2} T_{1} N\,\ln p_{CW} } }}{{2T_{1} N\,\ln p_{CW} }} $$
(28)

Formula (28) gives the analytical solution for optimal number of frames in A-MSDU block. Figure 5 shows the Kopt as function of the bit error for MCS8 mode, with LMSDU = 700 bytes.

Fig. 5.
figure 5

Kopt(pBIT) for MCS8

Now we have the quantitative practical assessments of the A-MSDU aggregation mechanism, which confirms the fact that this mode should be best used in the channel conditions close to ideal. The figures show that with the increase of the bit error rate, the range of values where the operation of this aggregation mode is useful is becoming narrower, and the absolute value of Channel Utilization is getting smaller.

Also we have obtained the method for calculating the optimal number of frames in the A-MSDU block for a given type of traffic in the specified channel conditions.

6 Conclusions

It has been proved that controlling the number of frames in the A-MSDU block permits to influence the IEEE 802.11ac channel efficiency. Without taking into account the bit error rate, the more is the number of transmitted frames the higher is the efficiency of channel utilization. However, in real-world conditions, when the bit error rate is nonzero, the overhead costs associated with retransmissions of frames increase, which brings the problem of finding the optimal number of frames.

An IEEE 802.11ac channel model has been developed to evaluate the efficiency of its utilization based on bit error rate. The proposed model takes into account the size of the frames (i.e., the type of traffic), the probability of a bit error, and the physical layer encoding mechanism for this standard amendment.

A method for selecting the optimal number of frames in the A-MSDU block has been proposed, which makes it possible to increase the efficiency of using the IEEE 802.11ac channel.

The results obtained in the work can be used for practical calculations and simulation of the transmission conditions and traffic characteristics of the channel.