CS 457 Lecture 23 Congestion. Fall 2011

Similar documents
Chapter 6 Congestion Control and Resource Allocation

Data Networks Summer 2007 Homework #3

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

TCP in Wireless Mobile Networks

Transport Layer Protocols

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

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

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

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

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

2 TCP-like Design. Answer

TCP over Wireless Networks

15-441: Computer Networks Homework 2 Solution

A Survey on Congestion Control Mechanisms for Performance Improvement of TCP

TCP Westwood for Wireless

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

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

Final for ECE374 05/06/13 Solution!!

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

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

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

Active Queue Management (AQM) based Internet Congestion Control

This sequence diagram was generated with EventStudio System Designer (

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

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM

Optimization of Communication Systems Lecture 6: Internet TCP Congestion Control

Congestions and Control Mechanisms n Wired and Wireless Networks

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

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

Prefix AggregaNon. Company X and Company Y connect to the same ISP, and they are assigned the prefixes:

Improving Effective WAN Throughput for Large Data Flows By Peter Sevcik and Rebecca Wetzel November 2008

A Survey: High Speed TCP Variants in Wireless Networks

Transport layer issues in ad hoc wireless networks Dmitrij Lagutin,

Analytic Models for the Latency and Steady-State Throughput of TCP Tahoe, Reno and SACK

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

Computer Networks - CS132/EECS148 - Spring

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

Visualizations and Correlations in Troubleshooting

SJBIT, Bangalore, KARNATAKA

TCP for Wireless Networks

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

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

Scheduling for QoS Management

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

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

B-2 Analyzing TCP/IP Networks with Wireshark. Ray Tompkins Founder of Gearbit

TCP in Wireless Networks

TCP Adaptation for MPI on Long-and-Fat Networks

Mobile Communications Chapter 9: Mobile Transport Layer

TTC New Reno - Consistent Control of Packet Traffic

CSE 123: Computer Networks

Per-Flow Queuing Allot's Approach to Bandwidth Management

TCP/IP Optimization for Wide Area Storage Networks. Dr. Joseph L White Juniper Networks

Routing in packet-switching networks

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

Low-rate TCP-targeted Denial of Service Attack Defense

Challenges of Sending Large Files Over Public Internet

Comparative Analysis of Congestion Control Algorithms Using ns-2

The Data Replication Bottleneck: Overcoming Out of Order and Lost Packets across the WAN

TCP, Active Queue Management and QoS

Key Components of WAN Optimization Controller Functionality

Computer Networks. Chapter 5 Transport Protocols

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

The network we see so far. Internet Best Effort Service. Is best-effort good enough? An Audio Example. Network Support for Playback

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

17: Queue Management. Queuing. Mark Handley

Chapter 5. Transport layer protocols

TCP/IP In Cellular Networks

Parallel TCP Data Transfers: A Practical Model and its Application

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

Computer Networks UDP and TCP

A Congestion Control Algorithm for Data Center Area Communications

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

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

CSE331: Introduction to Networks and Security. Lecture 9 Fall 2006

Ina Minei Reuven Cohen. The Technion. Haifa 32000, Israel. Abstract

COMP 361 Computer Communications Networks. Fall Semester Midterm Examination

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

Packet Queueing Delay

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

THE UNIVERSITY OF AUCKLAND

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

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

A Study on TCP Performance over Mobile Ad Hoc Networks

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

Homework 3 assignment for ECE374 Posted: 03/13/15 Due: 03/27/15

Lecture 14: Data transfer in multihop wireless networks. Mythili Vutukuru CS 653 Spring 2014 March 6, Thursday

Sample Network Analysis Report

Network Friendliness of Mobility Management Protocols

STUDY OF TCP VARIANTS OVER WIRELESS NETWORK

High Speed Internet Access Using Satellite-Based DVB Networks

SELECTIVE-TCP FOR WIRED/WIRELESS NETWORKS

Improving Online Video Quality and Accelerating Downloads

Router-based Congestion Control through Control Theoretic Active Queue Management

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

Advanced Computer Networks Project 2: File Transfer Application

PART III. OPS-based wide area networks

The Problem with TCP. Overcoming TCP s Drawbacks

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

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

Transcription:

CS 457 Lecture 23 Congestion Fall 2011

Defining Fairness: MaxMin Given a resource utotal and several requests pi Assign allocations of ui to node i. Allocation is fair if No one receives more than they requested: ui <= pi for all i No other allocation has higher minimum allocation (for allocations meeting requirement above) Recursive true after removal of minimum node: let j = user with minimum allocation let utotal = utotal - uj remove user j above conditions should still hold

A Simple (Incorrect) Approach Allocate buffer space for each flow Only drop packet if individual flow buffer overflows Seems fair in terms of buffer allocation. Round-Robin Rule for Sending Packets Transmit packet from queue 1, then queue 2, etc. Is this approach fair? What should a sender do to optimize its share of bandwidth? Answer: Send VERY big packets!

A Simple (Impractical) Approach Allocate buffer space for each flow Only drop packet if individual flow buffer overflows Seems fair in terms of buffer allocation. Round-Robin Rule for Sending Bits Transmit one bit from queue 1, then queue 2, etc. Is this approach fair? Some notation: R(t) = the number of rounds up to time t Nac(t) = the number of active flows at time t S(i,a) = the time packet i from flow a arrives F(i,a) = the time packet i from flow a left

Notations Some notation: R(t) = the number of rounds up to time t Nac(t) = the number of active flows at time t S(i,a) = the round packet i from flow starts F(i,a) = the round packet i from flow finishes In which round is a packet transmitted? S(i,a) = Max(R(arrival_time), F(i-1,a)) F(i,a) = S(i,a) + P Can order packets by their finishing time F(i,a)

A Fair Queuing Algorithm Important factor is the finishing time F(i,a) Packet arrived bit by bit (impractical approach) But it does not matter how bits arrived Packet is not available until F(i,a) anyway Fair Queuing Approach Send packet with lowest F(i,a) Pre-emption What if packet arrives with lower F(i,a) then current packet? Could choose to pre-empt (easier to analyze) or wait (easier to implement)

Simple Congestion Detection Packet loss Packet gets dropped along the way Packet delay Packet experiences high delay How does TCP sender learn these? Loss Timeout Triple-duplicate acknowledgment Delay Round-trip time estimate

Simple Congestion Detection Packet loss Packet gets dropped along the way Packet delay Packet experiences high delay How does TCP sender learn these? Loss Timeout Triple-duplicate acknowledgment Delay Round-trip time estimate

TCP Congestion Control Basics Each source determines available capacity and how many packets is allowed to have in transit Congestion window Maximum # of unack ed bytes allowed to be in transit (the congestion-control equivalent of receiver window) MaxWindow = min{congestion window, receiver window} - send at the rate of the slowest component How to adapt the congestion window? Decrease upon losing a packet: back-off Increase upon success: explore new capacity

Additive Increase, Multiplicative Decrease How much to increase and decrease? Increase linearly, decrease multiplicatively A necessary condition for stability of TCP Consequences of oversized window are much worse than having an under-sized window Oversized window: packets dropped, retransmitted, pain for all Undersized window: lower throughput for one flow Multiplicative decrease On loss of packet, divide congestion window in half Additive increase On success for last window of data, increase linearly, adding one MSS per RTT

Window TCP Sawtooth Behavior Loss halved t

Practical Details Congestion window (cwnd) Represented in bytes, not in packets (Why?) Packets typically one MSS (Maximum Segment Size) Increasing the congestion window Increase by MSS on success for last window of data In practice, increase a fraction of MSS per received ACK # packets per window: CWND / MSS Increment per ACK: MSS * (MSS / CWND) Decreasing the congestion window Cut in half, but never below 1 MSS

Getting Started Need to start with a small CWND to avoid overloading the network. Window But, could take a long time to get started! t

Slow Start Phase Start with a small congestion window Initially, CWND is 1 MSS So, initial sending rate is MSS/RTT That could be pretty wasteful Might be much less than the available bandwidth Linear increase takes a long time to accelerate Slow-start phase (but in reality it s fast start ) Sender starts at a slow rate (hence the name) but increases the rate exponentially until the first loss event

Slow Start in Action Double CWND per round-trip time Src 1 2 4 8 D A D D A A D D D D A A A A Dest

What s Next Read Chapter 1, 2, 3, 4.1-4.3, and 5.1-5.2 Next Lecture Topics from Chapter 6.4 and 6.5 Congestion Control Homework Due Thursday in lecture Project 3 Report Any Changes in Your Project Group