310 likes | 512 Views
The Macroscopic behavior of the TCP Congestion Avoidance Algorithm. Introduction:. Analysis of a performance model for the TCP Congestion Avoidance Algorithm Verification of the model through both simulation and live Internet measurements. Assumptions:.
E N D
The Macroscopic behavior of the TCP Congestion Avoidance Algorithm
Introduction: • Analysis of a performance model for the TCP Congestion Avoidance Algorithm • Verification of the model through both simulation and live Internet measurements
Assumptions: • TCP Congestion Avoidance Algorithm in steady-state • Light to moderate packet loss • Additive increase/multiplicative decrease for dealing with congestion • Multiple losses within 1RTT treated as 1 congestion signal • Random packet loss at constant probability p
Simple derivation: • W/2<Win<W • If (ACK each segment) each cycle must be W/2 RRT • Total data delivered ~ Area on the graph (3/8)*W2 = 1/p • Solving for W: W=√8/3p
We are interested in BW: • BW = (data per cycle) / (time per cycle) = (MSS* (3/8) * W2 ) / (RTT * W/2) = (MSS / p) / (RTT * √2/3p ) • BW = ( MSS / RTT ) * (C / √p ) • C is a constant “around” 1
Where it does not fit: • advertised window too small cwnd has no effect • Sender has no data • Time consumed by timeouts not modeled • Go-back-N strategies (window consumed by needless retransmissions) • other window opening strategies (Vegas) • Short connections ( not steady-state )
Two examples: • Queueless random packet loss (constant delay, high BW link) • Environments with queuing (drop-tail bottleneck link)
Fitting the Slope • Window vs. loss data ~ linear, but… • BW = ( MSS / RTT ) * C * pk , k~1/2
Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks
Introduction: • Both congestion avoidance and congestion control mechanisms are basically resource management problems • Key component of a congestion avoidance scheme is the algorithm • Metrics: efficiency, fairness, convergence time, size of oscilations
congestion avoidance – operate at the knee • congestion control – left of the cliff • One can limit number of packets (window mechanism) or rate (bits or packets per second)
Binary feedback scheme: • Decentralized decision-making algorithm • Resource sends single bit, congestion experience bit (1- overloaded, 0 -underloaded ) • Users then adjust their load by increase/decrease algorithm
Algorithm’s control function : • xi(t) - user’s load • ui(t) - user’s control • y(t) - binary feedback • ui(t) = f (xi(t), y(t) ) • xi(t+1) = xi(t) + f (xi(t), y(t) )
Focus on linear control function f • xi(t+1)= a + b xi(t) • 4 combinations:multiplicative/additive + increase/decrease
Criteria for selecting controls: • Efficiency of the resource usage X(t) – closeness of the total load to the knee • Fairness estimated by the maxmin criterion, xi(t)= xk(t), I,k share the same bottleneckF(x)=(Σxi)2 / (Σ xi2 ) • Distributedness –min amount of feedback in the system • …
Convergence – speed/time with which the system approaches the goal state
Observations of traffic to and from a particular WWW server • Data collection from Apache logs and tcpdump
Conclusions: • SACK based TCPs should be suported by servers • 85% RTTs are between 15ms and 500ms • using larger initial cwnd does notdrastically increaseno. ofconnections experiencing loss in the first burst of data