+ All Categories
Home > Documents > Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn...

Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn...

Date post: 04-Oct-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
76
Congestion Control In The Internet JY Le Boudec Fall 2009 1
Transcript
Page 1: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Congestion Control In The Internet

JY Le BoudecFall 2009

1

Page 2: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Plan of This Module

1. Congestion control: theory 2. Application to the Internet

2

Page 3: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Theory of Congestion Control

What you have to learn in this first part:

1. What is the problem; congestion collapse

2. Efficiency versus Fairness

3. Forms of fairness

4. Forms of congestion control

5. Additive Increase Multiplicative Decrease (AIMD)

3

Page 4: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Inefficiency

Network may lose some packetsAssume you let users send as they wantExample 1: how much will S1 send to D1 ? S2 to D2 ?

4

S1C1 = 100 Kb/s

S2C2 = 1000 Kb/s

D1

D2

C3 = 110 Kb/s

C4 = 100 Kb/s

C5 = 10 Kb/s

Page 5: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Solution

Both send 10 kb/sInefficient ! A better allocation is:

S1: 100 kb/sS2: 10 kb/s

The problem was that S2 sent too much

5

S1

S2

D1

D2

x41 = 10

x52 = 10

C1 = 100 Kb/s

C2 = 1000 Kb/s

C3 = 110 Kb/s

C4 = 100 Kb/s

C5 = 10 Kb/s

Page 6: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Congestion Collapse

How much can node i send to its destination ?

6

link (i-1)

link i

link (i+1)node i

nodei+1

source i

Page 7: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Solution

We can solve in close form the symmetric case (all links and sources the same)

If λ < c/2 there is no loss:

Else:

7

nk (i-1)

link i

link (i+1)node i

nodei+1

source iλi

λi’

λi’’

Page 8: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

8

Page 9: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

9

0

2

4

6

8

10

12

1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97

Page 10: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

This is congestion collapse !

Take home messageSources should limit their rates to adapt it to the network conditionOtherwise inefficiency or congestion collapse may occurCongestion collapse means: as the offered load increases, the total throughput decreases

10

Page 11: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Tout se complique

A network should be organized so as to avoid inefficiencyHowever, being maximally efficient may be a problemExample : what is the maximum throughput ?

11

Page 12: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Solution

12

Page 13: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Take Home Message

Efficiency may be at the expense of fairnessWhat is fairness ?

13

Page 14: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Definitions of Fairness

In simple cases, fairness means same to allMay lead to stupid decisionsExample

14

Page 15: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Definitions of Fairness

A better allocation, as fair but more efficient, is:

This is the max-min fair allocation for this example

15

Page 16: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Max-Min fairness

We say that an allocation is max-min fair if it satisfies the following criterion:

If we start from this allocation and increase the rate of source s, then we must decrease the rate of some other (less rich) source s’

16

Page 17: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Example

Are these allocations max-min fair ?

1.

2.

17

X1 X2

Page 18: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Answer

1. No; I can increase x1 without modifying anyone2. Yes;

if I try to increase x0 I must decrease x2 and x2 ≤ x0

if I try to increase x1 I must decrease x0 and x0 ≤ x1

if I try to increase x2 I must decrease x0 and x0 ≤ x2

18

Page 19: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

The Maths of Max-Min Fairness

Given a set of constraints for the ratesIf it exists, the max-min fair allocation is uniqueThere exists one max-min fair allocation if the set of feasible rates is convex (this is the case for networks, we have linear constraints)

For a set of feasible rates as in our case (the sum of the rates on every link is upper bounded), the (unique) max min fair allocation is obtained by water-filling

19

Page 20: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Water-Filling Example

Step 1:Rate t to all sourcesIncrease t until t = c/10Freeze the values for sources that use a link that is fully used

x0 = c/10x2 = c/10

Step 2 Rate t to all non frozen sourcesx1 = tIncrease t until t = 9c/10Freeze the values for sources that use a link that is fully used

x1 = 9c/10

20

Page 21: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Proportional Fairness

Max-min fairness is the most egalitarian, but efficient, allocationSometimes too egalitarian

I sources, ni=1Max-min fair allocation is xi= c/2 for allFor I large, one might think that x0 should be penalized as it uses more of the networkThis is what proportional fairness does

21

Page 22: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Definition of Proportional Fairness

Two ideasRelative shares matter, not absolute

Global effect

22

Page 23: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Example

Are these allocations proportionnally fair ?

1.

2.

23

X1 X2

Page 24: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Solution

1. I can increase x2 alone and the average rate of change is positive. The answer is: No

2. Let us try to decrease x0 by δ. This allows us to increase x1 by δ and x2 by δ/9. For δ small enough (δ ≤ 0.1), the allocation is feasible.

The average rate of change is

24

Page 25: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

The Maths of Proportional Fairness

Given a set of constraints for the rates that is convex:The proportionally fair allocation exists and is uniqueIt is obtained by maximizing over all feasible allocations:

25

Page 26: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Example

26

Page 27: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

27

Page 28: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Utility Fairness

One can interpret proportional fairness as the allocation that maximizes a global utility. The utility of an allocation, to source I, is here the log of the rate

If we take some other utility function we have what we call a utility fairness

Max-min fairness is the limit of utility fairness when the utility function converges to a step function

28

U(x) = ln (x): proportional fairness

U(x) = 1- (1/x)m: m large => ~ max min fairness

Page 29: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Take Home Message

Sources should adapt their rate to the state of the network in order to avoid inefficiencies and congestion collapse

This is called “congestion control”

A rate adaptation mechanism should target some form of fairnessE.g. max-min fairness or proportional fairness

29

Page 30: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

How can congestion control be implemented ?

30

Page 31: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Additive Increase Multiplicative Decrease

It is a congestion control mechanism that can be implemented endto endIt is the basis for what we have in the InternetWe explain it on a simple example

31

Page 32: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

A Simple Network Model

Network sends a one bit feedback

Sources reduce rate if y(t)=1, increase otherwise

Question: what form of increase/decrease laws should one pick ?

32

Rate xi(t)

Feedback y(t)

Page 33: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Linear Laws

We consider linear lawsif y(t) == 1 then xi(t+1) = u1 x

i(t) + v1

if y(t) == 0 then xi(t+1) = u0 xi(t) + v0

We want to decrease when y(t)==1, so

We want to increase when y(t)==0, so

33

Page 34: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Example

u1 = 0.5, v1 =0, u0 = 0, v0 = 1 (unit: Mb/s)

34

Page 35: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Impact of Fairness

Does such a scheme converge to a fair allocation ?Here max-min and proportionally fair are the same (i.e. same rate to all)The scheme may not converge as sources may not be stationaryBut we would like that the scheme increases fairness

35

Page 36: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

36

Page 37: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

37

Page 38: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

38

Page 39: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

39

Page 40: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Example

40

Page 41: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Slow Start

AIMD’s fairness can be improved if we know that one source gets much less than some other

For example, if initial condition is a small valueWe can increase more rapidly the rate of a source that we know is below its fair share

Slow Start is one algorithm for thisSet initial value to the Additive Increase v0

Increase the rate multiplicatively until a target rate is reached or negative feedback is receivedApply multiplicative decrease to target rate if negative feedback is receivedExit slow start when target rate is received

41

target

rate

Page 42: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

42

3 sourcesu1 = 0.5, v1 =0, u0 = 0, v0 = 0.01 (unit: Mb/s)

3rd source starts with rate v0

Source 1

Source 1

With Slow Start

Without Slow Starttime

time

rate (all 3 sources)Source 3

Source 3

Page 43: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

43

Page 44: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Plan of This Module

1. Congestion control: theory 2. Application to the Internet

44

Page 45: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Congestion Control in the Internet is in TCPTCP is used to avoid congestion in the Internet

in addition to what was shown:

a TCP source adjusts its window to the congestion status of the Internet(slow start, congestion avoidance)

this avoids congestion collapse and ensures some fairness

TCP sources interprets losses as a negative feedbackuse to reduce the sending rate

UDP sources are a problem for the Internetuse for long lived sessions (ex: RealAudio) is a threat: congestion collapse

UDP sources should imitate TCP : “TCP friendly”

45

Page 46: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

TCP Congestion Control is based on AIMD

TCP adjusts the window size (in addition to offered window ie credit mechanism)

W = min (cwnd, OfferedWindow)

Principles of TCP Congestion Controlnegative feedback = loss, positive feedback = ACK received

Additive Increase (1 MSS), Multiplicative Decrease (0.5)

Slow start with increase factor = 2

Reaction to loss depends on nature of loss detectionLoss detected by timeout => slow start

Loss detected by fast retransmit or selective Ack => no slow start

46

Page 47: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

A Trace

47

created from data from: IEEE Transactions on Networking, Oct. 95, “TCP Vegas”, L. Brakmo and L. Petersen

twnd

cwnd

A B C

0 1 2 3 4 5 6 7 8 9

60

30

0

Bytes

seconds

Page 48: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

A Trace

48

created from data from: IEEE Transactions on Networking, Oct. 95, “TCP Vegas”, L. Brakmo and L. Petersen

twnd

cwnd

congestion avoidanceslowstart congestion avoidance

A B C

B C

0 1 2 3 4 5 6 7 8 9

60

30

0

Bytes

seconds

Page 49: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

How AIMD is ApproximatedMultiplicative decrease (on loss detection by timeout)

twnd = 0.5 × current_window

twnd = max (twnd, 2 × MSS)

Additive increasefor each ACK received

twnd = twnd + MSS × MSS / twnd This is equivalent in packets to

twnd = min (twnd, max-size) (64KB)

49

twnd=

1 MSS

32 4

Page 50: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

How multiplicative increase (Slow Start) is approximated

non dupl. ack received during slow start ->

cwnd = cwnd + MSS (in bytes) (1)if cwnd = twnd then transition to congestion avoidance

(1) is equivalent in packets to

50

32 5cwnd = 1 seg 4 6 7 8

Page 51: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

AIMD and Slow Start are Implemented as a Finite State Machine

“Congestion Avoidance” = phase of additive increase“Slow start” = phase of slow start, as according to theoryMultiplicative decrease is implemented as a state transition

51

additive increaseadditive increase

multiplicative decrease

slow start

loss

loss

Congestion avoidance Congestion avoidance

Page 52: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Slow Start and Congestion Avoidance

52

exponential increase for cwnd until cwnd = twnd

Slow Start

additiveincrease for twnd, cwnd = twnd

CongestionAvoidance

cwnd = twnd

retransmissiontimeout:

- multiplicative decrease for twnd- cwnd = 1 seg

retransmissiontimeout:

- multiplicative decrease for twnd- cwnd = 1 seg

connection opening: twnd = 65535 Bcwnd = 1 seg

notesthis shows only 2 states out of 3twnd = target window

Page 53: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Fast Recovery

Slow start used when we assume that the network condition is newinitial phase, major change

guessed by timeout expiration

In all other packet loss detection events, slow start is not used, but “fast recovery” is used instead

target window is halved

but temporary window size increase is allowed to help recover losseswhen a loss occurs, the sending rate is no longer approximated by the W/RTT

53

Page 54: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Fast Retransmit

Fast Retransmit triggers Fast Recovery at time t1assume cwnd = 4 when P4 is sent

fast recovery increases window and allows to send P7

at time t2, cwd is set to 2

54

×

P1 P2 P3 P4 P5 P6 P3 P7

A1 A2 A2 A2 A2 A?

t1 t2

Page 55: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Fast Recovery Details

Multiplicative decreasetwnd = 0.5 × current-sizetwnd = max (twnd, 2 × MSS)

Fast Recoverycwnd = twnd + 3 × MSS (exp. increase)cwnd = min (cwnd, 64K)retransmission of the missing segment (n)

For each duplicated ACKcwnd = cwnd + MSS (exp. increase)cwnd = min (cwnd, 64K)send following segments

55

Page 56: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Fast Recovery Example

56

twnd

cwnd0 1 2 3 4 5 6

60

30

0

Bytes

secondsE F

A B C D E F

A-B, E-F: fast recoveryC-D: slow start

Page 57: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

TCP Congestion Control Has Three States

57

Slow Start

- exponentialincrease

CongestionAvoidance

- additiveincrease

FastRecovery

- exponential increase

beyond twnd

new connection:

retr. timeout:

cwnd = twnd:

retr. timeout:

retr. timeout: expected ack received:

fast retransmit:

fast retransmit:

Page 58: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Fairness of TCP

TCP implements some approximation of AIMDAIMD is designed to be approximately fair in a single link scenarioQ: what happens in a network ? Does TCP distribute rates according to max-min fairness or proportional fairness ?

58

Page 59: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Fairness of TCP

A: TCP tends to distribute rate so as to maximize utility of source given by

with xi = rate, τi = RTT for source i(proof: see lecture notes)

Assume all sources have same RTT. For rates that are not too small and not too large, this is close to proportional fairness (but a little closer to max-min fairness)

59

Page 60: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

TCP Bias Against Large RTTs

TCP tends to distribute rate so as to maximize utility of source given by

For sources with different RTTs, there is a bias

60

Page 61: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Fairness of TCP

61

Example network with two TCP sourceslink capacity, delaylimited queues on the link (8 segments)

NS simulation

routerdestination

10 Mb/s, 20 ms 1 Mb/s 10 ms

10 Mb/s, 60 ms 8 seg. 8 seg.

S1

S2

Page 62: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Throughput in time

62

time

ACK numbersS1

S2

Page 63: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Bias of TCP Against Large RTTs

A source that uses many hops obtains less becauseit uses more resources (≈ proportional fairness) – desired bias

it has a longer RTT – undesired bias

Cause is additive increase is one packet per RTT

63

Page 64: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

AQM

By default. routers drop packets when buffers are fullthis is called “Tail Drop”

Issuesbuffers fill, then drop -> buffers are full most of the time

produces large average delayslarge queuing delay => large RTT => smaller TCP throughput

also: produces very irregular behaviour

but buffers are needed to amortize bursts

Solutionactive queue management (AQM)

drop packets before buffer is full, based on estimation of traffic load

64

Page 65: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

RED (Random Early Detection)

RED is the first AQM scheme proposed today, the only one in usePrinciples

queue estimates its average queue length avg ← a × measured + (1 - a) × avgincoming packet is dropped with a probability that depends on avgroughly speaking. drop proba is read from the curve below + uniformization procedure

65

avgth-min th-maxmax-p

1

q

Page 66: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Example network for RED

66

Example network with three TCP sourcesdifferent link delayslimited queues on the link (20 packets)

routerdestination

2 Mb/s, 10 ms

2 Mb/s 100 ms2 Mb/s, 60 ms

2 Mb/s, 100 ms20 seg. 20 seg.

S1

S3

S2

Page 67: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Throughput vs Time, with Tail Drop

67

time

ACK numbersS1

S2

S3

Page 68: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Throughput vs Time, with RED

68

time

ACK numbers S1

S2

S3

RED makes the buffer closer to a fluid queuing system

Page 69: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

TCP Loss - Throughput Formula

69

Consider a large TCP connection (many bytes to transmit)Assume we observe that, in average, a fraction q of packets is lost (or marked with ECN)Can we say something about the expected throughput for this connection ?

Page 70: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

TCP Loss - Throughput Formula

70

TCP connection with RTT Tsegment size Laverage packet loss ratio qconstant C = 1.22

Transmission time negligible compared to RTT, losses are rare, time spent in Slow Start and Fast Recovery negligible

Page 71: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Example

Q. Guess the ratio between the throughputs θ1 and θ2 and of S1 and S2

71

routerdestination

10 Mb/s, 20 ms 1 Mb/s 10 ms

10 Mb/s, 60 ms 8 seg. 8 seg.

S1

S2

solution

Page 72: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

TCP Friendly Applications

All TCP/IP applications that generate long lived flows should mimic the behavior of a TCP source

RTP/UDP flow sending video/audio data

Adaptive algorithmapplication determines the sending rate

feedback - amount of lost packets, loss ratio

sending rate = rate of a TCP flow experiencing the same loss ratio

72

Page 73: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Facts to remember

73

TCP performs congestion control in end-systemssender increases its sending window until loss occurs, then decreases

additive increase (no loss) multiplicative decrease (loss)

TCP states slow start, congestion avoidance, fast recovery

Negative bias towards long round trip timesUDP applications should behave like TCP with the same loss rate

Page 74: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Congestion Control: SummaryCongestion control aims at avoiding congestion collapse in the networkWith TCP/IP, performed in end-systems, mainly with TCPTCP Congestion control summaryPrinciple: sender increases its sending window until losses occur, then decrease

target window: additive increase (no loss), multiplicative decrease (loss)3 phases:slow start: starts with 1, exponential increase up to twnd

congestion avoidance:additive increase until loss or no increasefast recovery: fast retransmission of one segmentslow start entered at setup or after retransmission timeoutfast recovery entered at fast retransmit

74

additive increase additive increasemultiplicative decrease

slow start

lossloss

Page 75: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Solutions

75

Page 76: Congestion Control In The Internet - EPFL ICicaTheory of Congestion Control What you have to learn in this first part: 1. What is the problem; congestion collapse 2. Efficiency versus

Example

Q. Guess the ratio between the throughputs θ1 and θ2 and of S1 and S2

A. If processing time is negligible and router drops packets in the same proportion for all flows, then throughput is proportional to 1/RTT, thus

76

routerdestination

10 Mb/s, 20 ms 1 Mb/s 10 ms

10 Mb/s, 60 ms 8 seg. 8 seg.

S1

S2

time

ACK numbers S1

S2

back


Recommended