the macroscopic behavior of the tcp congestion avoidance algorithm

31
The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

Upload: kapila

Post on 09-Jan-2016

41 views

Category:

Documents


0 download

DESCRIPTION

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:. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

Page 2: 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

Page 3: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

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

Page 4: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

TCP window evolution under periodic loss

Page 5: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

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

Page 6: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

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

Page 7: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

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 )

Page 8: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

Two examples:

• Queueless random packet loss (constant delay, high BW link)

• Environments with queuing (drop-tail bottleneck link)

Page 9: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

Measured vs. Estimated BW

Page 10: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

Window vs. Loss

Page 11: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

Estimated Window vs. Loss I

Page 12: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

Estimated Window vs. Loss II

Page 13: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

Fitting the Slope

• Window vs. loss data ~ linear, but…

• BW = ( MSS / RTT ) * C * pk , k~1/2

Page 14: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

Analysis of the Increase and Decrease Algorithms for Congestion

Avoidance in Computer Networks

Page 15: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

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

Page 16: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

Network performance = f(load)

Page 17: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

• 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)

Page 18: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

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

Page 19: The Macroscopic behavior of the TCP Congestion Avoidance 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) )

Page 20: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

Focus on linear control function f

• xi(t+1)= a + b xi(t)

• 4 combinations:multiplicative/additive + increase/decrease

Page 21: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

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

• …

Page 22: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

Convergence – speed/time with which the system approaches the goal state

Page 23: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm
Page 24: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm
Page 25: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm
Page 26: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

A Web Server’s View of the Transport Layer

Page 27: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

• Observations of traffic to and from a particular WWW server

• Data collection from Apache logs and tcpdump

Page 28: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

Selective Acknowledgments

Page 29: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

Round Trip Times

Page 30: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

Larger Initial cwnd

Page 31: The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

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