© Janice Regan, CMPT 128, 2007-2012 CMPT 371 Data Communications and Networking Congestion Control 0.

Slides:



Advertisements
Similar presentations
CS 408 Computer Networks Congestion Control (from Chapter 05)
Advertisements

Introduction 1 Lecture 14 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Chapter 3 Transport Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 12.
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
Transport Layer3-1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Third Ed.,Peterson.
CSEE W4140 Networking Laboratory Lecture 7: TCP flow control and congestion control Jong Yul Kim
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #7 TCP New Reno Vs. Reno.
1 Internet Networking Spring 2002 Tutorial 10 TCP NewReno.
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.
Computer Networks : TCP Congestion Control1 TCP Congestion Control.
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
1 Internet Networking Spring 2004 Tutorial 10 TCP NewReno.
Networks : TCP Congestion Control1 TCP Congestion Control.
Semester Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room.
Networks : TCP Congestion Control1 TCP Congestion Control Presented by Bob Kinicki.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
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 Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley Chapter3_3.
Transport Layer3-1 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 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!
TCOM 509 – Internet Protocols (TCP/IP) Lecture 04_b Transport Protocols - TCP Instructor: Dr. Li-Chuan Chen Date: 09/22/2003 Based in part upon slides.
17-1 Last time □ UDP socket programming ♦ DatagramSocket, DatagramPacket □ TCP ♦ Sequence numbers, ACKs ♦ RTT, DevRTT, timeout calculations ♦ Reliable.
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.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
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.
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.
1 John Magee 20 February 2014 CS 280: Transport Layer: Congestion Control Concepts, TCP Congestion Control Most slides adapted from Kurose and Ross, Computer.
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.
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
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.
@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.
Fast Retransmit For sliding windows flow control we waited for a timer to expire before beginning retransmission of a packet TCP uses an additional mechanism.
Transport Layer CS 381 3/7/2017.
Chapter 3 outline 3.1 transport-layer services
Chapter 6 TCP Congestion Control
CS-1652 Jack Lange University of Pittsburgh
COMP 431 Internet Services & Protocols
Chapter 3 outline 3.1 Transport-layer services
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Flow and Congestion Control
William Stallings Data and Computer Communications
Chapter 6 TCP Congestion Control
Congestion Control (from Chapter 05)
October 1st, 2013 CS-1652 Jack Lange University of Pittsburgh
Congestion Control (from Chapter 05)
CS4470 Computer Networking Protocols
TCP Overview.
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
CS-1652 Congestion Control Jack Lange University of Pittsburgh
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
Congestion Control (from Chapter 05)
TCP flow and congestion control
Congestion Control (from Chapter 05)
October 4th, 2011 CS-1652 Jack Lange University of Pittsburgh
Presentation transcript:

© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0

Simple Congestion Scenario  Two pairs hosts share a connection through a common router.  Host A and host B are sending data at bytes/sec through a shared link (through the router) with capacity R  The router has a buffer (infinite) which can queue packets if they arrive faster that the link to hosts B and C can accept them  Large queuing delays result Janice Regan

2  Fig 3.43 text  Fig 3.44.text From Kurose and Ross 6ed

Another Scenario  Now assume the buffer is finite, packets arriving at a full buffer will be dropped  Dropped packets will eventually be retransmitted  Host A and host B are sending data at. bytes/sec through a shared link (through the router) with capacity R  is known as the offered load Janice Regan

4  Fig 3.45 text From Kurose and Ross 6ed

Janice Regan Scenarios  Offered load = application sending rate = R/2 Host A transmits only when buffer is available (by chance) so no packets are lost  Offered load = application sending rate + retransmission rate = R/2  Retransmission occurs only when packet is definitely lost. (e.g. expiry of very long RTT timer)  One out of two original packets sent is retransmitted  ADDITIONAL COST: RETRANSMISSION OF PACKETS THAT ARE DROPPED DUE TO CONGESTION

Janice Regan Scenarios  As for B but retransmission occurs when a packet may be lost.  Retransmission rate now includes some duplicate transmissions. Duplicate transmissions are transmissions of packets that were delayed rather than lost  ADDITIONAL COST: RETRANSMISSION OF DUPLICATE PACKETS  In the diagram each packet assumed to be forwarded twice

Janice Regan  Fig 3.46 text From Kurose and Ross 6ed

TCP congestion window  Congestion window  Usually smaller than the RecWindow (size of sliding window) for sliding windows  Allows reduction of the size of the sliding window to deal with congestion  Sliding windows will use smallest of RecWindow and CongWindow  Consider RTT to be the time transmission of CongWindow begins until all of CongWindow is acknowledged  Send rate is about CongWindow length / RTT 8 Janice Regan 2012

TCP: detecting congestion  Two types of ‘loss events’ indicate congestion is occuring  Third copy of ACK arrives causing retransmission  Transmission timer expires  These events indicate high levels of congestion because  They are caused by packets being lost  Packets are lost when queuing buffers fill due to congestion and overflow  When acknowledgements arrive as expected, and packets are not lost TCP assumes there is no congestion.  Faster arrival of ACKS indicates possible available bandwidth  Slower arrival of ACKS indicates possible congestion (low levels) 9 Janice Regan 2012

10 Managing the CongWindow  Slow Start  Begins with a CongWindow length of 1 Maximum Segment Size  Initial throughput is MSS / RTT  If data is transmitted successfully double the length of the CongWindow (or increase to RecWindow if increase is smaller)  Continue doubling the CongWindow each RTT until the RecWindow is reached or a loss event occurs  If a loss event (triple duplicate ACK) occurs cut the CongWindow in half, exit the slow start procedure, moving to CA mode (fast recovery). CongWindow will not be decreased past 1 MSS  If a loss event (timeout) occurs reinitialize SS mode, and continues in SS mode until the CongWindow reaches a Threshold size equal to half the size when the loss occured

Effect of Slow Start 11 Janice Regan 2012

Managing the CongWindow  AIMD: Additive increase multiplicative decrease  If data is transmitted successfully increase the length of the CongWindow by one MSS (or increase to RecWindow if increase is smaller)  Continue increasing the CongWindow each RTT until the RecWindow is reached or a loss event occurs 12 Janice Regan 2012

Managing the CongWindow  AIMD: Additive increase multiplicative decrease  If a loss event ( in particular a third duplicate ACK) occurs cut the CongWindow in half (and add 3 RTT) then move to fast recovery state (resume linear increases)  If a loss event (timeout) occurs enter SS mode, and continues in SS mode until the CongWindow reaches a Threshold size equal to half the size when the loss occured  While running this algorithm TCP is in collision avoidance (CA) mode 13 Janice Regan 2012

14 Figure 3.51.text Janice Regan 2012 From Kurose and Ross 6ed

Janice Regan Fairness (1)  Consider N connections through a single router to the same host. Both connections have the same MSS and RTT  If TCP is fairall connections should end up with the same throughput  For simplicity consider 2 connections both of the connections is operating in CA mode  If both connections are operating below R/2 (capacity of connection is R) then loss should not occur and both connections will increase their CongWindow at the same rate

Janice Regan Fairness (2)  At some point the combined load will become larger than R, queues will fill and a packet will be lost  This will reduce the combined offered load.  When the load has been reduced (one or multiple reductions) until packets are no longer lost then the combined offered load will be less than R  This cycle of increase followed by decrease will continue

Janice Regan Fairness (3)  For any given packet arriving at the router the probability that it will be dropped is the same  If the offered load of connection 1 is larger than connection 2, then more packets are arriving from connection 1 and is more likely that the packet from connection 1 will be dropped  This will mean the connection with the larger throughput is more likely to have its CongWindow reduced. The net effect is that the load of the two connections will over time converge.

Janice Regan  Fig 3.54 text  Fig 3.55 text

Janice Regan Fairness: UDP  UDP does not have built in congestion control mechanisms.  ICMP choke packets may be used to control congestion is ICMP is activated at all points along the path (ICMP is commonly disabled by hosts/routers as a security measure)  A protocol that uses UDP will be able to continue pumping data into the Internet at a rate as large as its maximum transmission rate.  Thus, it is possible for UDP traffic to fill the available bandwidth of the connection and to prevent the transmission of TCP traffic.

Janice Regan Fairness: TCP an UDP  The discussion of fairness and TCP assumes that each user is making one connection.  Many TCP applications make multiple TCP connections to increase the throughput of data.  This means that the per user fairness is skewed.