congestion avoidance and control v. jacobson, sigcomm, 1988

17
Congestion Avoidance and Contr ol V. Jacobson, SIGCOMM, 1988 Multimedia Communications LAB at HUFS Pyoung-jae, Lee ([email protected] ) Topics on Computer Network

Upload: oscar-walsh

Post on 02-Jan-2016

47 views

Category:

Documents


1 download

DESCRIPTION

Topics on Computer Network. Congestion Avoidance and Control V. Jacobson, SIGCOMM, 1988. Multimedia Communications LAB at HUFS Pyoung-jae , Lee ( [email protected] ). Congestion Problem. Congestion Load exceeds the capacity of the network Overflow at router queues Problem - PowerPoint PPT Presentation

TRANSCRIPT

Congestion Avoidance and Control

V. Jacobson, SIGCOMM, 1988Multimedia Communications LAB at HUFS Pyoung-jae, Lee ([email protected])

Topics on Computer Network

Page 2

Congestion Problem

Congestion Load exceeds the capacity of the network Overflow at router queues

Problem Wasted bandwidth(retransmission required) Unpredictable delay

October 1986: first “congestion collapse” Caused by TCP retransmissions

Page 3

Congestion Problem

Congestion problem has become more severe as the computer network grows

New algorithm forcing the “packet conservation” can be used to achieve network stability i) round-trip-time variance estimation ii) exponential retransmit timer backoff iii) slow-start iv) more aggressive receiver ack policy v) dynamic window sizing on congestion

Page 4

“Conservation of packets” principle

Equilibrium = “stable, full window of data in transit” “Conservation” packet flow

New is not put into network until an old leaves Possible problems with packet conservation

The connection doesn’t get to equilibrium A sender injects a new packet before and old packet has ex-

ited The equilibrium can’t be reached because of resource limits

along the path

Page 5

Getting to equilibrium: Slow-Start

Self-clocking Automatically adjusts to BW & delay variations Sender uses ACK as a ‘clock’ Hard to start

Packet size(area) = BW x time

Page 6

Getting to equilibrium: Slow-Start

Add a congestion window to the per-connection state When starting or restarting after a loss, set congestion window

to on packet Cwnd = 1 packet

On each ack for new data, increase congestion window by one packet Cwnd += 1 packet

When sending, send the minimum of the receiver’s advertised window and congestion window Send window = min(rcv window, cwnd)

“Slow” is misnomer Rate grows exponentially R log2 W

R: round trip time W: window size in packets

Page 7

Getting to equilibrium: Slow-Start

Page 8

Conservation at equilibrium (round-trip timing)

Need good estimate of RTT mean estimate( ) RTT variation estimate

Increase quickly with load

TCP Estimating mean round trip time(RFC793)

Next packet sent

RFC813 suggests: = 2

MRR )1(

R

R

Page 9

Conservation at equilibrium (round-trip timing)

RTT estimation, theory

• A := (1-g)A + gM, 0 < g < 1

• A := A + g(M-A)(after rearranging)M-A = Er + Ee, whereEr (random error): due to noise in measurement

Ee (estimation error): due to bad choice of A

• A := A + gEr + gEe, we want large g to get most of Ee, but small g to reduce Er• Usually take 0.1 ≤ g ≤ 0.2

Page 10

Conservation at equilibrium (round-trip timing)

RTT estimation

• Goal: estimate variance of M

• σ2 = Σ |M-A|2– Squaring can cause overflow– Use mean deviation instead– mdev = Σ | M – A |

• mdev2 = (Σ | M – A |) 2 ≤ Σ | M – A |2 = σ2

• For normal distribution:mdev = sqrt( π/2 ) sdev ≈ 1.25 sdev

Page 11

Conservation at equilibrium (round-trip timing)

Page 12

Adapting to the path: congestion avoidance

Reasons that cause time out Packets damaged in transit Packets lost due to insufficient buffer

Congestion avoidance The network must be able to signal the transport endpoints

that congestion is occurring The endpoints must have a policy that decreases utilization

Page 13

Adapting to the path: congestion avoidance

Network congestion model

System stabilizes only if traffic is reduced as quickly as queues are growing

Li = N + λ Li-1,Li – load at interval i, average queue lengthN – constant

λ ≈ 0, no congestionλ > 1, congestion– Ln = λn L0, grows exponentially

Page 14

Adapting to the path: congestion avoidance

On congestion:

If no congestion detected

Wi = d Wi-1 (d < 1)

Take d = 0.5, Wi = Wi-1 / 2

Wi = Wi-1 + u (u << Wmax)Take u = 1, so Wi = Wi-1 + 1

Page 15

Adapting to the path: congestion avoidance

On timeout: cwnd = send window / 2

On ack: cwnd += 1 / cwnd

send window = min (rcv window, cwnd)

Page 16

Adapting to the path: congestion avoidance

Page 17

Result