Internet DRAFT - draft-bhandarkar-ltcp
draft-bhandarkar-ltcp
Internet Engineering Task Force Sumitha Bhandarkar
INTERNET DRAFT Saurabh Jain
draft-bhandarkar-ltcp-01.txt A. L. Narasimha Reddy
Expires : February 2005 Texas A&M University
August 2004
LTCP: A Layering Technique for Improving the Performance of TCP in Highspeed Networks.
Status of this Memo
This document is an Internet-Draft and is subject to all provisions
of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet- Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Abstract:
This document proposes Layered TCP (LTCP for short), a simple
layering technique for the congestion window response of TCP to make
it more scalable in highspeed networks. LTCP is a two dimensional
congestion control framework - the macroscopic control uses the
concept of layering to quickly and efficiently make use of the
available bandwidth whereas microscopic control extends the existing
AIMD algorithms of TCP to determine the per-ack behavior. This
document provides the general intuition and framework for the LTCP
protocol modifications. Using a simple design, the effectiveness of
using layering for improving the efficiency without sacrificing the
convergence properties of TCP, is illustrated. The chosen design is
evaluated using mathematical analysis, ns-2 based simulations and
emulation on a Linux testbed. The results show that LTCP has
promising convergence properties, is about an order of magnitude
faster than TCP in utilizing high bandwidth links, employs few
parameters and is easy to understand. The flexible framework opens a
whole class of design options for improving the performance of TCP in
Bhandarkar, Jain & Reddy [Page 1]
draft-bhandarkar-ltcp-01 August 2004
highspeed networks. This document is an effort to solicit more
experimentation and feedback from the broader networking community.
1. Introduction
Over the past few decades the traffic on the Internet has increased
by several orders of magnitude. However, the Internet remains a
stable medium for communication. This stability has been attributed
primarily to the wide-spread use of congestion control algorithms of
TCP [F00] which use the additive increase / multiplicative decrease
policy for moderating the congestion window. Specifically, the
congestion window evolves as follows - when there are no losses in
the network, the window is increased by one for each RTT and upon a
loss of packet, the window is reduced by half. While such window
behavior helps maintain proportional fairness (among flows with
similar RTTs), recent studies have shown it to be highly inefficient
in utilizing available bandwidth in high bandwidth networks with
capacities close to or in excess of 1Gbps.
Several solutions have been proposed to remedy the problem. We bring
our proposal of LTCP to the research community through this draft to
be evaluated in comparison with the other proposed schemes. LTCP
enhances the congestion control algorithms of TCP with a simple
layering technique. The idea of layering to probe and utilize the
available bandwidth has been studied previously in the context of
video transmission on the Internet and in multicasting[MJV96,VRC98].
The contribution of this document is to extend this idea to the
congestion control algorithms in TCP to provide a general framework
where scalability can be achieved at the cost of minimal
modifications to the existing implementations. We provide the
intuition for the framework and a simple design for illustrating the
effectiveness of layering. The design is evaluated through analysis,
ns-2 simulations and emulations on a Linux testbed. We welcome
comments and research regarding other possible design options.
2. Problem Description
The throughput of a TCP connection is given by T = (1.2 * S) / (R *
sqrt(p)), where 'S' is the packet size, 'R' is the round trip time
for the connection and 'p' is the packet loss rate [PFTK98]. This
means that for a standard TCP connection using a packet size of 1500
bytes over a connection with round trip delay of 200ms and packet
loss rate of 10^(-5), the maximum throughput that can be achieved is
23.2Mbps. If the packet loss rate were reduced to 10^(-7) the maximum
throughput could be increased to 232.4Mbps. Conversely, to achieve a
throughput of 1Gbps, the packet loss rate required is 5.4 X 10^(-9)
or lower and for 10Gbps it should be 5.4 X 10^(-11). These loss rates
are unreasonable - for the 10Gbps, the loss rate translates to a loss
Bhandarkar, Jain & Reddy [Page 2]
draft-bhandarkar-ltcp-01 August 2004
of at most one packet in 1.85 X 10^(10) packets or at most one loss
for every six hours ! Clearly, the congestion response function of
the standard TCP connections does not scale in high capacity
networks, and new solutions are required for mitigating this problem.
3. Design Guidelines
The proposal for LTCP in this document is motivated by the following
requirements -
* Better efficiency in bandwidth utilization : the new scheme should
be capable of making good use of available bandwidth in high capacity
networks with realistic packet loss rates. For any given loss rate,
the performance should be atleast as good as standard TCP
implementation.
* Fairness to each other : when there are several flows of the new
scheme in the network, they should be capable of achieving similar
throughputs (provided they have similar RTTs).
* Fairness to TCP : the flows using the new scheme should be fair to
TCP flows in networks with low available bandwidth where the
congestion window remains below a predefined window threshold W_T. In
networks that allow the congestion window to grow larger than W_T,
the flows using the new scheme should allow the TCP flows to operate
without starvation.
* Incremental Deployment : The new scheme should require minimal
modifications to the existing TCP implementations and none to the
network infrastructure. In other words, no additional feedback or
modifications should be required at the network routers or receivers.
* Flexible Design : The new scheme should be capable of using options
such as SACK, ECN etc. It should also be capable of operating with
new proposals such as limited slow start [F04] for modified slowstart
etc.
* RTT Unfairness Issues : The new scheme should be no worse than the
existing TCP implementation regarding RTT unfairness.
4. LTCP Protocol
4.1. Framework
The layered TCP scheme is a sender-side modification to the
congestion response function of TCP for making it more scalable in
high-speed networks. The congestion window response of the LTCP
protocol is defined in two dimensions - (a) At the macroscopic level,
Bhandarkar, Jain & Reddy [Page 3]
draft-bhandarkar-ltcp-01 August 2004
LTCP uses the concept of layering to quickly and efficiently probe
for available bandwidth (b) At the microscopic level, it extends the
existing AIMD algorithms of TCP to determine the per-ack behavior.
This section presents the intuition for the layering framework.
We start by defining the parameter LTCP window threshold (W_T) as the
window size below which LTCP is fair to standard TCP implementations.
The optimal value of W_T is debatable and likely a topic of research
by itself. In this document, we choose a heuristic value of 50
packets for W_T. This value is motivated by the fact that when the
window scale option [JBB92] is not turned on, the maximum window size
allowed is 64Kb which is about 44 packets (of size 1500 bytes). The
window scale option is used in highspeed networks, to allow the
receiver to advertise large window size. In order to ensure that the
new scheme with aggressive bandwidth probing is fair to TCP is slow
networks, we choose a window threshold value $W_{T}$ that is slightly
greater than 44 packets. This imposes a constraint on LTCP to
maintain proportional fairness to TCP flows in slow networks. Other
arguments for keeping new protocols fair to TCP below a window
threshold have been put forth in [F03,K03].
In order to ensure that below the threshold W_T, LTCP is fair to TCP,
all new LTCP connections start with only one layer and behave in all
respects the same as TCP. If the congestion window increases beyond
the threshold W_T, the congestion window response is modified. Just
like the standard implementations of TCP, the LTCP protocol is ack-
clocked and the congestion window of an LTCP flow changes with each
incoming ack. However, an LTCP flow increases the congestion window
more aggressively than the standard implementation of TCP depending
on the layer at which it is operating. At the microscopic level, when
operating at some layer 'K', the LTCP protocol increases the
congestion window as if it were emulating 'K' virtual flows. That is,
the congestion window is increased by K/cwnd for each incoming ack,
or equivalently, it is increased by 'K' on the successful receipt of
one window of acknowledgements. This is similar to the increase
behaviour explored in [CO98].
Layers, on the other hand, are added if congestion is not observed
over an extended period of time. To do this, a simple layering scheme
is used. Suppose, each layer 'K' is associated with a step-size
delta_K. When the current congestion window exceeds the window
corresponding to the last addition of a layer (W_K) by the step-size
delta_K, a new layer is added. Thus,
W_1 = 0, W_2 = W_1 + delta_1, ... W_K = W_(K-1) + delta_(K-1)
and the number of layers is 'K', when W_K <= W < W_(K + 1). Fig. 1
shows this graphically.
Bhandarkar, Jain & Reddy [Page 4]
draft-bhandarkar-ltcp-01 August 2004
Layer Minimum Window
Number Corresponding to the Layer
| |
| |
V V
K+1 ------------------------------ W_(K+1)
^
|
| delta_K
|
V
K ------------------------------ W_K
^
|
| delta_(K-1)
|
V
K-1 ------------------------------ W_(K-1)
Fig 1: Graphical Perspective of Layers in LTCP
The step size delta_K associated with the layer K should be chosen
such that convergence is possible when several flows share the
bandwidth. Consider the simple case when the link is to be shared by
two LTCP flows. Say, the flow that started earlier operates at a
higher layer K1 (with a larger window) compared to the later-starting
flow operating at a smaller layer K2 (with the smaller window). In
the absence of network congestion, the first flow increases the
congestion window by K1 packets per RTT, whereas the second flow
increases by K2 packets per RTT. In order to ensure that the first
flow does not continue to increase at a rate faster than the second
flow, it is essential that the first flow adds layers slower than the
second flow. Thus, if delta_K1 is the stepsize associated with layer
K1 and delta_K2 is the stepsize associated with layer K2, then
delta_K1 / K_1 > delta_K2 / K_2
when K1 > K2, for all values of K1, K2 >= 2.
The design of the decrease behavior is guided by similar reasoning -
in order for two flows starting at different times to converge, the
time taken by the larger flow to regain the bandwidth it gave up
after a congestion event should be larger than the time it takes the
smaller flow to regain the bandwidth it gave up. Suppose the two
flows are operating at layers K1 and K2 (K1 > K2), and WR_K1 and
WR_K2 is the window reduction of each flow upon a packet loss. After
Bhandarkar, Jain & Reddy [Page 5]
draft-bhandarkar-ltcp-01 August 2004
the window reduction, suppose the layers corresponding to the two
flows is K1' and K2'. Then, the flows take WR_K1/K1' and Wr_K2/K2'
RTTs respectively to regain the lost bandwidth. From the above
reasoning, this gives us -
WR_K1/K1' > WR_K2/K2'
The window reduction can be chosen proportional to the current window
size or be based on the layer at which the flow operates. If the
latter is chosen, then care must be taken to ensure convergence when
two flows operate at the same layer but at different window sizes.
This framework provides a simple, yet scalable design for the
congestion response function of TCP for the congestion avoidance
phase in highspeed networks. The congestion window response in slow
start is not modified, allowing the architecture to evolve with
experimental slowstart algorithms. At the end of slowstart the number
of layers to operate at can easily be determined based on the window
size. The key factor for the architecture is to determine an
appropriate relationship for the step size (delta) and window
reduction that satisfy the conditions -
delta_K1 / K_1 > delta_K2 / K_2 ---> [ the LTCP Constraint 1 ]
WR_K1 / K1' > WR_K2 / K2' ---> [ the LTCP Constraint 2 ]
when K1 > K2, for all values of K1, K2 >= 2.
Several different choices are possible and we encourage discussion
and feedback from the research community for the choice of the
optimal design. To evaluate the effectiveness of the architecture we
use a simple design, the details of which are presented in the next
section. This design is by no means the only or the best design
solution for the problem. We choose it for its simplicity and the
ease of deployment that it provides.
4.2. Design Choice
In order to evaluate the effectiveness of the LTCP protocol, we chose
a simple design choice where we retain the multiplicative window
reduction behavior. Upon a packet loss the window reduction is chosen
to be
WR = beta * W
where beta is a constant < 1. Also, in order to allow smooth layer
transitions, we stipulate that after a window reduction due to a
packet loss, atmost one layer can be dropped i.e., a flow operating
at layer K before the packet loss should operate at layer K or (K-1)
Bhandarkar, Jain & Reddy [Page 6]
draft-bhandarkar-ltcp-01 August 2004
after the window reduction. Based on this stipulation, if K1' and K2'
are the layers at which the larger and the smaller flow operate after
a packet loss, there are four possible cases
(a) K1' = K1, K2' = K2
(b) K1' = K1, K2' = (K2-1)
(c) K1' = (K1-1), K2' = K2
(d) K1' = (K1-1), K2' = (K2-1).
It is most difficult to maintain the convergence properties, when the
larger flow does not reduce a layer but the smaller flow does, ie,
K1'=K1, K2'=(K2-1).
With this worst case situation, the LTCP Constraint 2 can be written
as -
WR_K1/K1 > WR_K2/(K2-1)
If this inequality is maintained for adjacent layers, then by simple
extension, it will be maintained across all layers. So consider the
case where K1 = K and K2 = (K-1). Also, suppose the window of the
larger flow is W' and that of the smaller flow is W''. Then, the
above inequality may be written as
W'/K > W''/(K-2)
The scenario that could result in the case considered above (K1' = K,
K2' = (K-2)) will be when the window W' is close to transitioning
into the layer (K+1) when the packet drop occurs, whereas the smaller
flow has just transisioned into the layer (K-1). Suppose W_K is used
to denote the window size when the flow transitions into layer K,
then in the worst case, the following inequality should be satisfied
-
W_(K+1) > [ K/(K-2) ] * W_(K-1)
Based on this we conservatively choose,
W_K = [ (K+1)/(K-2) ] * W_(K-1)
which defines the increase behavior.
Note that alternate choices are possible. This is essentially a
tradeoff between
efficiently utilizing the bandwidth and ensuring convergence between
multiple flows sharing the same link. While it is essential to choose
the relationship between $W_{K}$ and $W_{K-1}$ such that convergence
is ensured, a very conservative choice would make the protocol slow
in increasing the layers and hence less efficient in utilizing the
bandwidth.
Since layering starts at W_2 = W_T we have,
W_K = [ K (K+1) (K-1) / 6 ] * W_T
By definition, delta_K = W_(K+1) - W_K. By simple substitution, it
Bhandarkar, Jain & Reddy [Page 7]
draft-bhandarkar-ltcp-01 August 2004
can be shown that this design satisfies the LTCP Constraint 1. Also,
since the scheme was designed with the worst case for the inequality
in the LTCP constraint 2, it satisfies the constraints when the flows
are in adjacent layers which by simple extention holds for non-
adjacents layers as well. It can also be shown that when two flows
operate at the same layer, but with different window sizes, the
inequality is still maintained.
4.2.1. Choice of beta
The above presented analysis is hinged on the stipulation that after
a window reduction due to packet drop, at most one layer is dropped.
In order to ensure this, we have to choose the parameter beta
carefully. The worst case for this situation occurs when the flow has
just added the layer K and the window W = W_K + 'X', when the packet
drop occurs. In order to ensure that the flow does not go from layer
K to (K-2) after the packet drop, we need to ensure that
beta * W_K < delta_(K-1)
(Ignoring the reduction due to 'X' since we are computing the worst
case behavior.) On simple substitution, this yields,
beta < 3/(K+1)
We show in later sections that a choice of 0.15 for the value of beta
will allow the number of layers K to be sufficiently large enough to
efficiently utilize the available link bandwidth in highspeed
networks while maintaining the above inequality.
With this design choice, LTCP retains AIMD behavior. At each layer K,
LTCP increases the window additively by K, and when a packet drop
occurs, the congestion window is reduced multiplicatively by a factor
of beta.
4.2.2. Time to claim bandwidth and packet recovery time
Suppose the maximum window size corresponding to the available
throughput is W_K. Then, if we assume that slowstart terminates when
layering starts, we can show that the time to increase the window to
W_K is -
T' + [ (K-2)(K+3) / 4 ] * W_T
where T' is the time spent in slow start. This document DOES NOT
recommend terminating slowstart when the layering starts. The
analysis here uses this assumption to explain the characteristics of
the lTCP protocol behavior.
Table 1. below shows the number of layers corresponding to the
windowsize at layer transitions (W_K) with W_T = 50. For a 2.4Gbps
link with an RTT of 150ms and packet size of 1500 bytes, the window
size can grow to 30,000. The number of layers required to maintain
Bhandarkar, Jain & Reddy [Page 8]
draft-bhandarkar-ltcp-01 August 2004
full link utilization is therefore K=15.
The table also shows the speedup in claiming bandwidth compared to
TCP, for an LTCP flow with W_T = 50, with the assumption that
slowstart is terminated when window = W_T. This column gives an idea
of the number of virtual TCP flows emulated by an LTCP flow. For
instance, a flow that evolves to layer 15, behaves similar to
establishing 10 parallel flows at the beginning of the connection.
Also, an LTCP flow with window size W will reduce the congestion
window by beta * W. It then starts to increase the congestion window
at the rate of atleast (K-1) packets per RTT (since we stipulate that
a packet drop results in the reduction of atmost one layer). The
packet loss recovery time then, for LTCP is (beta * W)/(K-1). In case
of TCP, upon a packet drop, the window is reduced by half, and after
the drop the rate of increase is 1 per RTT. Thus, the packet recovery
time is W/2. The last column of Table 1 shows the speed up in packet
recovery time for LTCP with beta = 0.15 compared to TCP. Based on the
conservative assumption that the layer number is (K-1) after a packet
drop, the speed up in the packet recovery time of LTCP compared to
TCP is a factor of 3.33 * (K-1).
Speedup in Speedup in
K W_K Claiming Packet Loss
Bandwidth Recovery Time
1 0 - -
2 50 1.00 1.00
3 200 2.00 6.67
4 500 2.57 10.00
5 1000 3.17 13.33
6 1750 3.78 16.67
7 2800 4.40 20.00
8 4200 5.03 23.33
9 6000 5.67 26.67
10 8250 6.31 30.00
11 11000 6.95 33.33
12 14300 7.60 36.67
13 18200 8.25 40.00
14 22750 8.90 43.33
15 28000 9.56 46.67
16 34000 10.21 50.00
17 40800 10.87 53.33
18 48450 11.52 56.67
19 57000 12.18 60.00
20 66500 12.84 63.33
Table 1: Comparison of LTCP (with W_T = 50 and beta = 0.15) to TCP
Bhandarkar, Jain & Reddy [Page 9]
draft-bhandarkar-ltcp-01 August 2004
4.2.3. Convergence
The inequality in the LTCP constraint 2 of the LTCP framework ensures
that flows will converge asymptotically to a fair share, since a
larger flow takes longer time to recover lost throughput than a
smaller flow. With the current design, we can show that this
inequality is held after a congestion event irrespective of the layer
transitions and hence asymptotic convergence is ensured.
4.2.4. Throughput Analysis
The bandwidth BW of an LTCP flow operating at layer K in steady
state, in a network with uniform loss probability p and round trip
time RTT can be shown to be [BJR04] -
Sqrt(CK')
BW = ------------------
(RTT * sqrt(p))
where C is a constant = (1/beta - 0.5)
Again if we consider the example above of the 2.4Gbps link with an
RTT of 150ms and packet size of 1500 bytes, the window size can grow
to 30,000. From Table 1, we see that this window size corresponds to
a layersize of K = 15. Substituting this value in the above equation,
we notice that for the 2.4Gbps link mentioned above with beta = 0.15,
LTCP offers an improvement of a factor of about 8 for the achievable
throughput compared to TCP.
4.2.5. RTT Fairness
In [XHR04] the authors have shown that some of the recent proposals
for TCP in highspeed networks that change the congestion window
behavior of TCP to scale to high bandwidth might aggravate the RTT
unfairness problem of TCP. Analysis conducted along the same lines as
that in [XHR04] shows that the above design for LTCP could
potentially alleviate the RTT unfairness problem. For two LTCP flows
with RTTS RTT1 and RTT2 operating at window layer K1' and K2' after a
packet drop, the throughput ratio can be shown to be
K2'/K1' * Square(RTT2/RTT1)
The relationship between K and RTT for an LTCP flow is -
K ~ O( (1/RTT) ^ 0.3333)
Thus LTCP can potentially alleviate the RTT unfairness problem of
TCP. This has been verified through simulations on the ns-2
simulator.
4.2.6. Alternate Designs
Bhandarkar, Jain & Reddy [Page 10]
draft-bhandarkar-ltcp-01 August 2004
This document presents one possible design for LTCP and provides the
relevant analysis to understand the protocol behavior with this
design. This design has several desirable properties such as
efficient scaling of the window in high speed networks, quick
convergence to fairness in the presence of multiple flows and
alleviated RTT fairness problem. However, we would like to stress at
this point that this is by no means the only possible or the best
possible design choice. The aim of this design was to illustrate the
effectiveness of using a simple concept like layering in the context
of TCP congestion control to improve efficiency without sacrificing
convergence properties. The design was derived based on the basic
premise of choosing a multiplicative decrease. Several alternate
design options are possible. For instance by adding layers using the
simple rule W_K = alpha * W_(K-1) an LTCP protocol can be designed
that has very similar dynamics as TCP regarding window reduction and
convergence but faster increase behavior. We solicit feedback and
suggestions from the research community in our quest for the design
choice that optimises the tradeoff between improving performance and
implementation overhead.
4.3. Implementation Details
The LTCP protocol requires simple sender-side changes to the
congestion window response function of TCP. It uses two additional
parameters - W_T, and beta. Default recommendation for, W_T and beta
are 50 and 0.15 respectively. Additionally, variables need to be used
for saving the number of layers (K) and the window corresponding to
layer K (W_K).
When a new connection is established, the protocol is started with K
= 1, and the slowstart algorithm of standard TCP. When slowstart is
exited, the number of layers K is obtained based on the current cwnd.
If K = 1, LTCP behaves in all respects similar to TCP. Otherwise
(congestion window exceeds W_T), the following changes are made to
the TCP congestion response function
if (newack)
{
cwnd = K/cwnd
if (window() > W_(K+1))
K++
}
if (packet loss)
{
cwnd = cwnd (1 - beta)
if (window() < W_K)
K--
}
Bhandarkar, Jain & Reddy [Page 11]
draft-bhandarkar-ltcp-01 August 2004
The rest of the algorithms used in the traditional implementation of
TCP - for instance the algorithms for RTT calculations, SACK
processing, timer management etc, remain unchanged. The LTCP
modifications work with most flavors of the TCP protocol. However,
this document advocates the use of LTCP with TCP-SACK to ensure that
the performance can be maintained high even under the conditions of
multiple losses per round trip time. If the receiver is not SACK-
capable, however, then the sender will have to use NewReno. The LTCP
changes affect the behavior of TCP only in the congestion avoidance
phase. The slowstart algorithm is not modified and hence LTCP maybe
used with newer slowstart proposals such as limited slowstart [F04].
5. Performance Evaluation
The performance of LTCP for the above mentioned design choice was
evaluated through both ns-2 [NS-2] simulations and experiments on the
real network using a modified Linux kernel. These results may be
found in [BJR04]. This section of the document provides a brief
summary of the same. Also, the Linux implementation is currently
being tested against other proposals for highspeed networks at the
Stanford Linear Accelerator Center at Stanford University, and the
results will be made available in the future.
In both simulations and emulations, LTCP exhibited substantially
improved link utilization compared to TCP. The window size required
to fill the link bandwidth was reached several orders of magnitude
faster than TCP for links with 1Gbps capacity. In steady state, the
fluctuations about the optimal value was much smaller than that of
TCP. When several LTCP flows used the same bottleneck link, the
available bandwidth was shared in a fair manner with the Jain
fairness index being very close to 1, as the number of flows was
varied from 2 to 10. When the dynamic link conditions were varied by
adding and removing LTCP flows at different times, LTCP exhibited
good convergence properties. Established LTCP flows gave up a portion
of the link bandwidth when standard TCP flows were introduced, to let
them run free of starvation. RTT unfairness among LTCP flows was
lesser than the RTT unfairness among TCP flows under similar network
conditions. Several tests were conducted in the presence of non-
responsive traffic and the quick response to varying traffic was
verified.
6. Incremental Deployment
The LTCP modifications proposed in this document lend themselves to
incremental deployment. Only the TCP stack on the sender side needs
to be modified. No changes are required at the receivers or the
routers and no additional feed back is expected from either. The use
of LTCP does not require the sender and receiver to negotiate any
Bhandarkar, Jain & Reddy [Page 12]
draft-bhandarkar-ltcp-01 August 2004
conditions during connection setup. Neither the receivers nor the
routers need to be aware that the sender is using the LTCP congestion
response function. The sender-side LTCP modifications themselves are
simple and can be distributed easily as kernel patches.
7. Relationship to other work
Solutions for improving the performance of TCP for high-speed
networks can be classified into four main categories - a) Tuning the
network stack (web100[MHR03], net100 [DMT02], Dynamic Right Sizing
[WF01], Enable Tuning [TGLSE01] etc) b) Opening parallel TCP
connections between the end hosts (XFTP [OAK96], GridFTP [LGTABBT01],
storage resource broker [BMRW98], Parallel Sockets Library [SBG00],
MulTCP [CO98] etc) c) Modifications to the TCP congestion control
(HSTCP [F03], FAST [JWL04], Scalable TCP [K03], Bic-TCP [XHR04], H-
TCP [SLFK03] etc) d) Modifications to the network infrastructure or
use of non-TCP transport protocol (XCP [KHR02], Tsunami [Tsunami],
RBUDP [HLYD02], SABUL [SGMPZ] etc).
The LTCP solution falls in the third category and deals with
modifications to the TCP congestion control. It tries to emulate
parallel TCP connections like MulTCP (mentioned in the second
category above), with the key difference that the number of virtual
flows is not fixed. Instead, layering concept similar to that in
[MJV96,VRC98] is used for increasing/decreasing the number of layers
dynamically to find the optimal number of virtual flows required to
keep the bottleneck link full, while at the same time maintaining a
notion of fairness.
8. Security Considerations
This proposal makes no changes to the underlying security of TCP.
9. Conclusions
In this document we have proposed LTCP, a layering technique for the
congestion control mechanism of TCP to make it more scalable in
highspeed networks. We have presented the general framework for LTCP
and explored the proposal though one possible design choice, its
analysis and experimental results. We believe that LTCP provides a
simple solution for improving the the performance of TCP in highspeed
networks without modifying the TCP semantics significantly, and with
minimal implementation overhead. We welcome additional analysis,
simulations, experimentation or feedback regarding regarding this
proposal.
We are bringing this proposal to the IETF to be considered as an
Experimental RFC.
Bhandarkar, Jain & Reddy [Page 13]
draft-bhandarkar-ltcp-01 August 2004
11. References
[BJR04] Sumitha Bhandarkar, Saurabh Jain and A. L. Narasimha Reddy,
``LTCP: A layering technique for improving the performance of TCP in
high speed networks'', Technical Report.
http://ee.tamu.edu/~reddy/papers/jogc2003.pdf
[BMRW98] C. Baru, R. Moore, A. Rajasekar, and M. Wan, "The SDSC
storage resource broker", In Proc. CASCON'98 Conference, Dec 1998.
[CO98] Jon Crowcroft and Philippe Oechslin, "Differentiated End-to-
End Internet Services using a Weighted Proportional Fair Sharing
TCP", ACM CCR, vol. 28, no. 3, July 1998.
[DMT02] Tom Dunigan, Matt Mathis and Brian Tierney, "A TCP Tuning
Daemon", SuperComputing (SC) November, 2002.
[F00]Sally Floyd, "Congestion Control Principles", RFC 2914,
September 2000
[F03] Sally Floyd, "HighSpeed TCP for Large Congestion Windows", RFC
3649, December 2003.
[F04] Sally Floyd, "Limited Slow-Start for TCP with Large Congestion
Windows", RFC 3742, January 2004.
[HLYD02] Eric He, Jason Leigh, Oliver Yu and Thomas A. DeFanti,
"Reliable Blast UDP : Predictable High Performance Bulk Data
Transfer", Proceedings of IEEE Cluster Computing, September 2002.
[JBB92] V. Jacobson, R. Braden and D. Borman, "TCP Extensions for
High Performance", RFC 1323, May 1992.
[JWL04] Cheng Jin, David X. Wei and Steven H. Low, "FAST TCP:
motivation, architecture, algorithms, performance", IEEE Infocom,
March 2004.
[K03] Tom Kelly, "Scalable TCP: Improving Performance in HighSpeed
Wide Area Networks", ACM Computer Communications Review, April 2003.
[KHR02] Dina Katabi, Mark Handley, and Chalrie Rohrs, "Congestion
Control for High Bandwidth-Delay Product Networks", Proceedings of
ACM SIGCOMM 2002, August 2002.
[LGTABBT01] J. Lee, D. Gunter, B. Tierney, B, Allcock, J. Bester, J.
Bresnahan and S. Tuecke, "Applied Techniques for High Bandwidth Data
Transfers Across Wide Area Networks", Proceedings of International
Conference on Computing in High Energy and Nuclear Physics, September
Bhandarkar, Jain & Reddy [Page 14]
draft-bhandarkar-ltcp-01 August 2004
2001.
[MHR03] M. Mathis, J Heffner and R Reddy, "Web100: Extended TCP
Instrumentation for Research, Education and Diagnosis", ACM Computer
Communications Review, Vol 33, Num 3, July 2003.
[MJV96] S. McCanne, V. Jacobson, and M. Vetterli, "Receiver-driven
layered multicast", Proceedings of ACM SIGCOMM '96, August 1996.
[NS-2] ns-2 Network Simulator. http://www.isi.edu/nsnam/
[OAK96] Shawn Ostermann, MArk Allman, and Hans Kruse, "An
Application-Level solution to TCP's Satellite Inefficiencies",
Workshop on Satellite-based Information Services (WOSBIS), November,
1996.
[PFTK98] J.Padhye, V.Firoiu, D.Towsley, and J.Kurose, "Modeling TCP
throughput: A simple Model and its empirical validation", ACM SIGCOMM
'98, Oct. 1998.
[SBG00] H. Sivakumar, S. Bailey and R. Grossman, "PSockets: The Case
for Application-level Network Striping for Data Intensive
Applications using High Speed Wide Area Networks", Proceedings of
Super Computing, November 2000.
[SGMPZ] H. Sivakumar, R. Grossman, M. Mazzucco, Y. Pan, and Q. Zhang,
``Simple Available Bandwidth Utilization Library for High-Speed Wide
Area Networks'', submitted for publication.
[SLFK03] R. N. Shorten, D. J. Leith, J. Foy, and R. Kilduff,
"Analysis and design of congestion control in synchronized
communication networks", June 2003, submitted for publication.
[TGLSE01] Brian L. Tierney, Dan Gunter, Jason Lee, Martin Stoufer and
Joseph B. Evans, "Enabling Network-Aware Applications", 10th IEEE
International Symposium on High Performance Distributed Computing
(HPDC), August 2001.
[Tsunami] README file of tsunami-2002-12-02 release.
http://www.indiana.edu/~anml/anmlresearch.html
[VRC98] L. Vicisano, L. Rizzo, and J. Crowcroft, "TCP-like congestion
control for layered multicast data transfer", Proceedings of IEEE
Infocom '98, March 1998.
[WF01] Eric Weigle and Wu-chun Feng, "Dynamic Right-Sizing: a
Simulation Study", Proceedings of IEEE International Conference on
Computer Communications and Networks (ICCCN), October 2001.
Bhandarkar, Jain & Reddy [Page 15]
draft-bhandarkar-ltcp-01 August 2004
[XHR04] Lisong Xu, Khaled Harfoush, and Injong Rhee, "Binary Increase
Congestion Control for Fast Long-Distance Networks", To appear in
Proceedings of IEEE Infocom 2004, March 2004.
13. Author's Addresses
Sumitha Bhandarkar And Saurabh Jain
Dept. of Elec. Engg.
214 ZACH
College Station, TX 77843-3128
Phone: (512) 468-8078 / (979) 260-2811
Email: {sumitha,saurabhj}@tamu.edu
URL : http://students.cs.tamu.edu/sumitha/
http://ee.tamu.edu/~saurabhj
A. L. Narasimha Reddy
Associate Professor
Dept. of Elec. Engg.
214 ZACH, Mailstop - 3128
College Station, TX 77843-3128
Phone : (979) 845-7598
Email : reddy@ee.tamu.edu
URL : http://ee.tamu.edu/~reddy/
Bhandarkar, Jain & Reddy [Page 16]