Congestion Control. Srinidhi Varadarajan

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

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

Data Networks Summer 2007 Homework #3

TCP in Wireless Mobile Networks

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

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

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

Chapter 6 Congestion Control and Resource Allocation

Transport Layer Protocols

TCP over Wireless Networks

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

Transport layer issues in ad hoc wireless networks Dmitrij Lagutin,

A Survey on Congestion Control Mechanisms for Performance Improvement of TCP

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

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

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

TCP for Wireless Networks

TCP Westwood for Wireless

Final for ECE374 05/06/13 Solution!!

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

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

TCP, Active Queue Management and QoS

Computer Networks - CS132/EECS148 - Spring

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

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

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

Congestions and Control Mechanisms n Wired and Wireless Networks

2 TCP-like Design. Answer

15-441: Computer Networks Homework 2 Solution

Mobile Communications Chapter 9: Mobile Transport Layer

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

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

Low-rate TCP-targeted Denial of Service Attack Defense

EINDHOVEN UNIVERSITY OF TECHNOLOGY Department of Mathematics and Computer Science

Visualizations and Correlations in Troubleshooting

A Qos SCHEME TO ADDRESS COMMUNICATION LATENCY ISSUES FOR CRITICAL NETWORK FLOWS IN BEST-EFFORT NETWORKS USING MOBILE AGENTS

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

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

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

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

17: Queue Management. Queuing. Mark Handley

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

Per-Flow Queuing Allot's Approach to Bandwidth Management

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

An Improved TCP Congestion Control Algorithm for Wireless Networks

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

TCP Adaptation for MPI on Long-and-Fat Networks

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

Sample Network Analysis Report

The Problem with TCP. Overcoming TCP s Drawbacks

ICTCP: Incast Congestion Control for TCP in Data Center Networks

TCP over High Speed Variable Capacity Links: A Simulation Study for Bandwidth Allocation

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

Transport layer protocols for ad hoc networks

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

SCTP over Satellite Networks

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

TCP/IP In Cellular Networks

[Prof. Rupesh G Vaishnav] Page 1

Applications. Network Application Performance Analysis. Laboratory. Objective. Overview

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

Active Queue Management (AQM) based Internet Congestion Control

PART III. OPS-based wide area networks

TCP in Wireless Networks

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

Parallel TCP Data Transfers: A Practical Model and its Application

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

ICOM : Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM

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

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

TCP/IP Performance with Random Loss and Bidirectional Congestion

High Speed Internet Access Using Satellite-Based DVB Networks

STUDY OF TCP VARIANTS OVER WIRELESS NETWORK

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

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

SIP Server Overload Control: Design and Evaluation

Optimization of Communication Systems Lecture 6: Internet TCP Congestion Control

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

HyperIP : VERITAS Replication Application Note

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

Performance evaluation of TCP connections in ideal and non-ideal network environments

Packet Queueing Delay

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

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

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

Computer Networks. Chapter 5 Transport Protocols

Delay, loss, layered architectures. packets queue in router buffers. packets queueing (delay)

Advanced satellite infrastructures in future global Grid computing: network solutions to compensate delivery delay ISTI CNR

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM

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

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

A Study on TCP Performance over Mobile Ad Hoc Networks

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

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

Referring to the above question, the end-to-end delay (transmission delay plus propagation delay) is

Computer Networks CS321

TTC New Reno - Consistent Control of Packet Traffic

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

Random Early Detection Gateways for Congestion Avoidance

Multipath TCP under Massive Packet Reordering

Transcription:

Congestion Control Srinidhi Varadarajan

Principles of Congestion Control Congestion: informally: too many sources sending too much data too fast for network to handle different from flow control! manifestations: lost packets (buffer overflow at routers) long delays (queuing in router buffers) a top-10 problem!

Causes/costs of congestion: scenario 1 two senders, two receivers one router, infinite buffers no retransmission large delays when congested maximum achievable throughput

Causes/costs of congestion: scenario 2 one router, finite buffers sender retransmission of lost packet

Causes/costs of congestion: scenario 2 always: λ = λ (goodput) in out perfect retransmission only when loss: λ > λ in out retransmission of delayed (not lost) packet makes λ larger in (than perfect case) for same λ out costs of congestion: more work (retrans) for given goodput unneeded retransmissions: link carries multiple copies of pkt

Causes/costs of congestion: scenario 3 four senders multihop paths timeout/retransmit Q: what happens as and increase? λ in λ in

Causes/costs of congestion: scenario 3 Another cost of congestion: when packet dropped, any upstream transmission capacity used for that packet was wasted!

Approaches towards congestion control Two broad approaches towards congestion control: End-end congestion control: no explicit feedback from network congestion inferred from end-system observed loss, delay approach taken by TCP Network-assisted congestion control: routers provide feedback to end systems single bit indicating congestion (SNA, DECbit, TCP/IP ECN, ATM) explicit rate sender should send at

Case study: ATM AB congestion control AB: available bit rate: elastic service if sender s path underloaded : sender should use available bandwidth if sender s path congested: sender throttled to minimum guaranteed rate M (resource management) cells: sent by sender, interspersed with data cells bits in M cell set by switches ( network-assisted ) NI bit: no increase in rate (mild congestion) CI bit: congestion indication M cells returned to sender by receiver, with bits intact

Case study: ATM AB congestion control two-byte E (explicit rate) field in M cell congested switch may lower E value in cell sender send rate thus minimum supportable rate on path EFCI bit in data cells: set to 1 in congested switch if data cell preceding M cell has EFCI set, receiver sets CI bit in returned M cell

TCP Congestion Control end-end control (no network assistance) transmission rate limited by congestion window size, Congwin, over segments: Congwin w segments, each with MSS bytes sent in one TT: throughput = w * MSS TT Bytes/sec

TCP congestion control: probing for usable bandwidth: ideally: transmit as fast as possible (Congwin as large as possible) without loss increase Congwin until loss (congestion) loss: decrease Congwin, then begin probing (increasing) again two phases slow start congestion avoidance important variables: Congwin threshold: defines threshold between two slow start phase, congestion control phase

TCP Slowstart Slowstart algorithm initialize: Congwin = 1 for (each segment ACKed) Congwin++ until (loss event O CongWin > threshold) TT Host A Host B one segment two segments four segments exponential increase (per TT) in window size (not so slow!) loss event: timeout (Tahoe TCP) and/or or three duplicate ACKs (eno TCP) time

TCP Congestion Avoidance Congestion avoidance /* slowstart is over */ /* Congwin > threshold */ Until (loss event) { every w segments ACKed: Congwin++ } threshold = Congwin/2 Congwin = 1 1 perform slowstart 1: TCP eno skips slowstart (fast recovery) after three duplicate ACKs

AIMD TCP congestion avoidance: AIMD: additive increase, multiplicative decrease increase window by 1 per TT decrease window by factor of 2 on loss event TCP Fairness Fairness goal: if N TCP sessions share same bottleneck link, each should get 1/N of link capacity TCP connection 1 TCP connection 2 bottleneck router capacity

Why is TCP fair? Two competing sessions: Additive increase gives slope of 1, as throughout increases multiplicative decrease decreases throughput proportionally equal bandwidth share Connection 2 throughput Connection 1 throughput loss: decrease window by factor of 2 congestion avoidance: additive increase loss: decrease window by factor of 2 congestion avoidance: additive increase

TCP latency modeling Q: How long does it take to receive an object from a Web server after sending a request? TCP connection establishment data transfer delay Two cases to consider: Notation, assumptions: Assume one link between client and server of rate Assume: fixed congestion window, W segments S: MSS (bits) O: object size (bits) no retransmissions (no loss, no corruption) WS/ > TT + S/: ACK for first segment in window returns before window s worth of data sent WS/ < TT + S/: wait for ACK after sending window s worth of data sent

TCP latency Modeling K:= O/WS Case 1: latency = 2TT + O/ Case 2: latency = 2TT + O/ + (K-1)[S/ + TT - WS/]

TCP Latency Modeling: Slow Start Now suppose window grows according to slow start. Will show that the latency of one object of size O is: Latency = O S P 2TT + + P TT (2 1) + S where P is the number of times TCP stalls at server: P = min{ Q, K 1} - where Q is the number of times the server would stall if the object were of infinite size. - and K is the number of windows that cover the object.

TCP Latency Modeling: Slow Start (cont.) Example: O/S = 15 segments K = 4 windows Q = 2 P = min{k-1,q} = 2 initiate TCP connection request object TT first window = S/ second window = 2S/ third window = 4S/ Server stalls P=2 times. fourth window = 8S/ object delivered time at client time at server complete transmission

TCP Latency Modeling: Slow Start (cont.) S + TT = time from when server starts to send segment until server receives acknowledgement k S 2 1 = time to transmit the kth window initiate TCP connection request object first window = S/ S + TT + k S 2 1 = stall time after the kth window TT second window = 2S/ third window = 4S/ latency = O + 2TT + P p= 1 stalltime p fourth window = 8S/ = = O O + 2TT + 2TT + P k= 1 [ S + P[ TT + + TT S 2 ] (2 k 1 P S ] 1) S object delivered time at client time at server complete transmission