CSE 461 Congestion Control. David Wetherall

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

Transport Layer Protocols

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

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

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

Protagonist International Journal of Management And Technology (PIJMT) Online ISSN Vol 2 No 3 (May-2015) Active Queue Management

Chapter 6 Congestion Control and Resource Allocation

17: Queue Management. Queuing. Mark Handley

TCP over Wireless Networks

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

TCP in Wireless Mobile Networks

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

Data Networks Summer 2007 Homework #3

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

Active Queue Management (AQM) based Internet Congestion Control

A Survey on Congestion Control Mechanisms for Performance Improvement of TCP

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

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

Mobile Communications Chapter 9: Mobile Transport Layer

First Midterm for ECE374 03/09/12 Solution!!

TCP for Wireless Networks

TCP in Wireless Networks

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

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

Parallel TCP Data Transfers: A Practical Model and its Application

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

Final for ECE374 05/06/13 Solution!!

TCP Adaptation for MPI on Long-and-Fat Networks

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

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

Context. Congestion Control In High Bandwidth-Delay Nets [Katabi02a] What is XCP? Key ideas. Router Feedback: Utilization.

Question: 3 When using Application Intelligence, Server Time may be defined as.

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

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

Computer Networks. Chapter 5 Transport Protocols

TCP, Active Queue Management and QoS

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

TCP Westwood for Wireless

CSE 123: Computer Networks

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

Applying Router-Assisted Congestion Control to Wireless Networks: Challenges and Solutions 1

Transport layer issues in ad hoc wireless networks Dmitrij Lagutin,

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

Optimization of Communication Systems Lecture 6: Internet TCP Congestion Control

Effects of Filler Traffic In IP Networks. Adam Feldman April 5, 2001 Master s Project

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

Congestion Control Overview

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

First Midterm for ECE374 02/25/15 Solution!!

Congestions and Control Mechanisms n Wired and Wireless Networks

Ethernet. Ethernet Frame Structure. Ethernet Frame Structure (more) Ethernet: uses CSMA/CD

Visualizations and Correlations in Troubleshooting

ECSE-6600: Internet Protocols Exam 2

Networking part 3: the transport layer

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

2 TCP-like Design. Answer

Packet Queueing Delay

Active Queue Management

Introduction to LAN/WAN. Network Layer (part II)

High-Speed TCP Performance Characterization under Various Operating Systems

Computer Networks - CS132/EECS148 - Spring

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

Names & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding

Low-rate TCP-targeted Denial of Service Attack Defense

15-441: Computer Networks Homework 2 Solution

PART III. OPS-based wide area networks

Per-Flow Queuing Allot's Approach to Bandwidth Management

Measuring IP Performance. Geoff Huston Telstra

Network management and QoS provisioning - QoS in the Internet

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

Midterm Exam CMPSCI 453: Computer Networks Fall 2011 Prof. Jim Kurose

4 High-speed Transmission and Interoperability

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM

Network Layer: Network Layer and IP Protocol

Random Early Detection Gateways for Congestion Avoidance

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

Final Exam. Route Computation: One reason why link state routing is preferable to distance vector style routing.

Multipath TCP under Massive Packet Reordering

() XCP-i: explicit Control Protocol for heterogeneous inter-networking November 28th, of high-speed networks / 15

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

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

A Survey: High Speed TCP Variants in Wireless Networks

Analysis of Internet Transport Service Performance with Active Queue Management in a QoS-enabled Network

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

Introduction. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross

Lecture 8 Performance Measurements and Metrics. Performance Metrics. Outline. Performance Metrics. Performance Metrics Performance Measurements

Quality of Service (QoS)) in IP networks

COMP 3331/9331: Computer Networks and Applications. Lab Exercise 3: TCP and UDP (Solutions)

This sequence diagram was generated with EventStudio System Designer (

THE Internet provides a convenient and cost-effective

Advanced Computer Networks Project 2: File Transfer Application

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

[Prof. Rupesh G Vaishnav] Page 1

SELECTIVE-TCP FOR WIRED/WIRELESS NETWORKS

A Congestion Control Algorithm for Data Center Area Communications

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

Voice over IP: RTP/RTCP The transport layer

Challenges of Sending Large Files Over Public Internet

Linux TCP Implementation Issues in High-Speed Networks

Requirements of Voice in an IP Internetwork

Transcription:

CSE 461 Congestion Control David Wetherall djw@cs.washington.edu

Congestion Control Focus: How to share bandwidth between senders Congestion & Fairness Application Bandwidth allocation Transport TCP congestion control RED/ECN Network Link Physical djw // CSE 461, Spring 2011 2

Bandwidth Allocation How fast should the Web server send packets? Two big issues to solve! Congestion sending too fast will cause packets to be lost in the network Fairness different users should get their fair share of the bandwidth Often treated together (e.g. TCP) but needn t be djw // CSE 461, Spring 2011 3

Flow Control Limit is the receiver No network congestion djw // CSE 461, Spring 2011 4

Network Congestion Now network is the limit Sender needs to slow down in either of these cases djw // CSE 461, Spring 2011 5

Congestion at a router Router 1.5-Mbps T1 link Destination Source 2 Packets dropped here Buffer intended to absorb bursts when input rate > output But if sending rate is persistently > drain rate, queue builds Dropped packets represent wasted work; goodput < throughput djw // CSE 461, Spring 2011 6

Effects of Congestion Want to operate with high throughput and low delay Congestion can lead to collapse if protocols have problems djw // CSE 461, Spring 2011 7

Max-Min Mi Fairness A bottleneck for flows B, C and D (but not A) Each flow from source to destination gets an equal share of their bottleneck link depends on paths and other traffic Adfl And flows tk take unclaimed li excess bandwidth djw // CSE 461, Spring 2011 8

Fair allocation changes over time djw // CSE 461, Spring 2011 9

Bandwidth Allocation Control Loop Traffic is bursty Congestion is experienced at routers (Network layer) Traffic is controlled at sources (Transport layer) The two need to talk to each other! Sources sending more slowly is the only relief Sources sending more quickly is the only way to use the capacity djw // CSE 461, Spring 2011 10

Control Loop Designs Open versus Closed loop Open: reserve allowed traffic with network; avoid congestion Closed: use network feedback to adjust sending rate Host-based versus Network support Who is responsible for adjusting/enforcing allocations? Window versus Rate based How is allocation expressed? Window and rate are related. Internet depends on TCP for bandwidth allocation TCP is a host-driven, window-based, closed-loop mechanism djw // CSE 461, Spring 2011 11

Network topology for AIMD Hosts 1 and 2 share a bottleneck link so they must coordinate how fast they send. But how? They don t know they share a bottleneck They don t know how fast each other is sending The situation is dynamic 1 2 Router Bottleneck link Router djw // CSE 461, Spring 2011 12

AIMD Control Law (Chiu & Jain, 1989) AIMD with binary signals finds the optimal point User 2 User 1 djw // CSE 461, Spring 2011 13

Control Loop Feedback Signals Many possible signals: Hosts can observe E2E packet loss (e.g., TCP) Hosts can observe E2E packet delay (e.g., Vegas, FAST) Router can tell source of congestion (e.g., RED/ECN) Router can tell source its allocation (e.g, XCP) Each has pros / cons and design implications djw // CSE 461, Spring 2011 14

TCP Congestion Control Before it was added: used a fixed size sliding window! Will under-utilize the network or cause unnecessary loss Congestion control dynamically varies the size of the window to match sending and available bandwidth Sliding window uses minimum of cwnd, the congestion window, and the advertised flow control window Assumes packet loss signals congestion The big question: how do we vary the window size? TCP uses various heuristics to adjust cwnd djw // CSE 461, Spring 2011 15

TCP is Self-Clocking 1: Burst of packets sent on fast link Fast link 2: Burst queues at router and drains onto slow link Slow link (bottleneck) Sender.................. 4: Acks preserve slow link timing at sender Ack clock 3: Receiver acks packets at slow link rate Receiver Neat observation: acks pace transmissions at approximately the botteneck rate So ack clock with sliding window spreads packets out And just by sending packets we can discern the right sending rate (called the packet-pair technique) djw // CSE 461, Spring 2011 16

AIMD (This is the additive increase part for one sender) djw // CSE 461, Spring 2011 17

TCP AIMD cwnd rules Increase slowly while we believe there is bandwidth Cwnd += 1 packet / RTT Commonly approx. is cwnd += 1/cwnd per packet Additive increase per RTT Decrease quickly when there is loss (went too far!) Cwnd /= 2 Multiplicative decrease djw // CSE 461, Spring 2011 18

TCP Slow Start t But it can take AIMD a long time to get to a good cwnd Use a different strategy t to get close Double cwnd every RTT Cwnd *= 2 / RTT Commonly done as cwnd +=1 / packet received djw // CSE 461, Spring 2011 19

TCP slow-start t cwnd rules djw // CSE 461, Spring 2011 20

Combining i Slow-Start St t and AI(MD) Switch to AI at a threshold; but why restart after loss? djw // CSE 461, Spring 2011 21

Fast Retransmit No need to wait until a timeout to infer loss TCP uses cumulative acks, so duplicate acks start arriving after a packet is lost 3 duplicate acks is enough Lets us halve cwnd and retransmit the lost packet quickly Packet 1 Packet 2 Packet 3 Packet 4 Packet 5 Packet 6 Retransmit packet 3 Sender Receiver ACK 1 ACK 2 ACK 2 ACK 2 ACK 2 ACK 6 djw // CSE 461, Spring 2011 22

Fast Recovery After Fast Retransmit, further duplicate acks represent new packets that have left the network Use them to grow cwnd and clock out new packets End result: Can achieve AIMD when there are single packet losses. Only slow start the first time. djw // CSE 461, Spring 2011 23

TCP with Fast Retransmit/Recovery Creates the classic TCP sawtooth pattern djw // CSE 461, Spring 2011 24

Avoidance versus Control Congestion control Recover from congestion that is already degrading performance Congestion avoidance Avoid congestion by slowing down at the onset Latter benefits from router support djw // CSE 461, Spring 2011 25

Detecting ti the onset of congestion Sustained overload causes queue to build and overflow Router can watch for an increase in the average delay Queue length Instantaneous Average Time djw // CSE 461, Spring 2011 26

Random Early Detection (RED) routers Router sends early signal to source when avg. queue builds P(signal) 1.0 MaxP Average Queue Length MinThresh MaxThresh Probabilistically choose packet to signal; fast flows get more djw // CSE 461, Spring 2011 27

RED signaling Preferred (future) method: Set Explicit Congestion Notification bits in the IP packet header Destination returns this signal to the source with reverse traffic Reliable signal without extra packets at a time of congestion djw // CSE 461, Spring 2011 28

More on RED signaling Deprecated (present) method Drop the packet; that is what pre-red routers do anyway Source will get the hint Paradox is that early loss can improve performance! This is why RED tries to give each source only one signal In practice, RED is not widely used Depends on tuning to work well No strong incentive for early adopters djw // CSE 461, Spring 2011 29