congestion control algorithms : open questions

17
http:// www.nlnetlabs.nl/ Congestion Control Algorithms: Open Questions Benno Overeinder NLnet Labs

Upload: chesna

Post on 24-Feb-2016

54 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Congestion  Control Algorithms : Open Questions

http://www.nlnetlabs.nl/

Congestion Control Algorithms: Open Questions

Benno Overeinder

NLnet Labs

Page 2: Congestion  Control Algorithms : Open Questions

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

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

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

http://www.nlnetlabs.nl/ NLnetLabs

Fairness

One mechanism at a time Mixed mechanisms

Page 6: Congestion  Control Algorithms : Open Questions

http://www.nlnetlabs.nl/ NLnetLabs

SHAPE OF CONGESTION WINDOW INCREASE FUNCTION

Page 7: Congestion  Control Algorithms : Open Questions

http://www.nlnetlabs.nl/ NLnetLabs

Shape of Congestion Window Increase Function

Page 8: Congestion  Control Algorithms : Open Questions

http://www.nlnetlabs.nl/ NLnetLabs

Convex vs. Concave-Convex: H-TCP vs. CUBIC

Page 9: Congestion  Control Algorithms : Open Questions

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

http://www.nlnetlabs.nl/ NLnetLabs

BUFFERING AND BUFFERBLOAT

Page 11: Congestion  Control Algorithms : Open Questions

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

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

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

http://www.nlnetlabs.nl/ NLnetLabs

Congestion Control, Latency, and AQM

Page 15: Congestion  Control Algorithms : Open Questions

http://www.nlnetlabs.nl/ NLnetLabs

CONCLUDING

Page 16: Congestion  Control Algorithms : Open Questions

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

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