Preventing TCP performance interference on asymmetric links using ACKs-first variable-size queuing

https://doi.org/10.1016/j.comcom.2010.09.010Get rights and content

Abstract

In developing network-enabled embedded systems, developers are often forced to spend a great deal of time and effort analyzing and solving network performance problems. In this paper, we address one such problem: TCP performance interference on an asymmetric link. The upload or download throughput abruptly degrades if there is simultaneously upload and download TCP traffic on the link. While the problem has been addressed by many researchers, their solutions are incomplete as they only improve throughput in one direction, require TCP protocol modifications in end-user devices or are effective for a limited range of network configurations.

In order to overcome such limitations, we propose ACKs-first variable-size queuing (AFVQ) for a gateway. In doing so, we have derived an analytic model of the steady-state TCP performance with bidirectional traffic to clearly identify the two sources of the problem: the excessive queuing delay of ACK packets and the excessive number of ACK packets in the queue. Our AFVQ mechanism is designed to directly eliminate the two causes. Specifically, we have based AFVQ on two policies. First, ACKs-first scheduling is used to shorten the queuing delay of ACK packets. Second, the queue size for ACK packets is dynamically adjusted depending on the number of data packets queued in the gateway so that the number of ACK packets is reduced when packets are congested in the gateway. By applying the two policies simultaneously at the uplink and downlink output queue in the gateway, AFVQ achieves balanced TCP throughput improvements in both directions. In this way, it breaks circular dependencies between upload and download traffic.

We have implemented AFVQ in our ADSL-based residential gateway using the traffic control module of the Linux kernel. Our gateway yields 95.2% and 93.8% of the maximum download and upload bandwidth, respectively. We have also evaluated the proposed mechanism using the ns-2 simulator over a wide range of network configurations and have shown that AFVQ achieves better upload and download throughput than other representative gateway-based mechanisms such as ACQ, ACKs-first scheduling and ACK Filtering.

Introduction

As embedded systems are required to provide diverse network connectivity, a network subsystem has become an indispensable component in embedded systems design. Unfortunately, it is very challenging to realize network protocols in embedded systems and analyze their network performance since embedded systems usually operate in unconventional network configurations and under tight resource constraints. This causes unexpected interrelationships among network devices and protocols which in turn have a non-linear effect on network performance. Moreover, network performance problems should be carefully addressed since a straightforward solution approach may require modifications of the protocol standards or the end-user devices which developers cannot amend in most cases. As a result, developers often have to put a large amount of additional time and effort into getting the required network performance, even after they have completed development.

In this paper, we address an instance of network performance problems in a residential gateway when it is connected to an asymmetric link. A residential gateway is an embedded device that connects a home network to the Internet [1]. It provides various additional services such as security, authentication, content management, remote control and network resource management. As such, a residential gateway is a highly complex device that provides composite features. For simplicity, we hereon refer to a residential gateway as a gateway.

Usually, a gateway is connected to the Internet using an asymmetric link technology such as Asymmetric Digital Subscriber Line (ADSL) [2], Data Over Cable Service Interface Specifications (DOCSIS) [3] and Passive Optical Networks (PONs) [4]. They are called asymmetric since more bandwidth is allocated to the downlink than the uplink. This decision is made based on the observation that most Internet traffic patterns favor download traffic. This efficient use of the limited total bandwidth makes the technology cost effective. Consequently, most of the residential Internet accesses are serviced via the asymmetric link technology.

However, as new types of devices and application domains emerge, upload traffic in home networks is also rapidly increasing. For example, devices such as interactive TVs, IP phones and web cameras frequently upload video and audio data across the Internet. Home PCs also incur a significant amount of upload traffic as new communication applications such as Peer-to-Peer (P2P) file sharing and webcasting become popular. As a result, upload speed as well as download speed is becoming an important factor in determining network performance.

The increased upload traffic on an asymmetric link may cause an unexpected interference in the presence of congestion since existing transport protocols such as TCP [5] are not designed to handle asymmetric traffic patterns. We call this the TCP performance interference problem on an asymmetric link where the traffic speed in one direction is interfered with by traffic in another direction. For simplicity, from now on we will refer to this as the performance interference problem.

Similar performance problems have been anticipated in the literature since early 1990s [6], [7], [8], [9], [10], [11], [12], [13], [14]. They examined the upload or download throughput degradation of TCP traffic over asymmetric links such as ADSL, cable and satellite link. Authors in [8], [11] pointed out that the bandwidth asymmetry causes a phenomenon called ACK starvation in that ACK packets are delayed by data packets on a slower link. TCP performance degradation is also observed on a wireless link with a high bit-error rate such as satellite links [13], [14].

Followed by such observations and analyzes, solution mechanisms have been proposed. Widely known solutions are ACC [8], ACE [15], ACK Filtering [8], SAD/AR [16], SACK Filtering [17], ACKs-first scheduling [8], [18], REFWA [19], TCP sender adaptation [8], TCP New Jersey [20], [21], ACQ [22], [23], VAQ [22], DBCQ [24] and DQM [25].

ACC, ACE, ACK Filtering, SAD/AR and SACK Filtering attempt to reduce bandwidth consumed for transmitting ACK packets so that more bandwidth is provided for data packets. Particularly, they try to do so by limiting an ACK generation rate at an end-user device or selectively dropping ACK packets at a gateway. However, this decreases the download throughput since the queuing delay of ACK packets in the slow uplink is increased.

ACKs-first scheduling tries to shorten the queuing delay of ACK packets in the slow uplink by transmitting them prior to data packets in a gateway. Although this improves the download throughput, it has a downside as well. If the asymmetry between the uplink and downlink bandwidth is large, the upload output queue is flooded by ACK packets and thus the upload throughput is seriously compromised.

TCP New Jersey, TCP sender adaptation and REFWA are congestion control mechanisms that can also be used to alleviate the ACK starvation problem. They dynamically limit the transmission rate of data packets towards the slow uplink depending on the congestion level or the available bandwidth of the link. As a result, ACK packets for download traffic can avoid starvation but only at the cost of reduced upload throughput.

To avoid this problem, ACQ, VAQ, DBCQ and DQM store ACK and data packets in separate queues and schedule them using scheduling algorithms. While this prevents both ACK and data packets from being starved, it increases the average queuing delays of both ACK and data packets. This, in turn, degrades the throughput in both directions. RFC 3449 [26] covers a complete list of existing solutions and detailed comparisons among them.

None of the existing solutions are complete in the sense that they can improve the TCP performance only in one direction or are effective for a limited range of network configurations with different asymmetry ratios and Internet delays. Moreover, many of the solutions make use of per-connection data structures, weighted fair queuing and rate control mechanisms. Since these incur non-trivial run-time memory and performance overheads, they are not suitable for resource-constrained residential gateways. More importantly, some of the existing solutions cannot be applied to gateways since they require modifications to the TCP protocol stack implementations on end-user devices.

In this paper, we propose the ACKs-first variable-size queuing (AFVQ) mechanism that overcomes the above limitations of the existing solutions. In doing so, we have derived an analytic model for the steady-state TCP performance with bidirectional traffic to clearly identify the sources of the performance interference problem, namely the excessive queuing delay of ACK packets and the excessive number of ACK packets in the queue. Our AFVQ mechanism is designed to directly eliminate these two causes. Specifically, we base AFVQ on two policies. First, ACKs-first scheduling is used to shorten the queuing delay of ACK packets. Second, the queue size for ACK packets is dynamically adjusted depending on the number of data packets queued in the gateway so that the number of ACK packets is reduced when packets are congested in the gateway. The two policies are designed such that they change only the queuing policy in the gateway and do not rely on any per-connection data structures or rate control algorithms. Clearly, AFVQ is a gateway-only solution that improves TCP performance in both directions on an asymmetric link. It is also effective for a wide range of asymmetry ratios and Internet delays and does not incur significant run-time overheads since it does not rely on costly run-time mechanisms such as those mentioned above.

We have implemented the AFVQ mechanism in our ADSL-based residential gateway using the traffic control module of the Linux kernel. In order to show that AFVQ improves the TCP performance in both directions and is effective for a wide range of networks, we have conducted a series of experiments both in a real-world and simulated networks. The real-world experiments were performed across a home network and the Internet that were interconnected via a commercial ADSL link. Our gateway yields 95.2% and 93.8% of the maximum download and upload bandwidth, respectively. We have also evaluated the proposed mechanism using the ns-2 simulator over a number of different network configurations and shown that AFVQ achieves better upload and download throughput than other representative gateway-based mechanisms such as ACQ, ACKs-first scheduling and ACK Filtering.

The rest of the paper is organized as follows. In Section 2, we give the implementation of the residential gateway and its operating environment. Then the network performance interference problem is described in detail. Section 3 provides the network model of the gateway using an asymmetric link. In order to aid in the understanding of the rest of the paper, we also give an overview of the TCP congestion control mechanism. In Section 4, we derive an analytic model of the steady-state TCP throughput in our network configuration and provide our solution strategy. In Section 5, we present the AFVQ mechanism as a solution mechanism. Section 6 provides experimental results. Finally, Section 7 serves as our conclusion.

Section snippets

Problem description

Linux is one of the most suitable operating systems for implementing network devices due to the proliferation of supported protocols and versatile traffic control mechanisms. Unfortunately, the straightforward adoption of the native Linux network subsystem may incur severe performance problems depending on traffic patterns, workloads and network configurations. Our ADSL gateway also experiences a performance interference problem in that the upload or download speed is abruptly reduced when

Network model and TCP mechanism

Before analyzing the performance interference problem in detail, we first designed a network model in which the problem can be observed. In addition to the model, we also give an overview of the TCP congestion control and avoidance mechanisms in order to aid in the understanding of the performance analysis in the next section.

Analytic modeling of the problem and deriving solution strategy

In this section, we analytically analyze the performance interference problem and derive our solution strategy. Since we are looking for a gateway-only solution, we derive relationships between the steady-state TCP throughput and queue parameters in the gateway. We derive two quadratic equations each of which is for the steady-state TCP throughput in upload and download direction, respectively. These equations reveal that the throughput can be controlled by two parameters in the gateway: the

Realizing the AFVQ Mechanism into the Gateway

Based on our previous analysis, we devise the ACKs-First Variable-size Queuing (AFVQ) mechanism. We will first give an overview of the mechanism and then present its implementation in our gateway running Linux.

Experimental results

As clearly explained in previous sections, AFVQ is a gateway-only solution since it does not attempt to modify protocol stack implementations on end-user devices and is entirely implemented within a gateway. Moreover, it runs very efficiently in a gateway since it does not rely on costly per-connection data structures or any expensive run-time mechanisms. In this section, we attempt to show the most important property of AFVQ. That is, we demonstrate that it actually solves the performance

Conclusions

In this paper, we have addressed the TCP performance interference problem on an asymmetric link in which upload or download throughput abruptly degrades in the presence of bidirectional TCP traffic on the link. In order to solve the problem, we derived an analytic model for the steady-state TCP performance with bidirectional traffic to clearly identify the sources of the problem. The sources we identified are the excessive queuing delay of ACK packets and the excessive number of ACK packets in

Acknowledgment

The work reported in this paper was supported by the National Research Foundation of Korea (NRF) grant funded by the Korean government (MEST) (No. 2010-0027809 and No. 2010-0001201).

References (41)

  • P. Papadimitriou et al.

    On TCP performance over asymmetric satellite links with real-time constraints

    Computer Communications

    (2007)
  • K. Xu et al.

    Improving TCP performance in integrated wireless communications networks

    Computer Networks

    (2005)
  • HGI. What is a residential gateway for?, Home Gateway...
  • ITU, ITU-T Rec. G.992.1 (07-1999) Asymmetrical digital subscriber line (ADSL) transceivers,...
  • ITU, ITU-T Rec. J.112 (03/98) Transmission systems for interactive cable television services,...
  • ITU. ITU-T Rec. G.983.1-4 (01/2005) Broadband optical access systems based on Passive Optical Networks (PON),...
  • V. Jacobson, M.J. Karels, Congestion Avoidance and Control,...
  • S. Shenker et al.

    Some observations on the dynamics of a congestion control algorithm

    ACM Computer Communications Review

    (1990)
  • L. Zhang et al.

    Observations on the dynamics of a congestion control algorithm: the effects of two-way traffic

    ACM Computer Communications Review

    (1991)
  • H. Balakrishnan, V.N. Padmanabhan, R.H. Katz, The Effects of Asymmetry on TCP Performance International Conference on...
  • T.R. Henderson et al.

    TCP Performance over Satellite Channels

    (1999)
  • L. Kalampoukas et al.

    Two-way TCP traffic over rate controlled channels: effects and analysis

    IEEE/ACM Transactions on Networking

    (1998)
  • T.V. Lakshman et al.

    The performance of TCP/IP for networks with high bandwidth-delay products and random loss

    IEEE/ACM Transactions on Networking

    (1997)
  • K. Phanse, L.A. DaSilva, K. Kidambi, Effects of Competing Traffic on the Performance of TCP/IP over Asymmetric Links...
  • Y. Tian et al.

    TCP in wireless environments: problems and solutions

    IEEE Communications Magazine

    (2005)
  • I.T. Ming-Chit et al.

    Improving TCP performance over asymmetric networks

    ACM Computer Communications Review

    (2000)
  • S. Kalyanaraman, D. Shekhar, K. Kidambi, TCP/IP Performance Optimization over ADSL,...
  • L. Yu, Y. Minhua, Z. Huimin, The Improvement of TCP Performance in Bandwidth Asymmetric Network 14th IEEE International...
  • J. Park, S. Hong, Preventing network performance interference with ACK-separation queuing mechanism in a home network...
  • T. Taleb et al.

    REFWA: an efficient and fair congestion control scheme for LEO satellite networks

    IEEE/ACM Transactions on Networking

    (2006)
  • Cited by (0)

    View full text