1 / 17

Congestion Avoidance and Control V. Jacobson, SIGCOMM, 1988

Topics on Computer Network. Congestion Avoidance and Control V. Jacobson, SIGCOMM, 1988. Multimedia Communications LAB at HUFS Pyoung-jae , Lee ( whitewyrm@hufs.ac.kr ). Congestion Problem. Congestion Load exceeds the capacity of the network Overflow at router queues Problem

oscar-walsh
Download Presentation

Congestion Avoidance and Control V. Jacobson, SIGCOMM, 1988

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Topics on Computer Network Congestion Avoidance and ControlV. Jacobson, SIGCOMM, 1988 Multimedia Communications LAB at HUFS Pyoung-jae, Lee (whitewyrm@hufs.ac.kr)

  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

  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

  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 exited • The equilibrium can’t be reached because of resource limits along the path

  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

  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

  7. Getting to equilibrium: Slow-Start

  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

  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, where • Er(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

  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

  11. Conservation at equilibrium (round-trip timing)

  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

  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 length • N – constant • λ ≈ 0, no congestion • λ > 1, congestion • – Ln = λn L0, grows exponentially

  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

  15. Adapting to the path: congestion avoidance • On timeout: • cwnd = send window / 2 • On ack: • cwnd += 1 / cwnd • send window = min (rcv window, cwnd)

  16. Adapting to the path: congestion avoidance

  17. Result

More Related