congestion avoidance and control v. jacobson, sigcomm, 1988
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 PresentationTRANSCRIPT
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 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 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)