Download presentation
Presentation is loading. Please wait.
Published byCecily Powell Modified over 9 years ago
1
The Macroscopic behavior of the TCP Congestion Avoidance Algorithm
2
Introduction: Analysis of a performance model for the TCP Congestion Avoidance Algorithm Verification of the model through both simulation and live Internet measurements
3
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
4
TCP window evolution under periodic loss
5
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)*W 2 = 1/p Solving for W: W=√8/3p
6
We are interested in BW: BW = (data per cycle) / (time per cycle) = (MSS* (3/8) * W 2 ) / (RTT * W/2) = (MSS / p) / (RTT * √2/3p ) BW = ( MSS / RTT ) * (C / √p ) C is a constant “around” 1
7
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 )
8
Two examples: Queueless random packet loss (constant delay, high BW link) Environments with queuing (drop-tail bottleneck link)
9
Measured vs. Estimated BW
10
Window vs. Loss
11
Estimated Window vs. Loss I
12
Estimated Window vs. Loss II
13
Fitting the Slope Window vs. loss data ~ linear, but… BW = ( MSS / RTT ) * C * p k, k~1/2
14
Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks
15
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
16
Network performance = f(load)
17
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)
18
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
19
Algorithm’s control function : x i (t) - user’s load u i (t) - user’s control y(t) - binary feedback u i (t) = f (x i (t), y(t) ) x i (t+1) = x i (t) + f (x i (t), y(t) )
20
Focus on linear control function f x i (t+1)= a + b x i (t) 4 combinations: multiplicative/additive + increase/decrease
21
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, x i (t)= x k (t), I,k share the same bottleneck F(x)=(Σx i ) 2 / (Σ x i 2 ) Distributedness –min amount of feedback in the system …
22
Convergence – speed/time with which the system approaches the goal state
26
A Web Server’s View of the Transport Layer
27
Observations of traffic to and from a particular WWW server Data collection from Apache logs and tcpdump
28
Selective Acknowledgments
29
Round Trip Times
30
Larger Initial cwnd
31
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.