T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Principles of Congestion Control Some slides.

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.
1 EE 122:TCP Congestion Control Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks to Vern Paxson,
1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
CS640: Introduction to Computer Networks Mozafar Bag-Mohammadi Lecture 3 TCP Congestion Control.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 16: Congestion control II Slides used with.
Introduction 1 Lecture 14 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
Chapter 3 Transport Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 12.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Congestion Control Computer Science Division Department of Electrical Engineering and Computer.
Congestion Control Tanenbaum 5.3, /12/2015Congestion Control (A Loss Based Technique: TCP)2 What? Why? Congestion occurs when –there is no reservation.
Transport Layer3-1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much.
Congestion Control Reading: Sections COS 461: Computer Networks Spring 2011 Mike Freedman
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.
1 Lecture 9: TCP and Congestion Control Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3.
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
L13: Sharing in network systems Dina Katabi Spring Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans.
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
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 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 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 15: Congestion Control I Slides used with.
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!
EE 122: Congestion Control and Avoidance Kevin Lai October 23, 2002.
Lecture 9 – More TCP & 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
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Computer Networking Lecture 18 – More TCP & Congestion Control.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Congestion Control Computer Science Division Department of Electrical Engineering and Computer.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
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 Layer 3- Midterm score distribution. Transport Layer 3- TCP congestion control: additive increase, multiplicative decrease Approach: increase.
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.
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Weighted Fair Queuing Some slides used with.
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.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 13: TCP Slides used with permissions from.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP Congestion Control.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Reliability Some slides used with permissions.
@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 Flow & Congestion Control Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina Katabi.
CS450 – Introduction to Networking Lecture 19 – Congestion Control (2)
Chapter 3 outline 3.1 transport-layer services
Chapter 6 TCP Congestion Control
COMP 431 Internet Services & Protocols
EECS 122: Introduction to Computer Networks Congestion Control
Chapter 3 outline 3.1 Transport-layer services
TCP.
Flow and Congestion Control
Lecture 19 – TCP Performance
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
Chapter 6 TCP Congestion Control
COMP/ELEC 429/556 Introduction to Computer Networks
CS640: Introduction to Computer Networks
TCP Congestion Control
TCP Overview.
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
TCP flow and congestion control
Presentation transcript:

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Principles of Congestion Control Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University2 Sliding Window Time Window size n = 9, i.e. 9 packets in one RTT In general, sending rate proportional to n/RTT RTT

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University3

4 What is Congestion? The load placed on the network is higher than the capacity of the network –Not surprising: independent senders place load on network Results in packet loss: routers have no choice –Can only buffer finite amount of data

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University5 How Fast to Send? What’s at Stake? Send too slow: link sits idle –wastes time Send too fast: link is kept busy but.... –queue builds up in router buffer (delay) –overflow buffers in routers (loss) –Many retransmissions, many losses –Network goodput goes down –“Congestion collapse” Load Goodput safe operating point

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University6 Abstract View We ignore internal structure of network and model it as having a single bottleneck link Sending Host Buffer in bottleneck Router Receiving Host AB

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University7 Problem 1: Single Flow, Fixed Bandwidth Adjust rate to match bottleneck bandwidth –without any a priori knowledge –could be 40 Gbps link, could be a 32 Kbps link AB 100 Mbps

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University8 Problem 2: Single Flow, Varying Bandwidth Adjust rate to match instantaneous bandwidth Bottleneck can change because of a routing change AB BW(t)

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University9 Problem 3: Multiple Flows Two Issues: Adjust total sending rate to match bottleneck bandwidth Allocation of bandwidth between flows A2B2 100 Mbps A1 A3 B3 B1

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University10 General Approaches Reservation –pre-arrange bandwidth allocations –requires negotiation before sending packets –requires router support

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University11 General Approaches (cont’d) Dynamic sending rate adjustment –Every sender probe network to test level of congestion –speed up when no congestion –slow down when congestion –suboptimal, messy dynamics, but simple to implement –requires no router support –Distributed coordination problem!

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University12 Sliding Window Congestion Control Sender has a send window –controls amount of unacknowledged data in transit Sending rate proportional to: Send window size/RTT Vary send window size to control sending rate

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University13 Two Basic Components Detecting congestion Rate adjustment algorithm (change window size) –depends on congestion or not

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University14 Detecting Congestion Packet dropping is a plausible sign of congestion –delay-based methods are hard and risky How do you detect packet drops? ACKs –ACKs signal receipt of data –ACK denotes last contiguous byte received Two signs of packet drops –No ACK after certain time interval: time-out –Several duplicate ACKs for the same sequence number This heuristic may not work well for wireless networks, why? –Think whether packet drops are always due to congestion

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University15 Rate Adjustment Basic idea: –Upon receipt of ACK (of new data): increase rate Data successfully delivered, perhaps can send faster –Upon detection of loss: decrease rate But how much increase/decrease should be applied? –What outcomes do we want? For simplicity, restrict to “additive” and “multiplicative” increase/decrease –“additive” results in linearly change –“multiplicative” results in exponential change

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University16 Fairness & Efficiency Two competing sessions: Additive increase (AI) gives slope of 1, as throughout increases multiplicative decrease (MD) decreases throughput proportionally R R equal bandwidth share Connection 1 throughput Connection 2 throughput loss: decrease window by factor of 2 Fair and link fully utilized (rate R)

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University17 AIMD AB x C DE y Limit rates: x = y

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University18 AIMD Sharing Dynamics AB x DE No congestion  rate increases by one packet/RTT every RTT Congestion  decrease rate by factor 2 Rates equalize  fair share y

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University19 AIAD AB x C DE y Limit rates: x and y depend on initial values

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University20 AIAD Sharing Dynamics AB x DE No congestion  x increases by one packet/RTT every RTT Congestion  decrease x by 1 y

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University21 AIMD Model Analyze the steady state throughput as a function of –RTT –Loss probability Assumptions –Each packet dropped with iid probability p Methodology: analyze “average” cycle in steady state –How many packets are transmitted per cycle? –What is the duration of a cycle?

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University22 Cycles in Steady State Denote W as the maximum achieved window What is the slope of the line? What are the key values on the time axis?

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University23 Cycle Analysis W increase by 1 per RTT

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University24 Throughput What is W as a function of p? How long does a cycle last until a drop?

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University25 Cycle Length Let be the index of the lost packet that ends a cycle

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University26 AIMD Model Note role of RTT. Is it “fair”? A “macroscopic” model