170 likes | 340 Views
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
E N D
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 • None of this, but • highlight current open question and future research
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)
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
Fairness One mechanism at a time Mixed mechanisms
Distribution of cwnd for Convex and Concave Increase Distribution of cwnd at back-off for convex and concave updates versus loss probability. Key: + convex, o concave-convex
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.
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 • …
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
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.
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