congestion control algorithms : open questions
DESCRIPTION
Congestion Control Algorithms : Open Questions. Benno Overeinder NLnet Labs. What This Talk is Not About. Details of TCP congestion avoidance and control algorithms Research on improvements of TCP congestion avoidance algorithms Measurements of TCP congestion avoidance algorithm performance - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Congestion Control Algorithms : Open Questions](https://reader036.vdocuments.us/reader036/viewer/2022062316/5681677e550346895ddc8562/html5/thumbnails/1.jpg)
http://www.nlnetlabs.nl/
Congestion Control Algorithms: Open Questions
Benno Overeinder
NLnet Labs
![Page 2: Congestion Control Algorithms : Open Questions](https://reader036.vdocuments.us/reader036/viewer/2022062316/5681677e550346895ddc8562/html5/thumbnails/2.jpg)
http://www.nlnetlabs.nl/ NLnetLabs
What This Talk is Not About• Details of TCP congestion avoidance and control
algorithms• Research on improvements of TCP congestion
avoidance algorithms• Measurements of TCP congestion avoidance
algorithm performance• None of this, but
– highlight current open question and future research
![Page 3: Congestion Control Algorithms : Open Questions](https://reader036.vdocuments.us/reader036/viewer/2022062316/5681677e550346895ddc8562/html5/thumbnails/3.jpg)
http://www.nlnetlabs.nl/ NLnetLabs
Congestion Control Over the Years
• Global congestion collapse (1986)• TCP Tahoe (1988) and TCP Reno (1990)• TCP New Reno (1998)• …• TCP over long fat networks (2002–2003)• TCP and bufferbloat (2011)
![Page 4: Congestion Control Algorithms : Open Questions](https://reader036.vdocuments.us/reader036/viewer/2022062316/5681677e550346895ddc8562/html5/thumbnails/4.jpg)
http://www.nlnetlabs.nl/ NLnetLabs
Common Congestion Control Algorithms
• FreeBSD/Solaris– TCP New Reno– Reno: “classic” congestion avoidance – improves retransmission during the fast-recovery phase
• Linux– TCP CUBIC– BIC: optimized congestion control algorithm for LFN– CUBIC: less aggressive and more systematic derivative
• Windows– Compound TCP– achieve good performance for LFNs, while not harm fairness
![Page 5: Congestion Control Algorithms : Open Questions](https://reader036.vdocuments.us/reader036/viewer/2022062316/5681677e550346895ddc8562/html5/thumbnails/5.jpg)
http://www.nlnetlabs.nl/ NLnetLabs
Fairness
One mechanism at a time Mixed mechanisms
![Page 6: Congestion Control Algorithms : Open Questions](https://reader036.vdocuments.us/reader036/viewer/2022062316/5681677e550346895ddc8562/html5/thumbnails/6.jpg)
http://www.nlnetlabs.nl/ NLnetLabs
SHAPE OF CONGESTION WINDOW INCREASE FUNCTION
![Page 7: Congestion Control Algorithms : Open Questions](https://reader036.vdocuments.us/reader036/viewer/2022062316/5681677e550346895ddc8562/html5/thumbnails/7.jpg)
http://www.nlnetlabs.nl/ NLnetLabs
Shape of Congestion Window Increase Function
![Page 8: Congestion Control Algorithms : Open Questions](https://reader036.vdocuments.us/reader036/viewer/2022062316/5681677e550346895ddc8562/html5/thumbnails/8.jpg)
http://www.nlnetlabs.nl/ NLnetLabs
Convex vs. Concave-Convex: H-TCP vs. CUBIC
![Page 9: Congestion Control Algorithms : Open Questions](https://reader036.vdocuments.us/reader036/viewer/2022062316/5681677e550346895ddc8562/html5/thumbnails/9.jpg)
http://www.nlnetlabs.nl/ NLnetLabs
Distribution of cwnd for Convex and Concave Increase
Distribution of cwnd at back-off for convex and concave updatesversus loss probability. Key: + convex, o concave-convex
![Page 10: Congestion Control Algorithms : Open Questions](https://reader036.vdocuments.us/reader036/viewer/2022062316/5681677e550346895ddc8562/html5/thumbnails/10.jpg)
http://www.nlnetlabs.nl/ NLnetLabs
BUFFERING AND BUFFERBLOAT
![Page 11: Congestion Control Algorithms : Open Questions](https://reader036.vdocuments.us/reader036/viewer/2022062316/5681677e550346895ddc8562/html5/thumbnails/11.jpg)
http://www.nlnetlabs.nl/ NLnetLabs
Impact of Buffering
Throughput and cwnd for Reno, buffer size 1 x BPD, 10 MBps link, 100 ms RTT.
With buffering, flow throughput and cwnd are fundamentally different quantities, and only weakly related.
![Page 12: Congestion Control Algorithms : Open Questions](https://reader036.vdocuments.us/reader036/viewer/2022062316/5681677e550346895ddc8562/html5/thumbnails/12.jpg)
http://www.nlnetlabs.nl/ NLnetLabs
Bufferbloat• Trend to provide large buffers to network equipment
– rule of thumb buffer to accommodate 250 ms traffic– e.g., 1 Gb/s interface requires 32 MB buffer
• Flow of packets slows down traveling from fast to slow network– buffer absorbs, temporary delay packets – packets queued in network only drops if buffer is full
• TCP congestion algorithm– relies on packet drops to determine available bandwidth– keeps speeding up and slowing down the transmission rate to find
equilibrium– packet drops must occur in a timely manner– …
![Page 13: Congestion Control Algorithms : Open Questions](https://reader036.vdocuments.us/reader036/viewer/2022062316/5681677e550346895ddc8562/html5/thumbnails/13.jpg)
http://www.nlnetlabs.nl/ NLnetLabs
Active Queue Management (AQM)
• Random Early Detection (RED)– random and early notification of congestion– variants FRED, SRED, with notion of flows– no synchronisation à la drop-tail
• CHOKe– penalize misbehaving flows– similar to SRED, but less complex
• CoDel– improve overall performance of RED– easier to manage, does not require manual configuration
![Page 14: Congestion Control Algorithms : Open Questions](https://reader036.vdocuments.us/reader036/viewer/2022062316/5681677e550346895ddc8562/html5/thumbnails/14.jpg)
http://www.nlnetlabs.nl/ NLnetLabs
Congestion Control, Latency, and AQM
![Page 15: Congestion Control Algorithms : Open Questions](https://reader036.vdocuments.us/reader036/viewer/2022062316/5681677e550346895ddc8562/html5/thumbnails/15.jpg)
http://www.nlnetlabs.nl/ NLnetLabs
CONCLUDING
![Page 16: Congestion Control Algorithms : Open Questions](https://reader036.vdocuments.us/reader036/viewer/2022062316/5681677e550346895ddc8562/html5/thumbnails/16.jpg)
http://www.nlnetlabs.nl/ NLnetLabs
Remy Computer-Generated Congestion Control
• Specify– prior knowledge and
assumptions of network– objective to achieve (e.g.,
throughput and delay)
• Outperforms existing (w/ ns2 simulations)– TCP New Reno, TCP Cubic,
Compound (at end-points)– in many cases outperforms
Cubic/FQ-CoDeL (requires network changes) Results for dumbbell topology, n=12,
15 Mbps.
![Page 17: Congestion Control Algorithms : Open Questions](https://reader036.vdocuments.us/reader036/viewer/2022062316/5681677e550346895ddc8562/html5/thumbnails/17.jpg)
http://www.nlnetlabs.nl/ NLnetLabs
Summary• Congestion control problem has changed
– from: there is congestion, what do we do?– via: networks are empty, what do we do?– to: how do we get all this stuff deployed and let it interoperate?
• After 20+ years still interesting and important problem• One size does not fit all?
– FreeBSD modCC dynamic load/unload CC algorithm– For discussion: Internet at large might agree on model to prepare a
“one-size-fits-all” Remy?
• IETF/IRTF– IETF: AQM, CONEX, RMCAT– IRTF: ICCRG