Advanced Computer Networks: Lecture 37. This lecture will cover the following: router-based congestion avoidance; DECbit - destination experiencing congestion bit; DECbit – average queue length; random early detection (RED) gateways; weighted running average queue length;...
CS716 Advanced Computer Networks By Dr. Amir Qayyum 1 Lecture No. 37 Congestion Control • Basics: problem, terminology, approaches, metrics • Solutions – Routerbased: queuing disciplines – Hostbased: TCP congestion control • Routerbased congestion avoidance – DECbit – RED gateways • Quality of service Routerbased Congestion Avoidance DECbit: Destination Experiencing Congestion bit • Developed for Digital Network Architecture • Basic idea – One bit allocated in packet header – Any router experiencing congestion sets bit – Destination returns bit to source – Source adjusts rate based on bits • Note that responsibility is shared – Routers identify congestion – Hosts act to avoid congestion DECbit (continued) • Routers – Calculate average queue length – Averaging interval spans last busy+idle cycles • busy: queue is nonempty • 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 DECbit – Average Queue Length 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 Congestion Control • Basics: problem, terminology, approaches, metrics • Solutions – Routerbased: queuing disciplines – Hostbased: TCP congestion control • Routerbased congestion avoidance – DECbit – RED gateways • Quality of service Random Early Detection (RED) Gateways • Developed for use with TCP • Basic idea – Implicit rather than explicit notification – When a router is “almost” congested – Drop packets randomly • Responsibility is again shared – Router identifies, host acts – Relies on TCP’s response to dropped packets 10 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 17 Tuning the RED Gateways • Drops roughly in proportion to flow bandwidths • Queue size changes – Due to difference in input/output rates – Notrelatedabsolutemagnitudeofthoserates ã minmustallowreasonablelinkutilization ã Differencebetweenminandmaxthresholds Largeenoughtoabsorbburstiness Inpractice,canusemax=2ìmin ã Use penalty box for offenders! 18 Hostbased Congestion Avoidance TCP Vegas – Basic Idea • Watch for signs of queue growth • In particular, difference between – Increasing congestion window – Stable throughput (presumably at maximum capacity) • Keep just enough “extra data” in the network – Time to react if bandwidth decreases – Data available if bandwidth increases 20 Trace of TCP Vegas Congestion Avoidance Mechanism 21 TCP Vegas Implementation • Estimate uncongested 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 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) 23 Congestion Control & Resource Allocation • Basics: problem, terminology, approaches, metrics • Solutions – Routerbased: queuing disciplines – Hostbased: TCP congestion control • Routerbased congestion avoidance – DECbit – RED gateways • Quality of service 24 Quality of Service Outline – Realtime Applications – Integrated Services – Differentiated Services 25 Quality of Service How “good” are late data and lowthroughput channels? It depends on the application. Do you care if your email 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 Rescue15 takes 1/2 hour to go through your nifty new IP phone service? 26 Quality of Service • Highthroughput allows new classes of applications – Some are sensitive to network delay, e.g. voice, video – Called realtime applications – Control applications (e.g. factories) • More an issue of possible starvation (see below) • But fit within QoS framework 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 28 Quality of Service • Within the United States, for example – Base RTT (no queuing delay) peaks around 75 ms – Actual RTT is often 10100 ms • Humans notice about 50 ms delay for voice • When in comparable regime, retransmission cannot satisfy, so – Use erasure codes across packets (e.g. FEC) , or – Support delay preferences in the network, called quality of service, or QoS 29 QoS Granularity • Finegrained: guarantees for individual flows, used in RSVP and ATM virtual circuits between applications • Coarsegrained: guarantees for flow, used in DIFFSERV and ATM VC’s between routers • IETF is standardizing extensions … 30 Real Time Applications • Require “deliver on time” assurances – Must come from inside the network Microphone Sampler A D converter Buffer D A Speaker • Example application (audio) – Sample voice once every 125µs – Each sample has a playback time – Packets experience variable delay in network – Add constant factor to playback time: playback point 31 .. .Lecture? ?No.? ?37 Congestion Control • Basics: problem, terminology, approaches, metrics • Solutions – Routerbased: queuing disciplines