Congestion Control in TCP

Size: px
Start display at page:

Download "Congestion Control in TCP"

Transcription

1 Congestion Control in TCP Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana November 16, 2018

2 Outline Intro to congestion control Input rate vs. output throughput Congestion window Congestion avoidance Slow start Fast recovery

3 Arouterbehavesalotlikeakitchensink Understanding Congestion

4 Understanding Congestion Arouterbehavesalotlikeakitchensink maxrate=r

5 Understanding Congestion Arouterbehavesalotlikeakitchensink λ 1 =R/2 maxrate=r throughput = R/2

6 Understanding Congestion Arouterbehavesalotlikeakitchensink λ 1 =R/2 λ 2 =R/2 maxrate=r throughput = R

7 Understanding Congestion Arouterbehavesalotlikeakitchensink λ 3 =R/2 λ 1 =R/2 λ 2 =R/2 maxrate=r throughput = R

8 Understanding Congestion Arouterbehavesalotlikeakitchensink λ 3 =R/2 λ 1 =R/2 λ 2 =R/2 maxrate=r throughput = R

9 Understanding Congestion Arouterbehavesalotlikeakitchensink λ 3 =R/2 λ 1 =R/2 λ 2 =R/2 maxrate=r throughput = R

10 Understanding Congestion Arouterbehavesalotlikeakitchensink λ 3 =R/2 λ 1 =R/2 λ 2 =R/2 maxrate=r throughput = R

11 Understanding Congestion Arouterbehavesalotlikeakitchensink λ 3 =R/2 λ 1 =R/2 λ 2 =R/2 maxrate=r throughput = R

12 Queuing Delay

13 Queuing Delay Totallatencyisthesumoflinklatency,processingtime,andthetimethata packet spends in the input queue L =d TX +d CPU +d q whered q = q /R

14 Queuing Delay Totallatencyisthesumoflinklatency,processingtime,andthetimethata packet spends in the input queue L =d TX +d CPU +d q whered q = q /R Ideal case: constant input data rate λ in <R Inthiscasethed q =0,because q =0 (idealinputflow)

15 Queuing Delay Totallatencyisthesumoflinklatency,processingtime,andthetimethata packet spends in the input queue L =d TX +d CPU +d q whered q = q /R Ideal case: constant input data rate λ in <R Inthiscasethed q =0,because q =0 (idealinputflow) Extreme case: constant input data rate λ in >R Inthiscase q = (λ in R)tandtherefore d q = λ in R t R

16 Queuing Delay

17 Queuing Delay Steady-state queuing delay d q = { 0 λin <R λ in R t λ R in >R

18 Queuing Delay Steady-state queuing delay d q = { 0 λin <R λ in R t λ R in >R d q λ in R ideal input flow λ in constant

19 Queuing Delay Steady-state queuing delay d q = { 0 λin <R λ in R t λ R in >R d q d q λ in R ideal input flow λ in constant λ in R realistic input flow λ in variable

20 Queuing Delay

21 Queuing Delay Conclusion:astheinputrateλ in approachesthemaximumthroughputr, packets will experience very long delays

22 Queuing Delay Conclusion:astheinputrateλ in approachesthemaximumthroughputr, packets will experience very long delays More realistic assumptions and models finite queue length(buffers) in routers effects of retransmission overhead full queues along multi-hops paths

23 Queuing Delay Conclusion:astheinputrateλ in approachesthemaximumthroughputr, packets will experience very long delays More realistic assumptions and models finite queue length(buffers) in routers effects of retransmission overhead full queues along multi-hops paths R λ out λ in

24 Queuing Delay Conclusion:astheinputrateλ in approachesthemaximumthroughputr, packets will experience very long delays More realistic assumptions and models finite queue length(buffers) in routers effects of retransmission overhead full queues along multi-hops paths R congestion λ out λ in

25 What to Do? Whattodowhenthenetworkiscongested? λ 3 =R/2 λ 1 =R/2 λ 2 =R/2 maxrate=r throughput = R

26 What to Do? Whattodowhenthenetworkiscongested? BACKOFF! λ 3 =R/2 λ 1 =R/2 λ 2 =R/2 maxrate=r throughput = R

27 What to Do? Whattodowhenthenetworkiscongested? BACKOFF! λ 3 =R/4 λ 1 =R/4 λ 2 =R/4 maxrate=r throughput = R

28 What to Do? Whattodowhenthenetworkiscongested? BACKOFF! λ 3 =R/4 λ 1 =R/4 λ 2 =R/4 maxrate=r throughput = R

29 What to Do? Whattodowhenthenetworkiscongested? BACKOFF! λ 3 =R/4 λ 1 =R/4 λ 2 =R/4 maxrate=r throughput = R

30 What to Do? Whattodowhenthenetworkiscongested? BACKOFF! λ 3 =R/4 λ 1 =R/4 λ 2 =R/4 maxrate=r throughput = R

31 Congestion Control (in TCP) Approach: Thesenderlimitsitsoutputrateaccordingtothestateofthenetwork Thesenderoutputratebecomes(partof)theinputrateforthenetwork(λ in )

32 Congestion Control (in TCP) Approach: Thesenderlimitsitsoutputrateaccordingtothestateofthenetwork Thesenderoutputratebecomes(partof)theinputrateforthenetwork(λ in ) Ingredients: 1.Howdoesthesendermeasurethestateofthenetwork? weneedeyestoseethetrafficahead

33 Congestion Control (in TCP) Approach: Thesenderlimitsitsoutputrateaccordingtothestateofthenetwork Thesenderoutputratebecomes(partof)theinputrateforthenetwork(λ in ) Ingredients: 1.Howdoesthesendermeasurethestateofthenetwork? weneedeyestoseethetrafficahead 2.howdoesthesendersetitsoutputrate? weneedacceleratorandbrakestospeeduporslowdown

34 Congestion Control (in TCP) Approach: Thesenderlimitsitsoutputrateaccordingtothestateofthenetwork Thesenderoutputratebecomes(partof)theinputrateforthenetwork(λ in ) Ingredients: 1.Howdoesthesendermeasurethestateofthenetwork? weneedeyestoseethetrafficahead 2.howdoesthesendersetitsoutputrate? weneedacceleratorandbrakestospeeduporslowdown 3. how should the sender control its output rate? weneedabrainandweneedtoknowhowtodrive!

35 Detecting Congestion (Eyes)

36 Detecting Congestion (Eyes) If all traffic is correctly acknowledged, with fresh acknowledgments, then the sender assumes(quite correctly) that there is no congestion

37 Detecting Congestion (Eyes) If all traffic is correctly acknowledged, with fresh acknowledgments, then the sender assumes(quite correctly) that there is no congestion Congestion means that some queues overflow in one or more routers between the sender and the receiver thevisibleeffectisthatsomesegmentsaredropped

38 Detecting Congestion (Eyes) If all traffic is correctly acknowledged, with fresh acknowledgments, then the sender assumes(quite correctly) that there is no congestion Congestion means that some queues overflow in one or more routers between the sender and the receiver thevisibleeffectisthatsomesegmentsaredropped Therefore the sender assumes that the network is congested when it(the sender) detects a segment loss duplicate acknowledgements(i.e., NACK) timeout(i.e.,noacksatall)

39 The sender maintains a congestion window W Congestion Window (Accellerator/Brakes)

40 Congestion Window (Accellerator/Brakes) The sender maintains a congestion window W The congestion window limits the amount of bytes that the sender pushes into the network before blocking waiting for acknowledgments

41 Congestion Window (Accellerator/Brakes) The sender maintains a congestion window W The congestion window limits the amount of bytes that the sender pushes into the network before blocking waiting for acknowledgments where LastByteSent LastByteAcked W W = min(congestionwindow, ReceiverWindow)

42 Congestion Window (Accellerator/Brakes) The sender maintains a congestion window W The congestion window limits the amount of bytes that the sender pushes into the network before blocking waiting for acknowledgments where LastByteSent LastByteAcked W W = min(congestionwindow, ReceiverWindow) The resulting maximum output rate is roughly λ = W 2L

43 Congestion Control (Brain, Algorithm)

44 Additive-increase and multiplicative-decrease Congestion Control (Brain, Algorithm)

45 Congestion Control (Brain, Algorithm) Additive-increase and multiplicative-decrease Slow start

46 Congestion Control (Brain, Algorithm) Additive-increase and multiplicative-decrease Slow start Reaction to timeout events

47 Additive-Increase/Multiplicative-Decrease

48 Additive-Increase/Multiplicative-Decrease HowWisreduced:ateverylossevent,TCPhalvesthecongestionwindow

49 Additive-Increase/Multiplicative-Decrease HowWisreduced:ateverylossevent,TCPhalvesthecongestionwindow e.g.,supposethewindowsizewiscurrently20kb,andalossisdetected TCPreducesWto10Kb

50 Additive-Increase/Multiplicative-Decrease HowWisreduced:ateverylossevent,TCPhalvesthecongestionwindow e.g.,supposethewindowsizewiscurrently20kb,andalossisdetected TCPreducesWto10Kb How W is increased: at every(good) acknowledgment, TCP increments W by 1MSS/W,soastoincreaseWbyMSSeveryround-triptime2L.Thisprocessis called congestion avoidance

51 Additive-Increase/Multiplicative-Decrease HowWisreduced:ateverylossevent,TCPhalvesthecongestionwindow e.g.,supposethewindowsizewiscurrently20kb,andalossisdetected TCPreducesWto10Kb How W is increased: at every(good) acknowledgment, TCP increments W by 1MSS/W,soastoincreaseWbyMSSeveryround-triptime2L.Thisprocessis called congestion avoidance e.g.,supposew =14600andMSS =1460,thenthesenderincreasesWto16060 after 10 acknowledgments acknowledgments

52 Additive-Increase/Multiplicative-Decrease WindowsizeWovertime W Time

53 WhatistheinitialvalueofW? Slow Start

54 Slow Start WhatistheinitialvalueofW? TheinitialvalueofWisMSS,thatis1segment,whichisquitelowformodern networks

55 Slow Start WhatistheinitialvalueofW? TheinitialvalueofWisMSS,thatis1segment,whichisquitelowformodern networks To get quickly to a good throughput level, TCP increases its sending rate exponentially for its first growth phase, up to a slow-start threshold(ssthresh)

56 Slow Start WhatistheinitialvalueofW? TheinitialvalueofWisMSS,thatis1segment,whichisquitelowformodern networks To get quickly to a good throughput level, TCP increases its sending rate exponentially for its first growth phase, up to a slow-start threshold(ssthresh) After the threshold, TCP proceeds with its linear push

57 Slow Start WhatistheinitialvalueofW? TheinitialvalueofWisMSS,thatis1segment,whichisquitelowformodern networks To get quickly to a good throughput level, TCP increases its sending rate exponentially for its first growth phase, up to a slow-start threshold(ssthresh) After the threshold, TCP proceeds with its linear push Thisprocessiscalled slowstart becauseofthesmallinitialvalueofw

58 Asweknow,threeduplicateACKsareinterpretedasaNACK Timeouts vs. NACKs

59 Timeouts vs. NACKs Asweknow,threeduplicateACKsareinterpretedasaNACK BothtimeoutsandNACKssignalaloss,buttheysaydifferentthingsaboutthe status of the network

60 Timeouts vs. NACKs Asweknow,threeduplicateACKsareinterpretedasaNACK BothtimeoutsandNACKssignalaloss,buttheysaydifferentthingsaboutthe status of the network A timeout indicates congestion

61 Timeouts vs. NACKs Asweknow,threeduplicateACKsareinterpretedasaNACK BothtimeoutsandNACKssignalaloss,buttheysaydifferentthingsaboutthe status of the network A timeout indicates congestion Three(duplicate) ACKs suggest that the network is still able to deliver segments along that path

62 Timeouts vs. NACKs Asweknow,threeduplicateACKsareinterpretedasaNACK BothtimeoutsandNACKssignalaloss,buttheysaydifferentthingsaboutthe status of the network A timeout indicates congestion Three(duplicate) ACKs suggest that the network is still able to deliver segments along that path So,TCPreactsdifferentlytoatimeoutandtoatripleduplicateACKs

63 AssumingthecurrentwindowsizeisW =W Timeouts vs. NACKs

64 Timeouts vs. NACKs AssumingthecurrentwindowsizeisW =W Timeout gobacktow =MSS setssthresh =W/2 runslowstartuptow =ssthresh then proceed with congestion avoidance

65 Timeouts vs. NACKs AssumingthecurrentwindowsizeisW =W Timeout gobacktow =MSS setssthresh =W/2 runslowstartuptow =ssthresh then proceed with congestion avoidance NACK(i.e., triple duplicate-ack) setssthresh =W/2 cutwinhalf:w =W/2 run congestion avoidance, ramping up W linearly Thisiscalledfastrecovery

66 Sender Behavior W Time

67 Sender Behavior W MSS Time

68 Sender Behavior W NACK MSS Time

69 Sender Behavior W NACK MSS Time

70 Sender Behavior timeout W NACK MSS Time

71 Sender Behavior timeout W NACK MSS Time

72 Sender Behavior timeout W NACK MSS Time

73 Sender Behavior timeout W NACK MSS Time

74 Sender Behavior NACK timeout W NACK MSS Time

75 Sender Behavior NACK W NACK timeout NACK MSS Time

76 Sender Behavior NACK W NACK timeout NACK MSS Time

77 Sender Behavior NACK W NACK timeout NACK MSS Time

78 Sender Behavior SS=slow start CA=congestion avoidance SS CA SS CA CA CA NACK W NACK timeout NACK MSS Time

Congestion Control in TCP

Congestion Control in TCP Congestion Control in TCP Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana November 22, 2017 Outline Intro to congestion control Input rate vs. output throughput Congestion window

More information

Congestion Control in TCP

Congestion Control in TCP Congestion Control in TCP Antonio Carzaniga Faculty of Informatics University of Lugano November 11, 2014 Outline Intro to congestion control Input rate vs. output throughput Congestion window Congestion

More information

Congestion Control in TCP

Congestion Control in TCP Congestion Control in CP Antonio Carzaniga Faculty of Informatics University of Lugano Apr 7, 2008 2005 2007 Antonio Carzaniga 1 Intro to congestion control Outline Input rate vs. output throughput Congestion

More information

Congestion Control in TCP

Congestion Control in TCP Congestion Control in TCP Antonio Carzaniga Faculty of Informatics University of Lugano May 6, 2005 Outline Intro to congestion control Input rate vs. output throughput Congestion window Congestion avoidance

More information

CSCI Topics: Internet Programming Fall 2008

CSCI Topics: Internet Programming Fall 2008 CSCI 491-01 Topics: Internet Programming Fall 2008 Transport Layer Derek Leonard Hendrix College October 20, 2008 Original slides copyright 1996-2007 J.F Kurose and K.W. Ross 1 Chapter 3: Roadmap 3.1 Transport-layer

More information

The Transport Layer Congestion control in TCP

The Transport Layer Congestion control in TCP CPSC 360 Network Programming The Transport Layer Congestion control in TCP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc360

More information

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented transport: TCP segment

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer 1 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented

More information

Transport Layer Congestion Control

Transport Layer Congestion Control Transport Layer Congestion Control Tom Kelliher, CS 325 Apr. 7, 2008 1 Administrivia Announcements Assignment Read 4.1 4.3. From Last Time TCP Reliability. Outline 1. Congestion control principles. 2.

More information

Computer Networking Introduction

Computer Networking Introduction Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.11 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and

More information

Mid Term Exam Results

Mid Term Exam Results Mid Term Exam Results v Grade Count Percentage v 20-29 1 2.38% v 40-49 2 4.76% v 50-59 5 11.90% v 60-69 18 42.86% v 70-80 16 38.10% Please hand the paper back to me after this class since we have to update

More information

Congestion Control 3/16/09

Congestion Control 3/16/09 Congestion Control Outline Resource Allocation Queuing TCP Congestion Control Spring 009 CSE3064 Issues Two sides of the same coin pre-allocate resources so at to avoid congestion control congestion if

More information

Chapter III: Transport Layer

Chapter III: Transport Layer Chapter III: Transport Layer UG3 Computer Communications & Networks (COMN) Mahesh Marina mahesh@ed.ac.uk Slides thanks to Myungjin Lee and copyright of Kurose and Ross Principles of congestion control

More information

TCP Congestion Control. Lecture 16. Outline. TCP Congestion Control. Additive Increase / Multiplicative Decrease (AIMD)

TCP Congestion Control. Lecture 16. Outline. TCP Congestion Control. Additive Increase / Multiplicative Decrease (AIMD) Lecture 16 TCP Congestion Control Homework 6 Due Today TCP uses ACK arrival as a signal to transmit a new packet. Since connections come-and-go TCP congestion control must be adaptive. TCP congestion control

More information

TCP congestion control:

TCP congestion control: TCP congestion control: Probing for usable bandwidth: Ideally: transmit as fast as possible (cwnd as large as possible) without loss Increase cwnd until loss (congestion) Loss: decrease cwnd, then begin

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer Part c Congestion Control Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley Transport Layer 3-1 Chapter 3 outline 3.1 transport-layer

More information

TCP Congestion Control

TCP Congestion Control TCP Congestion Control Lecture material taken from Computer Networks A Systems Approach, Third Ed.,Peterson and Davie, Morgan Kaufmann, 2003. Computer Networks: TCP Congestion Control 1 TCP Congestion

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete

More information

CS321: Computer Networks Congestion Control in TCP

CS321: Computer Networks Congestion Control in TCP CS321: Computer Networks Congestion Control in TCP Dr. Manas Khatua Assistant Professor Dept. of CSE IIT Jodhpur E-mail: manaskhatua@iitj.ac.in Causes and Cost of Congestion Scenario-1: Two Senders, a

More information

Congestion Control. Queuing Discipline Reacting to Congestion Avoiding Congestion. Issues

Congestion Control. Queuing Discipline Reacting to Congestion Avoiding Congestion. Issues Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion Issues Two sides of the same coin pre-allocate resources to avoid congestion (e.g. telephone networks) control congestion

More information

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 10

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 10 CMPE 150/L : Introduction to Computer Networks Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 10 1 Midterm exam Midterm next Thursday Close book but one-side 8.5"x11" note is allowed (must

More information

The Transport Layer: TCP & Congestion Control

The Transport Layer: TCP & Congestion Control The Transport Layer: TCP & Congestion Control Smith College, CSC 249 Feb 20, 2018 1 Oeriew: TCP Basics q Recap: using SEQ and ACK numbers SEQ random initial number for numbering the bytes in the application

More information

TCP Congestion Control. Housekeeping. Additive Increase/Multiplicative Decrease. AIMD (cont) Pick up folders for exam study Exam next Friday, Nov.

TCP Congestion Control. Housekeeping. Additive Increase/Multiplicative Decrease. AIMD (cont) Pick up folders for exam study Exam next Friday, Nov. Fall 01 CptS/EE 555 3 Fall 01 CptS/EE 555 4 TCP Congestion Control Idea assumes best-effort network (FIFO or FQ routers)each source determines network capacity for itself uses implicit feedback ACKs pace

More information

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Transmission Control Protocol. ITS 413 Internet Technologies and Applications Transmission Control Protocol ITS 413 Internet Technologies and Applications Contents Overview of TCP (Review) TCP and Congestion Control The Causes of Congestion Approaches to Congestion Control TCP Congestion

More information

CSC 4900 Computer Networks: TCP

CSC 4900 Computer Networks: TCP CSC 4900 Computer Networks: TCP Professor Henry Carter Fall 2017 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable

More information

TCP Congestion Control 65KB W

TCP Congestion Control 65KB W TCP Congestion Control 65KB W TO 3DA 3DA TO 0.5 0.5 0.5 0.5 3 3 1 SS SS CA SS CA TCP s Congestion Window Maintenance TCP maintains a congestion window (cwnd), based on packets Sender s window is limited

More information

CSCD 330 Network Programming Winter 2015

CSCD 330 Network Programming Winter 2015 CSCD 330 Network Programming Winter 2015 Lecture 11a Transport Layer Reading: Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Chapter 3 Sections

More information

TCP Congestion Control

TCP Congestion Control TCP Congestion Control What is Congestion The number of packets transmitted on the network is greater than the capacity of the network Causes router buffers (finite size) to fill up packets start getting

More information

TCP Congestion Control

TCP Congestion Control What is Congestion TCP Congestion Control The number of packets transmitted on the network is greater than the capacity of the network Causes router buffers (finite size) to fill up packets start getting

More information

ADVANCED COMPUTER NETWORKS

ADVANCED COMPUTER NETWORKS ADVANCED COMPUTER NETWORKS Congestion Control and Avoidance 1 Lecture-6 Instructor : Mazhar Hussain CONGESTION CONTROL When one part of the subnet (e.g. one or more routers in an area) becomes overloaded,

More information

Lecture 15: Transport Layer Congestion Control

Lecture 15: Transport Layer Congestion Control Lecture 15: Transport Layer Congestion Control COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016, J.F Kurose

More information

Flow and Congestion Control (Hosts)

Flow and Congestion Control (Hosts) Flow and Congestion Control (Hosts) 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross traceroute Flow Control

More information

Congestion Control in TCP

Congestion Control in TCP Congestion Control in TCP Outline Overview of RENO TCP Reacting to Congestion SS/AIMD example CS 640 1 TCP Congestion Control The idea of TCP congestion control is for each source to determine how much

More information

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

Transport Layer PREPARED BY AHMED ABDEL-RAOUF Transport Layer PREPARED BY AHMED ABDEL-RAOUF TCP Flow Control TCP Flow Control 32 bits source port # dest port # head len sequence number acknowledgement number not used U A P R S F checksum Receive window

More information

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University Congestion Control Daniel Zappala CS 460 Computer Networking Brigham Young University 2/25 Congestion Control how do you send as fast as possible, without overwhelming the network? challenges the fastest

More information

CS Transport. Outline. Window Flow Control. Window Flow Control

CS Transport. Outline. Window Flow Control. Window Flow Control CS 54 Outline indow Flow Control (Very brief) Review of TCP TCP throughput modeling TCP variants/enhancements Transport Dr. Chan Mun Choon School of Computing, National University of Singapore Oct 6, 005

More information

Chapter 3- parte B outline

Chapter 3- parte B outline Chapter 3- parte B outline 3.1 transport-layer services 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles of reliable data transfer 3.5 connection-oriented transport:

More information

Congestion Control. Principles of Congestion Control. Network-assisted Congestion Control: ATM. Congestion Control. Computer Networks 10/21/2009

Congestion Control. Principles of Congestion Control. Network-assisted Congestion Control: ATM. Congestion Control. Computer Networks 10/21/2009 Congestion Control Kai Shen Principles of Congestion Control Congestion: informally: too many sources sending too much data too fast for the network to handle results of congestion: long delays (e.g. queueing

More information

CS4700/CS5700 Fundamentals of Computer Networks

CS4700/CS5700 Fundamentals of Computer Networks CS4700/CS5700 Fundamentals of Computer Networks Lecture 15: Congestion Control Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu

More information

Flow and Congestion Control Marcos Vieira

Flow and Congestion Control Marcos Vieira Flow and Congestion Control 2014 Marcos Vieira Flow Control Part of TCP specification (even before 1988) Goal: not send more data than the receiver can handle Sliding window protocol Receiver uses window

More information

CS CS COMPUTER NETWORKS CS CS CHAPTER 6. CHAPTER 6 Congestion Control

CS CS COMPUTER NETWORKS CS CS CHAPTER 6. CHAPTER 6 Congestion Control COMPUTER NETWORKS CS 45201 CS 55201 CHAPTER 6 Congestion Control COMPUTER NETWORKS CS 45201 CS 55201 CHAPTER 6 Congestion Control P. Farrell and H. Peyravi Department of Computer Science Kent State University

More information

CS3600 SYSTEMS AND NETWORKS

CS3600 SYSTEMS AND NETWORKS CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 24: Congestion Control Prof. Alan Mislove (amislove@ccs.neu.edu) Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica,

More information

Congestion Control. Principles of Congestion Control. Network assisted congestion. Asynchronous Transfer Mode. Computer Networks 10/23/2013

Congestion Control. Principles of Congestion Control. Network assisted congestion. Asynchronous Transfer Mode. Computer Networks 10/23/2013 Congestion Control Kai Shen Principles of Congestion Control Congestion: Informally: too many sources sending too much data too fast for the network to handle Results of congestion: long delays (e.g. queueing

More information

Principles of congestion control

Principles of congestion control 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

More information

CSCI Topics: Internet Programming Fall 2008

CSCI Topics: Internet Programming Fall 2008 CSCI 491-01 Topics: Internet Programming Fall 2008 Transport Layer Derek Leonard Hendrix College October 22, 2008 Original slides copyright 1996-2007 J.F Kurose and K.W. Ross 1 Chapter 3: Roadmap 3.1 Transport-layer

More information

TCP reliable data transfer. Chapter 3 outline. TCP sender events: TCP sender (simplified) TCP: retransmission scenarios. TCP: retransmission scenarios

TCP reliable data transfer. Chapter 3 outline. TCP sender events: TCP sender (simplified) TCP: retransmission scenarios. TCP: retransmission scenarios Chapter 3 outline TCP reliable 3.2 principles of reliable 3.3 connection-oriented flow 3.4 principles of congestion 3.5 TCP congestion TCP creates rdt service on top of IP s unreliable service pipelined

More information

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP Transport layer Review principles: Reliable data transfer Flow control Congestion control Instantiation in the Internet UDP TCP 1 UDP: User Datagram Protocol [RFC 768] No frills, bare bones Internet transport

More information

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control Transport layer Review principles: Reliable data transfer Flow control Congestion control Instantiation in the Internet UDP TCP 1 UDP: User Datagram Protocol [RFC 768] No frills, bare bones Internet transport

More information

CNT 6885 Network Review on Transport Layer

CNT 6885 Network Review on Transport Layer CNT 6885 Network Review on Transport Layer Jonathan Kavalan, Ph.D. Department of Computer, Information Science and Engineering (CISE), University of Florida User Datagram Protocol [RFC 768] no frills,

More information

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data? Congestion Control End Hosts CSE 51 Lecture 7, Spring. David Wetherall Today s question How fast should the sender transmit data? Not tooslow Not toofast Just right Should not be faster than the receiver

More information

Lecture 8. TCP/IP Transport Layer (2)

Lecture 8. TCP/IP Transport Layer (2) Lecture 8 TCP/IP Transport Layer (2) Outline (Transport Layer) Principles behind transport layer services: multiplexing/demultiplexing principles of reliable data transfer learn about transport layer protocols

More information

CS 43: Computer Networks. 19: TCP Flow and Congestion Control October 31, Nov 2, 2018

CS 43: Computer Networks. 19: TCP Flow and Congestion Control October 31, Nov 2, 2018 CS 43: Computer Networks 19: TCP Flow and Congestion Control October 31, Nov 2, 2018 Five-layer Internet Model Application: the application (e.g., the Web, Email) Transport: end-to-end connections, reliability

More information

Computer Networks. Course Reference Model. Topic. Congestion What s the hold up? Nature of Congestion. Nature of Congestion 1/5/2015.

Computer Networks. Course Reference Model. Topic. Congestion What s the hold up? Nature of Congestion. Nature of Congestion 1/5/2015. Course Reference Model Computer Networks 7 Application Provides functions needed by users Zhang, Xinyu Fall 204 4 Transport Provides end-to-end delivery 3 Network Sends packets over multiple links School

More information

Detecting half-open connections. Observed TCP problems

Detecting half-open connections. Observed TCP problems Detecting half-open connections TCP A TCP B 1. (CRASH) 2. CLOSED 3. SYN-SENT 4. (!!) 5. SYN-SENT 6. SYN-SENT 7. SYN-SENT

More information

8. TCP Congestion Control

8. TCP Congestion Control 8. TCP Congestion Control 1 TCP Congestion Control Slow-start increase Multiplicative decrease Congestion avoidance Measurement of variation Exponential timer backoff 2002 Yanghee Choi 2 Congestion Control

More information

CS Lecture 1 Review of Basic Protocols

CS Lecture 1 Review of Basic Protocols CS 557 - Lecture 1 Review of Basic Protocols IP - RFC 791, 1981 TCP - RFC 793, 1981 Spring 2013 These slides are a combination of two great sources: Kurose and Ross Textbook slides Steve Deering IETF Plenary

More information

Computer Network Fundamentals Spring Week 10 Congestion Control Andreas Terzis

Computer Network Fundamentals Spring Week 10 Congestion Control Andreas Terzis Computer Network Fundamentals Spring 2008 Week 10 Congestion Control Andreas Terzis Outline Congestion Control TCP Congestion Control CS 344/Spring08 2 What We Know We know: How to process packets in a

More information

End-to-End Protocols. Transport Protocols. User Datagram Protocol (UDP) Application Layer Expectations

End-to-End Protocols. Transport Protocols. User Datagram Protocol (UDP) Application Layer Expectations # # # & *, + & %$ & Transport Protocols End-to-End Protocols Convert host-to-host packet delivery service into a process-to-process communication channel Demultiplexing: Multiple applications can share

More information

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control : Computer Networks Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control TCP performance We ve seen how TCP the protocol works Sequencing, receive window, connection setup and teardown And

More information

Correcting mistakes. TCP: Overview RFCs: 793, 1122, 1323, 2018, TCP seq. # s and ACKs. GBN in action. TCP segment structure

Correcting mistakes. TCP: Overview RFCs: 793, 1122, 1323, 2018, TCP seq. # s and ACKs. GBN in action. TCP segment structure Correcting mistakes Go-back-N: big picture: sender can have up to N unacked packets in pipeline rcvr only sends cumulative acks doesn t ack packet if there s a gap sender has r for oldest unacked packet

More information

CSCI-1680 Transport Layer II Data over TCP Rodrigo Fonseca

CSCI-1680 Transport Layer II Data over TCP Rodrigo Fonseca CSCI-1680 Transport Layer II Data over TCP Rodrigo Fonseca Based partly on lecture notes by David Mazières, Phil Levis, John Janno< Last Class CLOSED Passive open Close Close LISTEN Introduction to TCP

More information

a) Adding the two bytes gives Taking the one s complement gives

a) Adding the two bytes gives Taking the one s complement gives EE33- solutions for homework #3 (3 problems) Problem 3 Note, wrap around if overflow One's complement = To detect errors, the receiver adds the four words (the three original words and the checksum) If

More information

ECE 610: Homework 4 Problems are taken from Kurose and Ross.

ECE 610: Homework 4 Problems are taken from Kurose and Ross. ECE 610: Homework 4 Problems are taken from Kurose and Ross. Problem 1: Host A and B are communicating over a TCP connection, and Host B has already received from A all bytes up through byte 248. Suppose

More information

Congestion Control & Resource Allocation. Issues in Resource Allocation Queuing Discipline TCP Congestion Control

Congestion Control & Resource Allocation. Issues in Resource Allocation Queuing Discipline TCP Congestion Control Congestion Control & Resource Allocation Issues in Resource Allocation Queuing Discipline TCP Congestion Control Reacting to Congestion Avoiding Congestion QoS Issues 1 Issues in Resource Allocation RA

More information

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste Outline 15-441 Computer Networking Lecture 18 TCP Performance Peter Steenkiste Fall 2010 www.cs.cmu.edu/~prs/15-441-f10 TCP congestion avoidance TCP slow start TCP modeling TCP details 2 AIMD Distributed,

More information

CSCD 330 Network Programming Spring 2018 Lecture 11a Transport Layer

CSCD 330 Network Programming Spring 2018 Lecture 11a Transport Layer CSCD 330 Network Programming Spring 2018 Lecture 11a Transport Layer Reading: Chapter 3 Who is this? Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Bill

More information

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014 1 Congestion Control In The Internet Part 2: How it is implemented in TCP JY Le Boudec 2014 Contents 1. Congestion control in TCP 2. The fairness of TCP 3. The loss throughput formula 4. Explicit Congestion

More information

Transport Layer (Congestion Control)

Transport Layer (Congestion Control) Transport Layer (Congestion Control) Where we are in the Course Moving on up to the Transport Layer! Application Transport Network Link Physical CSE 461 University of Washington 2 Congestion Collapse Congestion

More information

Congestion Collapse in the 1980s

Congestion Collapse in the 1980s Congestion Collapse Congestion Collapse in the 1980s Early TCP used fixed size window (e.g., 8 packets) Initially fine for reliability But something happened as the ARPANET grew Links stayed busy but transfer

More information

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014 1 Congestion Control In The Internet Part 2: How it is implemented in TCP JY Le Boudec 2014 Contents 1. Congestion control in TCP 2. The fairness of TCP 3. The loss throughput formula 4. Explicit Congestion

More information

Wireless TCP Performance Issues

Wireless TCP Performance Issues Wireless TCP Performance Issues Issues, transport layer protocols Set up and maintain end-to-end connections Reliable end-to-end delivery of data Flow control Congestion control Udp? Assume TCP for the

More information

15-744: Computer Networking TCP

15-744: Computer Networking TCP 15-744: Computer Networking TCP Congestion Control Congestion Control Assigned Reading [Jacobson and Karels] Congestion Avoidance and Control [TFRC] Equation-Based Congestion Control for Unicast Applications

More information

EE122 MIDTERM EXAM: Scott Shenker, Ion Stoica

EE122 MIDTERM EXAM: Scott Shenker, Ion Stoica EE MITERM EXM: 00-0- Scott Shenker, Ion Stoica Last name Student I First name Login: ee- Please circle the last two letters of your login. a b c d e f g h i j k l m n o p q r s t u v w x y z a b c d e

More information

Internet Networking recitation #10 TCP New Reno Vs. Reno

Internet Networking recitation #10 TCP New Reno Vs. Reno recitation #0 TCP New Reno Vs. Reno Spring Semester 200, Dept. of Computer Science, Technion 2 Introduction Packet Loss Management TCP Reno (RFC 258) can manage a loss of at most one packet from a single

More information

Transport Protocols and TCP

Transport Protocols and TCP Transport Protocols and TCP Functions Connection establishment and termination Breaking message into packets Error recovery ARQ Flow control Multiplexing, de-multiplexing Transport service is end to end

More information

CSE 473 Introduction to Computer Networks. Exam 2. Your name here: 11/7/2012

CSE 473 Introduction to Computer Networks. Exam 2. Your name here: 11/7/2012 CSE 473 Introduction to Computer Networks Jon Turner Exam 2 Your name here: 11/7/2012 1. (10 points). The diagram at right shows a DHT with 16 nodes. Each node is labeled with the first value in its range

More information

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented transport: TCP segment

More information

Congestion Control. Resource allocation and congestion control problem

Congestion Control. Resource allocation and congestion control problem Congestion Control 188lecture8.ppt Pirkko Kuusela 1 Resource allocation and congestion control problem Problem 1: Resource allocation How to effectively and fairly allocate resources among competing users?

More information

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015 1 Congestion Control In The Internet Part 2: How it is implemented in TCP JY Le Boudec 2015 Contents 1. Congestion control in TCP 2. The fairness of TCP 3. The loss throughput formula 4. Explicit Congestion

More information

Congestion / Flow Control in TCP

Congestion / Flow Control in TCP Congestion and Flow Control in 1 Flow Control and Congestion Control Flow control Sender avoids overflow of receiver buffer Congestion control All senders avoid overflow of intermediate network buffers

More information

What is Congestion? Congestion: Moral of the Story. TCP Approach. Transport Layer: TCP Congestion Control & Buffer Management

What is Congestion? Congestion: Moral of the Story. TCP Approach. Transport Layer: TCP Congestion Control & Buffer Management Transport Layer: TCP Congestion Control & Buffer Management Congestion Control What is congestion? Impact of Congestion Approaches to congestion control TCP Congestion Control End-to-end based: implicit

More information

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness Recap TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness 81 Feedback Signals Several possible signals, with different

More information

Lecture 11. Transport Layer (cont d) Transport Layer 1

Lecture 11. Transport Layer (cont d) Transport Layer 1 Lecture 11 Transport Layer (cont d) Transport Layer 1 Agenda The Transport Layer (continue) Connection-oriented Transport (TCP) Flow Control Connection Management Congestion Control Introduction to the

More information

UNIT IV -- TRANSPORT LAYER

UNIT IV -- TRANSPORT LAYER UNIT IV -- TRANSPORT LAYER TABLE OF CONTENTS 4.1. Transport layer. 02 4.2. Reliable delivery service. 03 4.3. Congestion control. 05 4.4. Connection establishment.. 07 4.5. Flow control 09 4.6. Transmission

More information

The Network Layer. Antonio Carzaniga. November 24, Faculty of Informatics Università della Svizzera italiana

The Network Layer. Antonio Carzaniga. November 24, Faculty of Informatics Università della Svizzera italiana The Network Layer Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana November 24, 2017 Outline Basic network-layer architecture of a datagram network Introduction to forwarding

More information

CS Networks and Distributed Systems. Lecture 10: Congestion Control

CS Networks and Distributed Systems. Lecture 10: Congestion Control CS 3700 Networks and Distributed Systems Lecture 10: Congestion Control Revised 2/9/2014 Transport Layer 2 Application Presentation Session Transport Network Data Link Physical Function:! Demultiplexing

More information

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015 Congestion Control In The Internet Part 2: How it is implemented in TCP JY Le Boudec 2015 1 Contents 1. Congestion control in TCP 2. The fairness of TCP 3. The loss throughput formula 4. Explicit Congestion

More information

ECE4110, Internetwork Programming, QUIZ 2 - PRACTICE Spring 2006

ECE4110, Internetwork Programming, QUIZ 2 - PRACTICE Spring 2006 Email Address ECE4110, Internetwork Programming, QUIZ 2 - PRACTICE Spring 2006 Name (Print) Prof. John A. Copeland Practice for April 11, 2006 Tel.: 404-894-5177 E-Mail: copeland@ece.gatech.edu RULES.

More information

Advanced Computer Networks

Advanced Computer Networks Advanced Computer Networks Congestion control in TCP Prof. Andrzej Duda duda@imag.fr http://duda.imag.fr 1 Contents Principles TCP congestion control states Slow Start Congestion Avoidance Fast Recovery

More information

TCP conges+on control

TCP conges+on control TCP conges+on control Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley Some materials copyright 1996-2012 J.F Kurose and K.W. Ross, All Rights Reserved Chapter

More information

CS 356: Introduction to Computer Networks. Lecture 16: Transmission Control Protocol (TCP) Chap. 5.2, 6.3. Xiaowei Yang

CS 356: Introduction to Computer Networks. Lecture 16: Transmission Control Protocol (TCP) Chap. 5.2, 6.3. Xiaowei Yang CS 356: Introduction to Computer Networks Lecture 16: Transmission Control Protocol (TCP) Chap. 5.2, 6.3 Xiaowei Yang xwy@cs.duke.edu Overview TCP Connection management Flow control When to transmit a

More information

Fall 2012: FCM 708 Bridge Foundation I

Fall 2012: FCM 708 Bridge Foundation I Fall 2012: FCM 708 Bridge Foundation I Prof. Shamik Sengupta Instructor s Website: http://jjcweb.jjay.cuny.edu/ssengupta/ Blackboard Website: https://bbhosted.cuny.edu/ Intro to Computer Networking Transport

More information

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented transport: TCP segment

More information

CSC 8560 Computer Networks: TCP

CSC 8560 Computer Networks: TCP CSC 8560 Computer Networks: TCP Professor Henry Carter Fall 2017 Project 2: mymusic You will be building an application that allows you to synchronize your music across machines. The details of which are

More information

Investigating the Use of Synchronized Clocks in TCP Congestion Control

Investigating the Use of Synchronized Clocks in TCP Congestion Control Investigating the Use of Synchronized Clocks in TCP Congestion Control Michele Weigle (UNC-CH) November 16-17, 2001 Univ. of Maryland Symposium The Problem TCP Reno congestion control reacts only to packet

More information

image 3.8 KB Figure 1.6: Example Web Page

image 3.8 KB Figure 1.6: Example Web Page image. KB image 1 KB Figure 1.: Example Web Page and is buffered at a router, it must wait for all previously queued packets to be transmitted first. The longer the queue (i.e., the more packets in the

More information

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput Topics TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput 2 Introduction In this chapter we will discuss TCP s form of flow control called a sliding window protocol It allows

More information

Problem 7. Problem 8. Problem 9

Problem 7. Problem 8. Problem 9 Problem 7 To best answer this question, consider why we needed sequence numbers in the first place. We saw that the sender needs sequence numbers so that the receiver can tell if a data packet is a duplicate

More information

SharkFest'17 US. Understanding Throughput & TCP Windows. A Walk-Through of the Factors that can limit TCP Throughput Performance

SharkFest'17 US. Understanding Throughput & TCP Windows. A Walk-Through of the Factors that can limit TCP Throughput Performance SharkFest'17 US Understanding Throughput & TCP Windows A Walk-Through of the Factors that can limit TCP Throughput Performance Kary Rogers Director, Staff Engineering Riverbed Technology Agenda TCP ownership

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete

More information