CSE 123A Computer Networks
|
|
- Belinda Simmons
- 5 years ago
- Views:
Transcription
1 CSE 123A Computer Networks Winter 2005 Lecture 14 Congestion Control Some images courtesy David Wetherall Animations by Nick McKeown and Guido Appenzeller
2 The bad news and the good news The bad news: new homework is up (due a week from today at the beginning of class) The good news: Walter pled on your behalf for an extension for project 2 and your professor is merciful New due date: Friday at 10pm March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 2
3 Your TAs David Yu Brian Lum Walter Philips March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 3
4 Today How fast should a sending host transmit data? Not to fast, not to slow, just right Should not be faster than the receiver can process Flow control (last class) Should not be faster than the sender s share Bandwidth allocation Should not be faster than the network can process Congestion control Congestion control & bandwidth allocation are separate ideas, but frequently combined March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 4
5 What is bandwidth allocation? Source 1 Source 2 Source 3 100Mbps 10Mbps Router 10Mbps Router 10Mbps Router 4Mbps 6Mbps Destination 1 Destination 2 How much bandwidth should each flow from a source to a destination receive when they compete for resources? What is a fair allocation? March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications
6 Quick review: How queuing works Queues absorb short-term traffic bursts Long term overload will cause packets to be dropped Two components to a queuing mechanism Scheduling: which packets are sent from queue? Buffer management: what happens when queue is full? Most of the Internet is FIFO/Drop Tail First-In-First-Out: Packets leave in same order they arrive Drop tail: When queue is full, newly arriving packets dropped Simple to implement at high speeds Why might you want other policies? March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 6
7 Why buffering is good: Statistical Multiplexing Observations 1. The bigger the buffer, the lower the packet loss. 2. If the buffer never goes empty, the outgoing line is busy 100% of the time. March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 7
8 What is congestion? Source 1 Source 2 10-Mbps Ethernet 100-Mbps FDDI Router 1.5-Mbps T1 link Packets dropped here Destination Buffer intended to absorb bursts when input rate > output But if sending rate is persistently > drain rate, queue builds Dropped packets represent wasted work; goodput < throughput March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications
9 Impact of load on FIFO/Drop-Tail Queues Congestive packet loss Throughput Latency Congestion collapse Network Load March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 9
10 Congestion collapse Rough definition: When an increase in network load produces a decrease in useful work Why does it happen? Sender sends faster than bottleneck link speed» Whats a bottleneck link? Packets queue until dropped In response to packets being dropped, sender retransmits All hosts repeat in steady state March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 10
11 What can be done? Increase network resources More buffers for queuing Increase link speed Pros/Cons of these approaches? Reduce network load Send data more slowly How much more slowly? When to slow down? March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 11
12 Review: TCP Congestion Control Only W packets may be outstanding Rule for adjusting W If an ACK is received: W W+1/W If a packet is lost: W W/2 March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 12
13 High-level design choices Open loop Explicitly reserve bandwidth in the network in advance of sending Closed loop Respond to feedback and adjust bandwidth allocation Network-based Network implements and enforces bandwidth allocation Host-based Hosts are responsible for controlling their sending rate to be no more than their share What is typically used on the Internet? Why? March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 13
14 Proactive vs reactive approaches Congestion avoidance: try to stay to the left of the knee Congestion control: try to stay to the left of the cliff Knee Cliff Congestive packet loss Throughput Latency Congestion collapse Network Load March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 14
15 Key questions How to detect congestion? How to limit sending data rate? How fast to send? March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 15
16 How to detect congestion? Explicit congestion signaling Source Quench: ICMP message from router to sender DECBit / Explicit Congestion Notification (ECN):» Router marks packet based on queue occupancy (i.e. indication that packet encountered congestion the way)» Receiver tells sender if queues are getting too full Implicit congestion signaling Packet loss» Assume congestion is primary source of packet loss» Lost packets (timeout, NAK) indicate congestion Packet delay» Round-trip time increases as packets queue» Packet inter-arrival time is a function of bottleneck link March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 16
17 How to limit the sending rate? Window-based (TCP) Artificially constrain number of outstanding packets allowed in network Increase window to send faster; decrease to send slower Pro: Cheap to implement, good failure properties Con: Creates traffic bursts (requires bigger buffers) Rate-based (many streaming media protocols) Two parameters (period, packets) Allow sending of x packets in period y Pro: smooth traffic Con: per-connection times, what if receiver fails? March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 17
18 How fast to send? Ideally: Keep equilibrium at knee of power curve Find knee somehow Keep number of packets in flight the same Don t send a new packet into the network until you know one has left (I.e. by receiving an ACK) What if you guess wrong, or if bandwidth availability changes? Compromise: adaptive approximation If congestion signaled, reduce sending rate by x If data delivered successfully, increase sending rate by y How to relate x and y? Most choices don t converge March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 18
19 How does TCP do it? Jacobson&Karels88 -> seminal paper in computer networking 5 th most cited paper in all computer science Context: 1986 brings huge congestion collapse LBL<->Berkeley link throughput decreases by 1000x Motivation for paper: Why? and how to fix it? Key algorithms Congestion avoidance (misnamed) Slow start Fast retransmit & fast recovery March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 19
20 Basic approach: TCP Probes the Network Source 100 Mbps Ethernet Router 45 Mbps T3 link Sink Each source independently probes the network to determine how much bandwidth is available Changes over time, since everyone does this Assume that packet loss implies congestion Since errors are rare; also, requires no support from routers March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 20
21 Basic implementation Window-based congestion control Allows congestion control and flow control mechanisms to be unified rwin: advertised flow control window from receiver cwnd: congestion control window» Estimate of how much outstanding data network can deliver in a round-trip time Sender can only send MIN(rwin,cwnd) at any time Idea: increase cwnd when congestion is encountered; increase cwnd otherwise Question: how much to adjust? March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 21
22 Congestion avoidance algorithm Goal: Adapt to changes in available bandwidth Additive increase, Multiplicative Decrease (AIMD) Increase sending rate by a constant (e.g. by 1500 bytes) Decrease sending rate by a linear factor (e.g. divide by 2) Rough intuition for why this works Let L i be queue length at time i In steady state: L i = N, where N is a constant During congestion, L i = N + yl i-1, where y > 0 Consequence: queue size increases exponentially» Must reduce sending rate exponentially as well (multiplicative decrease) March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 22
23 AIMD (Additive Increase/Multiplicative Decrease) Increase slowly while we believe there is bandwidth Additive increase per RTT Cwnd += 1 full packet / RTT Source Destination Decrease quickly when there is loss (went too far!) Multiplicative decrease Cwnd /= 2 March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 23
24 Basic TCP congestion control (no slow start) Only W packets may be outstanding Rule for adjusting W If an ACK is received: W W+1/W If a packet is lost: W W/2 March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 24
25 Slow start Goal: quickly find the equilibrium sending rate Quickly increase sending rate until congestion detected Remember last rate that worked and don t overshoot it Algorithm: On new connection, or after timeout, set cwnd=1 full pkt For each segment acknowledged, increment cwnd by 1 pkt If timeout then divide cwnd by 2, and set ssthresh = cwnd If cwnd >= ssthresh then exit slow start Why called slow? Its exponential after all March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 25
26 Slow start growth example cwnd=1 cwnd=2 cwnd=4 cwnd=8 Sender Ack 3 Ack 4 Ack 5 Ack 6 Ack 7 Ack 8 1 Ack Receiver cwnd round-trip times March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 26
27 Putting it together Slow Start + Congestion Avoidance Timeout cwnd Congestion avoidance ssthresh Slow start round-trip times March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 27
28 Fast retransmit & recovery Fast retransmit Timeouts are slow (1 second is fastest timeout on many TCPs) When packet is lost, receiver still ACKs last in-order packet Use 3 duplicate ACKs to indicate a loss; detect losses quickly» Why 3? When wouldn t this work? Fast recovery Goal: avoid stalling after loss If there are still ACKs coming in, then no need for slow start If a packet has made it through -> we can send another one Divide cwnd by 2 after fast retransmit Increment cwnd by 1 full pkt for each additional duplicate ACK March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 28
29 Fast retransmit&recovery 3 Dup Acks Sender Ack 3 Ack 4 Ack 4 Ack 4 Ack 4 Ack Ack Receiver Fast recovery (increase cwnd by 1) Fast retransmit March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 29
30 Fast retransmit in action Slow Start + Congestion Avoidance + Fast Retransmit cwnd Fast retransmit round-trip times March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 30
31 Fast recovery in action Slow Start + Congestion Avoidance + Fast Retransmit + Fast Recovery cwnd Fast recovery round-trip times March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 31
32 Discussion: Delayed ACKs In request/response programs, want to combine an ACK to a request with a response in same packet Wait 200ms before ACKing Must ACK every other packet (or packet burst) Impact on slow start? Must not delay duplicate ACKs Why? What is the interaction with the congestion control algorithms? March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 32
33 Discussion: Short Connections Short connection: only contains a few pkts How do short connections and Slow-Start interact? What happens when a packet is lost during Slow-Start? What happens when the SYN is dropped? Bottom line: Which packet gets dropped matters a lot SYN Slow-Start Congestion avoidance Do you think most flows are short or long? Do you think most traffic is in short flows or long flows? March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 33
34 Discussion: What happens if hosts lie? Congestion control is voluntary; relies on cooperation among endpoints Why not cheat? Easy for senders to cheat (just ignore losses) Doesn t happen. Servers have little incentive to cheat Receivers have create incentive to cheat (faster surfing) Doesn t happen. Not clear what receiver can do Savage et al, > Ooops, turns out receivers can cheat Handful of design vulnerabilities in TCP allows receivers to arbitrarily control sending rate of remote servers Source of vulnerabilities: ACKs mean things that they don t prove March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 34
35 One such vulnerability ACK splitting Round- Trip Time (RTT) Sender Data 1:1461 ACK 486 ACK 973 ACK 1461 Receiver Rule: grow window by one full-sized packet for each valid ACK received Send M ACKs for one pkt Data 1461:2921 Data 2921:4381 Data 4381:5841 Growth factor proportional to M Data 5841:7301 March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 35
36 10 line change to Linux TCP Page fetch from CNN.com Sequence Number (bytes) Modified Client Normal Client Time (sec) March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 36
37 Final stuff to think about TCP is designed around the premise of cooperation What happens to TCP if it competes with a UDP flow? What if we divide cwnd by 3 instead of 2 after a loss? There are a bunch of magic numbers Decrease by 2x, increase by 1/cwnd, 3 duplicate acks, g=1/8, initial timeout = 3 seconds, etc But overall it works really well! March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 37
38 Summary TCP Probes the network for bandwidth, assuming that loss signals congestion The congestion window is managed with an additive increase/multiplicative decrease policy It took fast retransmit and fast recovery to get there Slow start is used to avoid length initial delays Ramp up to near target rate, then switch to AIMD Fast recovery is used to keep network full while recovering from a loss March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 38
39 For Next Time QoS, Read 6.5 March 2, 2005 CSE 123A -- Lecture 13: Reliable Communications 39
Lecture 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 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 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 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 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 informationLecture 22: TCP & NAT. CSE 123: Computer Networks Alex C. Snoeren
Lecture 22: TCP & NAT CSE 123: Computer Networks Alex C. Snoeren Lecture 22 Overview TCP Connection Management TCP Slow Start Allow TCP to adjust to links of any speed Fast Retransmit & Recovery Avoid
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 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 informationCSE/EE 461. TCP congestion control. Last Lecture. This Lecture. Focus How should senders pace themselves to avoid stressing the network?
CSE/EE 461 TCP congestion control Last Lecture Focus How should senders pace themselves to avoid stressing the network? Topics congestion collapse congestion control Application Presentation Session Transport
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 informationPage 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service
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 Do you remember the various mechanisms we have
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 informationCommunication 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 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 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 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 informationTCP Performance. EE 122: Intro to Communication Networks. Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim
TCP Performance EE 122: Intro to Communication Networks Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks
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 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 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 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 informationCSE/EE 461 Lecture 16 TCP Congestion Control. TCP Congestion Control
CSE/EE Lecture TCP Congestion Control Tom Anderson tom@cs.washington.edu Peterson, Chapter TCP Congestion Control Goal: efficiently and fairly allocate network bandwidth Robust RTT estimation Additive
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 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 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 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 informationCommunications Software. CSE 123b. CSE 123b. Spring Lecture 3: Reliable Communications. Stefan Savage. Some slides couresty David Wetherall
CSE 123b CSE 123b Communications Software Spring 2002 Lecture 3: Reliable Communications Stefan Savage Some slides couresty David Wetherall Administrativa Home page is up and working http://www-cse.ucsd.edu/classes/sp02/cse123b/
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 informationReliable Transport II: TCP and Congestion Control
Reliable Transport II: TCP and Congestion Control Brad Karp UCL Computer Science CS 3035/GZ01 31 st October 2013 Outline Slow Start AIMD Congestion control Throughput, loss, and RTT equation Connection
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 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 informationGoals of Today s Lecture! Congestion Control! Course So Far.! Congestion Control Overview! It s Not Just The Sender & Receiver! Congestion is Natural!
Goals of Today s Lecture! Congestion Control! EE 22: Intro to Communication Networks Fall 200 (MW 4-5:30 in 0 Barker) Scott Shenker TAs: Sameer Agarwal, Sara Alspaugh, Igor Ganichev, Prayag Narula http://inst.eecs.berkeley.edu/~ee22/
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 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 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 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 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 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 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 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 information6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long
6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long Please read Chapter 19 of the 6.02 book for background, especially on acknowledgments (ACKs), timers,
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 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 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 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 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 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 information6.033 Computer System Engineering
MIT OpenCourseWare http://ocw.mit.edu 6.033 Computer System Engineering Spring 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. L13: Sharing in network
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 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 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 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 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 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 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 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 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 informationCongestion Control. Brighten Godfrey CS 538 January Based in part on slides by Ion Stoica
Congestion Control Brighten Godfrey CS 538 January 31 2018 Based in part on slides by Ion Stoica Announcements A starting point: the sliding window protocol TCP flow control Make sure receiving end can
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 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 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 informationTCP. 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 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 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 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 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 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 informationFlow Control. Flow control problem. Other considerations. Where?
Flow control problem Flow Control An Engineering Approach to Computer Networking Consider file transfer Sender sends a stream of packets representing fragments of a file Sender should try to match rate
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 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 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 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 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 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 informationContext. TCP is the dominant transport protocol in today s Internet. Embodies some of Internet design principles
Conges'on Control Context TCP is the dominant transport protocol in today s Internet Web page loads, BitTorrent transfers, some video streaming, some of Skype Embodies some of Internet design principles
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 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 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 informationCS244 Advanced Topics in Computer Networks Midterm Exam Monday, May 2, 2016 OPEN BOOK, OPEN NOTES, INTERNET OFF
CS244 Advanced Topics in Computer Networks Midterm Exam Monday, May 2, 2016 OPEN BOOK, OPEN NOTES, INTERNET OFF Your Name: Answers SUNet ID: root @stanford.edu In accordance with both the letter and the
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 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 informationTCP Review. Carey Williamson Department of Computer Science University of Calgary Winter 2018
TCP Review Carey Williamson Department of Computer Science University of Calgary Winter 2018 Credit: Much of this content came courtesy of Erich Nahum (IBM Research) The TCP Protocol Connection-oriented,
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 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 informationThis Lecture: Congestion Control : Computer Networking. Introduction to TCP. Key Things You Should Know Already. Congestion Control
This Lecture: Congestion Control Congestion Control 15-744: Computer Networking L-4 TCP Assigned Reading [Chiu & Jain] Analysis of Increase and Decrease Algorithms for Congestion Avoidance in Computer
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 informationCongestion Control In the Network
Congestion Control In the Network Brighten Godfrey cs598pbg September 9 2010 Slides courtesy Ion Stoica with adaptation by Brighten Today Fair queueing XCP Announcements Problem: no isolation between flows
More informationRecap. 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 informationCongestion Control and Resource Allocation
Congestion Control and Resource Allocation Lecture material taken from Computer Networks A Systems Approach, Third Edition,Peterson and Davie, Morgan Kaufmann, 2007. Advanced Computer Networks Congestion
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 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 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 TCP to date: We can set
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 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 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. 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