Transcript Document
AQM & TCP models Courtesy of Sally Floyd with ICIR Raj Jain with OSU Agenda • Queue management - Passive - Active • AQM: RED Variants • ECN • TCP models the majority in router • Passive queue management (PQM) – No preventive packet drop – Buffer level > threshold, drop packets – Two dropping schemes • Tail-drop • Drop-from-front Drop-tail Which is better? Drop-from-front Problems with PQM • A trade-off between the buffer size and QoS • Larger buffer results in higher throughput, but longer delay • Lock out: A single connection monopolises the buffer space – Give rise to fairness problem • Full queue: Queue is full for a long period of time – Long queuing delay Global synchronization Global Synchronization • When queue overflows, several connections decrease congestion windows simultaneously Bias Against Bursty Traffic • Bursty traffic more likely to be dropped average queue length V.S. Objective: Congestion Avoidance • Maintains low delay and high throughput – Average queue size kept low – Actual queue size grows enough to handle: • Bursty Traffic • Transient Congestion Active Queue Management (AQM) • Provide preventive measures to manage a buffer to eliminate problems associated with PQM • Characteristics: – Preventive random packet drop is performed before the buffer is full – The probability of preventive packet drop increases with the increasing level of congestion • Goals: – Reduce dropped packets – Support low-delay interactive services – Avoid lock-out Random Early Detection (RED) • A router maintains two thresholds: • Min_th: – Accept all packets until the queue reaches Min_th – Drop packets with a linear drop probability when the queue is greater than Min_th • Max_th: All packets are dropped with probability of 1 when the queue exceeds this threshold RED Algorithm drop probability 1 Max_drop minth maxth Q Selection of Maximum Drop Probability for RED • Selection of Max_drop significantly affects the performance of RED – Too small: Active packet drops not enough to prevent global synchronisation – Too large: Decreases the throughput – Optimal value depends on number of connections, round trip time, etc. • Selection of an optimal value for Max_drop remains an open issue RED: Calculating Average Queue Size • Use low-pass filter (exponential weighted moving average) avg (1 wq )avg wq q • wq should be small enough to filter out transient congestion, and large enough for the average to be responsive RED solves the problems • Drop packets when congestion eminent • Select packets at random • Use average queue length as indicator of congestion • Global synchronization • Transient congestion (short queue) • Bias against bursty Traffic RED Variants • RED variants can be classified into two categories: – Aggregate control • Modifying the calculation of the control variable and/or drop function • Determines packet drop probability – Per-flow control • Configuring and setting RED’s parameters • Addresses fairness problem BLUE (aggregate) • RED: depends only on Q length – For optimal operating point, long Q is necessary • Uses packet loss and link utilisation to measure network congestion directly • Fewer configuration parameters • Advantages: – Reduces packet loss rate – Keeps the gateway queue stable BLUE • Increases marking/dropping prob. when detects packet loss due to buffer overflow • Decreases marking/dropping prob. when detects that the marking prob. is too aggressive RED Variants Using Per-Flow Accounting • • • • Flow RED (FRED) Fair Buffering RED (FB-RED) XRED Class-Based Threshold RED (CBTRED) • Balanced RED (BRED) • Stochastic Fair Blue (SFB) Two variants • FRED (Fair RED) – fairness among TCP connection – uses per-active-flow accounting (flow’s use of buffer space) – Scalability problem • FBRED (Fair Buffering RED) – use of individual bandwidth delay product for each link to modify the packet drop probability • inverse of the bandwidth delay product to calculate Max_drop • inverse of the square root of the bandwidth delay product to calculate Max_drop Explicit congestion notification (ECN) RFC 3168 Packet dropped or packet marked • Instead of dropping packets, packets could be marked. Such marking is called ECN (explicit congestion notification) • The benefits of ECN – A packet does not have to be retransmitted. (Not that big of a deal when drop probabilities are small, e.g., 1%) – Has a dramatic effect when congestion window is small. • Because timeout is avoided. • But why is the congestion window small – If it small because the link is heavily congested, ECN might not be possible because the queue might truly be full. ECN in IP header ECT: ECN-capable transport TCP should change for ECN • TCP connection setup – Find out whether endpoints are ECNcapable • To inform sender of congestion – ECN-echo (ECE) flag in TCP header • To inform receiver of window reduction – Congestion Window Reduction (CWR) flag TCP throughput modeling Motivation for TCP Modeling • TCP operating scale is very large – Models are required to gain deeper understanding of TCP dynamics • Uncertainties can be modeled as stochastic processes • Drive the design of TCP-friendly algorithms for multimedia applications • Optimize TCP performance TCP Modeling Essentials • Mainly Reno flavors are modeled • Two main features are modeled – Window dynamics – Packet loss process Packet Loss Process • Packet loss triggers window decrease • Packet loss is uncertain • This uncertainty is typically modeled as a stochastic process – E.g. probability p of losing a packet Window Dynamics • Linear increase and multiplicative dec rease is modeled • The standard assumption – X(t) = W(t)/RTT Gallery of TCP Models • • • • • Periodic model Detailed packet loss model Finite state machine Fluid flow model And others… Periodic model TCP Congestion Control: window algorithm Window: can send W packets • increase window by one per RTT if no loss, W <- W+1 each RTT • decrease window by half on detection of loss W <- W/2 receiver W sender 1 RTT TCP Congestion Control: window algorithm Window: can send W packets • increase window by one per RTT if no loss, W <- W+1 each RTT • decrease window by half on detection of loss W < W/2, when receiving 3 DUPACKs receiver W sender TCP throughput/loss relationship loss occurs W TCP window size W/2 period time (rtt) Idealized model: • W is maximum supportable window size (then loss occurs) • TCP window starts at w/2 grows to W, then halves, then grows to W, then halves… • one window worth of packets each rtt • to find: throughput as function of loss, RTT period # packets sent per “period” 1 2 1 2 3 2 W W W 4 8 8 3 2 1 1 packet lost per period implies W p 8 where Detailed packet loss model (TDP) b = 2 (delayed ACK) Xi = total number of rounds in TDP i RTT 1 p E[W ] 2 RTT E[Y ] E[ A] MSS is not shown TCP as an FSM