Top Banner
The Macroscopic behavior of the TCP Congestion Avoidance Algorithm
31

The Macroscopic behavior of the TCP Congestion Avoidance Algorithm

Jan 09, 2016

Download

Documents

kapila

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
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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