Optimization of Communication Systems Lecture 6: Internet TCP Congestion Control



Similar documents
Lecture Objectives. Lecture 07 Mobile Networks: TCP in Wireless Networks. Agenda. TCP Flow Control. Flow Control Can Limit Throughput (1)

Lecture 15: Congestion Control. CSE 123: Computer Networks Stefan Savage

Active Queue Management (AQM) based Internet Congestion Control

International Journal of Scientific & Engineering Research, Volume 6, Issue 7, July ISSN

TCP in Wireless Mobile Networks

A Survey: High Speed TCP Variants in Wireless Networks

SJBIT, Bangalore, KARNATAKA

Data Networks Summer 2007 Homework #3

Optimization models for congestion control with multipath routing in TCP/IP networks

Outline. TCP connection setup/data transfer Computer Networking. TCP Reliability. Congestion sources and collapse. Congestion control basics

Chapter 6 Congestion Control and Resource Allocation

TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)

TCP over Wireless Networks

Transport layer issues in ad hoc wireless networks Dmitrij Lagutin,

AN IMPROVED SNOOP FOR TCP RENO AND TCP SACK IN WIRED-CUM- WIRELESS NETWORKS

TCP/IP Performance with Random Loss and Bidirectional Congestion

Oscillations of the Sending Window in Compound TCP

Congestions and Control Mechanisms n Wired and Wireless Networks

Congestion Control Review Computer Networking. Resource Management Approaches. Traffic and Resource Management. What is congestion control?

A Survey on Congestion Control Mechanisms for Performance Improvement of TCP

Comparative Analysis of Congestion Control Algorithms Using ns-2

Research of TCP ssthresh Dynamical Adjustment Algorithm Based on Available Bandwidth in Mixed Networks

Chaoyang University of Technology, Taiwan, ROC. 2 Department of Computer Science and Information Engineering

Robust Router Congestion Control Using Acceptance and Departure Rate Measures

Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation

pathchar a tool to infer characteristics of Internet paths

TCP/IP Over Lossy Links - TCP SACK without Congestion Control

FEW would argue that one of TCP s strengths lies in its

TCP, Active Queue Management and QoS

17: Queue Management. Queuing. Mark Handley

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM

Student, Haryana Engineering College, Haryana, India 2 H.O.D (CSE), Haryana Engineering College, Haryana, India

Why Congestion Control. Congestion Control and Active Queue Management. Max-Min Fairness. Fairness

TCP for Wireless Networks

Packet Queueing Delay

REM: Active Queue Management

ALTHOUGH it is one of the first protocols

Router-assisted congestion control. Lecture 8 CS 653, Fall 2010

Applying Active Queue Management to Link Layer Buffers for Real-time Traffic over Third Generation Wireless Networks

Optimal Bandwidth Monitoring. Y.Yu, I.Cheng and A.Basu Department of Computing Science U. of Alberta

Master s Thesis. A Study on Active Queue Management Mechanisms for. Internet Routers: Design, Performance Analysis, and.

15-441: Computer Networks Homework 2 Solution

A Spectrum of TCP-Friendly Window-Based Congestion Control Algorithms

On Packet Marking Function of Active Queue Management Mechanism: Should It Be Linear, Concave, or Convex?

Application Level Congestion Control Enhancements in High BDP Networks. Anupama Sundaresan

1. The subnet must prevent additional packets from entering the congested region until those already present can be processed.

La couche transport dans l'internet (la suite TCP/IP)

The Quality of Internet Service: AT&T s Global IP Network Performance Measurements

Performance Analysis of AQM Schemes in Wired and Wireless Networks based on TCP flow

A Study on TCP Performance over Mobile Ad Hoc Networks

Transport Layer Protocols

Internet Congestion Control for Future High Bandwidth-Delay Product Environments

CS268 Exam Solutions. 1) End-to-End (20 pts)

First Midterm for ECE374 03/24/11 Solution!!

Answer: that dprop equals dtrans. seconds. a) d prop. b) d trans

Murari Sridharan Windows TCP/IP Networking, Microsoft Corp. (Collaborators: Kun Tan, Jingmin Song, MSRA & Qian Zhang, HKUST)

Random Early Detection Gateways for Congestion Avoidance

CSE 473 Introduction to Computer Networks. Exam 2 Solutions. Your name: 10/31/2013

Rate-Based Active Queue Management: A Green Algorithm in Congestion Control

TTC New Reno - Consistent Control of Packet Traffic

A packet-reordering solution to wireless losses in transmission control protocol

The Effect of Packet Reordering in a Backbone Link on Application Throughput Michael Laor and Lior Gendel, Cisco Systems, Inc.

Linux 2.4 Implementation of Westwood+ TCP with rate-halving: A Performance Evaluation over the Internet

TCP performance optimization for handover Management for LTE satellite/terrestrial hybrid. network.

Improving our Evaluation of Transport Protocols. Sally Floyd Hamilton Institute July 29, 2005

TCP Flow Control. TCP Receiver Window. Sliding Window. Computer Networks. Lecture 30: Flow Control, Reliable Delivery

XCP-i : explicit Control Protocol for heterogeneous inter-networking of high-speed networks

Mobile Communications Chapter 9: Mobile Transport Layer

TCP based Denial-of-Service Attacks to Edge Network: Analysis and Detection

Transport layer protocols for ad hoc networks

Low-rate TCP-targeted Denial of Service Attack Defense

TCP and Wireless Networks Classical Approaches Optimizations TCP for 2.5G/3G Systems. Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

A Congestion Control Algorithm for Data Center Area Communications

QoS issues in Voice over IP

Rate adaptation, Congestion Control and Fairness: A Tutorial. JEAN-YVES LE BOUDEC Ecole Polytechnique Fédérale de Lausanne (EPFL)

Controlling the Internet in the era of Software Defined and Virtualized Networks. Fernando Paganini Universidad ORT Uruguay

Analysis and Detection of a Denial-of-Service Attack Scenario generated by TCP Receivers to Edge Network

Parallel TCP Data Transfers: A Practical Model and its Application

An Improved TCP Congestion Control Algorithm for Wireless Networks

High Speed Internet Access Using Satellite-Based DVB Networks

Network Protocol Design and Evaluation

Requirements for Simulation and Modeling Tools. Sally Floyd NSF Workshop August 2005

TCP in Wireless Networks

CLAMP and Networking Performance Control

An enhanced TCP mechanism Fast-TCP in IP networks with wireless links

TCP Westwood: Congestion Window Control Using Bandwidth Estimation

Functional Optimization Models for Active Queue Management

Delay-Based Early Congestion Detection and Adaptation in TCP: Impact on web performance

Lecture 16: Quality of Service. CSE 123: Computer Networks Stefan Savage

A Compound TCP Approach for High-speed and Long Distance Networks

TCP Trunking for Bandwidth Management of Aggregate Traffic

CSE 123: Computer Networks

Simulation-Based Comparisons of Solutions for TCP Packet Reordering in Wireless Network

Quality of Service versus Fairness. Inelastic Applications. QoS Analogy: Surface Mail. How to Provide QoS?

TCP Westwood for Wireless

Multipath TCP in Practice (Work in Progress) Mark Handley Damon Wischik Costin Raiciu Alan Ford

Using Fuzzy Logic Control to Provide Intelligent Traffic Management Service for High-Speed Networks ABSTRACT:

CS551 End-to-End Internet Packet Dynamics [Paxson99b]

TCP Over Wireless Network. Jinhua Zhu Jie Xu

TRANSPORT LAYER AND SECURITY PROTOCOLS FOR AD HOC WIRELESS NETWORKS

Transcription:

Optimization of Communication Systems Lecture 6: Internet TCP Congestion Control Professor M. Chiang Electrical Engineering Department, Princeton University ELE539A February 21, 2007

Lecture Outline TCP congestion control Current protocols Analytic model: utility maximization and equilibrium properties Distributed algorithm and protocol analysis

TCP Congestion Control Window-based end-to-end flow control, where destination sends ACK for correctly received packets and source updates window size (which is proportional to allowed transmission rate) Several versions of TCP congestion control distributively dissolve congestion in bottleneck link by reducing window sizes Sources update window sizes and links update (sometimes implicitly) congestion measures that are feed back to sources using the link Optimization-theoretic model: TCP congestion control carries out a distributed algorithm to solve an implicit, global convex optimization (network utility maximization), where source rates are primal variables updated at sources, and congestion measures are dual variables (shadow prices) updated at links

Why Congestion Control Oct. 1986, Internet had its first congestion collapse (LBL to UC Berkeley) 400 yards, 3 hops, 32 kbps throughput dropped by a factor of 1000 to 40 bps 1988, Van Jacobson proposed TCP congestion control Window based with ACK mechanism End-to-end

Window-based Congestion Control Limit number of packets in network to window size W Source rate allowed (bps) = W Message Size RTT Too small W: under-utilization of link capacities Too large W: link congestion occurs Effects of congestion: Packet loss Retransmission and reduced throughput Congestion may continue after the overload

Basics of Congestion Control Goals: achieve high utilization without congestion or unfair sharing Receiver control (awnd): set by receiver to avoid overloading receiver buffer Network control (cwnd): set by sender to avoid overloading network W = min(cwnd,awnd) Congestion window cwnd usually the bottleneck

TCP Tahoe and Reno Probe network capacity by linearly increasing its rate and exponentially reducing its rate when congestion is detected Slow start: start with window size 1 and doubles window size every RTT (increment window size by 1 per ACK) Congestion avoidance: pass a threshold, increase window by 1 every RTT (additive increase) Detecting a loss (Timeout or three duplicated ACK), retransmit loss packet, back to slow start, cut threshold by half Fast recovery in TCP Reno: between detecting loss and receiving ACK for retransmitted packet, temporarily increase window by 1 on receiving each duplicated ACK. After receiving ACK for retransmitted packet, cut window size by half and enters congestion avoidance directly

TCP Vegas Corrects oscillatory behavior of TCP Reno Obtains queuing delay by subtracting measured RTT from estimated propagation delay Sets rate proportional to ratio of propagation delay to queuing delay, proportionality constant between α and β Increase window if difference between queuing delay and propagation delay is smaller than α, decrease window if it is larger than β, remain constant otherwise

Queue Buffer Processes At intermediate links: FIFO buffer process updates queuing delay as measure of congestion for Vegas and feeds back to sources Drop tail updates packet loss as measure of congestion for Reno and feeds back to sources RED: instead of dropping only at full buffer, drops packets with a probability that increases with (exponentially weighted) average queue length (example of Active Queue Management)

Analytic Models Communication network with L links, each with fixed capacity c l packets per second, shared by S sources, each using a set L s of links R: 0 1 routing matrix with R ls = 1 iff l L s Deterministic flow model: x s (t) at each source s at discrete time t Aggregate flow on link l: y l (t) = X i R ls x s (t τ f ls ) where τ f ls is forward transmission delay Each link updates congestion measure (shadow price) p l (t). Each source has access to aggregate price along its route (end-to-end): q s (t) = X l R ls p l (t τ b ls ) where τ b ls is backward delay in feedback path

Generic Source and Link Algorithms Each source updates rate (z s is a local state variable): z s (t + 1) = F s (z s (t), q s (t), x s (t)) x s (t + 1) = G s (z s (t), q s (t), x s (t)) Often x s (t + 1) = G s (q s (t), x s (t)) Each link updates congestion measure: v l (t + 1) = H l (y l (t), v l (t), p l (t)) p l (t + 1) = K l (y l (t), v l (t), p l (t)) Notice access only to local information (distributed)

Network Utility Maximization Basic problem formulation: maximize subject to P s U s(x s ) Rx c x 0 Objective: total utility (each U s is smooth, increasing, concave) Constraint: linear flow constraint s index of sources and l index of links Given routing matrix R ls : 1 if flow from source s uses link l, 0 otherwise x s : source rate (variables) c l : link capacity (constants)

Dual-based Distributed Algorithm Extension of network flow problem, many applications Convex optimization with zero duality gap Lagrangian decomposition: 0 1 L(x, p) = X U s (x s ) + X p l @c l X x s A s l s:l L(s) 2 0 1 3 = X 4U s (x s ) @ X p l A x s 5 + X c l p l s l l L(s) = X s L s (x s, q s ) + X l c l p l Dual problem: minimize g(p) = L(x (p), p) subject to p 0

Dual-based Distributed Algorithm Source algorithm: x s(q s ) = argmax [U s (x s ) q s x s ], s Selfish net utility maximization locally at source s Link algorithm (gradient or subgradient based): 2 0 p l (t + 1) = 4p l (t) α(t) @c l X s:l L(s) 13 x s(q s (t)) A5 +, l Balancing supply and demand through pricing Certain choices of step sizes α(t) (e.g., α(t) = 1/t) of distributed algorithm guarantee convergence to globally optimal (x, p )

Reverse Engineering TCP KKT conditions: Primal and dual feasibility Lagrangian maximization (selfish net-utility maximization) Complementary slackness (generate the right prices to align selfish interest to social welfare maximization) p l > 0 indicates y l = c l (link saturation) and y l < c l indicates p l = 0 (buffer clearance) Now specialize to average model of TCP Reno and TCP Vegas Focus on congestion avoidance phase and targeted equilibrium state

TCP Reno: Source Algorithm End-to-end marking probability q s. Total delay D s. Window size w s. Actual rate w s(t) D s. Net change to the window size: x s (t)(1 q s (t)) 1 w s (t) x s(t)q s (t) 1 2 4w s(t). 3 Using x s = w s /D s, we have x s (t + 1) =» x s (t) + 1 q s(t) D 2 s 2 3 q s(t)x 2 s(t) +.

TCP Reno: Arctan Utility Arctan utility : U s (x s ) = p 3/2 D s p arctan 2/3xs D s Why? At equilibrium (t ), q s = 3 2x 2 sd 2 s + 3. By optimality condition, need to check U s(x s ) = q s (x s ). Get the utility function by integrating

TCP Vegas: Source Algorithm Window size w s Propagation delay d s. Expected rate w s(t) d s Queuing delay q s and total delay D s. Actual rate w s(t) D s w s (t + 1) = 8 >< >: w s (t) + 1 D s (t) w s (t) 1 D s (t) w s (t) if w s(t) d s if w s(t) d s else. w s(t) D s (t) < α s w s(t) D s (t) > α s Equilibrium round-trip time and window size satisfy: w s d s w s D s = α s

TCP Vegas: Log Utility Function Log utility : U s (x s ) = α s d s log x s Why: Complementary slackness condition is satisfied. Need to check U s(x s) = α sd s x s = X l s p l Let b l be equilibrium backlog at link l. Window size equals bandwidth-delay product plus total backlog: w s x sd s = X l s x s c l b l Using x s = w s /D s, we have α s = w s d s w s D s = 1 d s (w s x sd s ) = 1 d s 0 @ X l s x s c l b l 1 A KKT condition satisfied if p l = b l c l (dual variable is queuing delay)

TCP Vegas: Summary of Algorithm Primal variable is source rate, updated by source algorithm: w s (t + 1) = [w s (t) + v s (t)] + v s (t) = x s (t) = 1 d s + q s (t) [1(x s(t)q s (t) < α s d s ) 1(x s (t)q s (t) > α s d s )] w s (t) d s + q s (t) Dual variable is queuing delay, updated by link algorithm:» p l (t + 1) = p l (t) + 1 + (y l (t) c l ) c l Equilibrium: x s = α sd s q s

TCP Reno and Vegas TCP Reno (with Drop Tail or RED): Source utility: arctan Link price: packet loss TCP Vegas (with FIFO) Source utility: weighted log Link price: queuing delay

Implications: Delay, Loss, Fairness TCP Reno: equilibrium loss probability is independent of link algorithms and buffer sizes. Increasing buffer sizes alone does not decrease equilibrium loss probability (buffer just fills up) TCP Reno: discriminates against connections with large propagation delays Desirable to decouple link pricing from loss TCP Vegas: bandwidth-queuing delay product equals number of packets buffered in the network x sq s = α s d s TCP Vegas: achieves proportional fairness TCP Vegas: gradient method for updating dual variable. Converges with the right scaling (γ small enough) Persistent congestion, TCP-friendly protocols...

Numerical Example: Single Bottleneck Average Sending Rate for Class 1a (rtt: 15 ms) PF Average Sending Rate for Class 3a (rtt: 20 ms) PF TCP Vegas Sending Rate (KB/s) 2000 1800 1600 1400 1200 1000 800 600 400 200 theoretical optimal rate actual rate 0 0 2 4 6 8 10 12 14 16 18 20 Time (second) TCP Vegas Sending Rate (KB/s) 2000 1800 1600 1400 1200 1000 800 600 400 200 theoretical optimal rate actual rate 0 0 2 4 6 8 10 12 14 16 18 20 Time (second) Average Sending Rate for Class 4a (rtt: 30 ms) PF Average Sending Rate for Class 5a (rtt: 40 ms) PF TCP Vegas Sending Rate (KB/s) 2000 1800 1600 1400 1200 1000 800 600 400 200 theoretical optimal rate actual rate 0 0 2 4 6 8 10 12 14 16 18 20 Time (second) TCP Vegas Sending Rate (KB/s) 2000 1800 1600 1400 1200 1000 800 600 400 200 theoretical optimal rate actual rate 0 0 2 4 6 8 10 12 14 16 18 20 Time (second)

Numerical Example: General Cases 25 Average Window Size for Class 2a (rtt: 15 ms) WPF 50 Average Window Size for Class 3a (rtt: 20 ms) WPF TCP Vegas cwnd Size (KB) 20 15 10 5 theoretical optimal window actual window 0 0 2 4 6 8 10 12 14 16 18 20 Time (second) TCP Vegas cwnd Size (KB) 45 40 35 30 25 20 15 10 5 theoretical optimal window actual window 0 0 2 4 6 8 10 12 14 16 18 20 Time (second) 60 Average Window Size for Class 4a (rtt: 30 ms) WPF 90 Average Window Size for Class 5a (rtt: 40 ms) WPF TCP Vegas cwnd Size (KB) 50 40 30 20 10 theoretical optimal window actual window 0 0 2 4 6 8 10 12 14 16 18 20 Time (second) TCP Vegas cwnd Size (KB) 80 70 60 50 40 30 20 10 theoretical optimal window 0 actual window 0 2 4 6 8 10 12 14 16 18 20 Time (second)

Stability and Dynamics Optimization theoretic analysis has focused on equilibrium state TCP congestion control may oscillates Use control theoretic ideas to stabilize TCP FAST TCP Theory implemented in real networks, increasing bandwidth utilization efficiency from 20% to 90% 2G 92% Average utilization 1G 95% 48% 19% 27% 16% txq= 100 txq= 10000 txq= 100 txq= 10000 Linux TCP Linux TCP FAST Linux TCP Linux TCP FAST

Lecture Summary Ad hoc designed network protocols reverse-engineered Implicitly solving an optimization problem (Network Utility Maximization) distributively Rigorous understanding of equilibrium and dynamic properties Further lead to new design of improved protocols Readings: S. H. Low, F. Paganini, J. C. Doyle, Internet congestion control, IEEE Control Systems Magazine, Feb. 2002. S. H. Low, A duality model of TCP and queue management algorithms, IEEE/ACM Trans. Networking, August 2003.