150 likes | 319 Views
CSE679: Buffer Management. Drop Tail RED Advanced RED. Network Congestion. Congestion results in buffer backlog Eventually, packets have to be dropped Packet drops indicate congestion to senders Senders eventually backoff to reduce congestion
E N D
CSE679: Buffer Management • Drop Tail • RED • Advanced RED
Network Congestion • Congestion results in buffer backlog • Eventually, packets have to be dropped • Packet drops indicate congestion to senders • Senders eventually backoff to reduce congestion • Usual mode of dropping packets at router - DropTail
Problems with DropTail • No indication of congestion until late • May drop several packets at once - leads to global synchronization of flows • Can lead to oscillations of high-low link utilization • Aggressive flows can kill all other flows
Early Congestion Indication • Notify congestion earlier • Individual flows reduce rates at different times -- reducing synchronization problems • Various techniques for early congestion indication/notification • Random Early Drop -- drop packets randomly when queues are starting to buildup
Random Early Detection • Two thresholds, min, max of queue lengths • In between , mark/drop packets randomly • Inform flows early on, avoid global synchronization • Reduces average queue lengths, delays • Flows with higher rates have more packets dropped - fairer distribution of BW
RED Work Flow For each packet arrival, calculate the average queue size avg if min avg < max calculate probability pa, mark arriving packet with probability pa else if max avg, mark the arriving packet
RED Parameters • Pa = maxp*(avg - min)/(max -min) • avg = (1-w)*avg + w * q • count measures the number of packet arrivals since the last marked packet if queue length is between min and max
RED Drop p max min Queue length
RED Properties • Maintains queue lengths low • Allows high utilization of links without oscillations/global synchronization • Higher rate flows get dropped more often -leads to fairer sharing than DropTail • Aggressive flows can still shut down ‘nice’ applications • Small RTT bias of TCP still present
RED Properties (more) • FIFO scheduling - doesn’t provide flow isolation - one aggressive flow can hog all the buffers • Favors ‘robust’ applications (ftp) over ‘fragile’ applications (telnet) • FRED - Per Flow RED employs RED and per-flow queuing to solve some of these problems
How to Enhance RED? • Per-flow Queuing based RED • QFRED by Harvard • LQD-RED by Bell Lab
FRED • Applies RED per flow • Aggressive flows may have packets dropped while others have no drops • Per-flow RED isolates flows • Solves the problem of aggressive flows • Can allocate BW fairly
Issues in FRED • Difficult to maintain queues for each flow • In backbone routers, may have thousands or millions of flows • Difficult to sort packets based on “flows” and to figure out scheduling order • Scalability is an issue • How to provide flow isolation that can scale?
More New RED • BRED (Balanced RED) by Maryland at College Park • RED + recoding buffer occupancy of each flows • SRED (Stabilized RED) by Bell core • RED + estimating the buffer occupancy of each flows • Choke by Stanford • RED + random picking a packet from queue and comparing • Etc.
Conclusion • RED provides fairer sharing than DropTail • RED simple to implement • RED cannot contain aggressive flows • Enhanced RED