the macroscopic behavior of the tcp congestion avoidance algorithm
Post on 09-Jan-2016
41 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
TCP window evolution under periodic loss
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)
Measured vs. Estimated BW
Window vs. Loss
Estimated Window vs. Loss I
Estimated Window vs. Loss II
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
Network performance = f(load)
• 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 / (Σ xi
2 )
• Distributedness –min amount of feedback in the system
• …
Convergence – speed/time with which the system approaches the goal state
A Web Server’s View of the Transport Layer
• Observations of traffic to and from a particular WWW server
• Data collection from Apache logs and tcpdump
Selective Acknowledgments
Round Trip Times
Larger Initial cwnd
Conclusions:
• SACK based TCPs should be suported by servers
• 85% RTTs are between 15ms and 500ms
• using larger initial cwnd does not drastically increase no. of connections experiencing loss in the first burst of data
top related