Congestion Control in TCP
|
|
- Camron Glenn
- 5 years ago
- Views:
Transcription
1 Congestion Control in TCP Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana November 22, 2017
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? λ 3 =R/4 λ 1 =R/4 λ 2 =R/4 maxrate=r throughput = R
27 What to Do? Whattodowhenthenetworkiscongested? λ 3 =R/4 λ 1 =R/4 λ 2 =R/4 maxrate=r throughput = R
28 What to Do? Whattodowhenthenetworkiscongested? λ 3 =R/4 λ 1 =R/4 λ 2 =R/4 maxrate=r throughput = R
29 What to Do? Whattodowhenthenetworkiscongested? λ 3 =R/4 λ 1 =R/4 λ 2 =R/4 maxrate=r throughput = R
30 Congestion Control (in TCP)
31 Congestion Control (in TCP) Approach: the sender limits its output rate according to the status of the network thesenderoutputratebecomes(partof)theinputrateforthenetwork(λ in )
32 Congestion Control (in TCP) Approach: the sender limits its output rate according to the status of the network thesenderoutputratebecomes(partof)theinputrateforthenetwork(λ in ) Issues
33 Congestion Control (in TCP) Approach: the sender limits its output rate according to the status of the network thesenderoutputratebecomes(partof)theinputrateforthenetwork(λ in ) Issues howdoesthesender measure thestatusofthenetwork? i.e., how does the sender detect congestion?
34 Congestion Control (in TCP) Approach: the sender limits its output rate according to the status of the network thesenderoutputratebecomes(partof)theinputrateforthenetwork(λ in ) Issues howdoesthesender measure thestatusofthenetwork? i.e., how does the sender detect congestion? how does the sender effectively limit its output rate?
35 Congestion Control (in TCP) Approach: the sender limits its output rate according to the status of the network thesenderoutputratebecomes(partof)theinputrateforthenetwork(λ in ) Issues howdoesthesender measure thestatusofthenetwork? i.e., how does the sender detect congestion? how does the sender effectively limit its output rate? how should the sender modulate its output rate? i.e., what algorithm should the sender use to decrease or increase its output rate?
36 Detecting Congestion
37 Detecting Congestion If all traffic is correctly acknowledged, then the sender assumes(quite correctly) that there is no congestion
38 Detecting Congestion If all traffic is correctly acknowledged, then the sender assumes(quite correctly) that there is no congestion Congestion means that the queue of one or more routers between the sender and the receiver overflow thevisibleeffectisthatsomesegmentsaredropped
39 Detecting Congestion If all traffic is correctly acknowledged, then the sender assumes(quite correctly) that there is no congestion Congestion means that the queue of one or more routers between the sender and the receiver overflow thevisibleeffectisthatsomesegmentsaredropped Therefore the server assumes that the network is congested when it detects a segment loss timeout(i.e.,noack) multiple acknowledgements(i.e., NACK)
40 The sender maintains a congestion window W Congestion Window
41 Congestion Window 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
42 Congestion Window 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)
43 Congestion Window 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
44 How does TCP modulate its output rate? Congestion Control
45 Congestion Control How does TCP modulate its output rate? Additive-increase and multiplicative-decrease
46 Congestion Control How does TCP modulate its output rate? Additive-increase and multiplicative-decrease Slow start
47 Congestion Control How does TCP modulate its output rate? Additive-increase and multiplicative-decrease Slow start Reaction to timeout events
48 Additive-Increase/Multiplicative-Decrease
49 Additive-Increase/Multiplicative-Decrease HowWisreduced:ateverylossevent,TCPhalvesthecongestionwindow
50 Additive-Increase/Multiplicative-Decrease HowWisreduced:ateverylossevent,TCPhalvesthecongestionwindow e.g.,supposethewindowsizewiscurrently20kb,andalossisdetected TCPreducesWto10Kb
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
52 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
53 Additive-Increase/Multiplicative-Decrease WindowsizeWovertime W Time
54 WhatistheinitialvalueofW? Slow Start
55 Slow Start WhatistheinitialvalueofW? TheinitialvalueofWisMSS,thatis1segment,whichisquitelowformodern networks
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)
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
58 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
59 Asweknow,threeduplicateACKsareinterpretedasaNACK Timeouts vs. NACKs
60 Timeouts vs. NACKs Asweknow,threeduplicateACKsareinterpretedasaNACK BothtimeoutsandNACKssignalaloss,buttheysaydifferentthingsaboutthe status of the network
61 Timeouts vs. NACKs Asweknow,threeduplicateACKsareinterpretedasaNACK BothtimeoutsandNACKssignalaloss,buttheysaydifferentthingsaboutthe status of the network A timeout indicates congestion
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
63 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
64 AssumingthecurrentwindowsizeisW =W Timeouts vs. NACKs
65 Timeouts vs. NACKs AssumingthecurrentwindowsizeisW =W Timeout gobacktow =MSS setssthresh =W/2 runslowstartuptow =ssthresh then proceed with congestion avoidance
66 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
67 Sender Behavior W Time
68 Sender Behavior W MSS Time
69 Sender Behavior W NACK MSS Time
70 Sender Behavior 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 timeout W NACK MSS Time
75 Sender Behavior NACK timeout W 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 NACK W NACK timeout NACK MSS Time
79 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 Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana November 16, 2018 Outline Intro to congestion control Input rate vs. output throughput Congestion window
More informationCongestion 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 informationCongestion 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 informationCongestion 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 informationCSCI 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 informationThe 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 informationChapter 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 informationChapter 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 informationTransport 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 informationComputer 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 informationMid 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 informationCongestion 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 informationChapter 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 informationTCP 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 informationTCP 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 informationChapter 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 informationChapter 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 informationCS321: 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 informationCongestion 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 informationCMPE 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 informationThe 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 informationTCP 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 informationTransmission 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 informationTCP 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 informationCSC 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 informationTCP 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 informationCSCD 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 informationTCP 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 informationTCP 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 informationLecture 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 informationCongestion 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 informationTransport 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 informationCongestion 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 informationADVANCED 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 informationCS 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 informationChapter 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 informationCongestion 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 informationCS4700/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 informationFlow 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 informationCS 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 informationCS3600 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 informationCongestion 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 informationPrinciples 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 informationCSCI 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 informationTCP 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 informationTransport 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 informationTransport 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 informationCNT 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 informationFlow 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 informationCongestion 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 informationLecture 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 informationCS 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 informationComputer 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 informationDetecting 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 informationCS 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 informationComputer 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 informationCS519: 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 informationCorrecting 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 informationa) 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 informationECE 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 informationOutline 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 informationCongestion 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 informationTransport 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 informationCongestion 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 information15-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 informationWireless 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 informationEE122 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 information8. 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 informationInternet 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 informationCSE 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 informationEnd-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 informationCSCI-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 informationChapter 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 informationCongestion 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 informationCSCD 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 informationCongestion / 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 informationWhat 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 informationRecap. 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 informationLecture 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 informationCongestion 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 informationUNIT 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 informationThe 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 informationCongestion 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 informationECE4110, 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 informationAdvanced 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 informationTCP 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 informationFall 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 informationCongestion 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 informationChapter 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 informationCSC 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 informationInvestigating 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 informationTopics. 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 informationimage 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 informationSharkFest'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 informationProblem 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 informationTransport 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 informationChapter 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 informationChapter 6 Transport Layer
Chapter 6 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 informationTCP Congestion Control in Wired and Wireless Networks
TCP Congestion Control in Wired and Wireless Networks ENCS 835 Course Project Spring 2008 April 7, 2008 Presented by: Mohamadreza Najiminaini Professor: Ljiljana Trajkovic 4/16/2008 1 Roadmap Introduction
More informationCS 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