network technologies essentials week 8: tcp congestion control compilation made by tim moors, unsw...
TRANSCRIPT
Network Technologies essentials
Week 8: TCP congestion control
Compilation made by Tim Moors, UNSW AustraliaOriginal slides by David Wetherall, University of WashingtonISBN-10: 0133766624 © 2014 For the book A. Tanenbaum and D. Wetherall: Computer Networks, 5th ed, Prentice-Hall, 2011
Tim added green graffiti
Note that videos are numbered 7-*
Computer Networks 2
Fast Retransmit (2)Ack 10Ack 11Ack 12Ack 13
. . .
Ack 13
Ack 13Ack 13
Data 14. . . Ack 13
Ack 20. . . . . .
Data 20Third duplicate ACK, so send 14 Retransmission fills
in the hole at 14ACK jumps after loss is repaired
. . . . . .
Data 14 was lost earlier, but
got 15 to 20
7-7.6
Computer Networks 3
Effects of Congestion (2)• What happens to performance as we increase the load?
7-1.8
Computer Networks 4
Efficiency vs. Fairness (3)• If we care about efficiency:– Maximize total traffic in network– AB: 1 unit, BC: 1, and AC, 0 – Total traffic rises to 2 units!
A B C1 1
7-2.6
Computer Networks 5
Adapting over Time (2)
Flow 1 slows when Flow 2 starts
Flow 1 speeds up when Flow 2 stops
Time
Flow 3 limit is elsewhere
7-2.17
Computer Networks 6
AIMD Game (3)• AI and MD move the allocation
Host 1
Host 20 1
1
Fair, y=x
Efficient, x+y=1
OptimalAllocation
Congested
MultiplicativeDecrease
AdditiveIncrease
7-3.9
Computer Networks 7
AIMD Game (5)• Always converge to good allocation!
Host 1
Host 20 1
1
Fair
Efficient
Congested
A starting point
7-3.11
Computer Networks 8
Benefit of ACK Clocking (2)• Segments are buffered and spread out on slow link
Fast link Fast linkSlow (bottleneck) link
Segments “spread out”
7-5.5
Computer Networks 9
Additive Increase Timeline
Increment cwnd by 1 packet every cwnd ACKs (or 1 RTT)
7-6.9
Computer Networks 10
Slow-Start Solution• Start by doubling cwnd every RTT– Exponential growth (1, 2, 4, 8, 16, …)– Start slow, quickly reach large values
AI
Fixed
TimeWin
dow
(cw
nd)
Slow-start
7-6.5
Computer Networks 12
Fast Recovery (2)
Ack 12Ack 13Ack 13
Ack 13Ack 13
Data 14Ack 13
Ack 20. . . . . .
Data 20Third duplicate ACK, so send 14
Data 14 was lost earlier, but
got 15 to 20
Retransmission fills in the hole at 14
Set ssthresh, cwnd = cwnd/2
Data 21Data 22
More ACKs advance window; may send
segments before jump
Ack 13
Exit Fast Recovery
7-7.10
Computer Networks 14
ECN (Explicit Congestion Notification)• Router detects the onset of congestion via its queue– When congested, it marks affected packets (IP header)
7-8.5