the macroscopic behavior of the tcp congestion avoidance algorithm

Post on 09-Jan-2016

41 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

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