Winter 2003CS244a Handout 71 CS492B Project #2 TCP Tutorial #2 2003. 9.22 Jin Hyun Ju.

Slides:



Advertisements
Similar presentations
1 CS492B Project #2 TCP Tutorial # Jin Hyun Ju.
Advertisements

1 Comnet 2010 Communication Networks Recitation 9 Fairness & TCP Congestion Control.
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.
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth Edition,Peterson.
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.
Introduction to Congestion Control
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.
Congestion Control Reading: Sections COS 461: Computer Networks Spring 2011 Mike Freedman
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Third Ed.,Peterson.
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 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
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.
EEC-484/584 Computer Networks Lecture 14 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Networks : TCP Congestion Control1 TCP Congestion Control.
Networks : TCP Congestion Control1 TCP Congestion Control Presented by Bob Kinicki.
Advanced Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth.
L13: Sharing in network systems Dina Katabi Spring Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans.
TCP Congestion Control
Copyright © 2005 Department of Computer Science CPSC 641 Winter Tutorial: TCP 101 The Transmission Control Protocol (TCP) is the protocol that sends.
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
Congestion Control Michael Freedman COS 461: Computer Networks
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
Courtesy: Nick McKeown, Stanford 1 TCP Congestion Control Tahir Azim.
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.
Congestion control for multimedia Henning Schulzrinne Dept. of Computer Science Columbia University Fall 2003.
CS144 An Introduction to Computer Networks
Network Technologies essentials Week 8: TCP congestion control Compilation made by Tim Moors, UNSW Australia Original slides by David Wetherall, University.
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
TCP CS 168 Discussion Week 6 Many thanks to past EE 122 GSIs.
CSE 461 University of Washington1 Topic How TCP implements AIMD, part 1 – “Slow start” is a component of the AI portion of AIMD Slow-start.
1 TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in.
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.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
TCP Congestion Control Computer Networks TCP Congestion Control 1.
Winter 2008CS244a Handout 81 CS244a: An Introduction to Computer Networks Handout 8: Congestion Avoidance and Active Queue Management Nick McKeown Professor.
Winter 2008CS244a Handout 71 CS244a: An Introduction to Computer Networks Handout 7: Congestion Control Nick McKeown Professor of Electrical Engineering.
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
TCP Congestion Control
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
Handout # 14: Congestion Control
CS 6401 Congestion Control in TCP Outline Overview of RENO TCP Reacting to Congestion SS/AIMD example.
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.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
@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.
@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.
Transport Layer CS 381 3/7/2017.
Chapter 3 outline 3.1 transport-layer services
Chapter 6 TCP Congestion Control
COMP 431 Internet Services & Protocols
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
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
TCP Congestion Control
TCP Overview.
Computer Science Division
Chapter 3 outline 3.1 Transport-layer services
Congestion Michael Freedman COS 461: Computer Networks
Presentation transcript:

Winter 2003CS244a Handout 71 CS492B Project #2 TCP Tutorial # Jin Hyun Ju

Winter 2003CS244a Handout 72 CS244a: An Introduction to Computer Networks Handout 7: Congestion Control Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University

Winter 2003CS244a Handout 73 Main points  Congestion is inevitable  TCP sources detect congestion and, co-operatively, reduce the rate at which they transmit.  The rate is controlled using the TCP window size.  TCP modifies the rate according to “Additive Increase, Multiplicative Decrease (AIMD)”.  To jump start flows, TCP uses a fast restart mechanism (called “slow start”!).

Winter 2003CS244a Handout 74 Congestion H1H1 H2H2 R1 H3H3 A 1 (t) 10Mb/s D(t) 1.5Mb/s A 2 (t) 100Mb/s A1(t)A1(t) A2(t)A2(t) X(t)X(t) D(t)D(t) A1(t)A1(t) A2(t)A2(t) D(t)D(t) X(t)X(t) Cumulative bytes t

Winter 2003CS244a Handout 75 Congestion is unavoidable Arguably it’s good!  We use packet switching because it makes efficient use of the links. Therefore, buffers in the routers are frequently occupied.  If buffers are always empty, delay is low, but our usage of the network is low.  If buffers are always occupied, delay is high, but we are using the network more efficiently.  So how much congestion is too much?

Winter 2003CS244a Handout 76 Detecting Congestion  duplicated ACK  time out  without congestion control…

Winter 2003CS244a Handout 77 TCP Congestion Control  TCP implements host-based, feedback- based, window-based congestion control.  TCP sources attempts to determine how much capacity is available  TCP sends packets, then reacts to observable events (loss).

Winter 2003CS244a Handout 78 TCP Congestion Control  TCP sources change the sending rate by modifying the window size: Window = min{Advertized window, Congestion Window}  In other words, send at the rate of the slowest component: network or receiver.  “cwnd” follows additive increase/multiplicative decrease  On receipt of Ack: cwnd += 1  On packet loss (timeout): cwnd *= 0.5 ReceiverTransmitter (“cwnd”)

Winter 2003CS244a Handout 79 Additive Increase D A DDAADDAADA Src Dest When ACK is received: cwnd += 1/cwnd

Winter 2003CS244a Handout 710 Leads to the TCP “sawtooth” t Rate halved Timeouts Could take a long time to get started!

Winter 2003CS244a Handout 711 “Slow Start” Designed to cold-start connection quickly at startup or if a connection has been halted (e.g. window dropped to zero, or window full, but ACK is lost). How it works: increase cwnd by 1 for each ACK received. D A DDAADD AA D A Src Dest D A

Winter 2003CS244a Handout 712 Fast Recovery  Upon 3 duplicate ACKs, TCP retransmits.  Does not enter slow-start: there are probably ACKs in the pipe that will continue correct AIMD operation.

Winter 2003CS244a Handout 713 TCP Reno Congestion Control halved Timeout Exponential “slow start” t Rate Why is it called slow-start? Because TCP originally had no congestion control mechanism. The source would just start by sending a whole window’s worth of data. Slow start in operation until it reaches half of previous cwnd. Triple duplicated ACK