Download Congestion Control: DECbit, RED Gateways and Quality of Service and more Slides Computer Networks in PDF only on Docsity! 1 Lecture No. 37 Docsity.com 2 Congestion Control • Basics: problem, terminology, approaches, metrics • Solutions – Router-based: queuing disciplines – Host-based: TCP congestion control • Router-based congestion avoidance – DECbit – RED gateways • Quality of service Docsity.com 5 DECbit (continued) • Routers – Calculate average queue length – Averaging interval spans last busy+idle cycles • busy: queue is non-empty • idle: queue is empty – Set DECbit when: average queue length >= 1 • Why 1? – Maximizes power function – Smaller values result in more idle time – Larger values result in more queuing delay Docsity.com DECbit — Average Queue Length
Queue length
Current
time
» Time
, —_I
Previous Current
—>|— —
cycle cycle
Averaging
interval
°
3 Docsity.com
7 DECbit (continued) • Hosts – Count number of marked packets in last congestion window of packets – Increase congestion window by 1 if less than 50% of packets marked – Decrease congestion window by factor of 7/8 if greater than or equal to 50% of packets marked • Why 50%? – Maximizes power function • Resurfaced as Explicit Congestion Notification (ECN) in last few years, proposed TCP extension Docsity.com Weighted Running Average Queue
length
Queue length
4
Instantaneous
\
\
Average
Time
_
10
Docsity.com
11 Random Early Detection (RED) Gateways • Hosts – Implement TCP congestion control – Back off when a packet is dropped • Routers calculate average queue length (as exponential moving average) length = (A) measurement + (1 – A) length • Routers act based on average queue length – Below minimum length, keep new packets – Above maximum length, drop new packets – Between the two, drop randomly Docsity.com RED Thresholds on a FIFO Queue
MaxThreshold
MinT
Nes
NO
AvgLen
12
Docsity.com
15 Random Early Detection (RED) Gateways • Router calculates – Base probability for drop: baseProb = MaxP × (length – minThresh) /(maxThresh – minThresh) – Actual probability for drop prob = baseProb / (1 – baseProb × count) Docsity.com 16 Random Early Detection (RED) Gateways • Parameter values – MaxP is typically 0.02 (drops roughly 1 in 50 packets at midpoint) – min (threshold) is typically max/2 • Choosing parameters – Carefully tuned to maximize power function – Confirmed through simulation – But answer depends on accuracy of traffic model – May create oscillating behavior in the Internet Docsity.com 17 Tuning the RED Gateways • Drops roughly in proportion to flow bandwidths • Queue size changes – Due to difference in input/output rates – Not related absolute magnitude of those rates • min must allow reasonable link utilization • Difference between min and max thresholds – Large enough to absorb burstiness – In practice, can use max = 2 × min • Use penalty box for offenders! Docsity.com Trace of TCP Vegas Congestion
Avoidance Mechanism
70, PU TU AME TAVTVTTOUTTTEATTEOT TET UE DTV TUE VUE VOD WUE AVE IEE AT ALATA
60
50
40
30
20
10
KB
T T T T T T
05 1.0 15 2.0 2.5 3.00 3.5 40 45 5.0 SS 6.0 65 7.0 7.5 8.0
Time (seconds)
240
, 200
S160
120
80
40
a
v
T T T T T T T T T T T T 1
05 1.0 15 2.0 2.5 3.0 3.5 40 45 50 S55 60 65 7.0 7.5 8.0
Time (seconds)
20
Docsity.com
21 TCP Vegas - Implementation • Estimate un-congested RTT, baseRTT, as minimum measured RTT • Calculate expected throughput as congestion window / baseRTT • Measure throughput each RTT – Mark time of sending distinguished packet – Calculate data sent between send time and receipt of ACK Docsity.com 22 TCP Vegas - Implementation • Act to keep the difference between estimated and actual throughput in a specified range – Below min threshold, increase congestion window – Above max threshold, decrease congestion window • Additive decrease used only to avoid congestion • Want between 1 and 3 packets of extra data (used to pick min/max thresholds) Docsity.com 25 Quality of Service How “good” are late data and low-throughput channels? It depends on the application. Do you care if... your e-mail takes 1/2 hour to reach your friend? you have to spend 1/2 hour to make a cheaper plane reservation on the Web? your call to Rescue-15 takes 1/2 hour to go through your nifty new IP phone service? Docsity.com 26 Quality of Service • High-throughput allows new classes of applications – Some are sensitive to network delay, e.g. voice, video – Called real-time applications – Control applications (e.g. factories) • More an issue of possible starvation (see below) • But fit within QoS framework Docsity.com 27 Quality of Service • How to achieve timely delivery – When actual RTT small (less than 2/3) relative to acceptable delay, retransmit – When base RTT (no queuing delay) large (greater than 2) relative to acceptable delay, impossible – Otherwise possible, but not through retransmission Docsity.com