CBA-TCP: A cross-layer TCP transmission rate adaptation scheme based on the compressed block ACK bitmap of IEEE 802.11n networks

Optimizing the performance of TCP in wireless networks in a changing network condition is a highly challenging issue. The lack of information at the TCP layer about the link quality will result in inaccurate transmission rate. Therefore, TCP needs to have su ﬃ cient information about the environment and the di ﬀ erent characteristics of the lower layers to improve the performance. To achieve this goal we proposed a cross-layer scheme which makes use of the information stored in the 802.11n compressed block acknowledged bitmap about the status of the transmitted subframes of the aggregated frame. This information is fed to the TCP transmission mechanism as a new criterion to adjust the TCP transmission rate with accordance to the aggregation level and channel quality. The simulation results show that the proposed scheme improves the TCP performance in term of throughput and packet loss.


Introduction
Over the recent years, wireless networks have come out as a promising technology for future data communication and IP applications. IEEE 802.11 wireless [1] and its preceding wireless networks are the most popular wireless data networks that employs a CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance) protocol with binary exponential backoff for accessing the share transmission media. Accessing shared channels in IEEE802.11 wireless networks is accomplished via a simple and MAC channel access method called distribution coordination function(DCF). Thus, considerable research efforts have been put on the investigation and analysis of the DCF performance over wireless LAN [2,3].
To ensure a reliable and fair frame transmission, the contention-based DCF uses control messages, frames headers and various waiting times. Even though, these large headers and overheads made the DCF more robust, it consumes the channel time and becomes the main source of the MAC inefficiency. Therefore, only Motivated by these issues as well as the successful deployment of wireless LANs and the increasing demand for applications over wireless, the IEEE 802. 11 Working Group standardized a new MAC and Physical layer specification to increase the bit rate up to 600 Mbps in 802.11n and 1300 Mbps in 802.11ac and enhance the effective throughput to exceed 100 Mbps and 200 Mbps at the MAC service access point [5,6].
A key performance feature first introduced in IEEE 802.11n MAC layer is the ability to aggregate packets in order to reduce transmission overheads in the PHY and MAC layers and increase the throughput.
Many enhancements have been introduced in the IEEE 802.11n standard and inherited in the subsequent standards 802.11ac and 802.11ax. The two main enhancements are frame aggregation and block acknowledgment. In frame aggregation, two or more frames are put together into a single large frame and then transmitted in a single channel access. These frames are acknowledged by a single acknowledgment frame, known as Block acknowledged (BAck). One of the frame aggregation schemes is the aggregate MAC protocol data unit (A-MPDU). The A-MPDU frame aggregation is performed at the lower part of the MAC layer where multiple MAC protocol data units(MPDUs) are combined in a single PHY protocol data unit(PPDU) frame. The A-MPDU is formed from the already available packets in the buffer, the corruption of any A-MPDU subframe does not require the retransmission of the whole A-MPDU, only the corrupted subframes need to be retransmitted. To acknowledge the recipients of the A-MPDU, a block ACK is sent from the receiver. The subframes that constitute the A-MPDU are acknowledged in ACK bitmap called compressed block ACK (CBA). Compressed block acknowledgment (CBA) reduces the conventional block ACK bitmap from 128 bytes to only 8 bytes. Each bit of CBA will acknowledge one subframe of the A-MPDU in such a way that the correctly received subframe will be acknowledged by 1 in the bitmap and the corrupted subframes by 0.
Many approaches [7][8][9][10] have been introduced in order to select the optimal frame size in 802.11n networks by adapting the aggregation size according to the current network state. In all of these schemes, it is difficult to estimate the signal strength without assistance from the receiver via feedback link adaptation control messages or using extra headers in the existing messages. None of them have used the available information in the ACK bitmap to estimate the channel condition and use it as a channel quality meter.
In this work we have used the ACK bitmap as an indicator of the channel conditions and used the cross layer approach to send the information to the TCP control mechanism in order to regulate its sending rate and therefore utilize the MAC aggregation capabilities.
The conventional TCP mechanism is based on wired network and experiences a degradation in performance when runs on wireless network. This comes from the assumption that the network congestion is the only source of packet loss. However, in wireless network packet loss can happen also due to low signal strength and multi-path fading. Thus, new TCP approaches were introduced in order to improve the TCP performance in wireless networks. TCP congestion control protocols regulate its congestion window and though the sending rate in accordance with the estimated network congestion status independent of the underlying infrastructure and technology. The TCP congestion control mechanism detects the congestion either by estimating the round-trip time (RTT) or receiving three duplicate ACKs from the receiver [11]. In addition to the standard TCP, other approaches [12,13] employ the packet loss as a sign of network congestion while the TCP scheme [14] relies on bandwidth estimation to control the congestion window .
The TCP-Vegas [14] estimates the bandwidth based on the packet delay rather than the packet loss while the TCP jersey [15] is developed to detect TCP congestion in a wireless network via bandwidth estimation an to react accordingly. TCP DOOR [16] adjusts the transmission rate as soon as it detects an out-oforder packet recipients. The work in [17] proposed an end-to-end adaptive scheme called TCP AR in which the sender can determine whether the type of retransmission timeout is due to network congestion or wireless loss. The differentiation is achieved by comparing the instantaneous sending rate to the throughput estimation. Authors in [18] proposed a TCP receiver with an adaptive delayed ACK strategy to improve TCP performance in multi-hop wireless networks. The Adaptive Congestion Control Algorithm presented in [19] is a delay based congestion control which tries to maintain the data transmission according to the available capacity of the path. The approach in [? ] estimates the available bandwidth and derives a congestion control factor that is used to adapt the Increase/Adaptive Decrease (AIAD) technique to dynamically control the Congestion Window (CWND) instead of using the traditional Additive Increase/ Multiplicative Decrease (AIMD). Other approaches that relay on adjusting the delay window rather than the congestion window in order to improve the TCP performance are introduced in [20,21]. N. D. Adesh and A. Renuka [22] proposed an adaptive receiver-window adjustment (ARWA) algorithm to efficiently utilize the network resources and ensure fairness among the users in resource competitive environment. The algorithm slightly modifies the TCP at both the sender and receiver. The proposed mechanism dynamically varies the receiver window size based on the data rate and delay information of the packets. The authors in [23] have proposed an improved Adaptive Modulation and Coding (AMC) scheme for Cross layer approach with the Gaussian Minimum Shift Keying (GMSK) modulation. The authors In [24] proposed an adaptive TCP mechanism that modifies the TCP slow start mechanism by implementing an Explicit Link Failure Notification (ELFN).
The previous approaches are designed on the general end-to-end concept and do not take into account the MAC layers characteristics. Based on the present crosslayer design methodology, many across-layer-based TCP approaches are introduced in order to improve the TCP performance.
Cross-layer is the concept in which the layers of the network vertically interact and exchange information. The exchange of information is a short-cut for relevant information delivery that leads to appropriate settings for improving the network performance. Many TCP approaches have adopted this concept in order to enhance the TCP performance by providing enough knowledge about the status of the lower layers.
The authors in [25] proposed an approach using cross-layer Automatic Retransmission reQuest (ARQ) feedback to enhance the performance of TCP in wireless LANs. The idea behind their approach is utilizing the Hybrid ARQ acknowledgment in PHY layer as the ARQ acknowledgment in MAC layer, while exploiting the information of ARQ in MAC layer for more efficient acknowledgment for TCP segment delivery. The work in [26] employed the cross-layer technique and introduced two metrics to improve the TCP Veno performance. The first metric called congestion loss window, which aid TCP Veno to utilize the bandwidth in presence of lightly-loaded traffic,while the second metric is the power level of received packet from the MAC layer to aid in better detection of random losses.
The poor interaction between TCP and MAC layer motivated the authors in [27] to propose a wireless congestion control protocol (WCCP) that uses the channel busyness ratio for allocating the shared resources and adjusting the sending rate so that the TCP can fully utilizes the channel capacity. An across layering approach is also introduced in [28] where the congestion measure is also calculated at the basestation based on which receiver advertised window is calculated. The TCP cross layer approach (TCP-CL) proposed in [29,30] employed the cross layer mechanism in the transport layer and the MAC layer to provide explicit information about the communication link. The approach uses the MAC layer retransmission attempts to assist on determining the link quality. This information is piggybacked in the TCP ACK and then sent to the sender, accordingly, the TCP congestion control is adjusted.
Zhang et al. [31] introduced a channel efficiencybased transmission rate control mechanism in which the TCP transmission rate is adaptively controlled based on the MAC feedback about the channel efficiency. The approach controls the TCP rate to alleviates the load of MAC protocol before a congestion event occurs. They also in [32] characterized the network status by means of two metrics, channel utilization (CU) and contention ratio (CR) at each node. These two metrics are fed back through ACK to the sender and then used by the TCP to control its transmission rate to ovoid TCP over injection and to synchronize with the link-layer capabilities. The approach proposed in C3TCP [33] estimated the network capacity by calculating the bandwidth and delay at the link-layer. These information is passed via cross-layering to TCP in order to adjust its sending rate. By exploring the the PHY and link-layer information, MAD-TCP [34] detects and differentiates the events that might cause packet loss. Using cross-layer information awareness MSD-TCP utilizes these information and adjusts its sending behavior, accordingly. Enhancing the TCP performance by reducing the number of acknowledgments is addressed in [35,36]. These approaches are cross-layer approaches that enable dynamic interaction between the TCP and MAC layer and reduce the number of TCP acknowledgments based on the channel condition. The Approach in [37] takes into account the variation of MAC retry limit (RTL), channel condition and TCP window to dynamically adjust the sending rate and enhance the TCP performance. A congestion control proposed in [38] controls the data sending rate of the sender by determining the available bandwidth, link delay and channel occupied ratio (COR). The authors in [39] combined cross-layer method and bandwidth allocation to overcome the difficulty of TCP flow control in a network with large bandwidth delay product.
All of the previous schemes addressed the legacy 802.11 wireless networks where the normal stop-andwait Acknowledgment is employed. Moreover, channel condition detection is based either on feedback from the receiver about the SNR or estimation of the network bandwidth and delay.
In this work, we have adopted the cross layer design to control the TCP sending rate based on the available information at the MAC layer about the network conditions. The work addresses the high throughput WiFi that use the MAC block acknowledged rather than the legacy acknowledgment. We have used the ACK bitmap of the Block ACK as an indicator of the channel condition at the MAC layer rather than using the old addressed methods that add either more headers or extra messages.

The proposed scheme
We have proposed a technique that called Compressed Block Acknowledgement TCP (CBA-TCP) for controlling the TCP sending rate at the transport layer based on the information of the compressed block acknowledgment bitmap at the MAC layer. The information is passed to the upper layer using the cross layering technique. The proposed scheme consists of two main mechanisms, the first mechanism predicts the channel state at the MAC layer based on the density of zeros bits in the CBA bitmap and feeds it back to the Transport layer. The Second mechanism located at the transport layer where the TCP congestion control makes use of the information about the channel state and adjusts its transmission rate accordingly. Figure 1 shows the framework of the proposed scheme.

The ACK bitmap as a channel state indicator
In this section we will show the suitability of the information available in the CBA bitmap about the channel state for measuring the link quality and Having enough information about the current channel state prior to transmission can help on obtaining optimal wireless performance in terms of throughput and delay. Different approaches were used for estimating the channel state, some of them is based on the signal-to-noise ratio measurement [40,41] while others use statistical information [42,43]. In SNR based approaches, the channel state is determined at the receiver side and then sent back to the sender either in a separate message or piggybacked in an existing message. On other hand, the statistical based approaches rely on monitoring some metrics that are related to the outcome of transmission such as frame error rate and frame retransmission. The implementation of these approaches are easier, but it is slow and takes time to converge to the real channel state. A hybrid scheme that combines both the measured SNR and statistical information is presented in [44]. Even though SNR measurement provides much more realistic state information than the other statistical ones, it results in extra implementation effort and headers which in turn effect the wireless performance. Therefore, most of the implementation uses the statistical approaches for their ease of implementation. In our work we have used the compressed block ACK bitmap as a source of channel state information. The ACK bitmap is constructed at the receiver side based on the erroneous state of the received aggregated subframes. In the compressed block ACK, the subframes of the aggregated frame that are received with errors are represented by 0 in the bitmap while the correctly received ones are represented by 1. The frame status distribution at the CBA bitmap motives us to use it as a ready and available measure at the MAC layer for channel state estimation. This approach is accurate and easy to use since it combines the benefits of measuring the channel state at the receiver side using the SNR and the easiness of the statistical approaches where the information is already available at the MAC layer.
We introduced a new metric called Bit Error Density (BED) which represents the distribution of zeros in the CBA bitmap. The total number of subframes acknowledged in the CBA bitmap is denoted by b t and the number of zeros out of the total bits is denoted by b z . Then BED is calculated as the ratio of b z to the total bits b t , where b z less than or equal to b t and b t greater than 0.
The density of zeros in this CBA bitmap might be used as a clear indicator of the channel condition. To illustrate the relation between the SNR and the BED, we have conducted simulation experiments in which two nodes are communicating, the sending node is stationary while the receiving is moving. First both stations are located near each other and then the receiver starts to move away in a speed of (1m/s) until it reaches the boundary of the sender transmission range and then moves back to the sender. Figure 2 illustrates the behavior of the BED and the SNR. The signal strength near the sender is high and get declining as we move away from the source. The average BED follows the same behavior in such a way that the density of zeros in the CBA bitmap is small when the receiving node is located near the sender and it increases when we move away. The figure shows the complete path where the node is moving away from source and then returning back. From the figure we infer that the BED obtained from the CBA bitmap can be used as a quality measure for channel state at the MAC layer instead of the SNR.

Channel state estimations mechanism
In this mechanism the channel state condition is determined from the on hand information available in the CBA bitmap at the MAC layer. Upon receiving the CBA, the algorithm will calculate the BED from the number of zero bits b z and the total number of bits b t in the bitmap, see Equ. 1. Based on the value of the BED i , the weighted channel state (WCS) will be calculated as in Equ. 2 , where a is tuning factor between 0 and 1.
The channel quality indicator (CQI) is calculated based on the old and current weighted channel state as follows:  Based on the value of CQI, the MAC will inform the transport layer how to adjust its transmission rate. The adjustment factor (AF) will be set as follows: if the value of the CQI is greater than one which means there is an improvement in the channel state and the channel is able to transmit more packets, the AF will be set to the available IFQ space. If CQI is equal to one, means stable state, the AF will be set to one otherwise AF will be set to zero. Then with the help of cross layering the value of AF will be passed to TCP to adjunct its transmission rate.

TCP congestion window adjustment
In section 2.2 we have calculated the value of the AF which will be passed to the TCP layer. Passing the AF from the MAC layer to TCP will inform the TCP about the channel quality tendency. Thus, the TCP congestion window will be adapted accordingly.  If the value of AF is greater than or equal to one, means that the channel quality is getting better or stable, then the TCP transmission rate will be increased by amount of AF of TCP segments. Otherwise, the control will be left to the TCP control mechanism.

The proposed scheme evaluation
The performance of the proposed CBA-TCP scheme was evaluated in NS-2 network simulator [45] against the standard TCP. Both the 802.11n MAC and transport layers are modified to model the proposed scheme. The simulation is carried out in a channel of 300 Mbps data rate, IFQ of 50 and CWmin of 16. The other MAC and TCP parameters are kept unchanged as specified in the standards. The simulation ran for 60 seconds. The evaluation is performed in an ad-hoc environment where two nodes are communicating, one is moving while the other is stationary. TCP traffic is initiated at the sender with a segment size varies from 128 bytes to 1500 bytes. The signal to noise ratio is measured at the receiver by changing the node location. Obviously, the SNR will decline as the receiver moves away from the sender and increases as it get closer. At the begin of the experiments, the destination node is located near the source node and then moves away in a speed of (1m/s) until it reaches the edge of the source transmission range and then returns back to its original location. The throughput and packet loss of the adaptive CBA-TCP are measured and compared with the standard TCP mechanism. Figure 2 shows the throughput of the CBA-TCP scheme. From the figure we can infer that the performance of CBA-TCP overcomes the standard TCP under all packet sizes. A throughput gain of about 12% for small packets and about 38% for large packets is achieved when applying our proposed scheme. The performance gain comes from the ability of the CBA-TCP scheme to detect the channel quality and synchronize the TCP transmission rate with the aggregation capabilities of the MAC layer.
At small packets of 128 bytes, the CBA-TCP is slightly better than the standard and this is happening due to the small size of the aggregation frame, which is less affected by the link quality. According to [46], the small frames are less affected by the channel error and are likely to be received correctly more than the large frames. This phenomenon influences the compressed Block ACK bitmap and consequently the value of the bit error density.
Packet loss ratio are depicted in figure 5 which clearly show the benefit of the adaptive scheme in utilizing the channel with less packet losses. The CBA-TCP will deliver less number of packets when the channel is in a bad condition to avoid packet loss.

Conclusion
IEEE 802.11n standard and its subsequent standards 802.11ac and 802.11ax have introduced packet aggregation and compressed Block acknowledgment techniques to improvements the network throughput. The compressed block acknowledgement bitmap contains information about the receiving status of the subframes that constitutes the transmitted aggregated frame. Where 0 in the CBA bitmap indicates that the subframe received with errors while 1 indicates that the subframe correctly received. This features motives us to use the information stored in the CBA as a channel quality indicator. The simulation results show an identical behavior between the SNR and the CBA bitmap as indicators of the link quality. Based on that we proposed a cross layer approach called CBA-TCP to adapt the sending rate of the TCP according to the information presented in the CBA about the link equality. The simulation results show that a throughput gain of about 12% for small packets and 38% for large packets can be achieved when applying our proposed scheme. We also concluded that re-engineering the TCP to take advantage of the new features of the 802.11n and 802.11ac standards is a major concern in the future.