CS640: Introduction to Computer Networks Mozafar Bag-Mohammadi Lecture 3 TCP Congestion Control.

Slides:



Advertisements
Similar presentations
Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Advertisements

Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Congestion Control Reasons: - too many packets in the network and not enough buffer space S = rate at which packets are generated R = rate at which receivers.
Principles of Congestion Control Chapter 3.6 Computer Networking: A top-down approach.
TCP Congestion Control
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
Computer Networking Lecture 17 – TCP & Congestion Control Dejian Ye, Liu Xin.
Congestion Control: TCP & DC-TCP Swarun Kumar With Slides From: Prof. Katabi, Alizadeh et al.
Introduction 1 Lecture 14 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
Congestion control principles Presentation by: Farhad Rad (Advanced computer Networks Lesson in
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Introduction to Congestion Control
Chapter 3 Transport Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 12.
Transport Layer3-1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much.
1 Congestion Control 2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for.
15-744: Computer Networking L-10 Congestion Control.
Week 9 TCP9-1 Week 9 TCP 3 outline r 3.5 Connection-oriented transport: TCP m segment structure m reliable data transfer m flow control m connection management.
Computer Networking Lecture 16 – TCP & Congestion Control Copyright ©, Carnegie Mellon University.
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
Data Communication and Networks
Transport Layer Congestion control. Transport Layer 3-2 Approaches towards congestion control End-to-end congestion control: r no explicit feedback.
EEC-484/584 Computer Networks Lecture 14 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
3: Transport Layer3b-1 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
Transport Layer 4 2: Transport Layer 4.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transport Layer1 Flow and Congestion Control Ram Dantu (compiled from various text books)
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
Contents Causes and cost of congestion Three examples How to handle congestion End-to-end Network-assisted TCP congestion control ATM ABR congestion control.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
1 Transport Layer Lecture 10 Imran Ahmed University of Management & Technology.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
TCP Congestion Control Computer Networks TCP Congestion Control 1.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Principles of Congestion Control Some slides.
By N.Gopinath AP/CSE Unit: III Introduction to Transport layer.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
CS-1652 The slides are adapted from the publisher’s material All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Jack Lange.
David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Fairness of Bandwidth Allocation (§6.3.1)
TCP Congestion Control
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
The Macroscopic behavior of the TCP Congestion Avoidance Algorithm.
TCP. TCP ACK generation [RFC 1122, RFC 2581] Event at Receiver Arrival of in-order segment with expected seq #. All data up to expected seq # already.
Spring Computer Networks1 Congestion Control Sections 6.1 – 6.4 Outline Preliminaries Queuing Discipline Reacting to Congestion Avoiding Congestion.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – II - Connection Set-up and Congestion Control.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP Congestion Control.
Analysis of the increase and Decrease Algorithms for Congestion in Computer Networks Portions of the slide/figures were adapted from :
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
Transport Layer session 1 TELE3118: Network Technologies Week 11: Transport Layer TCP Some slides have been taken from: r Computer Networking:
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
1 Transport Bandwidth Allocation 3/29/2012. Admin. r Exam 1 m Max: 65 m Avg: 52 r Any questions on programming assignment 2 2.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
1 Flow & Congestion Control Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina Katabi.
Computer Networking Lecture 8 – TCP & Congestion Control.
Lecture 17 – TCP & Congestion Control
CS450 – Introduction to Networking Lecture 19 – Congestion Control (2)
Chapter 6 TCP Congestion Control
Introduction to Congestion Control
Chapter 3 outline 3.1 Transport-layer services
Flow and Congestion Control
Lecture 19 – TCP Performance
15-744: Computer Networking
COMP/ELEC 429/556 Introduction to Computer Networks
Congestion Control Reasons:
TCP Congestion Control
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
Computer Networking TCP.
Presentation transcript:

CS640: Introduction to Computer Networks Mozafar Bag-Mohammadi Lecture 3 TCP Congestion Control

2 Congestion Different sources compete for resources inside network Why is it a problem? –Sources are unaware of current state of resource –Sources are unaware of each other Manifestations: –Lost packets (buffer overflow at routers) –Long delays (queuing in router buffers) –Can result in effective throughput less than “bottleneck” link (1.5Mbps for the above topology) 10 Mbps 100 Mbps 1.5 Mbps

3 Causes & Costs of Congestion Packets consume resources and are dropped elsewhere in network. Spurious retransmissions of packets still in flight due to long delay.

4 Congestion Control and Avoidance A mechanism which: –Uses network resources efficiently –Preserves fair network resource allocation –Controls or Avoids congestion

5 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 –Problem: approximate, possibly inaccurate Network-assisted congestion control: –Routers provide feedback to end systems Single bit indicating congestion Explicit rate sender should send at –Problem: makes routers complicated Two broad approaches towards congestion control:

6 End-End Congestion Control So far: TCP sender limited by available buffer size at receiver –Receiver flow control –“receive window” or “advertised window” To accommodate network constraints, sender maintains a “congestion window” –Reflects dynamic state of the network –Max outstanding packets ≤ min {congestion window, advertised window} When receiver window is very large, congestion window determines how fast sender can send –Speed = CWND/RTT (roughly)

7 TCP Congestion Control Very simple mechanisms in network –FIFO scheduling with shared buffer pool –Feedback through packet drops End-host TCP interprets drops as signs of congestion and slows down  reduces size of congestion window But then, periodically probes – or increases congestion window –To check whether more bandwidth has become available

8 Congestion Control Objectives Simple router behavior Distributed-ness Efficiency:  x i (t) close to system capacity Fairness: equal (or propotional) allocation –Metric = (  x i ) 2 /n(  x i 2 ) Convergence: control system must be stable

9 Linear Control Many different possibilities for reaction to congestion and probing –Examine simple linear controls Window(t + 1) = a + b Window(t) Different a i /b i for increase and a d /b d for decrease Various reaction to signals possible –Increase/decrease additively –Increased/decrease multiplicatively –Which of the four combinations is optimal? Consider two end hosts vying for network bandwidth

10 Additive Increase/Decrease T0T0 T1T1 Efficiency Line Fairness Line User 1’s Allocation x 1 User 2’s Allocation x 2 Both X 1 and X 2 increase/ decrease by the same amount over time –Additive increase improves fairness and additive decrease reduces fairness

11 Multiplicative Increase/Decrease Both X 1 and X 2 increase by the same factor over time –Extension from origin – constant fairness T0T0 T1T1 Efficiency Line Fairness Line User 1’s Allocation x 1 User 2’s Allocation x 2

12 Convergence to Efficiency xHxH Efficiency Line Fairness Line User 1’s Allocation x 1 User 2’s Allocation x 2

13 Distributed Convergence to Efficiency xHxH Efficiency Line Fairness Line User 1’s Allocation x 1 User 2’s Allocation x 2 a=0 b=1 a>0 & b<1 a 1 a<0 & b<1 a>0 & b>1

14 Convergence to Fairness xHxH Efficiency Line Fairness Line User 1’s Allocation x 1 User 2’s Allocation x 2 x H’

15 Convergence to Efficiency & Fairness Intersection of valid regions For decrease: a=0 & b < 1 xHxH Efficiency Line Fairness Line User 1’s Allocation x 1 User 2’s Allocation x 2 x H’

16 What is the Right Choice? Constraints limit us to AIMD –Can have multiplicative term in increase (MAIMD) –AIMD moves towards optimal point x0x0 x1x1 x2x2 Efficiency Line Fairness Line User 1’s Allocation x 1 User 2’s Allocation x 2