You are on page 1of 6

2018 6th International Conference on Information and Communication Technology (ICoICT)

Collision-Aware Rate Adaptation Algorithm for


High-Throughput IEEE 802.11n WLANs

Fajari Arief Setia1, Teuku Yuliar Arif2, Rizal Munadi3


Electrical and Computer Engineering Department
Faculty of Engineering, Syiah Kuala University
Jl. Syech Abdul Rauf No. 7, Darussalam, Banda Aceh, Indonesia
1
fajari.mte@gmail.com; 2yuliar@unsyiah.ac.id; 3rizal.munadi@unsyiah.ac.id

Abstract—IEEE 802.11n Wireless Local Area Network MiRA [5], CRA [6], ARAMIS [7] and HiWiLA [8]. The
(WLAN) is the default standard that is used on modern increment or decrement of data rate in Minstrel-HT, MiRA and
smartphones and modern PCs/laptops. Medium Access Control CRA is based on random probing. Different to RAMAS, L3S,
(MAC) 802.11n has the capability of transmitting multiple MAC HiWiLA which is done based on order probing and ARAMIS
Protocol Data Units (MPDUs) into an Aggregate-MPDU (A- selects data rate based on the SNR mapping to data rate.
MPDU). Physical (PHY) 802.11n transmits MPDU or A-MPDU
using a PHY rate of 6.5 to 600 Mbps determined by the rate MDPU or A-MDPU can also get error caused by collisions.
adaptation algorithm. The selected PHY rate is expected Collision can be caused hidden terminal problem. In the 802.11
according to the channel conditions for MPDU to be received standard, Request to Send/Clear to Send (RTS/CTS)
without error. Based on the literature study, Minstrel-HT is one transmission mode has been provided to solve the collision
of the rate adaptation algorithms based on proposed channel problem. But as far as we know, all of the algorithms
conditions, especially for IEEE 802.11n high-throughput WLAN. mentioned above do not have the mechanism to activate
However Minstrel-HT does not have a mechanism to activate RTS/CTS mode dynamically. As a result the performance of
RTS/CTS mode dynamically in the event of a collision error. these algorithms can decrease when MPDU or A-MPDU
Collision-aware rate adaptation (CARA) has been proposed, undergoes collision.
however the design has been made not for WLAN high
throughput. In this paper we improve CARA to take advantage Based on literature review, we found only MoFA [9] and
of MAC and PHY 802.11n capabilities and call it CARA for High STRALE [10] algorithms that have RTS/CTS mode activation
Throughput (CARA-HT). We developed the CARA-HT mechanisms in the event of collision in the high throughput of
algorithm in NS-3.26 simulator. The simulation results show the IEEE 802.11n WLAN. MoFA and STRALE are schemes for
throughput produced by CARA-HT is better than Minstrel-HT. adaptation of A-MPDU sizes and use Minstrel as its adaptation
algorithm. MoFA and STARLE also adopt Adaptive-RTS (A-
Keywords—Collision-Aware; Rate Adaptation; CARA-HT; RTS) to overcome collisions. However A-RTS on MoFA is
High Throughput; 802.11n. based on sub frame error rate (SFER) threshold, whereas in
STRALE based on using the hidden detection tool.
I. INTRODUCTION
Collision aware rate adaptation has been proposed by [11],
IEEE 802.11n Wireless Local Area Network (WLAN) is but designs are made not for high throughput WLAN. In this
the default standard used on smartphones and laptops in the paper we improved it to take advantage of MAC and PHY
past few years. Medium Access Control (MAC) 802.11n has 802.11n capabilities and call it as Collision Aware Rate
the capability of transmitting multiple MAC Service Data Units Adaptation (CARA) for High Throughput (HT). In CARA-HT
(MSDUs) into an Aggregate-MSDU (A-MSDU) and the ability we added some new attributes and added functionality for
to transmit a maximum of 64 MAC Protocol Data Units transmission using A-MPDU and HT-PHY rate. We then
(MPDUs) into an Aggregate-MPDU (A-MPDU). Physical implemented proposed method on the open source NS-3
(PHY) of 802.11n transmits MPDU or A-MPDU using the network simulator and tested its performance through several
PHY rate determined by rate adaptation algorithm. The simulations extensively.
802.11n PHY rate is selected by modulation type, coding rate,
channel bandwidth, guard interval, and the number of spatial The next section of this paper is organized as follows. Part
streams [1]. The selected PHY rate is expected according to the II describes the literature studies related to 802.11n standards,
channel conditions for MPDU to be received without error. Collision Aware Rate Adaptation and CARA algorithms on
NS-3. Part III describes the methods of developing CARA-HT
Based on the literature review, there were many adaptation algorithms and their performance testing methods. The results
rate algorithms based on proposed channel conditions, of the development and performance of the CARA-HT
especially for IEEE 802.11n WLAN high throughput. The algorithm are shown in Section IV. Finally, Part V presents the
algorithms include: Minstrel-HT [2], RAMAS [3], L3S [4], conclusion.

ISBN: 978-1-5386-4571-0 (c) 2018 IEEE 12


II. LITERATUR REVIEW

A. IEEE 802.11n Standard TABLE I. DATA RATE OF WLAN IEEE 802.11N


IEEE 802.11n is the standard used to receive High M Data rate (Mbps)
Throughput on WLAN. To achieve this goal, the MAC and C Modulation R Nss 20 MHz 40 MHz
PHY 802.11n layers provided MPDU transmission schemes S GI SGI GI SGI
0 BPSK 1/2 1 6.5 7.2 13.5 15
using the Aggregate MAC Service Unit (A-MSDU) and the 1 QPSK 1/2 1 13 14.4 27 30
aggregate MPDU (A-MPDU). Both schemes are to improve 2 QPSK 3/4 1 19.5 21.7 40.5 45
the efficiency of MAC and PHY header layers. In the PHY 3 16-QAM 1/2 1 26 28.9 54 60
layer, the channel bandwidth is increased to 40 MHz, 400 ns 4 16-QAM 3/4 1 39 43.3 81 90
guard interval and using transceiver MIMO max 4x4. From 5 64-QAM 2/3 1 52 57.8 108 120
6 64-QAM 3/4 1 58.5 65 121.5 135
the development, 802.11n has a choice of data rate as shown
7 64-QAM 5/6 1 65 72.2 135 150
in TABLE I [1]. 8 BPSK 1/2 2 13 14.4 27 30
In 802.11n, data received from the upper layer is 9 QPSK 1/2 2 26 28.9 54 60
encapsulated using a MAC layer header and then referred to as 10 QPSK 3/4 2 39 43.3 81 90
MPDU. Before the MPDU is transmitted, the MAC of 11 16-QAM 1/2 2 52 57.8 108 120
802.11n accesses the channel using the Carries Sense Multiple 12 16-QAM 3/4 2 78 87.7 162 180
13 64-QAM 2/3 2 104 115.6 216 240
Access width Collision Avoidance (CSMA/CA) algorithm. If 14 64-QAM 3/4 2 117 130 243 270
the channel is free then MPDU is transmitted with the specific 15 64-QAM 5/6 2 130 114.4 270 300
transmission parameters (TX Vector). The TX Vector variable 16 BPSK 1/2 3 19.5 21.7 40.5 45
consists of data rate, power transmit, number of retransmit, 17 QPSK 1/2 3 39 43.3 81 90
guard interval, spatial stream, encoding stream, bandwidth, 18 QPSK 3/4 3 58.5 65 121.5 135
19 16-QAM 1/2 3 78 86.7 162 180
aggregation and STBC [1]. 20 16-QAM 3/4 3 117 130 243 270
For every MPDU received at destination without error, it 21 64-QAM 2/3 3 156 173.3 324 360
will send an acknowledgement (ACK) frame to the 22 64-QAM 3/4 3 175.5 195 364.5 405
transmitter. This mode of delivery is also called Basic Access 23 64-QAM 5/6 3 195 216.7 405 450
mode. However MPDU can also contain errors when received 24 BPSK 1/2 4 26 28.9 54 60
25 QPSK 1/2 4 52 57.8 108 120
at destination. The errors can be caused by channel error or
26 QPSK 3/4 4 78 86.7 162 180
error collision. The channel error is caused by the failure of a 27 16-QAM 1/2 4 104 115.6 216 240
decoding receiver signal that has a low signal to noise ratio 28 16-QAM 3/4 4 156 173.3 324 360
(SNR). While the error collision is caused by there is more 29 64-QAM 2/3 4 208 231.1 432 480
than one transmitter transmits MPDU at the same time. 30 64-QAM 3/4 4 234 260 486 540
For every MPDU containing errors the receiver does not 31 64-QAM 5/6 4 260 288.9 540 600
send ACK. If the transmitter does not receive an ACK within a
predetermined duration, then MPDU will be re-transmitted. If dynamically to produce optimal throughput. The PHY rate
the MPDU error is caused by an error channel then chosen by the rate adaptation algorithm is then used by TX
retransmission is done using the basic access mode. But if it is Vector for the transmission of an MPDU.
caused by collision error then re-transmit better done using The CARA algorithm developed by Kim et al. [11]. The
RTS/CTS mode. In this mode, the transmitter first sends the main idea of CARA is to combine RTS mode adaptively by
RTS frame and if the CTS frame is received then the new differentiating MPDU collision and MPDU errors caused by
MPDU is transmitted. This mode is provided by IEEE 80211 to channel errors. In the design, to anticipate the occurrence of
decrease the probability of MPDU experiencing collision. But collisions, the CARA algorithm does not use the RTS probing
the 802.11 standard does not specify the use of the two modes mode on the MPDU under normal conditions. When MPDU
dynamically. loss occurs, CARA activates RTS probing mode to perform
retransmission MPDU.
B. Collision Aware Rate Adaptation Algorithm
RTS probing is a mode in the CARA algorithm. RTS
Rate adaptation is an algorithm used to select optimally the probing mode uses two methods to distinguish between errors
data rate used for the transmission of an MPDU. WLAN caused by collisions and errors caused by the channel. The
802.11n with specifications that support 20/40 MHz transmission failure of MPDU is not necessarily caused by
bandwidth, short guard interval and 4x4 MIMO, then MPDU channel error. MPDU error can also be caused by the collision
can be sent using 128 PHY rate options. MPDU transmitted between MPDU. The RTS/CTS scheme has been provided on
with high PHY rate can result in high throughput, but the the IEEE 802.11 WLAN standard to prevent collisions
probability of MPDU has increased error when SNR channel occurring during MPDU retransmissions. Under these
decreases. In contrast, MPDUs transmitted with low PHY rates conditions, before the data transmission using RTS/CTS
result in lower throughput, but the probability of MPDU scheme then CARA algorithm using RTS probing mode. RTS
experiencing low error channels is also low. So the rate probing mode works to enable RTS/CTS scheme only when
adaptation algorithm determines the choice of PHY rate data transmission fails caused by MPDU collision.

13
Fig. 2. Simulation topology

TABLE II. SIMULATION PARAMETERS


Fig. 1. CARA-HT error message in NS-3.26 Number of AP 1
Number of STA 1
C. CARA Algorithm on NS -3 Simulator STA to AP maximum distances 100 m
PHY model YansWifiPhy
NS-3 is a new network simulator developed from network
Energy detection threshold -96.0 dBm
simulator NS-2. NS-3 is designed to provide network
Cca model threshold -99.0 dBm
simulators that meet the needs of current network research. The
development of NS-3 began in 2006 and in 2017, the latest Tx Power 16.02 dBm
stable version of NS-3 is NS-3.26. NS-3 uses C ++ and python TX/RX gain 1 dB
programming languages. Rx noise figure 7 dB
Number odf Tx/Rx antenna 3 and 4 streams
NS-3.26 has a PHY rate model HtMcs for the IEEE Guard Interval 800 ns (GI) or 400 ns (short-GI)
802.11n WLAN developed by Ghada Badawy and Sébastien Bandwidth 20/40 MHz
Deronne. In NS-3.26 also available model of CARA algorithm Frequency 5 GHz
implemented by Federico Maguolo. Implementation of CARA
Channel loss model LogDistancePropagationLoss
algorithm model in NS-3.26 can be found in file \ns-
Channel delay model Constant speed
3.26\src\wifi\model\cara-wifi-manager.cc and header file in
Error model NistErrorRateModel
\ns-3.26\src\wifi\model\cara-wifi-manager.h. However CARA
Mac Model HT-MAC
in NS-3 cannot be used for rate adaptation in IEEE 802.11n as
shown in Fig.1. In this paper, we use both files as the basis for Maximum A-MPDU sizes 65535 bytes
the development of the proposed method. NS-3.26 also has RTS/CTS threshold 65535 bytes (disable)
Minstrel-HT algorithm model. In our previous work, we have EDCA access category Best Effort
evaluated Minstrel-HT's performance in fading and non-fading IP network / Transport IPv4 /UDP
channels [12]. In this paper, CARA-HT performance also Application model OnOffApplication
compares with Minstrel-HT. Data rate 600 Mbps
Packet size 1420 bytes
III. RESEARCH METHODOLOGY Start time 0.5 s
Simulation times 100 second
We developed the proposed method in two stages. In the
first stage, we created and implemented the CARA-HT
algorithm on NS-3.26. In the second phase, we evaluated the NS-3 directory, determining the include guard and determining
performance of the CARA-HT algorithm through a number of the CARA-HT namespace on NS-3. In the final stages we write
simulations extensively. coding for the implementation of the functions and attributes
required by the CARA-HT algorithm. Then we tested the
CARA-HT coding to make sure the algorithm is working
A. Method for Development of CARA-HT Algorithm properly and no errors are generated.
The development and implementation of CARA-HT
algorithm is done based on the steps according to the method B. Simulation Method for CARA-HT Performance Evaluation
of adding new algorithm model on NS-3. First we identify the
functionality and attributes required by the CARA-HT At this stage we evaluated the performance of the CARA-
algorithm. We also identify the functionality and attributes that HT algorithm through simulations extensively using NS-3.26.
are currently available on the CARA model algorithm. We then Our performance evaluation is done to ascertain whether all the
identified the reusable code part of the CARA algorithm for the functions and attributes contained in the CARA-HT algorithm
implementation of the CARA-HT algorithm. are working properly. Some functions of the CARA-HT
algorithm being tested such as the MPDU delivery function
We then identified the dependencies required by the using and without using AMPDU, the data transmission
CARA-HT algorithm, evaluating the coding style, determining function uses a combination of spatial streams, GI type and
the source three for placing the CARA-HT source code in the different channel bandwidth sizes. At the end we tested the

14
main function of the proposed method that is the adaptability of Pseudocode 1. CARA-HT algorithm
data rate based on the channel error and collision error. 1: Initialization:
2: probeThreshold = 1;
Simulation scenarios for performance evaluation of CARA- 3: failureThreshold = 2;
HT algorithm, we do based on topology as shown in Fig. 2. In 4: successThreshold = 10;
the simulation of adaptation rate based on error channel we do 5: timerTimeout = 15;
6: rate = 0;
as follows. A station (STA) at a distance of 5 meters from 7: success = 0;
Access Point (AP) transmits 600 Mbps constant bit rate (CBR) 8: failed = 0;
traffic, packet size is 1420 bytes and uses UDP transport 9: timer = 0;
protocol. The STA then moves away toward the right up to a 10: chWidth = 0;
distance of 100 meters from the AP at a speed of 1m / s. This 11: sgi = true;
12: streams = 1;
distance change is intended to increase the probability of the 13: maxHtRateId = 7;
error channel. Throughput we count on the AP side. 14: nSuccessfulMpdus = 0;
15: maxAMPDU = 0;
In the simulation rate adaptation based on collision error, 16: GetDataTxVector ()
we add one STA which always sends CBR traffic to AP using 17: GetRtsTxVector ()
MCS0. To create a hidden terminal condition, the initial 18:
position of the first STA we place on the 10 m to the right of 19: For each ACK:
the AP and the second STA on the left 85m AP. For CARA- 20: Begin
21: if maxAMPDU < 2*MPDU then
HT performance to be evaluated, an average of 5 seconds 22: timer++;
through CARA-HT then we compare with constant rate 23: success++;
throughput (non-rate adaptation) and Minstrel-HT throughput. 24: failed = 0;
The other parameters we used in the simulation are shown in 25: if ((success = successThreshold || timer > timerTimeout)
TABLE II. 26: && (rate < maxHtRateId)) then
27: rate++;
28: timer = 0;
IV. RESULT AND DICUSSION 29: success = 0;
30: else
In this section we describe the development and evaluation 31: success += nSuccessfulMpdus;
of CARA-HT algorithm performance. 32: failed = 0;
33: retry = 0;
A. Development of CARA-HT Algorithm 34: if ((success >= successThreshold)
35: && (rate < maxHtRateId)) then
Based on CARA-HT algorithm model development method 36: rate++;
described in section III, we have developed CARA-HT pseudo 37: timer = 0;
code algorithm as shown in Pseudocode 1. Pseudocode CARA- 38: success = 0;
39: nSuccessfulMpdus = 0;
HT algorithm consists of initialization part (lines 2-17),
40: end
function to increment data rate for the success of MPDU 41:
transmissions, without or using AMPDU (lines 20-40), a 42: For each packet loss:
function for data rate decrement for MPDU transmission 43: begin
failures (lines 43-51), a function for determining 44: timer++;
MPDU/AMPDU transmission parameters in the DataTxVector 45: failed++;
46: success = 0;
(lines 54-80) function to specify RTS transmission parameters 47: if failed >= failureThreshold then
in RtsTxVector (lines 82-94) and RTS/CTS mode activation 48: if (rate != 0) then rate--;
function dynamically (line 96-100). 49: failed = 0;
50: timer = 0;
In the initialization section we add new attributes that were 51: DoNeedRts()
not previously available in the CARA algorithm, which is 52: end
chWidth (channel width), sgi (short guard interval), streams 53:
(number of spatial streams) and maxHtRateId (maximum 54: GetDataTxVector ()
55: begin
number of ID of HT rate). These four attributes are used to 56: chWidth = GetChWidth ();
identify the HT data rate list supported by STA and AP. 57: sgi = GetShortGuardInterval ();
Additionally we also added the nSuccessfulMpdus (number of 58: streams = GetNumberOfSupportedRxAntennas ();
successful transmission of MPDU) and maxAMPDU 59: if (chWidth = 40 && sgi = true && ss = 4) then rate = {0 ~ 127);
(maximum size of A-MPDU) attributes used when a terminal 60: if (chWidth = 40 && sgi = true && ss = 3) then rate = {0 ~ 95);
61: if (chWidth = 40 && sgi = true && ss = 2) then rate = {0 ~ 63);
activates the AMPDU transmission mode. 62: if (chWidth = 40 && sgi = true && ss = 1) then rate = {0 ~ 31);
In CARA-HT, for each ACK received then the value of the 63: if (chWidth = 40 && sgi = false && ss = 4) then rate = {0 ~ 63);
64: if (chWidth = 40 && sgi = false && ss = 3) then rate = {0 ~ 47);
success attribute will be updated depending on whether the 65: if (chWidth = 40 && sgi = false && ss = 2) then rate = {0 ~ 31);
MPDU is sent using AMPDU or not. If not, then the attribute 66: if (chWidth = 40 && sgi = false && ss = 1) then rate = {0 ~ 15);
value success is incremented. But if using AMPDU, then the 67: if (chWidth = 20 && sgi = true && ss = 4) then rate = {0 ~ 63);
value of attribute success summed with nSuccessfulMpdus. So 68: if (chWidth = 20 && sgi = true && ss = 3) then rate = {0 ~ 47);
on CARA-HT, MPDU transmission using AMPDU can 69: if (chWidth = 20 && sgi = true && ss = 2) then rate = {0 ~ 31);
accelerate the attribute's success value to its threshold value. If 70: if (chWidth = 20 && sgi = true && ss = 1) then rate = {0 ~ 15);

15
Pseudocode 1. CARA-HT algorithm (continued)
71: if (chWidth = 20 && sgi = false && ss = 4) then rate = {0 ~ 31);
72: if (chWidth = 20 && sgi = false && ss = 3) then rate = {0 ~ 23);
73: if (chWidth = 20 && sgi = false && ss = 2) then rate = {0 ~ 15);
74: if (chWidth = 20 && sgi = false && ss = 1) then rate = {0 ~ 7);
75: maxHtRateId = (8 * (chWidth/20) * (sgi+1) * (ss))-1;
76: maxAMPDU = GetAggregation ();
77: return WifiTxVector (GetMcsSupported, GetDefaultTxPower
78: Level (), GetLongRetryCount (), sgi, ss, GetNess (),
79: chWidth, GetAggregation (),GetStbc();
80: end
81:
82: GetRtsTxVector ()
83: begin
84: if (rate < lastDataRate); then
85: rtsrate = GetBasicMode (0);
86: rateFound = true;
87: if (rateFound); then
88: i = 0 ; i < nSupportRates; i++;
89: if (rate < lastDataRate); then
90: rtsrate = GetMode (0); Fig. 3. CARA-HT performance in non-AMPDU and channel error
91: rateFound = true;
92: return WifiTxVector (rtsRate, GetDefaultTxPowerLevel (),
93: GetShortRetryCount (), false, 1, 0, 20, false, false);
94: end
95:
96: DoNeedRts ()
97: Begin
99: return normally || failed >= probeThreshold;
100: end

success is greater than or equal to successThreshold and txrate


(index rate) is currently smaller than maxHtRateId then
CARA-HT increment the index rate.
For every failure MPDU transmission, CARA-HT increase
the failed attribute. Then checked, if the attribute value failed is
greater than or equal to probeThreshold then MPDU
retransmission is done in RTS/CTS mode. If the retransmit
MPDU using RTS/CTS is still have failure, then the value of
the txrate attribute will be decrease. Fig. 4. CARA-HT performance in AMPDU and channel error

GetDataTxVector() function is used to specify the wifi-manager.h. Both files have been placed in the /ns-
TxVector parameter of an MPDU transmission. This function 3/ns3.26/src/wifi/model/ directory. The names of the two files
begins with calling the GetChWidth(), GetShortGuardInterval() have also been added in the wscript file in /ns-
and GetNumberOfSupportAntenna() functions to obtain 3/ns3.26/src/wifi/. We have tested the CARA-HT
channel bandwidth size, guard interval and the number of implementation on NS-3.26 using the tool ./test.py. Test results
antennas used by the transmitter. From the information then have shown 230 tests passed, 3 skipped, 0 failed, 0 crashed and
made a list of transmitter index rate. For example, if chWidth = 0 valgrine errors.
20, sgi = false and streams = 1 then the available rate index is
0-7, that means the transmitter has a choice of data rate 6.5 to
B. CARA-HT Performance Evaluation
65 Mbps. However if chWidth = 40, sgi = true and streams = 4
then the available rate index is 0-127 or available options up to Fig. 3 and Fig. 4 show the throughput resulting from the
600 Mbps. The final part of this function returns the value of CARA-HT rate adaptation of channel quality changes. From
the TxVector parameter used for MPDU transmission. both figures it can be validated that the function of sending
MPDU without and using AMPDU has functioned properly.
The DoNeedRts() function is used to enable MPDU Both figures also show MPDU transmission function using
sending using the RTS/CTS scheme. If the number of MPDU various combinations of channel bandwidth size, guard interval
transmit failures is equal to or greater than the value of the and number of spatial streams to function properly.
probeThreshold attribute, then CARA-HT activates the
RTS/CTS transmit mode. When RTS/CTS mode is enabled, Without transmission and using AMPDU, CARA-HT can
before the MPDU is transmitted, the GetRtsTxVector function generate maximum throughput equal to a constant rate, but it
will be called for known TxVector parameters used for takes a few seconds to reach it. This is caused by MPDU
transmitting RTS frame. transmission always begins using the lowest data rate.
Similarly, when channel quality changes, CARA-HT manages
We have written the CARA-HT code algorithm for NS-3 to adjust the data rate to channel quality changes. However, the
and saved it in the file cara-ht-wifi-manager.cc and cara-ht-

16
Fig. 5. CARA-HT performance with non-AMPDU and collision error Fig. 6. CARA-HT performance with AMPDU and collision error

resulting throughput is not optimal yet because it is still under


constant rate throughput. REFERENCES
[1] "IEEE Standard for Wireless LAN Medium Access Control
In Fig. 5 and Fig. 6 show the result of throughput from the (MAC)and Physical Layer (PHY) Specifications Amendment 5:
CARA-HT rate adaptation with channel error and collision Enhancements for Higher Throughput," IEEE Std 802.11n-2009,
error. When transmitting without using AMPDU (Fig. 5), vol., no., pp.1-565, Oct. 29 2009.
throughput from CARA-HT using 3 and 4 spatial stream seem [2] F. Fietkau and D. Smithies, “Linux Wireless Minstrel High
constant at 23 and 26 Mbps. The throughput constant is Throughput.”, Minstrel-Ath9k driver http://linuxwireless.org/en/users/
generated when the STA is at a distance of 5 m to a distance of Drivers/ath9k.
80 m from the AP. Throughput constant validates CARA-HT [3] D. Nguyen and J. J. Garcia-Luna-Aceves, "A practical approach to rate
adaptation for multi-antenna systems," 2011 19th IEEE International
does not change data rate when collision occurs. In contrast to Conference on Network Protocols, Vancouver, BC, 2011, pp. 331-340.
the throughput generated by Minstrel-HT, the throughput is [4] A. B. Makhlouf and M. Hamdi, "Practical Rate Adaptation for Very
variable because when collision data rate occurs it will be High Throughput WLANs," IEEE Trans. Wirel., vol. 12, no. 2, pp. 908-
changed using a lower data rate. When transmitting using 916, February 2013.
AMPDU (Fig. 6), the throughput generated by CARA-HT is [5] I. Pefkianakis, S. B. Lee and S. Lu, "Towards MIMO-Aware 802.11n
better than the Minstrel-HT throughput. But the collision is Rate Adaptation," IEEE/ACM Trans. Netw., vol. 21, no. 3, pp. 692-705,
very influential on the throughput of both algorithms. CARA- June 2013.
HT produces a relatively stable throughput, while Minstrel-HT [6] S. Seytnazarov and Young-Tak Kim, "Cognitive rate adaptation for high
throughput IEEE 802.11n WLANs," 2013 15th Asia-Pacific Network
seems to fail to determine optimal data rate when the collision Operations and Management Symposium (APNOMS), Hiroshima,
occurs. Japan, 2013, pp. 1-6.
[7] L. Deek, E. Garcia-Villegas, E. Belding, S.-J. Lee and K. Almeroth, "A
V. CONCLUSION practical framework for 802.11 {MIMO} rate adaptation", Comp. Netw.,
vol. 83, pp. 332-348, 2015.
In this paper we have improved the Collision-Aware Rate [8] R. Karmakar, S. Chattopadhyay and S. Chakraborty, "Dynamic link
Adaptation (CARA) algorithm to take advantage of MAC and adaptation for High Throughput wireless access networks," 2015 IEEE
PHY 802.11n capabilities and call it CARA for High International Conference on Advanced Networks and
Throughput (CARA-HT). We have added the function of Telecommuncations Systems (ANTS), Kolkata, 2015, pp. 1-6
checking the success and failure of MPDU transmission using [9] S. Byeon, K. Yoon, O. Lee, W. Cho, S. Oh, and S. Choi, “MoFA:
AMPDU, DataTxVector and RtsTxVector checking function Mobility-Aware Frame Aggregation in Wi-Fi,” in Proc. ACM CoNEXT,
Dec. 2014.
based on bandwidth of channel, guard interval and number of
[10] S. Byeon, K. Yoon, C. Yang and S. Choi, "STRALE: Mobility-aware
streams, and checking function of data transmission PHY rate and frame aggregation length adaptation in WLANs," IEEE
requirement using RTS/CTS mode. We implemented the INFOCOM 2017 - IEEE Conference on Computer Communications,
CARA-HT algorithm on NS-3.26. The addition of these Atlanta, GA, 2017, pp. 1-9.
functions has been tested using ./test.py which gives 230 tests [11] S. Kim, L. Verma, S. Choi and D. Qiao, "Collision-aware rate adaptation
passed, 3 skipped, 0 failed, 0 crashed and 0 valgrine errors. We in multi-rate WLANs: Design and implementation", Comp. Netw., vol.
have also evaluated the performance of the CARA-HT 54, no. 17, pp. 3011-3030, Dec. 2011.
algorithm through extensive simulations. The simulation [12] T. Y. Arif, R. Munadi and Fardian, “Evaluation of the Minstrel-HT Rate
Adaptation Algorithm in IEEE 802.11n WLANs,” International Journal
results show the throughput produced by CARA-HT is better of Simulation Systems, Science & Technology, vol. 18, no. 1, pp. 11.1-
than Minstrel-HT. CARA-HT produces a relatively stable 11.7, March 2017.
throughput decline, while Minstrel-HT appears to fail to
determine the optimal data rate in the event of a collision.

17

You might also like