TCP-FIT - A Novel TCP Congestion Control Algorithm for Wireless ...

TCP-FIT - A Novel TCP Congestion Control Algorithm for Wireless ... TCP-FIT - A Novel TCP Congestion Control Algorithm for Wireless ...

media.cs.tsinghua.edu.cn
from media.cs.tsinghua.edu.cn More from this publisher
27.09.2014 Views

TCP-FIT - A Novel TCP Congestion Control Algorithm for Wireless Networks Jingyuan Wang, Jiangtao Wen, Jun Zhang and Yuxing Han State Key Laboratory on Intelligent Technology and Systems Tsinghua National Laboratory for Information Science and Technology (TNList) Department of Computer Science and Technology, Tsinghua University, Beijing, China Email: wangjingyuan06@mails.tsinghua.edu.cn, jtwen@mail.tsinghua.edu.cn, zhangjun06@mails.tsinghua.edu.cn, and erica.yuxing.han@gmail.com Abstract—The Transport Control Protocol (TCP) has been widely used in wired and wireless Internet applications such as FTP, email and HTTP. However, performances of traditional TCP congestion algorithms degrade significantly when deployed over wireless networks. In this paper, we proposed an improved TCP congestion control algorithm for wireless networks, named TCP-FIT, and compared its performance with existing state-ofthe-art congestion control algorithms as well as an application layer Parallel TCP scheme. Experiment results show significant performance improvement, good fairness and lower end-to-end latency for TCP-FIT. I. INTRODUCTION The Transport Control Protocol (TCP) has been widely used in wired and wireless Internet applications such as FTP, email and HTTP. Performances of traditional TCP congestion algorithms degrade significantly when deployed over wireless networks [14]. Although many congestion control algorithms such as TCP Westwood [10], and TCP Veno [6] were proposed for application over wireless networks, improving TCP performance for large delay variation, high packet loss rate wireless networks and intermittent connectivity, such as LTE [9] and WiMax [1] networks, remains a challenge. A different approach to improving the quality of experience for applications utilizing TCP over wireless networks is Parallel TCP [7]. The core idea of Parallel TCP is to create multiple actual or virtual TCP sessions that are controlled jointly so as to fully utilize network bandwidth. Parallel TCP in wireless networks can achieve very good performance, e.g. as reported in [4] and [5]. In [5], an application layer Parallel TCP system named E-MULTCP was proposed for TCP-based multimedia streaming over wireless networks. E-MULTCP system requires that the contexts of multiple TCP sessions be monitored, and the applications layer software modified. The requirement to modify the application layer software severely limits the applicability of the system. In this paper, we proposed a novel TCP congestion control algorithm for wireless networks, named TCP-FIT. In TCP- FIT, N virtual TCP sessions are utilized in a single TCP connection. The algorithm uses both packet loss and queuing delay as inputs to the congestion window control algorithm. The congestion window of each sessions is controlled in an AIMD (Additive Increase and Multiplicative Decrease) manner based on packet loss information, whereas the number N of virtual sessions is adjusted dynamically based on delay. Experimental results demonstrate significant performance improvements under various channel conditions. Compared with application layer Parallel TCP, the proposed algorithm has the additional advantage of not requiring changes to the application layer software. The rest of this paper is organized as the following: Section II describes the TCP-FIT algorithm in detail. Simulations results of TCP-FIT and comparisons with E-MULTCP are given in section III. Section IV is the conclusion. II. THE TCP-FIT CONGESTION CONTROL ALGORITHM To better describe the proposed congestion control algorithm, we imagine that each physical session consists of N virtual Reno [2] sessions, where the congestion control window for each virtual Reno session is adjusted in an AIMD manner as the following: Each RTT : cwnd ← cwnd + 1 Each Loss : cwnd ← cwnd − (cwnd/2) As a result, the congestion window of the actual FIT-TCP connection is adjusted as: Each RTT : Cwnd ← Cwnd + N Each Loss : Cwnd ← Cwnd − (Cwnd/2N) where Cwnd is the congestion window for the actual physical TCP session, consisting of N virtual sessions of congestion window cwnd. A potential issue with (2) is that for two TCP-FIT sessions sharing the same bottleneck, because the value of the Cwnd is updated every RTT (Round-Trip Time), the session with the longer RTT will have fewer chances to update its Cwnd and thereby at a disadvantage. In order to mitigate this problem, instead of using (2) directly, we introduce a normalization factor into the calculation of Cwnd: Each RTT : Cwnd ← Cwnd + γN Each Loss : Cwnd ← Cwnd − (Cwnd/2N) in which γ = RTT/RTT 0 , and RTT 0 is a baseline RTT value representing the statistical “floor” of the RTT values in the network. (1) (2) (3)

<strong>TCP</strong>-<strong>FIT</strong> - A <strong>Novel</strong> <strong>TCP</strong> <strong>Congestion</strong> <strong>Control</strong><br />

<strong>Algorithm</strong> <strong>for</strong> <strong>Wireless</strong> Networks<br />

Jingyuan Wang, Jiangtao Wen, Jun Zhang and Yuxing Han<br />

State Key Laboratory on Intelligent Technology and Systems<br />

Tsinghua National Laboratory <strong>for</strong> In<strong>for</strong>mation Science and Technology (TNList)<br />

Department of Computer Science and Technology, Tsinghua University, Beijing, China<br />

Email: wangjingyuan06@mails.tsinghua.edu.cn, jtwen@mail.tsinghua.edu.cn,<br />

zhangjun06@mails.tsinghua.edu.cn, and erica.yuxing.han@gmail.com<br />

Abstract—The Transport <strong>Control</strong> Protocol (<strong>TCP</strong>) has been<br />

widely used in wired and wireless Internet applications such<br />

as FTP, email and HTTP. However, per<strong>for</strong>mances of traditional<br />

<strong>TCP</strong> congestion algorithms degrade significantly when deployed<br />

over wireless networks. In this paper, we proposed an improved<br />

<strong>TCP</strong> congestion control algorithm <strong>for</strong> wireless networks, named<br />

<strong>TCP</strong>-<strong>FIT</strong>, and compared its per<strong>for</strong>mance with existing state-ofthe-art<br />

congestion control algorithms as well as an application<br />

layer Parallel <strong>TCP</strong> scheme. Experiment results show significant<br />

per<strong>for</strong>mance improvement, good fairness and lower end-to-end<br />

latency <strong>for</strong> <strong>TCP</strong>-<strong>FIT</strong>.<br />

I. INTRODUCTION<br />

The Transport <strong>Control</strong> Protocol (<strong>TCP</strong>) has been widely<br />

used in wired and wireless Internet applications such as FTP,<br />

email and HTTP. Per<strong>for</strong>mances of traditional <strong>TCP</strong> congestion<br />

algorithms degrade significantly when deployed over wireless<br />

networks [14]. Although many congestion control algorithms<br />

such as <strong>TCP</strong> Westwood [10], and <strong>TCP</strong> Veno [6] were proposed<br />

<strong>for</strong> application over wireless networks, improving <strong>TCP</strong><br />

per<strong>for</strong>mance <strong>for</strong> large delay variation, high packet loss rate<br />

wireless networks and intermittent connectivity, such as LTE<br />

[9] and WiMax [1] networks, remains a challenge. A different<br />

approach to improving the quality of experience <strong>for</strong><br />

applications utilizing <strong>TCP</strong> over wireless networks is Parallel<br />

<strong>TCP</strong> [7]. The core idea of Parallel <strong>TCP</strong> is to create multiple<br />

actual or virtual <strong>TCP</strong> sessions that are controlled jointly so as<br />

to fully utilize network bandwidth. Parallel <strong>TCP</strong> in wireless<br />

networks can achieve very good per<strong>for</strong>mance, e.g. as reported<br />

in [4] and [5]. In [5], an application layer Parallel <strong>TCP</strong> system<br />

named E-MUL<strong>TCP</strong> was proposed <strong>for</strong> <strong>TCP</strong>-based multimedia<br />

streaming over wireless networks. E-MUL<strong>TCP</strong> system requires<br />

that the contexts of multiple <strong>TCP</strong> sessions be monitored,<br />

and the applications layer software modified. The requirement<br />

to modify the application layer software severely limits the<br />

applicability of the system.<br />

In this paper, we proposed a novel <strong>TCP</strong> congestion control<br />

algorithm <strong>for</strong> wireless networks, named <strong>TCP</strong>-<strong>FIT</strong>. In <strong>TCP</strong>-<br />

<strong>FIT</strong>, N virtual <strong>TCP</strong> sessions are utilized in a single <strong>TCP</strong><br />

connection. The algorithm uses both packet loss and queuing<br />

delay as inputs to the congestion window control algorithm.<br />

The congestion window of each sessions is controlled in<br />

an AIMD (Additive Increase and Multiplicative Decrease)<br />

manner based on packet loss in<strong>for</strong>mation, whereas the number<br />

N of virtual sessions is adjusted dynamically based on delay.<br />

Experimental results demonstrate significant per<strong>for</strong>mance<br />

improvements under various channel conditions. Compared<br />

with application layer Parallel <strong>TCP</strong>, the proposed algorithm<br />

has the additional advantage of not requiring changes to the<br />

application layer software.<br />

The rest of this paper is organized as the following: Section<br />

II describes the <strong>TCP</strong>-<strong>FIT</strong> algorithm in detail. Simulations<br />

results of <strong>TCP</strong>-<strong>FIT</strong> and comparisons with E-MUL<strong>TCP</strong> are<br />

given in section III. Section IV is the conclusion.<br />

II. THE <strong>TCP</strong>-<strong>FIT</strong> CONGESTION CONTROL ALGORITHM<br />

To better describe the proposed congestion control algorithm,<br />

we imagine that each physical session consists of<br />

N virtual Reno [2] sessions, where the congestion control<br />

window <strong>for</strong> each virtual Reno session is adjusted in an AIMD<br />

manner as the following:<br />

Each RTT : cwnd ← cwnd + 1<br />

Each Loss : cwnd ← cwnd − (cwnd/2)<br />

As a result, the congestion window of the actual <strong>FIT</strong>-<strong>TCP</strong><br />

connection is adjusted as:<br />

Each RTT : Cwnd ← Cwnd + N<br />

Each Loss : Cwnd ← Cwnd − (Cwnd/2N)<br />

where Cwnd is the congestion window <strong>for</strong> the actual physical<br />

<strong>TCP</strong> session, consisting of N virtual sessions of congestion<br />

window cwnd.<br />

A potential issue with (2) is that <strong>for</strong> two <strong>TCP</strong>-<strong>FIT</strong> sessions<br />

sharing the same bottleneck, because the value of the Cwnd<br />

is updated every RTT (Round-Trip Time), the session with the<br />

longer RTT will have fewer chances to update its Cwnd and<br />

thereby at a disadvantage. In order to mitigate this problem,<br />

instead of using (2) directly, we introduce a normalization<br />

factor into the calculation of Cwnd:<br />

Each RTT : Cwnd ← Cwnd + γN<br />

Each Loss : Cwnd ← Cwnd − (Cwnd/2N)<br />

in which γ = RTT/RTT 0 , and RTT 0 is a baseline RTT value<br />

representing the statistical “floor” of the RTT values in the<br />

network.<br />

(1)<br />

(2)<br />

(3)


In <strong>TCP</strong>-<strong>FIT</strong>, the number N of virtual parallel Reno-like<br />

sessions is also dynamically adjusted using the following<br />

equation:<br />

N i+1 = max{1, N i + (α −<br />

Q<br />

Cwnd N i)} (4)<br />

where α is a preset parameter, Q is an estimate of the number<br />

of in-flight packets that are currently queued in the network<br />

router, calculated as:<br />

Cwnd<br />

Q = (ave rtt − rtt min) ·<br />

ave rtt . (5)<br />

where avg rtt and rtt min are the average of <strong>TCP</strong> RTT<br />

samples and minimal avg rtt respectively.<br />

Form (4) we know, <strong>TCP</strong>-<strong>FIT</strong> use the amount of in-flight<br />

packets that are currently queued in the network router to<br />

determine the number of virtual sessions should be used. If<br />

there are more in-flight packets in the router buffer, the number<br />

of virtual sessions would be decreased to balance the in-flight<br />

traffic.<br />

Combining equations (3 - 5) gives the complete <strong>for</strong>mula <strong>for</strong><br />

updating <strong>TCP</strong>-<strong>FIT</strong> congestion control window:<br />

Each RTT : Cwnd ← Cwnd + γN i<br />

Each Loss : Cwnd ← Cwnd − (Cwnd/2N i )<br />

ave rtt − rtt min<br />

N i+1 = max{1, N i + (α − N i )} (7)<br />

ave rtt<br />

It is important to note that although the proposed <strong>TCP</strong>-<br />

<strong>FIT</strong> algorithm was motivated by the concept of virtual parallel<br />

Reno sessions, when implementing the algorithm, the concept<br />

is no longer needed. Rather, <strong>for</strong> each <strong>TCP</strong> session in <strong>TCP</strong>-<br />

<strong>FIT</strong>, the congestion window is directly calculated according<br />

to equations (6) and (7), wherein N i is simply a variable in<br />

the calculation. No changes to any other parts of the protocol<br />

stack on both the sender and receiver ends are needed.<br />

III. EXPERIMENTAL RESULTS<br />

We compared the per<strong>for</strong>mance of <strong>TCP</strong>-<strong>FIT</strong> with stateof-the-art<br />

<strong>TCP</strong> congestion control algorithms as well as an<br />

application layer Parallel <strong>TCP</strong> system, named E-MUL<strong>TCP</strong>.<br />

We will briefly introduce E-MUL<strong>TCP</strong> in Subsection III-A,<br />

while detailed experimental results will be discussed in the<br />

remaining subsections.<br />

A. Application Layer Parallel <strong>TCP</strong>: E-MUL<strong>TCP</strong> [5]<br />

A system diagram <strong>for</strong> E-MUL<strong>TCP</strong> is shown in Fig.1 [5].<br />

There are two components in the system, namely the RTT<br />

Measurer Subsystem (RMS) and the Connections <strong>Control</strong>ler<br />

Subsystem (CCS). The gray blocks in Fig. 1 represents<br />

the RMS. It measures round trip time samples (denoted by<br />

rtt sample’s) by computing the difference between the time<br />

a packet is sent, and the time the sender receives the corresponding<br />

ACK <strong>for</strong> the same packet using a UDP connection.<br />

After each fixed time interval, the RMS computes the average<br />

(ave rtt) of the rtt sample’s, and reports the value to the<br />

CCS.<br />

(6)<br />

CCS Server<br />

RMS Server<br />

<strong>TCP</strong><br />

UDP<br />

UDP<br />

CCS Client<br />

RMS Client<br />

Fig. 1. System diagram of E-MUL<strong>TCP</strong> [5]<br />

Hub<br />

<strong>TCP</strong>-<strong>FIT</strong> Server<br />

Linktropy Network<br />

Emulator<br />

Fig. 2.<br />

E-MUL<strong>TCP</strong><br />

Server<br />

Layout of experiments testbed<br />

Client<br />

The CCS is shown as the white blocks in Fig.1. Based on<br />

route congestion status, the CCS controls the number of <strong>TCP</strong><br />

connections n in an Inversely Increase and Multiplicatively<br />

Decrease (IIMD) manner. Specifically, when an ave rtt is<br />

reported to CCS by RMS, CCS sets the rtt min as the<br />

minimum of all ave rtt’s seen so far, and then updates the<br />

value of n using:<br />

{<br />

δn + ξ/n, if avg rtt > (1 + µ) × rtt min<br />

n =<br />

(8)<br />

n + ξ/n ; otherwise.<br />

where δ = 1 − ξ < 1 and µ is a preset parameter, the<br />

recommendation values of δ, ξ and µ are explained in [5].<br />

For a given route, rtt min is a constant approximating the<br />

physical propagation delay of the route, whereas ave rtt -<br />

rtt min corresponds to the current queuing delay. Under<br />

ideal conditions, E-MUL<strong>TCP</strong> keeps increasing the number of<br />

connections to make ave rtt as close to (1 + µ)rtt min as<br />

possible without exceeding it.<br />

B. Per<strong>for</strong>mances<br />

The setup of our experiments is shown in Fig. 2. In each<br />

comparison, two Linux servers were connected via a hub to<br />

a Linktropy emulator. The Linktropy emulator provides the<br />

capability of setting the bandwidth, packet loss rate, delay,<br />

delay distribution and other parameters of the network. For<br />

application layer Parallel <strong>TCP</strong> experiments, an E-MUL<strong>TCP</strong><br />

server and an E-MUL<strong>TCP</strong> client were used. Experiments with<br />

other <strong>TCP</strong> variants used a standard Linux client, while the<br />

corresponding <strong>TCP</strong> congestion algorithm was loaded on the


4000<br />

8<br />

<strong>TCP</strong> Throughput (kbps)<br />

3000<br />

2000<br />

1000<br />

<strong>TCP</strong>−<strong>FIT</strong><br />

<strong>TCP</strong>−<strong>FIT</strong><br />

E−Mul<strong>TCP</strong><br />

Westwood<br />

<strong>TCP</strong> Reno<br />

C<strong>TCP</strong><br />

CUBIC<br />

FAST <strong>TCP</strong><br />

End−to−End Delay (sec)<br />

6<br />

4<br />

2<br />

<strong>TCP</strong>−<strong>FIT</strong><br />

<strong>FIT</strong><br />

Mul−<strong>TCP</strong><br />

Westwood<br />

Reno<br />

0<br />

50 100 150 200 250 300 350<br />

Propagation Delay (ms)<br />

0<br />

0.02 0.04 0.06<br />

Packet Loss Rate<br />

Fig. 3. Per<strong>for</strong>mance comparison <strong>for</strong> random packet loss link. In the<br />

experiments, the network bandwidth was set to 4 Mbps with a packet loss<br />

rate of 5% and propagation delay from 50 ms to 350 ms.<br />

Fig. 5. End-to-end latency comparison. In the simulations, the network<br />

bandwidth was set to 4 Mbps with a 50 ms propagation delay and packet loss<br />

rate 1% to 7%.<br />

2000<br />

25<br />

<strong>TCP</strong> Throughput (kbps)<br />

1500<br />

1000<br />

500<br />

<strong>TCP</strong>−<strong>FIT</strong><br />

<strong>TCP</strong>−<strong>FIT</strong><br />

E−Mul<strong>TCP</strong><br />

Westwood<br />

<strong>TCP</strong> Reno<br />

C<strong>TCP</strong><br />

CUBIC<br />

FAST <strong>TCP</strong><br />

End−to−End delay (sec)<br />

20<br />

15<br />

10<br />

5<br />

<strong>TCP</strong>−<strong>FIT</strong><br />

<strong>FIT</strong><br />

E−Mul<strong>TCP</strong><br />

Westwood<br />

Reno<br />

0<br />

50 100 150 200 250 300 350<br />

Delay Mean and Standard Deviation (ms)<br />

0<br />

0.02 0.04 0.06<br />

Packet Loss Rate<br />

Fig. 4. Per<strong>for</strong>mance comparison <strong>for</strong> Gaussian distributed random delay. In<br />

the experiments, the network bandwidth was set to 4 Mbps with a PLR of<br />

5% and propagation delay mean and standard deviation from 50 to 350 ms.<br />

Fig. 6. End-to-end latency comparison. In the simulations, the network<br />

bandwidth was set to 4 Mbps with a 250 ms propagation delay and packet<br />

loss rate 1% to 7%.<br />

Linux <strong>TCP</strong> server. The <strong>TCP</strong> variants tested in the experiments<br />

include <strong>TCP</strong>-<strong>FIT</strong> <strong>TCP</strong> Reno, Westwood, CUBIC [8],<br />

Compound <strong>TCP</strong> [12], and FAST <strong>TCP</strong> [15]. <strong>TCP</strong> CUBIC and<br />

Compound <strong>TCP</strong> (C<strong>TCP</strong>) are widely used as the congestion<br />

control algorithms <strong>for</strong> the Linux and Windows Vista operating<br />

systems. <strong>TCP</strong> Westwood is a congestion control algorithms<br />

optimized <strong>for</strong> wireless. We used the C<strong>TCP</strong> implementation<br />

from CalTech [3] and implemented the FAST <strong>TCP</strong> algorithm<br />

based on [13]. Other <strong>TCP</strong> congestion control algorithms are<br />

available from the Linux kernel v2.6.31. In all experiments, <strong>for</strong><br />

each given scenario, only one client/server pair was actually<br />

used, even though two different servers might be connected to<br />

the same hub.<br />

We first compared the per<strong>for</strong>mance of the <strong>TCP</strong>-<strong>FIT</strong> with E-<br />

MUL<strong>TCP</strong> and other <strong>TCP</strong> variants in the presence of wireless<br />

packet losses. In the experiments, we set the bandwidth of<br />

Linktropy to 4 Mbps. In Fig. 3, the packet loss rate was set to<br />

5% respectively. In each experiment, we varied the propagation<br />

delay of link from 50 ms to 350 ms. As can be seen from the<br />

figures, <strong>TCP</strong>-<strong>FIT</strong> achieved higher throughput than E-MUL<strong>TCP</strong><br />

and other <strong>TCP</strong> congestion control algorithms.<br />

We then tested per<strong>for</strong>mance of <strong>TCP</strong>-<strong>FIT</strong> over random<br />

delay links. We ran simulations with Gaussian distributed<br />

propagation delay generated by the Linktropy emulator. In the<br />

experiments, the bandwidth was again set to 4 Mbps. In Fig.<br />

4, the packet loss rate was set to 5%. In each experiment,<br />

the average propagation delay varied from 50 ms to 350 ms,<br />

and the standard deviation of the propagation delay in each<br />

case was set to equal the average propagation delay. The<br />

results of Fig. 4 showed that, similar to the cases with random<br />

packet losses but fixed delay, even with both random Guassian<br />

distributed delays and packet loss, <strong>TCP</strong>-<strong>FIT</strong> still achieved<br />

higher throughput than E-MUL<strong>TCP</strong> and other <strong>TCP</strong> congestion<br />

control algorithms.<br />

A critical characteristic of <strong>TCP</strong> application is the resulted<br />

end-to-end latency in the application layer, especially <strong>for</strong><br />

multimedia applications such as video streaming or VOIP. We<br />

measured the end-to-end latency on the application layer with<br />

the bandwidth set to 4 Mbps, the packet loss rate varying from<br />

1% to 7%, and the average propagation delay set to 50 ms (Fig.


LTE base<br />

station (eNB)<br />

LTE User<br />

Equipment<br />

(Live-UE)<br />

Fig. 7. Bandwidth occupation among competing <strong>TCP</strong> flows. In the simulations,<br />

the network bandwidth was set to 10 Mbps with a 10 ms propagation<br />

delay and no random packet loss.<br />

Fig. 9.<br />

Network topology of LTE emulator test-bed<br />

TABLE I<br />

LTE EMULATOR PARAMETERS SETTING<br />

Parameter<br />

Tx Power<br />

Bandwidth<br />

Penetration Loss<br />

Pathloss<br />

Inter Site Distance<br />

DL Antenna Config<br />

Channel Model<br />

Shadowing<br />

Scheduler<br />

Value<br />

46dBm (eNB), 24dBm (UE)<br />

10MHz<br />

20dB<br />

128.1dB+37.6dB*log10(d/km)<br />

500m<br />

1x2(Rx diversity a UE)<br />

Typical Urban 3km/h<br />

2D uncorrelated grid<br />

Proportional Fair<br />

Fig. 8. Bandwidth occupation among competing <strong>TCP</strong> flows. In the simulations,<br />

the network bandwidth was set to 10 Mbps with a 100 ms mean<br />

propagation delay, 80 ms delay standard deviation and 0.5% random packet<br />

loss.<br />

5) and 250 ms (Fig.6). In both cases the end-to-end latency of<br />

<strong>TCP</strong>-<strong>FIT</strong> was lower than E-MUL<strong>TCP</strong> and other <strong>TCP</strong> congestion<br />

control algorithms. Another interesting observation can<br />

be made by comparing the end-to-end latency and throughput<br />

of E-MUL<strong>TCP</strong> <strong>for</strong> identical network conditions in Fig. 3, Fig.<br />

4 and Fig. 5 and Fig. 6. As can be seen from the figures,<br />

given the same network condition, although the throughput<br />

<strong>for</strong> E-MUL<strong>TCP</strong> was usually much higher than that of <strong>TCP</strong><br />

Westwood or Reno, the end-to-end latency <strong>for</strong> E-MUL<strong>TCP</strong><br />

was not much different in many cases. This is partly due to the<br />

fact that E-MUL<strong>TCP</strong> uses multiple physical <strong>TCP</strong> connections<br />

that are managed separately by the server. There<strong>for</strong>e, the client<br />

must reorder the received packets at the client, which creates<br />

additional latency on the application layer, and increases the<br />

complexity of the client.<br />

Yet another comparison we did was the Inter Protocol<br />

Fairness of <strong>TCP</strong>-<strong>FIT</strong> and other <strong>TCP</strong> congestion control algorithms.<br />

Fig. 7 contains the results of our experiments.<br />

In this experiment, one connection of the <strong>TCP</strong> algorithm<br />

to be tested competed with four <strong>TCP</strong> Reno sessions. The<br />

combined bandwidth was set to 10 Mbps, with a propagation<br />

delay of 10 ms and no random packet losses. As shown in<br />

Fig. 7, <strong>TCP</strong>-<strong>FIT</strong> and Compound <strong>TCP</strong> both occupied about<br />

20% of the total bandwidth, i.e. the theoretical ”fair share”.<br />

FAST <strong>TCP</strong> and <strong>TCP</strong> CUBIC on the other hand, occupied<br />

up to 35% bandwidth, which means these algorithms might<br />

be overly aggressive and not inter protocol friendly. Similar<br />

experiments were conducted <strong>for</strong> Fig.8, with the total network<br />

bandwidth still set to 10 Mbps but with 0.5% packet loss, and<br />

Gaussian (mean 100 ms, 80 ms standard deviation) distributed<br />

propagation delay. In this case, as a result of the worsened<br />

network conditions, the 5 <strong>TCP</strong> sessions combined were only<br />

able to use less than 40% of the total network bandwidth. <strong>TCP</strong>-<br />

<strong>FIT</strong> in this case was able to pick up some of the capacity that<br />

the other Reno sessions left unused. It is important to note that<br />

in the case of <strong>TCP</strong>-<strong>FIT</strong> with 4 Reno sessions, the percentages<br />

(i.e. between 5% and 10%) of the bandwidths that the 4 Reno<br />

sessions used were still comparable to their respective numbers<br />

<strong>for</strong> the case with 5 Reno sessions, indicating that the additional<br />

throughput that <strong>TCP</strong>-<strong>FIT</strong> was able to utilize did not come at<br />

the expense of the Reno sessions.<br />

To evaluate the per<strong>for</strong>mance of <strong>TCP</strong>-<strong>FIT</strong> in real life wireless<br />

networks, we conducted experiments using the Nomor<br />

Neatbox LTE emulator[11]. The Neatbox provides realistic and<br />

real time emulation of LTE networks and is widely used by<br />

wireless carriers and equipment manufacturers. The wireless<br />

network topology of one of our experiments is shown in Fig.


Cumulative Probability<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

<strong>TCP</strong>−<strong>FIT</strong><br />

C<strong>TCP</strong><br />

CUBIC<br />

<strong>TCP</strong>−<strong>FIT</strong><br />

RENO<br />

WESTWOOD<br />

Throughput(kbps)<br />

10000<br />

9000<br />

8000<br />

7000<br />

6000<br />

5000<br />

4000<br />

3000<br />

2000<br />

1000<br />

C<strong>TCP</strong><br />

CUBIC<br />

<strong>TCP</strong>−<strong>FIT</strong><br />

RENO<br />

WESTWOOD<br />

<strong>TCP</strong>−<strong>FIT</strong><br />

0<br />

0 2000 4000 6000 8000<br />

Throughput(kbps)<br />

0<br />

0 5 10 15<br />

SNIR(db)<br />

Fig. 10. Throughput Cumulative Probability of different <strong>TCP</strong> variant on the<br />

LTE emultaor test-bed.<br />

Throughput (kbps)<br />

SNIR(dB)<br />

8000<br />

6000<br />

4000<br />

2000<br />

0<br />

15<br />

10<br />

5<br />

0<br />

−5<br />

<strong>TCP</strong>−<strong>FIT</strong><br />

20 40 60 80 100 120 140<br />

<strong>TCP</strong>−<strong>FIT</strong><br />

CUBIC<br />

RENO<br />

C<strong>TCP</strong><br />

WESTWOOD<br />

20 40 60 80 100 120 140<br />

Time (min)<br />

Fig. 11. Throughput change of different <strong>TCP</strong> variants with the LTE UE<br />

SINR fluctuation.<br />

9, which contained one LTE base station (eNB) and 10 LTE<br />

User Equipments (UE) in a cell of 600-m radius. The eNB<br />

is connected to a Linux <strong>TCP</strong> server, which is connected to<br />

one of the LTE UEs, called Live-UE in the figure. The other<br />

9 UEs, called Non-live-UEs, provided the background traffic<br />

in the experiments, generated by a Neatbox built-in 3GPP<br />

video simulation model. The emulation parameters of the LTE<br />

network are listed in Table I. Fig. 10 showed the cumulative<br />

probability function of the throughput achieved by each <strong>TCP</strong><br />

variant during a 3-hour period <strong>for</strong> each algorithm. Fig. 11<br />

showed the throughput change of different <strong>TCP</strong> variants with<br />

the LTE UE SINR fluctuation in the 3 hours and shows the<br />

throughput of the various <strong>TCP</strong> congestion algorithms over the<br />

LTE network as a function of the SINR. 12. As shown from<br />

Fig. Fig. 10 to Fig. 12, the per<strong>for</strong>mance of <strong>TCP</strong>-<strong>FIT</strong> was<br />

significantly better than the other algorithms and <strong>TCP</strong>-<strong>FIT</strong> is<br />

very effective in a large range of SINR.<br />

IV. CONCLUSION<br />

In this paper, we proposed a new <strong>TCP</strong> congestion control<br />

algorithm named <strong>TCP</strong>-<strong>FIT</strong> <strong>for</strong> lossy networks such as<br />

wireless. Experimental results show significant per<strong>for</strong>mance<br />

improvements under various channel conditions over existing<br />

Fig. 12. Throughput comparison between different <strong>TCP</strong> variants <strong>for</strong> varied<br />

SINR. In the experiments, the SINR of LTE UE varied from -1 dB to 15 dB<br />

and other parameters are set as Table I.<br />

state-of-the-art <strong>TCP</strong> congestion control algorithms as well as<br />

application layer Parallel <strong>TCP</strong> techniques such as E-MUL<strong>TCP</strong>,<br />

including higher throughput, lower end to end latency and<br />

good fairness. The algorithm also does not require modifications<br />

to the client and application softwares.<br />

REFERENCES<br />

[1] Z. Abichar, Y. Peng, and J. M. Chang. Wimax: The emergence of<br />

wireless broadband. IT Professional, 8(4):44–48, July 2006.<br />

[2] M. Allman, V. Paxson, and W. Stevens. Tcp congestion control. RFC<br />

2581, April 1999.<br />

[3] L. ANDREW. Compound <strong>TCP</strong> in Linux.<br />

http://netlab.caltech.edu/lachlan/ctcp/.<br />

[4] R. Chakravorty, S. Katti, J. Crowcroft, and I. Pratt. Flow aggregation<br />

<strong>for</strong> enhanced tcp over wide-area wireless. In Proc. IEEE INFOCOM,<br />

page 1754C1764, March 2003.<br />

[5] M. Chen and A. Zakhor. Flow control over wireless network and<br />

application layer implementation. In Proc. IEEE INFOCOM, pages 103–<br />

113, March 2006.<br />

[6] C.P.Fu and S.C.Liew. Tcp veno: Tcp enhancement <strong>for</strong> transmission over<br />

wireless access networks. IEEE J. Select.Areas Commun., 21(2):216–<br />

228, February 2003.<br />

[7] J. Crowcroft and P. Oechslin. Differentiated end-to-end internet services<br />

using a weighted proportional fair sharing tcp. SIGCOMM Comput.<br />

Commun. Rev., 28(3):53–69, July 1998.<br />

[8] S. Ha, I. Rhee, and L. Xu. Cubic: a new tcp-friendly high-speed tcp<br />

variant. SIGOPS Oper. Syst. Rev., 42(5):64–74, February 2008.<br />

[9] Khan and Farooq. LTE <strong>for</strong> 4G Mobile Broadband: Air Interface<br />

Technologies and Per<strong>for</strong>mance. Cambridge University Press, New York,<br />

NY, USA, 2009.<br />

[10] S. Mascolo, C. Casetti, M. Gerla, M. Y. Sanadidi, and R. Wang. Tcp<br />

westwood: Bandwidth estimation <strong>for</strong> enhanced transport over wireless<br />

links. In Proc. MobiCom, pages 287–297, July 2001.<br />

[11] Nomor. neatboxTM - Network Emulator <strong>for</strong> Application<br />

Testing. http://www.nomor.de/home/solutions-andproducts/products/application-tester.<br />

[12] K. Tan, J. Song, Q. Zhang, and M. Sridharan. A compound tcp approach<br />

<strong>for</strong> high-speed and long distance networks. In Proc. IEEE INFOCOM,<br />

APRIL 2006.<br />

[13] T.Cui and L. Andrew. FAST <strong>TCP</strong> simulator module <strong>for</strong> ns-2, version<br />

1.1. Technical White Paper, http://www.cubinlab.ee.mu.oz.au/ns2fasttcp.<br />

[14] Y. Tian, K. Xu, and N. Ansari. Tcp in wireless environments: Problems<br />

and solutions. IEEE Communications Magazine, 43:27–32, 2005.<br />

[15] D. X. Wei, C. Jin, S. H. Low, and S. Hegde. Fast tcp: motivation, architecture,<br />

algorithms, per<strong>for</strong>mance. IEEE/ACM Trans. Netw., 14(6):1246–<br />

1259, March 2006.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!