Internet Congestion Control with Active Queue Management (AQM)ContentsI. Internet Congestion ControlInternet Traffic EngineeringWhat is congestion ?What is congestion ? - 2Congestion Control and AvoidanceImplicit vs. Explicit feedbackImplicit vs. Explicit feedback - 2TCP Congestion ControlTCP Congestion Control - 2TCP Congestion Control - 3Slide 13Active Queue Management (AQM) - 1AQM - 2AQM - 3AQM - 4REDAQM - 5 : BLUEAQM - 6 : SREDAQM - 7 : AREDAQM - 8Explicit Congestion Notification (ECN)ECN - 2Slide 25II. Mathematical Modeling and AnalysisOverview - 1Overview - 2Mathematical Modeling of AQM - 2Mathematical Modeling of AQM - 3Mathematical Modeling of AQM - 4Mathematical Modeling of AQM - 5Mathematical Modeling of AQM - 6Mathematical Modeling of AQM - 7Mathematical Modeling of AQM - 8Problems with existing AQMsProblems with existing AQMs - 2Problems with existing AQMs - 3Problems with existing AQMs - 4Problems with existing AQMs - 5ContentsIII. Adaptive AQM and User ResponseInput traffic load PredictionAdaptive AQM algorithmsAdaptive AQM algorithms - 2Adaptive AQM algorithms - 3Adaptive AQM algorithms - 4Adaptive parameter configurationAdaptive parameter configuration - 2Adaptive parameter configuration - 3Adaptive User response algorithmSlide 53IV. Further StudiesMathematical Modeling and AnalysisMathematical Modeling and Analysis - 2Mathematical Modeling and Analysis - 3Slide 58Simulation studyPerformance MetricsOther approaches of CC - 1: PricingOther approaches - 2: OptimizationOther approaches - 3: FairnessMore about AQMMore about AQM - 2More about AQM - 3More about AQM - 4More about AQM - 5ReferencesInternet Congestion Control with Active Queue Management (AQM)September 4, 2001Seungwan Ryu([email protected])PhD Student of IE DepartmentUniversity at Buffalo2ContentsInternet Congestion ControlMathematical Modeling and AnalysisAdaptive AQM and User ResponseFurther studies3I. Internet Congestion ControlInternet Traffic EngineeringWhat is Congestion ?Congestion Control and AvoidanceImplicit vs. Explicit feedbackTCP Congestion ControlActive Queue management (AQM)Explicit Congestion Notification (ECN)4Internet Traffic EngineeringMeasurement: for reality checkExperiment: for Implementation IssuesAnalysis:Bring fundamental understanding of systemsMay loose important facts because of simplificationSimulation:Complementary to analysis: Correctness, exploring complicate modelMay share similar model to analysis5What 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 collapse6What is congestion ? - 2 Congestion ControlOpen-loop control- Mainly used in circuit switched network (GMPLS)Closed-loop control- Mainly used in packet switched network- Use feedback information: global & localImplicit 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, ECN7Congestion Control and AvoidanceTwo approaches of handling CongestionCongestion Control (Reactive)•Play after the network is overloadedCongestion Avoidance (Proactive)•Play before the network becomes overloaded8Implicit vs. Explicit feedbackImplicit feedback Congestion ControlNetwork drops packets when congestion occurSource infers congestion implicitly•time-out, duplicated ACKs, etc.Example: end-to-end TCP congestion ControlSimple to implement but inaccurate •implemented only at transport layer (e.g., TCP)9Implicit vs. Explicit feedback - 2Explicit feedback Congestion ControlNetwork 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 component10TCP Congestion ControlUses end-to-end congestion controluses 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 avoidanceExamples:•TCP Tahoe, TCP Reno, TCP Vegas, etc.11TCP Congestion Control - 2Slow-start and Congestion AvoidancecwndTimeRTT124Slow StartW*WW+1RTTCongestion AvoidanceW*/212TCP Congestion Control - 3TCP TahoeUse slow start/congestion avoidanceFast retransmit: an enhancementdetect packet (segments) drop by three duplicate ACKsW = W/2, and enter congestion avoidanceTCP Reno (fast recovery)Upon receiving three duplicate ACKsssthresh = W/2, and retransmit missing packetsW = ssthresh +3Upon receiving next ACK: W = ssthreshAllow the window size grow fast to keep the pipeline full13TCP Congestion Control - 3TCP SACK (Selected Acknowledgement)TCP (Thaoe) sender can only know about a single lost per RTTSACK option provides better recovery from multiple lossesThe sender can transmit all lost packetsBut those packets may have already been receivedOperationAdd SACK option into TCP headerThe receiver sends back SACK to sender to inform the reception of the packetThen, the sender can retransmit only the missing packet14Active Queue Management (AQM) - 1Performance Degradation in current TCP Congestion ControlMultiple packet lossLow link utilizationCongestion collapseThe role of the router becomes importantControl congestion effectively in networksAllocate bandwidth fairly15AQM - 2Problems with current router algorithmUse FIFO based tail-drop (TD) queue managementTwo drawbacks with TD: lock-out, full-queueLock-out: a small number of flows monopolize usage of buffer capacityFull-queue: The buffer is always full (high queueing delay)Possible solution: AQMDefinition: A group of FIFO based queue management mechanisms to support end-to-end congestion control in the Internet16AQM - 3Goals of AQMReducing the average queue length:Decreasing end-to-end delayReducing packet losses:More efficient resource allocationMethods:Drop packets before buffer becomes fullUse (exponentially
View Full Document