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
http://www.nlnetlabs.nl/
Congestion Control Algorithms: Open Questions
Benno Overeinder
NLnet Labs
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
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)
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
http://www.nlnetlabs.nl/ NLnetLabs
Fairness
One mechanism at a time Mixed mechanisms
http://www.nlnetlabs.nl/ NLnetLabs
SHAPE OF CONGESTION WINDOW INCREASE FUNCTION
http://www.nlnetlabs.nl/ NLnetLabs
Shape of Congestion Window Increase Function
http://www.nlnetlabs.nl/ NLnetLabs
Convex vs. Concave-Convex: H-TCP vs. CUBIC
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
http://www.nlnetlabs.nl/ NLnetLabs
BUFFERING AND BUFFERBLOAT
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.
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– …
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
http://www.nlnetlabs.nl/ NLnetLabs
Congestion Control, Latency, and AQM
http://www.nlnetlabs.nl/ NLnetLabs
CONCLUDING
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.
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