Tutorial 8 : Congestion Control

Size: px
Start display at page:

Download "Tutorial 8 : Congestion Control"

Transcription

1 Lund University ETSN01 Advanced Telecommunication Tutorial 8 : Congestion Control Author: Antonio Franco Emma Fitzgerald Tutor: Farnaz Moradi December 18, 2015

2 Contents I Before you start 3 II Exercises 3 1 Congestion Control III Solutions 5 1 Congestion Control

3 Part I Before you start This tutorial is given to prepare you to the exam. Since time is limited, it is highly advised that you first try to solve the exercises (Part II) at home, then have a look at the solutions (Part III), and, finally, ask questions during the exercises sessions. Part II Exercises 1 Congestion Control 1.1 The token bucket scheme places a limit on the length of time at which traffic can depart at the maximum data rate. Let the token bucket be defined by a bucket size b octets and a token arrival rate of r octets/second, and let the maximum output data rate by M octets/s Derive a formula for S, which is the length of the maximum-rate burst. That is, for how long can a flow transmit at the maximum output rate when governed by a token bucket? 2. What is the value of S for b = 250 KB, r = 2 MB/s, and M = 25 MB/s? Two TCP entities communicate across a reliable network. Let the normalized time to transmit a fixed-length segment equal 1. Assume that the end-to-end propagation delay is 3, and that it takes a time 2 to deliver data from a received segment to the transport user. The sender initially grants a credit of seven segments. The receiver uses a conservative flow control policy and updates its credit allocation at every opportunity. What is the maximum achievable throughput? What is the global synchronisation problem in TCP (Transport Control Protocol) congestion control and why does it occur? 2. How does RED (Random Early Detection) avoid this problem while still controlling congestion? 3

4 In RED, what is the reason for the conversion from P a to P b? That is, why is the packet drop probability not simply linear as a function of the queue length? Although slow start with congestion avoidance is an effective technique for coping with congestion, it can result in long recovery times in high-speed networks, as this problem demonstrates Assume a round-trip delay of 60 ms (about what might occur across a continent) and a link with an available bandwidth of 1 Gbps, and a segment size of 576 octets. Determine the window size needed to keep the pipe full. 2. Repeat the previous part for a segment size of 16 kbytes. One difficulty with the original TCP SRTT estimator is the choice of initial value. In the absence of any special knowledge of network conditions, the typical approach is to pick an arbitrary value, say 3 seconds, and hope that this will converge quickly to an accurate value. If this estimate is too small, TCP will perform unnecessary retransmissions. If it is too large, TCP will wait a long time before retransmitting if the first segment is lost. Also, the convergence may be slow, as this problem indicates. (a) Choose α = 0.85 and SRTT(0) = 3 seconds, and assume all measured RTT values = 1 second and no packet loss. What is SRTT(19)? 1. (b) Now let SRTT(0) = 1 second and assume measured RTT values = 3 seconds and no packet loss. What is SRTT(19)? 1.6 A TCP implementation uses a value of β = 1.5 when calculating the retransmissino timeout, a lower bound of 0.5 s, and an upper bound of 5 s If the next value of SRTT is calculated to be 2.5 s, what will the RTO be? 2. If the next value of SRTT is calculated to be 4 s, what will the RTO be? 1. How can a TCP receiver increase the available credit even when no new data has been received? 2. How can a TCP receiver acknowledge a segment of size m octets without allocating more credit? 1 Hint: α n 1 + α n α + 1 = 1 αn 1 α. 4

5 1.8 What is the effect of the TCP window size on the achievable throughput? 1.9 Which round-trip samples are used as input to the TCP RTO calculation? Part III Solutions 1 Congestion Control 1.1 r M b Figure 1: Our token bucket scheme. (a) Tokens are used with rate M octets/s and replenished with rate r octets/s, effectively depleted with rate M-r octets/s (Figure 1); thus, the time until b bucket is emptied is M r s, and the length of the maximum size burst will be: b M octets (1) M r ; (b) from (1) we have = KB. 5

6 Figure 2: Time scheme of our TCP exchange. The time from a segment transmission until receiving new credit (i.e. the effective RTT of the sliding window) is 3+2+3=8. Window size is 7. Maximum throughput is 7/(1+8)=7/9. See Figure 2, explaining why 7 segments are transmitted in every period of 9 RTTs The global synchronisation problem occurs when there is congestion in the network. Many TCP connections will detect the congestion at once (by losing packets as queue buffers fill up) and will then simultaneously lower their transmission rates. This results in an under-utilisation of the network. The connections will then see eased congestion and increase their transmission rate again, resulting in congestion again. 6

7 RED uses probabilistic packet dropping before the queue becomes full. This means that only some TCP connections will lose packets and thus enter back-off. Since some connections back off, congestion will be eased, but global synchronisation is avoided as not all connections are affected at the same time. The packet drop probability increases as the queue length increases, so that congestion can be controlled effectively at different offered loads. 3. The conversion causes the packet drop probability to begin low and then increase as the count of packets arriving since the last packet drop increases. This results in a uniform distribution of the number of packets allowed to join the queue between discards. This is done to prevent unfairly penalising bursty traffic. 1. The time taken to transmit one one segment is T = = 4.29 µs With a round-trip delay of 60 ms, the sender can transmit = segments before it can receive a response from the receiver. Thus the window size needs to be in order to keep the pipe full. 2. For a segment size of 16 kbytes, we have Hence we need a window size of Remember from the slides: T = = 0.12 ms = 500. SRTT(k + 1) = α SRTT(k) + (1 α) RTT(k + 1) 7

8 ; since RTT(k + 1) = RTT(k) = RTT k: SRTT(k + 1) = α SRTT(k) + (1 α) RTT.. = α [α SRTT(k 1) + (1 α) RTT] + (1 α) RTT = α 2 SRTT(k 1) + (1 + α) (1 α) RTT = α 2 [α SRTT(k 2) + (1 α) RTT] + (1 + α) (1 α) RTT = α 3 SRTT(k 2) + (1 + α + α 2 ) (1 α) RTT = α k+1 SRTT(0) + (1 α) RTT (α k + α k α + 1) (a) SRTT(n) = α n SRTT(0) + (1 α) RTT (α n 1 + α n α + 1) = α n SRTT(0) + (1 α) RTT 1 αn 1 α = αn SRTT(0) + RTT (1 α n ), so, SRTT(19) = 1.1sec. (b) SRTT(19) = 2.9 sec; in both cases, the convergence speed is slow, because in both cases, the initial SRTT(0) is improperly chosen. 1.6 The RTO is calculated as 1.7 RT O(K + 1) = min{ub, max{lb, β SRT T (K + 1)}} 1. Substituting in the given values: RT O(K + 1) = min{5, max{0.5, }} = Substituting in the given values: RT O(K + 1) = min{5, max{0.5, 1.5 4}} = 5 Suppose the last octet acknowledged was AN = i and the current window value is W = j 1. The receiver can send an acknowledgement with AN = i and W = k, with k > j. This will acknowledge the same octet but increase the window size. 2. The receiver can send an acknowledgement with AN = i+m and W = j m. This moves the acknowledged octet number up by m, while still keeping the end of the window at the same value it had before. 8

9 1.8 If the window size is greater than or equal to the rate-delay product RD, then throughput is not affected. However, if the window size is less than RD, throughput will be decreased to W RD, where W is the window size. 1.9 Only round-trip time samples from segments that have not been retransmitted (i.e. that succeeded on the first attempt) are used. This is because if a segment is retransmitted, there is no way to know whether the acknowledgement received was from the original transmission or the retransmission, and thus the round-trip time cannot be accurately determined. 9

Tutorial 9 : TCP and congestion control part I

Tutorial 9 : TCP and congestion control part I Lund University ETSN01 Advanced Telecommunication Tutorial 9 : TCP and congestion control part I Author: Antonio Franco Course Teacher: Emma Fitzgerald January 27, 2015 Contents I Before you start 3 II

More information

Congestion Control in Communication Networks

Congestion Control in Communication Networks Congestion Control in Communication Networks Introduction Congestion occurs when number of packets transmitted approaches network capacity Objective of congestion control: keep number of packets below

More information

New York University Computer Science Department Courant Institute of Mathematical Sciences

New York University Computer Science Department Courant Institute of Mathematical Sciences New York University Computer Science Department Courant Institute of Mathematical Sciences Course Title: Data Communication & Networks Course Number: g22.2662-001 Instructor: Jean-Claude Franchitti Session:

More information

ECEN Final Exam Fall Instructor: Srinivas Shakkottai

ECEN Final Exam Fall Instructor: Srinivas Shakkottai ECEN 424 - Final Exam Fall 2013 Instructor: Srinivas Shakkottai NAME: Problem maximum points your points Problem 1 10 Problem 2 10 Problem 3 20 Problem 4 20 Problem 5 20 Problem 6 20 total 100 1 2 Midterm

More information

Tutorial 2 : Networking

Tutorial 2 : Networking Lund University ETSN01 Advanced Telecommunication Tutorial 2 : Networking Author: Emma Fitzgerald Tutor: Farnaz Moradi November 26, 2015 Contents I Before you start 3 II Whole Class Exercise: Networking

More information

CSE 473 Introduction to Computer Networks. Final Exam. Your name here: 12/17/2012

CSE 473 Introduction to Computer Networks. Final Exam. Your name here: 12/17/2012 CSE 473 Introduction to Computer Networks Jon Turner Final Exam Your name here: 12/17/2012 1. (8 points). The figure below shows a network path connecting a server to a client. 200 km 2000 km 2 km X Y

More information

Transport Protocols and TCP: Review

Transport Protocols and TCP: Review Transport Protocols and TCP: Review CSE 6590 Fall 2010 Department of Computer Science & Engineering York University 1 19 September 2010 1 Connection Establishment and Termination 2 2 1 Connection Establishment

More information

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007 CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007 Question 344 Points 444 Points Score 1 10 10 2 10 10 3 20 20 4 20 10 5 20 20 6 20 10 7-20 Total: 100 100 Instructions: 1. Question

More information

Congestion control in TCP

Congestion control in TCP Congestion control in TCP If the transport entities on many machines send too many packets into the network too quickly, the network will become congested, with performance degraded as packets are delayed

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

Transport Protocols & TCP TCP

Transport Protocols & TCP TCP Transport Protocols & TCP CSE 3213 Fall 2007 13 November 2007 1 TCP Services Flow control Connection establishment and termination Congestion control 2 1 TCP Services Transmission Control Protocol (RFC

More information

Exercises TCP/IP Networking With Solutions

Exercises TCP/IP Networking With Solutions Exercises TCP/IP Networking With Solutions Jean-Yves Le Boudec Fall 2009 3 Module 3: Congestion Control Exercise 3.2 1. Assume that a TCP sender, called S, does not implement fast retransmit, but does

More information

Reliable Transport II: TCP and Congestion Control

Reliable Transport II: TCP and Congestion Control Reliable Transport II: TCP and Congestion Control Stefano Vissicchio UCL Computer Science COMP0023 Recap: Last Lecture Transport Concepts Layering context Transport goals Transport mechanisms and design

More information

Bandwidth Allocation & TCP

Bandwidth Allocation & TCP Bandwidth Allocation & TCP The Transport Layer Focus Application Presentation How do we share bandwidth? Session Topics Transport Network Congestion control & fairness Data Link TCP Additive Increase/Multiplicative

More information

Recap. More TCP. Congestion avoidance. TCP timers. TCP lifeline. Application Presentation Session Transport Network Data Link Physical

Recap. More TCP. Congestion avoidance. TCP timers. TCP lifeline. Application Presentation Session Transport Network Data Link Physical Recap ½ congestion window ½ congestion window More TCP Congestion avoidance TCP timers TCP lifeline Application Presentation Session Transport Network Data Link Physical 1 Congestion Control vs Avoidance

More information

ETSF10 Internet Protocols Transport Layer Protocols

ETSF10 Internet Protocols Transport Layer Protocols ETSF10 Internet Protocols Transport Layer Protocols 2012, Part 2, Lecture 2.1 Kaan Bür, Jens Andersson Transport Layer Protocols Process-to-process delivery [ed.4 ch.23.1] [ed.5 ch.24.1] Transmission Control

More information

Lecture 14: Congestion Control"

Lecture 14: Congestion Control Lecture 14: Congestion Control" CSE 222A: Computer Communication Networks Alex C. Snoeren Thanks: Amin Vahdat, Dina Katabi Lecture 14 Overview" TCP congestion control review XCP Overview 2 Congestion Control

More information

Congestion Avoidance and Control. Rohan Tabish and Zane Ma

Congestion Avoidance and Control. Rohan Tabish and Zane Ma Congestion Avoidance and Control Rohan Tabish and Zane Ma TCP is self-clocking Self-clocking systems should be robust Congestion collapse Internet had first of what became a series of congestion collapses

More information

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli)

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli) TCP CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli) 1 Sources Fall and Stevens, TCP/IP Illustrated Vol. 1, 2nd edition Congestion Avoidance

More information

Streaming Video and TCP-Friendly Congestion Control

Streaming Video and TCP-Friendly Congestion Control Streaming Video and TCP-Friendly Congestion Control Sugih Jamin Department of EECS University of Michigan jamin@eecs.umich.edu Joint work with: Zhiheng Wang (UofM), Sujata Banerjee (HP Labs) Video Application

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

CS 349/449 Internet Protocols Final Exam Winter /15/2003. Name: Course:

CS 349/449 Internet Protocols Final Exam Winter /15/2003. Name: Course: CS 349/449 Internet Protocols Final Exam Winter 2003 12/15/2003 Name: Course: Instructions: 1. You have 2 hours to finish 2. Question 9 is only for 449 students 3. Closed books, closed notes. Write all

More information

TCP: Flow and Error Control

TCP: Flow and Error Control 1 TCP: Flow and Error Control Required reading: Kurose 3.5.3, 3.5.4, 3.5.5 CSE 4213, Fall 2006 Instructor: N. Vlajic TCP Stream Delivery 2 TCP Stream Delivery unlike UDP, TCP is a stream-oriented protocol

More information

Department of EECS - University of California at Berkeley EECS122 - Introduction to Communication Networks - Spring 2005 Final: 5/20/2005

Department of EECS - University of California at Berkeley EECS122 - Introduction to Communication Networks - Spring 2005 Final: 5/20/2005 Name: SID: Department of EECS - University of California at Berkeley EECS122 - Introduction to Communication Networks - Spring 2005 Final: 5/20/2005 There are 10 questions in total. Please write your SID

More information

ETSN01 Exam. August 22nd am 1pm. Clearly label each page you hand in with your name and the page number in the bottom right hand corner.

ETSN01 Exam. August 22nd am 1pm. Clearly label each page you hand in with your name and the page number in the bottom right hand corner. ETSN01 Exam August 22nd 2015 8am 1pm Instructions Clearly label each page you hand in with your name and the page number in the bottom right hand corner. Materials allowed: calculator, writing material.

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

Answers to Sample Questions on Transport Layer

Answers to Sample Questions on Transport Layer Answers to Sample Questions on Transport Layer 1) Which protocol Go-Back-N or Selective-Repeat - makes more efficient use of network bandwidth? Why? Answer: Selective repeat makes more efficient use of

More information

Outline. CS5984 Mobile Computing

Outline. CS5984 Mobile Computing CS5984 Mobile Computing Dr. Ayman Abdel-Hamid Computer Science Department Virginia Tech Outline Review Transmission Control Protocol (TCP) Based on Behrouz Forouzan, Data Communications and Networking,

More information

CS268: Beyond TCP Congestion Control

CS268: Beyond TCP Congestion Control TCP Problems CS68: Beyond TCP Congestion Control Ion Stoica February 9, 004 When TCP congestion control was originally designed in 1988: - Key applications: FTP, E-mail - Maximum link bandwidth: 10Mb/s

More information

CS244a: An Introduction to Computer Networks

CS244a: An Introduction to Computer Networks Do not write in this box MCQ 9: /10 10: /10 11: /20 12: /20 13: /20 14: /20 Total: Name: Student ID #: CS244a Winter 2003 Professor McKeown Campus/SITN-Local/SITN-Remote? CS244a: An Introduction to Computer

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

Transport Layer TCP / UDP

Transport Layer TCP / UDP Transport Layer TCP / UDP Chapter 6 section 6.5 is TCP 12 Mar 2012 Layers Application Transport Why do we need the Transport Layer? Network Host-to-Network/Physical/DataLink High Level Overview TCP (RFC

More information

FACULTY OF COMPUTING AND INFORMATICS

FACULTY OF COMPUTING AND INFORMATICS namibia UniVERSITY OF SCIEnCE AnD TECHnOLOGY FACULTY OF COMPUTING AND INFORMATICS DEPARTMENT OF COMPUTER SCIENCE QUALIFICATION: Bachelor of Computer Science {Honours) QUALIFICATION CODE: 08BCSH LEVEL:

More information

Transport Layer Protocols TCP

Transport Layer Protocols TCP Transport Layer Protocols TCP Gail Hopkins Introduction Features of TCP Packet loss and retransmission Adaptive retransmission Flow control Three way handshake Congestion control 1 Common Networking Issues

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

Lecture 15: TCP over wireless networks. Mythili Vutukuru CS 653 Spring 2014 March 13, Thursday

Lecture 15: TCP over wireless networks. Mythili Vutukuru CS 653 Spring 2014 March 13, Thursday Lecture 15: TCP over wireless networks Mythili Vutukuru CS 653 Spring 2014 March 13, Thursday TCP - recap Transport layer TCP is the dominant protocol TCP provides in-order reliable byte stream abstraction

More information

CS244a: An Introduction to Computer Networks

CS244a: An Introduction to Computer Networks Do not write in this box MCQ 13: /10 14: /10 15: /0 16: /0 17: /10 18: /10 19: /0 0: /10 Total: Name: Student ID #: Campus/SITN-Local/SITN-Remote? CS44a Winter 004 Professor McKeown CS44a: An Introduction

More information

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission Fast Retransmit Problem: coarsegrain TCP timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission Packet 1 Packet 2 Packet 3 Packet 4 Packet 5 Packet 6 Sender Receiver

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

Equation-based Congestion Control

Equation-based Congestion Control Equation-based Congestion Control for Unicast and Multicast Applications Jörg Widmer Praktische Informatik IV, University of Mannheim / AT&T Center for Internet Research at ICSI (ACIRI) Feb 05, 2001 Why

More information

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols ETSF05/ETSF10 Internet Protocols Transport Layer Protocols 2016 Jens Andersson Transport Layer Communication between applications Process-to-process delivery Client/server concept Local host Normally initialiser

More information

CHAPTER 3 EFFECTIVE ADMISSION CONTROL MECHANISM IN WIRELESS MESH NETWORKS

CHAPTER 3 EFFECTIVE ADMISSION CONTROL MECHANISM IN WIRELESS MESH NETWORKS 28 CHAPTER 3 EFFECTIVE ADMISSION CONTROL MECHANISM IN WIRELESS MESH NETWORKS Introduction Measurement-based scheme, that constantly monitors the network, will incorporate the current network state in the

More information

Networked Systems and Services, Fall 2018 Chapter 3

Networked Systems and Services, Fall 2018 Chapter 3 Networked Systems and Services, Fall 2018 Chapter 3 Jussi Kangasharju Markku Kojo Lea Kutvonen 4. Transport Layer Reliability with TCP Transmission Control Protocol (TCP) RFC 793 + more than hundred other

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

Transmission Control Protocol (TCP) TCP Services EECS 3214

Transmission Control Protocol (TCP) TCP Services EECS 3214 Transmission Control Protocol (TCP) EECS 3214 5 February 2018 1 TCP Services Transmission Control Protocol (RFC 793) connecdon oriented, reliable communicadon over reliable and unreliable (inter)networks

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

TCP/IP Performance ITL

TCP/IP Performance ITL TCP/IP Performance ITL Protocol Overview E-Mail HTTP (WWW) Remote Login File Transfer TCP UDP IP ICMP ARP RARP (Auxiliary Services) Ethernet, X.25, HDLC etc. ATM 4/30/2002 Hans Kruse & Shawn Ostermann,

More information

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers Overview 15-441 Computer Networking TCP & router queuing Lecture 10 TCP & Routers TCP details Workloads Lecture 10: 09-30-2002 2 TCP Performance TCP Performance Can TCP saturate a link? Congestion control

More information

Computer Networking. Queue Management and Quality of Service (QOS)

Computer Networking. Queue Management and Quality of Service (QOS) Computer Networking Queue Management and Quality of Service (QOS) Outline Previously:TCP flow control Congestion sources and collapse Congestion control basics - Routers 2 Internet Pipes? How should you

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

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

CSE 473 Introduction to Computer Networks. Midterm Exam Review

CSE 473 Introduction to Computer Networks. Midterm Exam Review CSE 473 Introduction to Computer Networks Midterm Exam Review John DeHart 10/12/2015 1. (10 points). A user in Chicago, connected to the internet via a 100 Mb/s (b=bits) connection retrieves a 250 KB (B=bytes)

More information

Advanced Computer Networks

Advanced Computer Networks Advanced Computer Networks QoS in IP networks Prof. Andrzej Duda duda@imag.fr Contents QoS principles Traffic shaping leaky bucket token bucket Scheduling FIFO Fair queueing RED IntServ DiffServ http://duda.imag.fr

More information

EE 122 Fall st Midterm. Professor: Lai Stoica

EE 122 Fall st Midterm. Professor: Lai Stoica EE 122 Fall 2001 1 st Midterm Professor: Lai Stoica Question 1 (15 pt) Layering is a key design principle in computer networks. Name two advantages, and one disadvantage to layering. Explain. Use no more

More information

Basic Reliable Transport Protocols

Basic Reliable Transport Protocols Basic Reliable Transport Protocols Do not be alarmed by the length of this guide. There are a lot of pictures. You ve seen in lecture that most of the networks we re dealing with are best-effort : they

More information

c) With the selective repeat protocol, it is possible for the sender to receive an ACK for a packet that falls outside of its current window.

c) With the selective repeat protocol, it is possible for the sender to receive an ACK for a packet that falls outside of its current window. Part 1 Question 1 [0.5 Marks] Suppose an application generates chunks of 40 bytes of data every 20 msec, and each chunk gets encapsulated by a TCP segment and then an IP datagram. What percentage of each

More information

EECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance

EECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance EECS 122, Lecture 19 Today s Topics: More on Reliable Delivery Round-Trip Timing Flow Control Intro to Congestion Control Kevin Fall, kfall@cs cs.berkeley.eduedu Reliable Delivery Stop and Wait simple

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

Network Management & Monitoring

Network Management & Monitoring Network Management & Monitoring Network Delay These materials are licensed under the Creative Commons Attribution-Noncommercial 3.0 Unported license (http://creativecommons.org/licenses/by-nc/3.0/) End-to-end

More information

Computer Networks (Fall 2011) Homework 2

Computer Networks (Fall 2011) Homework 2 5-744 Computer Networks (Fall 20) Homework 2 Name: Due: Oct. 2th, 20, 3:00PM (in class) Andrew ID: October 2, 20 A Short Questions. Which of the following is true about modern high-speed routers? A. A

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

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

CS 421: COMPUTER NETWORKS SPRING FINAL May 8, minutes

CS 421: COMPUTER NETWORKS SPRING FINAL May 8, minutes CS 421: COMPUTR NTWORKS SPRIN 2016 INL May 8, 2016 150 minutes Name: Student No: Q1 Q2 Q3 TOT 1) a) (6 pts) iven the following parameters for a datagram packet switching network: N: number of hops between

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

Hybrid Control and Switched Systems. Lecture #17 Hybrid Systems Modeling of Communication Networks

Hybrid Control and Switched Systems. Lecture #17 Hybrid Systems Modeling of Communication Networks Hybrid Control and Switched Systems Lecture #17 Hybrid Systems Modeling of Communication Networks João P. Hespanha University of California at Santa Barbara Motivation Why model network traffic? to validate

More information

Priority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies

Priority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies CSCD 433/533 Priority Traffic Advanced Networks Spring 2016 Lecture 21 Congestion Control and Queuing Strategies 1 Topics Congestion Control and Resource Allocation Flows Types of Mechanisms Evaluation

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

CS/ECE 438: Communication Networks Spring Problem Set 7. Title: Congestion control and Performance Analysis

CS/ECE 438: Communication Networks Spring Problem Set 7. Title: Congestion control and Performance Analysis Problem Set 7 Title: Congestion control and Performance Analysis Due: start of class, Wednesday, May 2 nd Recommended Reading: Section 6. All problems carry equal weight. To receive full credit, show all

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

CS457 Transport Protocols. CS 457 Fall 2014

CS457 Transport Protocols. CS 457 Fall 2014 CS457 Transport Protocols CS 457 Fall 2014 Topics Principles underlying transport-layer services Demultiplexing Detecting corruption Reliable delivery Flow control Transport-layer protocols User Datagram

More information

DualRTT: Enhancing TCP Performance During Delay Spikes

DualRTT: Enhancing TCP Performance During Delay Spikes DualRTT: Enhancing TCP Performance During Delay Spikes Ph.D. School of Computer Science University of Oklahoma. Email: atiq@ieee.org Web: www.cs.ou.edu/~atiq Presentation at Tohoku University, Sendai,

More information

The Transmission Control Protocol (TCP)

The Transmission Control Protocol (TCP) The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, e-mail, WWW) Reliable Stream Transport (TCP) Unreliable Transport Service (UDP) Connectionless Packet Delivery Service (IP) Goals

More information

CS244a: An Introduction to Computer Networks

CS244a: An Introduction to Computer Networks Grade: MC: 7: 8: 9: 10: 11: 12: 13: 14: Total: CS244a: An Introduction to Computer Networks Final Exam: Wednesday You are allowed 2 hours to complete this exam. (i) This exam is closed book and closed

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

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

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control Chapter 6 What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control OSI Model Hybrid Model Software outside the operating system Software inside

More information

Communication Networks

Communication Networks Communication Networks Spring 2018 Laurent Vanbever nsg.ee.ethz.ch ETH Zürich (D-ITET) April 30 2018 Materials inspired from Scott Shenker & Jennifer Rexford Last week on Communication Networks We started

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

CS144: Intro to Computer Networks Homework 1 Scan and submit your solution online. Due Friday January 30, 4pm

CS144: Intro to Computer Networks Homework 1 Scan and submit your solution online. Due Friday January 30, 4pm CS144: Intro to Computer Networks Homework 1 Scan and submit your solution online. Due Friday January 30, 2015 @ 4pm Your Name: Answers SUNet ID: root @stanford.edu Check if you would like exam routed

More information

CS132/EECS148 - Instructor: Karim El Defrawy Midterm Spring 2013 Time: 1hour May 2nd, 2013

CS132/EECS148 - Instructor: Karim El Defrawy Midterm Spring 2013 Time: 1hour May 2nd, 2013 CS132/EECS148 - Instructor: Karim El Defrawy Midterm Spring 2013 : 1hour May 2nd, 2013 Total Points: 25 Attempt all problems. Problem #1: (5 points, ½ point each) Choose only one answer. You will not receive

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

Advanced Computer Networks

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

More information

Computer Networks. Wenzhong Li. Nanjing University

Computer Networks. Wenzhong Li. Nanjing University Computer Networks Wenzhong Li Nanjing University 1 Chapter 5. End-to-End Protocols Transport Services and Mechanisms User Datagram Protocol (UDP) Transmission Control Protocol (TCP) TCP Congestion Control

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

Computer Networking

Computer Networking 15-441 Computer Networking Lecture 17 TCP Performance & Future Eric Anderson Fall 2013 www.cs.cmu.edu/~prs/15-441-f13 Outline TCP modeling TCP details 2 TCP Performance Can TCP saturate a link? Congestion

More information

Random Early Detection (RED) gateways. Sally Floyd CS 268: Computer Networks

Random Early Detection (RED) gateways. Sally Floyd CS 268: Computer Networks Random Early Detection (RED) gateways Sally Floyd CS 268: Computer Networks floyd@eelblgov March 20, 1995 1 The Environment Feedback-based transport protocols (eg, TCP) Problems with current Drop-Tail

More information

Reliable Transport I: Concepts and TCP Protocol

Reliable Transport I: Concepts and TCP Protocol Reliable Transport I: Concepts and TCP Protocol Brad Karp UCL Computer Science CS 3035/GZ01 29 th October 2013 Part I: Transport Concepts Layering context Transport goals Transport mechanisms 2 Context:

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

Communication Networks

Communication Networks Communication Networks Prof. Laurent Vanbever Exercises week 4 Reliable Transport Reliable versus Unreliable Transport In the lecture, you have learned how a reliable transport protocol can be built on

More information

There are 10 questions in total. Please write your SID on each page.

There are 10 questions in total. Please write your SID on each page. Name: SID: Department of EECS - University of California at Berkeley EECS122 - Introduction to Communication Networks - Spring 2005 to the Final: 5/20/2005 There are 10 questions in total. Please write

More information

Internet Protocols Fall Outline

Internet Protocols Fall Outline Internet Protocols Fall 2004 Lecture 12 TCP Andreas Terzis Outline TCP Connection Management Sliding Window ACK Strategy Nagle s algorithm Timeout estimation Flow Control CS 449/Fall 04 2 1 TCP Connection

More information

Data Link Control Protocols

Data Link Control Protocols Protocols : Introduction to Data Communications Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 23 May 2012 Y12S1L07, Steve/Courses/2012/s1/its323/lectures/datalink.tex,

More information

Chapter 24 Congestion Control and Quality of Service 24.1

Chapter 24 Congestion Control and Quality of Service 24.1 Chapter 24 Congestion Control and Quality of Service 24.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 24-1 DATA TRAFFIC The main focus of congestion control

More information

Good Ideas So Far Computer Networking. Outline. Sequence Numbers (reminder) TCP flow control. Congestion sources and collapse

Good Ideas So Far Computer Networking. Outline. Sequence Numbers (reminder) TCP flow control. Congestion sources and collapse Good Ideas So Far 15-441 Computer Networking Lecture 17 TCP & Congestion Control Flow control Stop & wait Parallel stop & wait Sliding window Loss recovery Timeouts Acknowledgement-driven recovery (selective

More information

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine School of Computing and Information S 1 / 33 COS 140:

More information

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine Computer Science Department 1 / 33 1 COS 140: Foundations

More information

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 11, 2018

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 11, 2018 CMSC 417 Computer Networks Prof. Ashok K Agrawala 2018 Ashok Agrawala Message, Segment, Packet, and Frame host host HTTP HTTP message HTTP TCP TCP segment TCP router router IP IP packet IP IP packet IP

More information

Two approaches to Flow Control. Cranking up to speed. Sliding windows in action

Two approaches to Flow Control. Cranking up to speed. Sliding windows in action CS314-27 TCP: Transmission Control Protocol IP is an unreliable datagram protocol congestion or transmission errors cause lost packets multiple routes may lead to out-of-order delivery If senders send

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

CRC. Implementation. Error control. Software schemes. Packet errors. Types of packet errors

CRC. Implementation. Error control. Software schemes. Packet errors. Types of packet errors CRC Implementation Error control An Engineering Approach to Computer Networking Detects all single bit errors almost all 2-bit errors any odd number of errors all bursts up to M, where generator length

More information