420 likes | 553 Views
This document explores the fundamentals of Active Queue Management (AQM) within TCP models, emphasizing the significance of queue management strategies such as Random Early Detection (RED) and Explicit Congestion Notification (ECN). It discusses various queue management methods, including passive and active techniques, and their impact on network performance factors like throughput and delay. Key challenges in managing network queues, including global synchronization and fairness problems, are examined. Additionally, the relevance of threshold settings for packet dropping and new variants enhancing RED's performance are detailed.
E N D
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 Q minth maxth
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) • 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 (CBT-RED) • 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
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 ECN-capable • To inform sender of congestion • ECN-echo (ECE) flag in TCP header • To inform receiver of window reduction • Congestion Window Reduction (CWR) flag
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 decrease 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…
receiver W sender 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 1 RTT
receiver W sender 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
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 TCP throughput/loss relationship loss occurs W TCP window size W/2 period time (rtt)
period # packets sent per “period”
b = 2 (delayed ACK) Xi = total number of rounds in TDP i RTT
RTT MSS is not shown