RoN Congestion Avoidance 2013-12-11

advertisement
Congestion Control
Algorithms: Open Questions
Benno Overeinder
NLnet Labs
http://www.nlnetlabs.nl/
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/
NLnet
Labs
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/
NLnet
Labs
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/
NLnet
Labs
Fairness
One mechanism at a time
http://www.nlnetlabs.nl/
Mixed mechanisms
NLnet
Labs
SHAPE OF CONGESTION WINDOW
INCREASE FUNCTION
http://www.nlnetlabs.nl/
NLnet
Labs
Shape of Congestion Window
Increase Function
http://www.nlnetlabs.nl/
NLnet
Labs
2
15000
Cubic W
Cubic W
max
max
=0.8W
=0.9W
H−TCP
10000
cwnd (packets)
ase
at a
ing
can
her
nate
on
ere
offs
d to
with
Convex vs. Concave-Convex:
H-TCP vs. CUBIC
apehttp://www.nlnetlabs.nl/
5000
0
0
5
10
15
20
25
time (s)
30
35
40
45
50
NLnet
Labs
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
http://www.nlnetlabs.nl/
NLnet
Labs
BUFFERING AND BUFFERBLOAT
http://www.nlnetlabs.nl/
NLnet
Labs
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/
NLnet
Labs
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/
NLnet
Labs
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/
NLnet
Labs
Congestion Control, Latency,
and AQM
2
http://www.nlnetlabs.nl/ Figure 3 Realtime Response Under Load (RRUL) test results
NLnet
Labs
CONCLUDING
http://www.nlnetlabs.nl/
NLnet
Labs
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)
http://www.nlnetlabs.nl/
Results for dumbbell topology, n=12,
15 Mbps.
NLnet
Labs
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
http://www.nlnetlabs.nl/
NLnet
Labs
Download