710 likes | 894 Vues
Internet Congestion Control with Active Queue Management (AQM). September 4, 2001 Seungwan Ryu (sryu@eng.buffalo.edu) PhD Student of IE Department University at Buffalo. Contents. Internet Congestion Control Mathematical Modeling and Analysis Adaptive AQM and User Response
E N D
Internet Congestion Control with Active Queue Management (AQM) September 4, 2001 Seungwan Ryu (sryu@eng.buffalo.edu) PhD Student of IE Department University at Buffalo
Contents • Internet Congestion Control • Mathematical Modeling and Analysis • Adaptive AQM and User Response • Further studies
I. Internet Congestion Control • Internet Traffic Engineering • What is Congestion ? • Congestion Control and Avoidance • Implicit vs. Explicit feedback • TCP Congestion Control • Active Queue management (AQM) • Explicit Congestion Notification (ECN)
Internet Traffic Engineering • Measurement: for reality check • Experiment: for Implementation Issues • Analysis: • Bring fundamental understanding of systems • May loose important facts because of simplification • Simulation: • Complementary to analysis: Correctness, exploring complicate model • May share similar model to analysis
What is congestion ? • What is congestion ? • The aggregate demand for bandwidth exceeds the available capacity of a link. • What will be occur ? • Performance Degradation • Multiple packet losses • Low link utilization (low Throughput) • High queueing delay • Congestion collapse
What is congestion ? - 2 Congestion Control • Open-loop control • Mainly used in circuit switched network (GMPLS) • Closed-loop control • Mainly used in packet switched network • Use feedback information: global & local • Implicit feedback control • End-to-end congestion control • Examples: • TCP Tahoe, TCP Reno, TCP Vegas, etc. • Explicit feedback control • Network-assisted congestion control • Examples: • IBM SNA, DECbit, ATM ABR, ICMP source quench, RED, ECN
Congestion Control and Avoidance • Two approaches of handling Congestion • Congestion Control (Reactive) • Play after the network is overloaded • Congestion Avoidance (Proactive) • Play before the network becomes overloaded
Implicit vs. Explicit feedback • Implicit feedback Congestion Control • Network drops packets when congestion occur • Source infers congestion implicitly • time-out, duplicated ACKs, etc. • Example: end-to-end TCP congestion Control • Simple to implement but inaccurate • implemented only at transport layer (e.g., TCP)
Implicit vs. Explicit feedback - 2 • Explicit feedback Congestion Control • Network component (e.g., router) provides congestion indication explicitly to sources • use packet marking, or RM cells (in ATM ABR control) • Examples: DECbit, ECN, ATM ABR CC, etc. • Provide more accurate information to sources • But is more complicate to implement • Need to change both source and network algorithm • Need cooperation between sources and network component
TCP Congestion Control • Uses end-to-end congestion control • uses implicit feedback • e.g., time-out, triple duplicated ACKs, etc. • uses window based flow control • cwnd = min (pipe size, rwnd) • self-clocking • slow-start and congestion avoidance • Examples: • TCP Tahoe, TCP Reno, TCP Vegas, etc.
cwnd Slow Start Congestion Avoidance W* W+1 W 4 W*/2 2 1 RTT Time RTT TCP Congestion Control - 2 • Slow-start and Congestion Avoidance
TCP Congestion Control - 3 • TCP Tahoe • Use slow start/congestion avoidance • Fast retransmit: an enhancement • detect packet (segments) drop by three duplicate ACKs • W = W/2, and enter congestion avoidance • TCP Reno (fast recovery) • Upon receiving three duplicate ACKs • ssthresh = W/2, and retransmit missing packets • W = ssthresh +3 • Upon receiving next ACK: W = ssthresh • Allow the window size grow fast to keep the pipeline full
TCP Congestion Control - 3 • TCP SACK (Selected Acknowledgement) • TCP (Thaoe) sender can only know about a single lost per RTT • SACK option provides better recovery from multiple losses • The sender can transmit all lost packets • But those packets may have already been received • Operation • Add SACK option into TCP header • The receiver sends back SACK to sender to inform the reception of the packet • Then, the sender can retransmit only the missing packet
Active Queue Management (AQM) - 1 • Performance Degradation in current TCP Congestion Control • Multiple packet loss • Low link utilization • Congestion collapse • The role of the router becomes important • Control congestion effectively in networks • Allocate bandwidth fairly
AQM - 2 • Problems with current router algorithm • Use FIFO based tail-drop (TD) queue management • Two drawbacks with TD: lock-out, full-queue • Lock-out: a small number of flows monopolize usage of buffer capacity • Full-queue: The buffer is always full (high queueing delay) • Possible solution: AQM • Definition: A group of FIFO based queue management mechanisms to support end-to-end congestion control in the Internet
AQM - 3 • Goals of AQM • Reducing the average queue length: • Decreasing end-to-end delay • Reducing packet losses: • More efficient resource allocation • Methods: • Drop packets before buffer becomes full • Use (exponentially weighted) average queue length as an congestion indicator • Examples: RED, BLUE, ARED, SRED, FRED,….
AQM - 4 • Random Early Detection (RED) • use network algorithm to detect incipient congestion • Design goals: • minimize packet loss and queueing delay • avoid global synchronization • maintain high link utilization • removing bias against bursty source • Achieve goals by • randomized packet drop • queue length averaging
P 1 maxp minth maxth K RED
Concept To avoid drawbacks of RED Parameter tuning problem Actual queue length fluctuation Decouple congestion control from queue length Use only loss and idle event as an indicator Maintains a single drop prob., pm Drawback Can not avoid some degree of multiple packet loss and/or low utilization Algorithm Upon packet loss if (now - last_update >freeze_t) Pm = pm + d1 last_update = now upon link idle if (now - last_update >freeze_t) Pm = pm - d2 last_update = now AQM - 5 : BLUE
Concept stabilize queue occupancy use actual queue length Penalize misbehaving flows Drawbacks P(i)-1 is not a good estimator for heterogeneous traffic Parameter tuning problem: Psred, Pzap, etc. Stabilize queue occupancy when traffic load is high. (When load is low ?) Algorithm ith arriving packet is compared with a randomly selected one from Zombie list Hit = 1, if they are from same flow = 0, if NOT p(i)=hit frequency=(1-)p(i-1)+Hit p(i)-1: estimator of # of active flows Packet drop probability AQM - 6 : SRED
AQM - 7 : ARED • Adapt aggresiveness of RED according to the traffic load change • adapt maxp based on queue behavior • Operation • Increase maxp when avgQ crosses above maxth • Decrease maxp when avgQ crosses below minth • freeze maxp after changing to prevent oscillation
AQM - 8 • Problems with existing AQM Proposals • Mismatch between macroscopic and microscopic behavior of queue length • Insensitivity to the change of input traffic load • Configuration (parameter setting) problem • Reasons: • Queue length averaging • use inappropriate congestion indicator • Use inappropriate control function
Explicit Congestion Notification (ECN) • Current congestion indication • Use packet drop to indicate congestion • source infer congestion implicitly • ECN • to give less packet drop and better performance • use packet marking rather than drop • need cooperation between sources and network • need two bits in IP header: ECT-bit, CE-bit
ECT CE ECT CE 1 0 1 1 IP Header 1 TCP Header 0 0 2 CWR CWR 1 ACK TCP Header ECN-Echo 3 TCP Header 1 CWR 4 Source Router Destination ECN - 2
Contents • Internet Congestion Control • Mathematical Modeling and Analysis • Adaptive AQM and User Response • Further Studies
II. Mathematical Modeling and Analysis • An Overview • Mathematical Modeling of AQM • Window based packet switching and the Internet • Mathematical modeling and analysis of AQM • Problems with existing AQMs • Problems with existing AQMs • Adaptive congestion indicator and control function
Overview - 1 • Goal of mathematical modeling • See steady state system dynamics • Capture main factors influence to performance • Provide recommendations for design and operation • Two approaches for TCP Congestion Control • Modeling steady state TCP behaviors • the square root law*, PFTK [Padhye et al., 1998] • assume TD queue management at the router • Mathematical modeling and analysis of AQM (RED) *: , T: Throughput, p: constant drop rate
Overview - 2 • AQM modeling and analysis • Analytic modeling and analysis • Control Theoretic Analysis • Window based modeling and Analysis • Assumptions • Poisson assumption for input traffic • Fixed number of persistent TCP traffics • Steady state window size saturation
Mathematical Modeling of AQM - 1 • Window based packet switching Model (Yang 99) • Determine the steady state window size, Ws, of each flow sS • If link j is not congested • If link j is congested
Mathematical Modeling of AQM - 2 • Window equation for an individual flow • Since • Limitation of this model • Assume infinite buffer size • No buffer overflow • No packet drop • No queue management algorithm at routers
A simple AQM model Sources s1 1 AQM Router Destination Bottleneck Link S2 2 C S K Min_th SS Mathematical Modeling of AQM - 3
Mathematical Modeling of AQM - 4 • Extend Yang’s Model to AQM model • Finite buffer capacity K • The router use AQM to control congestion • When congested • Yang’s Model: • Our Model:
Mathematical Modeling of AQM - 5 • Case 1: Tail drop • Packet drop probability Pd:
Mathematical Modeling of AQM - 6 • Case 2: AQM • Let • Then since • Packet drop prob. Pd:
Mathematical Modeling of AQM - 7 • Congestion Indicator • Input traffic load should be the congestion Indicator • Current AQMs • Use queue length Q as an alternative • Assume that the input traffic load is fixed in equilibrium • Reason • can not measure(or estimate) exactly for on line implementation of packet drop function
Mathematical Modeling of AQM - 8 • Packet drop function • Reason • The traffic load fluctuate, NOT stay in equilibrium • queue length is a function of input traffic • Alternatively:
Problems with existing AQMs • Mismatch between macroscopic and microscopic behavior of queue length • Insensitivity to the input traffic load variation • parameter configuration problem
Problems with existing AQMs - 2 • Mismatch problem
Problems with existing AQMs - 3 • Mismatch between macroscopic and microscopic behavior of queue length 2.0 1.5 1.0 0.5 0
0.3 0.5 0.7 0.9 1.1 1.3 : u=0.7 : u=0.45 : u=0.25 : RED : GRED : Scheme III Problems with existing AQMs - 4 • Insensitivity to the input traffic load variation • Schemes: I:RED, II:GRED, III:
Problems with existing AQMs - 5 • Parameter configuration problem • Has been a main design issue since 1993 • Many modified AQMs has been proposed • Verified with simple simulation or simple experiment • good for particular traffic conditions • Real traffic is totally different. • Need adaptive congestion indicator and control function • Adaptive to input traffic load variation • Avoid congestion NOT based on current state (i,e,. Q)
Contents • Internet Congestion Control • Mathematical Modeling and Analysis • Adaptive AQM and User Response • Further Studies
III. Adaptive AQM and User Response • Input traffic load Prediction • Adaptive AQM algorithms • Adaptive parameter configuration • Adaptive User response algorithm
Input traffic load Prediction • Consider time-slotted model • Time is divided into unit time slots, t, t=0,1,… • calculate parameters at the end of each slot • estimate Qt+1 to detect congestion proactively • Predict from measured input traffic t-1, t of past two time slots • Then, predict of next time slot t
Adaptive AQM algorithms • Algorithm I: E-RED and E-GRED • Enhanced-RED • E-GRED: similar to E-RED
Adaptive AQM algorithms - 2 • Algorithm II: • Use both predicted traffic intensity and current buffer utilization t=Qt/K • represents imminent traffic changes in near future • t represents current status of traffic • Possible algorithms:
Adaptive AQM algorithms - 3 • Example: • maintain Qindex to impose appropriate drop rate adaptively to traffic load change • Then, • If t is low and is high: more penalty to incoming packets • If t is high and is low: more penalty on existing packets • Only High penalty for both packets when t and are high
Adaptive AQM algorithms - 4 • Algorithm III: E-BLUE • BLUE Algorithm • uses packet drops and link idle for adjusting packet drop probability • Can not avoid some degree of performance degradation • Enhancement • Use Virtual lower/upper bound (VL, VU) • Combine predicted queue length with BLUE
Adaptive parameter configuration • Adaptive queue length sampling interval t • Previous recommendations • In [Firoiu et al.], minimum RTT was recommended • In [Hollot et al.], static and link speed independent value was recommended • However, above recommendations were obtained from assumptions of persistent and fixed N TCP traffics • Our recommendation • The amount of incoming traffic fluctuate with time • Adjust t according to the varying traffic situation (i.e., adjust t according to the amount of input traffic)
Adaptive parameter configuration - 2 Q (i-1) Time i (i+1) (i+2)