Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014
|
|
- Sybil Barnett
- 6 years ago
- Views:
Transcription
1 1 Congestion Control In The Internet Part 2: How it is implemented in TCP JY Le Boudec 2014
2 Contents 1. Congestion control in TCP 2. The fairness of TCP 3. The loss throughput formula 4. Explicit Congestion Notification (ECN) and RED 5. Other Bells and Whistles 2
3 1. Congestion Control in the Internet is in TCP TCP is used to avoid congestion in the Internet in addition to what was shown: a TCP source adjusts its window to the congestion status of the Internet (slow start, congestion avoidance) this avoids congestion collapse and ensures some fairness TCP sources interprets losses as a negative feedback use to reduce the sending rate UDP sources are a problem for the Internet use for long lived sessions (ex: RealAudio) is a threat: congestion collapse UDP sources should imitate TCP : TCP friendly 3
4 TCP Congestion Control is based on AIMD TCP adjusts the window size (in addition to offered window ie credit mechanism) based on the belief that rate W = min (cwnd, OfferedWindow) OfferedWindow = window obtained by TCP s window field cwnd = controlled by TCP congestion control Principles of TCP Congestion Control negative feedback = loss, positive feedback = ACK received Additive Increase (+1 Maximum Segment Size MSS), Multiplicative Decrease (0.5) Slow start with increase factor 2 In addition to AIMD: when loss is detected by timeout > slow start Loss detected by fast retransmit => fast recovery (no slow start) 4
5 A Trace Bytes twnd (= ssthresh) A B C cwnd seconds created from data from: IEEE Transactions on Networking, Oct. 95, TCP Vegas, L. Brakmo and L. Petersen 5
6 Bytes twnd cwnd A Trace A B C seconds B congestion avoidance slow start C congestion avoidance created from data from: IEEE Transactions on Networking, Oct. 95, TCP Vegas, L. Brakmo and L. Petersen 6
7 7 How TCP approximates multiplicative decrease : (on loss detection by timeout) cwnd = 0.5 current_window cwnd = max (cwnd, 2 MSS) additive increase : for each ACK received cwnd = cwnd + MSS MSS / cwnd This is equivalent in packets to cwnd cwnd 1 cwnd cwnd = min (cwnd, max size) (64KB) cwnd = 1 MSS 2 3 4
8 How TCP approximates multiplicative increase : (Slow Start) non dupl. ack received during slow start > cwnd = cwnd + MSS (in bytes) (1) if cwnd = twnd then go to congestion avoidance cwnd = 1 seg (1) is equivalent in packets to cwnd = cwnd + 1 (in packets) 8
9 9 AIMD and Slow Start window size loss loss slow start
10 10 A finite state machine description (incomplete) connection opening: twnd = B cwnd = 1 seg Slow Start exponential increase for cwnd until cwnd = twnd retransmission timeout: - multiplicative decrease for twnd - cwnd = 1 seg cwnd = twnd Congestion Avoidance additive increase for twnd, cwnd = twnd retransmission timeout: - multiplicative decrease for twnd - cwnd = 1 seg notes this shows only 2 states out of 3 twnd = target window
11 Assume a TCP flow uses WiFi with high loss ratio. Assume some packets are lost in spite of WiFi retransmissions. When a packet is lost on the WiFi link 1. The TCP source knows it is a loss due to channel errors and not congestion, therefore does not reduce the window 2. The TCP source thinks it is a congestion loss and reduces its window 3. It depends if the MAC layer uses retransmissions 4. I don t know 16% 63% 19% 2%
12 Fast Recovery Slow start used when we assume that the network condition is new or abruptly changing i.e. at beginning and after loss detected by timeout In all other packet loss detection events, slow start is not used, but fast recovery is used instead With Fast Recovery target window is halved But congestion window is allowed to increase beyond the target window until the loss is repaired 12
13 Fast Recovery Details When loss is detected by 3 duplicate acks twnd = 0.5 current-size twnd = max (twnd, 2 MSS) cwnd = twnd + 3 MSS (exp. increase) cwnd = min (cwnd, 64K) For each duplicated ACK received cwnd = cwnd + MSS (exp. increase) cwnd = min (cwnd, 64K) When loss is repaired cwnd = twnd Goto congestion avoidance 13
14 Fast Recovery Example TcpMaxDupACKs=3 twnd=cwnd = 800 seq=201:301 seq=301:351 seq=351:401 seq=401:501 twnd=cwnd=813 seq=501:601 seq=601:701 seq=701:751 twnd=407, cwnd=707 seq=201:301 seq=751:801 twnd=407, cwnd=807 twnd=407, cwnd=907 seq=801:901 twnd=407, cwnd=1007 twnd=407, cwnd= Ack = 101,win=1 000 Ack = 101,win=1 000 Ack = 101,win=1 000 Ack = 101,win=1 000 Ack = 101,win=1 000 Ack = 101,win=1 000 Ack = 101,win=1 000 Ack = 801,win=
15 15 At time 1, the sender is in congestion avoidance mode. The congestion window increases with every received non duplicate ack (as at time 6). The target window (also called slowstart threshold) is equal to the congestion window. The second packet is lost. At time 12, its loss is detected by fast retransmit, i.e. reception of 3 duplicate acks. The sender goes into fast recovery mode. The target window is set to half the value of the congestion window; the congestion window is set to the target window plus 3 packets (one for each duplicate ack received). At time 13 the source retransmits the lost packet. At time 14 it transmits a fresh packet. This is possible because the window is large enough. The window size, which is the minimum of the congestion window and the advertised window, is equal to 707. Since the last acked byte is 101, it is possible to send up to 807. At times 15, 16 and 18, the congestion window is increased by 1 MMS, i.e. 100 bytes, by application of the congestion avoidance algorithm. This allows to send one fresh packet at time 17. At time 18 the lost packet is acked, the source exits the fast recovery mode and enters congestion avoidance. The congestion window is set to the target window.
16 How many new segments of size 100 bytes can the source send at time 20? A. 1 B. 2 C. 3 D. 4 F. 0 G. I don t know 1 0% 0% 0% 0% 0% 0% 0% I don t know 16
17 Solution The congestion window is 407, the advertised window is 1000, and the last ack received is 801. The source can send bytes 801 to 1208, the segment 801:901 was already sent, i.e. the source can send 3 new segments of 100 bytes each 17
18 18 Bytes 60 twnd Fast Recovery Example A B C D E F cwnd E F seconds A-B, E-F: fast recovery C-D: slow start
19 19 A finite state machine description new connection: Slow Start - exponential increase cwnd = twnd: retr. timeout: Congestion Avoidance - additive increase retr. timeout: retr. timeout: fast retransmit: Fast Recovery - exponential increase beyond twnd fast retransmit: expected ack received:
20 2. Fairness of TCP TCP implements some approximation of AIMD AIMD is designed to be approximately fair in a single link scenario Q: what happens in a network? Does TCP distribute rates according to max min fairness or proportional fairness? 20
21 Does TCP distribute rates according to maxmin fairness or proportional fairness? 1. Max min 2. Proportional 3. None of the above 4. I don t know 45% 32% 23% 0%
22 22 Solution A: For long lived flows, the rates obtained with TCP are as if they were distributed according to utility fairness, with utility of flow given by with = rate =, = RTT (proof: see lecture notes) For sources that have same RTT, the fairness of TCP is between maxmin fairness and proportional fairness, closer to proportional fairness maxmin
23 23 TCP and RTT TCP tends to distribute rate so as to maximize utility of source given by The utility depends on the roundtrip time ; The utility U is a decreasing function of What does this imply?
24 24 and send to destination using one TCP connection each, RTTs are 60ms and 140ms. Bottleneck is link «router destination». Who gets more? gets a higher throughput gets a higher throughput 3. Both get the same 4. I don t know 81% 9% 7% 2% S 1 router destination 10 Mb/s, 20 ms 1 Mb/s 10 ms 10 Mb/s, 60 ms S 2
25 25 For long lived flows, the rates obtained with TCP are as if they were distributed according to utility fairness, with utility of flow given by has a smaller RTT than The utility is less when RTT is large, therefore TCP tries less hard to give a high rate to sources with large RTT. gets less. Solution
26 The Bias of TCP Against Large RTTs With TCP, two competing sources with different RTTs are not treated equally source with large RTT obtains less A source that uses many hops obtains less rate because of two combined factors, one is good, the other is bad: 1. this source uses more resources. The mechanics of proportional fairness leads to this source having less rate this is desirable in view of the theory of fairness. 2. this source has a larger RTT. The mechanics of additive increase leads to this source having less rate this is a bug in the design of TCP Cause is : additive increase is one packet per RTT (instead of one packet per constant time interval) 26
27 3. TCP Loss Throughput Formula Consider a large TCP connection (many bytes to transmit) Assume we observe that, in average, a fraction q of packets is lost (or marked with ECN) Can we say something about the expected throughput for this connection? 27
28 TCP Loss Throughput Formula TCP connection throughput (bytes per second) RTT T (seconds) segment size L (bytes) average packet loss ratio 0,1 constant C = 1.22 Assumes: transmission time negligible compared to RTT, losses are rare, time spent in Slow Start and Fast Recovery negligible 28
29 Guess the ratio between the throughputs 1 and 2 of S 1 and S 2 S 1 router destination 10 Mb/s, 20 ms 1 Mb/s 10 ms 10 Mb/s, 60 ms S 2 62% 5. None of the above 6. I don t know 17% 8% 6% 6% 2%
30 Solution: Guess the ratio between the 30 throughputs 1 and 2 and of S 1 and S 2 ACK numbers S 1 S 2 If processing time is negligible and router drops packets in the same proportion for all flows, then throughput is proportional to 1/RTT, thus i.e. time
31 4. Explicit Congestion Notification (ECN) Why invented: signal congestion without dropping packets dropping packets is not nice (delay, retransmissions) (= DECbit) How does it work: router marks packet instead of dropping TCP destination echoes the mark back to source At the source, TCP interprets a marked packet in the same way as if there would be a loss detected by fast retransmit 31
32 32 Explicit Congestion Notification (ECN) payload TCP IP header header S R S reduces window by 1/2
33 ECN Flags 2 bits in IP header (direct path) code for 4 possible codepoints non ECN Capable (non ECT) ECN capable and no congestion ECT(0) and ECT(1) ECN capable and congestion experienced (CE) ECT(0) CE CE ECT(0) ECE=1 ECT(0) ECE=1 3 bits in TCP header (return path) ECE (ECN echo) bit = 0 or 1 CWR = ack of ECE=1 received (window reduced) ECE = 1 is set by R until R receives a TCP segment with CWR=1 NS = nonce, used for S to check that ECN is taken seriously. 33
34 Put correct labels assume TCP with ECN is used and there is no packet loss CA :congestion avoidance=additive increase SS : slow start = multiplicative increase MD : multiplicative decrease 1. 1= CA, 2 = SS 2. 1 = SS, 2 = MD 3. 1 = CA, 2 = MD 4. I don t know 15% 15% 69% 0%
35 35 Solution The TCP congestion window when ECN is used and no packet loss occurs window size ECE received ECE received
36 36 Nonce Sum (RFC 3540) ECT(0) CE CE ECT(0) ECE=1 ECT(0) ECE=1 Why invented? S uses ECN routers do not drop packets, use ECN instead but ECN could be prevented by: R not implementing ECN, NATs that drop ECN info in header In such cases, the flow of S is not congestion controlled; this should be detected > revert to non ECN What does it do? Nonce Sum bit in TCP header (NS) is used by S to verify that ECN works for this TCP
37 Nonce Sum ECT(0) CE CE (RFC 3540) ECT(0) ECE=1 How does it work? ECT(0) ECE=1 Source S randomly chooses ECT(0) or ECT(1) in IP header and verifies that the received NS bit is compatible with the ECT(0)/ECT(1) chosen by S Non congested router does nothing; congested router sees ECT(0) or ECT(1) and mark packet as CE instead of dropping it R echoes back to S the xor of all ECT bits in NS field of TCP header; If R does not take ECN seriously, NS does not correspond and S detects it; S detects that ECN does not work; Malicious R cannot compute NS correctly because CE packets do not carry ECT bit If router or NAT drops ECN bits then R cannot compute the correct NS bit and S detects that ECN does not work 37
38 From RFC
39 39 RED (Random Early Detection) Problem solved by RED = when to mark a packet with ECN Principle: queue estimates its average queue length avg a measured + (1 - a) avg incoming packet is marked with probability given by RED curve a uniformization procedure is also applied to prevent bursts of marking q (marking probability) 1 max p th min th max avg (queue size)
40 Active Queue Management RED can also be applied even if ECN is not supported In such a case, a packet may be dropped even if there is some space available Expected benefit avoid constantly full buffers avoid irregular drop patterns This is called Active Queue Management as opposed to passive queue management = drop a packet when queue is full = Tail Drop 40
41 In a network where all flows use TCP with ECN and all routers support ECN, we expect that 1. there is no packet loss 2. there is no packet loss due to congestion 3. there is no packet loss due to congestion in routers 4. none of the above 5. I don t know 0% 0% 0% 0% 0%
42 5. Other Bells and Whistles TCP for Very High Speed Networks (slide from Presentation: "Congestion Control on High Speed Networks, Injong Rhee, Lisong Xu, Slide 7) the figure assumes losses are detected by fast retransmit and ignores the short fast recovery phase 1.4 hours 1.4 hours 1.4 hours cwnd Packet loss Packet loss Packet loss Packet loss 100,000 10Gbps TCP 50,000 5Gbps Slow Increase Fast Decrease cwnd = cwnd + cwnd = cwnd * Slow start Congestion avoidance Time (RTT)
43 CUBIC, FastTCP etc. Why invented? On long fat networks (very large bandwidth delay product), AIMD is too slow Solution is to increase more quickly than AIMD But only in conditions where one TCP connection can obtain a very large throughput Cubic is one such modification of TCP Behaves like TCP when RTT is less than 100msec, otherwise is more aggressive Implemented in Linux servers 43
44 TCP Friendly Applications UDP applications can be a threat to network performance if they generate a lot of traffic; Some UDP applications send at constant rate (e.g. a high frequency sensor); care should be done in such networks to avoid congestion collapse (control the rate and the capacity of the network) Some other UDP applications can adapt their rate (e.g. VBR video); they imitate TCP and are called TCP friendly: application determines the sending rate hence coding rate feedback ir received in form of count of lost packets sending rate is set to: rate of a TCP flow experiencing the same loss ratio, using the loss throughput formula See for example the TFRC (TCP Friendly Rate Control) protocol 44
45 Facts to remember TCP performs congestion control in end systems sender increases its sending window until loss occurs, then decreases additive increase (no loss) multiplicative decrease (loss) Negative feedback is either packet drop or ECN Negative bias towards long round trip times is partly undue UDP applications should behave like TCP with the same loss rate or should be isolated e.g. by class based queuing. 45
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 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 informationCongestion 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 informationCongestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2017
1 Congestion Control In The Internet Part 2: How it is implemented in TCP JY Le Boudec 2017 Contents 6. TCP Reno 7. TCP Cubic 8. ECN and RED 9. Other Cool Stuff 2 6. Congestion Control in the Internet
More informationCongestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2017
1 Congestion Control In The Internet Part 2: How it is implemented in TCP JY Le Boudec 2017 Contents 6. TCP Reno 7. TCP Cubic 8. ECN and RED 9. Other Cool Stuff 2 6. Congestion Control in the Internet
More informationCongestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2018
1 Congestion Control In The Internet Part 2: How it is implemented in TCP JY Le Boudec 2018 Contents 6. TCP Reno 7. TCP Cubic 8. ECN and RED 9. Other Cool Stuff 2 6. Congestion Control in the Internet
More informationAdvanced 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 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 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 so far Computer Networking Outline. How Was TCP Able to Evolve
TCP so far 15-441 15-441 Computer Networking 15-641 Lecture 14: TCP Performance & Future Peter Steenkiste Fall 2016 www.cs.cmu.edu/~prs/15-441-f16 Reliable byte stream protocol Connection establishments
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 informationExercises 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 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 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 informationOverview. 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 informationComputer 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 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 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. 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 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 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 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 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 informationLecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren
Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren Lecture 21 Overview" How fast should a sending host transmit data? Not to fast, not to slow, just right Should not be faster than
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 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 informationCS 356: Computer Network Architectures Lecture 19: Congestion Avoidance Chap. 6.4 and related papers. Xiaowei Yang
CS 356: Computer Network Architectures Lecture 19: Congestion Avoidance Chap. 6.4 and related papers Xiaowei Yang xwy@cs.duke.edu Overview More on TCP congestion control Theory Macroscopic behavior TCP
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 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 informationHybrid 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 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 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 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 informationECE 333: Introduction to Communication Networks Fall 2001
ECE 333: Introduction to Communication Networks Fall 2001 Lecture 28: Transport Layer III Congestion control (TCP) 1 In the last lecture we introduced the topics of flow control and congestion control.
More informationTCP Congestion Control : Computer Networking. Introduction to TCP. Key Things You Should Know Already. Congestion Control RED
TCP Congestion Control 15-744: Computer Networking L-4 TCP Congestion Control RED Assigned Reading [FJ93] Random Early Detection Gateways for Congestion Avoidance [TFRC] Equation-Based Congestion Control
More informationCSE 123A Computer Networks
CSE 123A Computer Networks Winter 2005 Lecture 14 Congestion Control Some images courtesy David Wetherall Animations by Nick McKeown and Guido Appenzeller The bad news and the good news The bad news: new
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 informationFast 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 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 informationLecture 14: Congestion Control"
Lecture 14: Congestion Control" CSE 222A: Computer Communication Networks George Porter Thanks: Amin Vahdat, Dina Katabi and Alex C. Snoeren Lecture 14 Overview" TCP congestion control review Dukkipati
More informationBandwidth 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 informationCS644 Advanced Networks
What we know so far CS644 Advanced Networks Lecture 6 Beyond TCP Congestion Control Andreas Terzis TCP Congestion control based on AIMD window adjustment [Jac88] Saved Internet from congestion collapse
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 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 informationCS268: 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 informationAnswers 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 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 informationCOMP/ELEC 429/556 Introduction to Computer Networks
COMP/ELEC 429/556 Introduction to Computer Networks The TCP Protocol Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang T. S. Eugene Ng eugeneng at cs.rice.edu
More informationCongestion Control. Tom Anderson
Congestion Control Tom Anderson Bandwidth Allocation How do we efficiently share network resources among billions of hosts? Congestion control Sending too fast causes packet loss inside network -> retransmissions
More informationcs/ee 143 Communication Networks
cs/ee 143 Communication Networks Chapter 4 Transport Text: Walrand & Parakh, 2010 Steven Low CMS, EE, Caltech Recap: Internet overview Some basic mechanisms n Packet switching n Addressing n Routing o
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 informationTransport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections
Application / Transport Interface Application requests service from transport layer Transport Layer Application Layer Prepare Transport service requirements Data for transport Local endpoint node address
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 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 informationFlow and Congestion Control
CE443 Computer Networks Flow and Congestion Control Behnam Momeni Computer Engineering Department Sharif University of Technology Acknowledgments: Lecture slides are from Computer networks course thought
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 informationCS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP
CS 5520/ECE 5590NA: Network Architecture I Spring 2008 Lecture 13: UDP and TCP Most recent lectures discussed mechanisms to make better use of the IP address space, Internet control messages, and layering
More informationOperating Systems and Networks. Network Lecture 10: Congestion Control. Adrian Perrig Network Security Group ETH Zürich
Operating Systems and Networks Network Lecture 10: Congestion Control Adrian Perrig Network Security Group ETH Zürich Where we are in the Course More fun in the Transport Layer! The mystery of congestion
More informationWhere we are in the Course. Topic. Nature of Congestion. Nature of Congestion (3) Nature of Congestion (2) Operating Systems and Networks
Operating Systems and Networks Network Lecture 0: Congestion Control Adrian Perrig Network Security Group ETH Zürich Where we are in the Course More fun in the Transport Layer! The mystery of 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 informationOverview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD
Overview 15-441 Computer Networking Lecture 9 More TCP & Congestion Control TCP congestion control TCP modern loss recovery TCP modeling Lecture 9: 09-25-2002 2 TCP Congestion Control Changes to TCP motivated
More informationOutline Computer Networking. Functionality Split. Transport Protocols
Outline 15-441 15 441 Computer Networking 15-641 Lecture 10: Transport Protocols Justine Sherry Peter Steenkiste Fall 2017 www.cs.cmu.edu/~prs/15 441 F17 Transport introduction TCP connection establishment
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 informationPERFORMANCE COMPARISON OF THE DIFFERENT STREAMS IN A TCP BOTTLENECK LINK IN THE PRESENCE OF BACKGROUND TRAFFIC IN A DATA CENTER
PERFORMANCE COMPARISON OF THE DIFFERENT STREAMS IN A TCP BOTTLENECK LINK IN THE PRESENCE OF BACKGROUND TRAFFIC IN A DATA CENTER Vilma Tomço, 1 Aleksandër Xhuvani 2 Abstract: The purpose of this work is
More informationCS 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 informationCSCI-1680 Transport Layer III Congestion Control Strikes Back Rodrigo Fonseca
CSCI-1680 Transport Layer III Congestion Control Strikes Back Rodrigo Fonseca Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti, Ion Stoica Last Time Flow Control Congestion Control
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 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 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 informationCS 421: COMPUTER NETWORKS SPRING FINAL May 24, minutes. Name: Student No: TOT
CS 421: COMPUTER NETWORKS SPRING 2012 FINAL May 24, 2012 150 minutes Name: Student No: Show all your work very clearly. Partial credits will only be given if you carefully state your answer with a reasonable
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 informationOutline. TCP: Overview RFCs: 793, 1122, 1323, 2018, Development of reliable protocol Sliding window protocols
Outline Development of reliable protocol Sliding window protocols Go-Back-N, Selective Repeat Protocol performance Sockets, UDP, TCP, and IP UDP operation TCP operation connection management flow control
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 informationCSE 461. TCP and network congestion
CSE 461 TCP and network congestion This Lecture Focus How should senders pace themselves to avoid stressing the network? Topics Application Presentation Session Transport Network congestion collapse Data
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 informationTCP modifications for Congestion Exposure
TCP modifications for Congestion Exposure ConEx 81. IETF Quebec July 27, 2011 draft-kuehlewind-conex-accurate-ecn-00 draft-kuehlewind-conex-tcp-modifications-00 Mirja Kühlewind
More informationECE 435 Network Engineering Lecture 10
ECE 435 Network Engineering Lecture 10 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 28 September 2017 Announcements HW#4 was due HW#5 will be posted. midterm/fall break You
More informationReliable 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 informationLecture 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 informationCongestion. Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets limited resources
Congestion Source 1 Source 2 10-Mbps Ethernet 100-Mbps FDDI Router 1.5-Mbps T1 link Destination Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets
More informationTCP Congestion Control
6.033, Spring 2014 TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina Sharing the Internet How do you manage resources in a huge system like the Internet, where users with different
More informationOutline. TCP: Overview RFCs: 793, 1122, 1323, 2018, steam: r Development of reliable protocol r Sliding window protocols
Outline r Development of reliable protocol r Sliding window protocols m Go-Back-N, Selective Repeat r Protocol performance r Sockets, UDP, TCP, and IP r UDP operation r TCP operation m connection management
More informationCUBIC. Qian HE (Steve) CS 577 Prof. Bob Kinicki
CUBIC Qian HE (Steve) CS 577 Prof. Bob Kinicki Agenda Brief Introduction of CUBIC Prehistory of CUBIC Standard TCP BIC CUBIC Conclusion 1 Brief Introduction CUBIC is a less aggressive and more systematic
More informationGood 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 informationChapter II. Protocols for High Speed Networks. 2.1 Need for alternative Protocols
Chapter II Protocols for High Speed Networks 2.1 Need for alternative Protocols As the conventional TCP suffers from poor performance on high bandwidth delay product links [47] meant for supporting transmission
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 informationComputer 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 informationComputer Networks Spring 2017 Homework 2 Due by 3/2/2017, 10:30am
15-744 Computer Networks Spring 2017 Homework 2 Due by 3/2/2017, 10:30am (please submit through e-mail to zhuoc@cs.cmu.edu and srini@cs.cmu.edu) Name: A Congestion Control 1. At time t, a TCP connection
More informationCongestion Control for High Bandwidth-delay Product Networks. Dina Katabi, Mark Handley, Charlie Rohrs
Congestion Control for High Bandwidth-delay Product Networks Dina Katabi, Mark Handley, Charlie Rohrs Outline Introduction What s wrong with TCP? Idea of Efficiency vs. Fairness XCP, what is it? Is it
More informationPage 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP
EEC7B/ECS5C Review: Internet Protocol Stack Review: TCP Application Telnet FTP HTTP Transport Network Link Physical bits on wire TCP LAN IP UDP Packet radio Transport Layer Services Design Issue Underlying
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 informationPerformance Analysis of TCP Variants
102 Performance Analysis of TCP Variants Abhishek Sawarkar Northeastern University, MA 02115 Himanshu Saraswat PES MCOE,Pune-411005 Abstract The widely used TCP protocol was developed to provide reliable
More informationMaster Course Computer Networks IN2097
Chair for Network Architectures and Services Prof. Carle Department of Computer Science TU München Master Course Computer Networks IN2097 Prof. Dr.-Ing. Georg Carle Chair for Network Architectures and
More informationRED behavior with different packet sizes
RED behavior with different packet sizes Stefaan De Cnodder, Omar Elloumi *, Kenny Pauwels Traffic and Routing Technologies project Alcatel Corporate Research Center, Francis Wellesplein, 1-18 Antwerp,
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 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 informationEECS 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 informationLecture 4: Congestion Control
Lecture 4: Congestion Control Overview Internet is a network of networks Narrow waist of IP: unreliable, best-effort datagram delivery Packet forwarding: input port to output port Routing protocols: computing
More information