TCP-LP: A Distributed Algorithm for Low Priority Data Transfer Group 5 Andrei Bersatti Jeff Waters
TCP’s Greedy Algorithm TCP attempts to use all available bandwidth. If two TCP connections are sharing the same link they will each use a “fair share” of the bandwidth. What if you wanted one TCP flow to get more bandwidth than another TCP flow? Not possible with TCP’s “fair share” bandwidth allocation
Goals of TCP-LP Utilize only the excess network bandwidth, and share it fairly among all TCP-LP flows. Be transparent to TCP flows. The presence of a TCP-LP connection will not affect the bandwidth enjoyed by TCP. Require no modification of the existing network infrastructure.
What type applications would use TCP-LP? Low-priority file transfer over the internet using low speed access links. Inference of available bandwidth for network monitoring and performance control. Example: Selecting a mirror site with highest available bandwidth.
How does TCP-LP work? TCP-LP uses a one-way delay to anticipate congestion and adjust its control window. Calculating delay: Sender timestamps packet A. Receiver ACK’s with time-stamped packet B. Echoes the timestamp on packet A. Sender calculates one-way delay based on the timestamps. Smooth delays: sdi = (1-a)sdi-1 + (a)di Why one-way delay and not RTT?
When can we infer congestion? During Slow Start calculate: dmin = min delay = E{delay} dmax = max delay When sdi crosses a threshold then send Early Congestion Indication (ECI). How does TCP-LP get a Max Queue Estimate?
Window Management Slow Start Upon ECI set W=W/2 and set Inference Time-out Timer (itt). While itt has not expired, keep W constant. If ECI received while itt not expired then set W=1. If no ECI received and itt expires, W=1+1/W If in last roundtrip time TCP-LP reacted to ECI, ignore consecutive ECI. WHY?
Graphs and Parameters Three parameters: a (1/8) is the smoothing parameter: sdi = (1-a)sdi-1 + (a)di, b (.15) is the threshold parameter: threshold = dmin + (dmax-dmin)b iit (RTT*3) is the Inference Time-out Timer
What results would you expect to see with TCP vs. TCP-LP?
How does TCP-LP react to background traffic modeled as a square wave? TCP-LP will utilize approximately 50% of the available bandwidth during the idle period. Surprisingly, this utilization is higher than that of a typical TCP connection.
Benefits of TCP-LP TCP-LP is a end-to-end solution that does not require any modification of the network infrastructure. TCP-LP is able to utilize available bandwidth without perturbing non-TCP-LP flows. Competing TCP-LP flows share the excess bandwidth fairly. If bulk data transfers use TCP-LP rather than TCP, file transfer times of TCP based web traffic are significantly reduced.
Critique Network independence good for friendliness. TCP-LP Congestion Control is too aggressive...perhaps keep W=W/2 until a lower threshold is reached and only then set W=1. Might not be effective when used in conjunction of Early Congestion Control flavors of TCP such as Vegas.