Network Technologies essentials Week 8: TCP congestion control Compilation made by Tim Moors, UNSW Australia Original slides by David Wetherall, University.

Slides:



Advertisements
Similar presentations
Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Advertisements

Different TCP Flavors CSCI 780, Fall TCP Congestion Control Slow-start Congestion Avoidance Congestion Recovery Tahoe, Reno, New-Reno SACK.
1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
TCP EE122 Discussion 10/31/11. TCP Flow Control Keep sender from overwhelming receiver Data not necessarily pushed to app layer ACK Adv_Win: 300 R Push.
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth Edition,Peterson.
Introduction 1 Lecture 14 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
Transport Layer3-1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much.
Congestion Dr. Abdulaziz Almulhem. Almulhem©20012 Congestion It occurs when network resources are becoming scarce High demand Over utilized Offered load.
Congestion Control Reading: Sections COS 461: Computer Networks Spring 2011 Mike Freedman
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Third Ed.,Peterson.
CSEE W4140 Networking Laboratory Lecture 7: TCP flow control and congestion control Jong Yul Kim
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #7 TCP New Reno Vs. Reno.
1 Internet Networking Spring 2002 Tutorial 10 TCP NewReno.
Computer Networks : TCP Congestion Control1 TCP Congestion Control.
Congestion Avoidance and Control CSCI 780, Fall 2005.
1 Internet Networking Spring 2004 Tutorial 10 TCP NewReno.
Networks : TCP Congestion Control1 TCP Congestion Control.
Networks : TCP Congestion Control1 TCP Congestion Control Presented by Bob Kinicki.
Advanced Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth.
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
Courtesy: Nick McKeown, Stanford 1 TCP Congestion Control Tahir Azim.
Network Technologies essentials Week 4: Internetworking Compilation made by Tim Moors, UNSW Australia Original slides by David Wetherall, University of.
Transport Layer 4 2: Transport Layer 4.
Network Technologies essentials Week 9: Applications: DNS and HTTP Compilation made by Tim Moors, UNSW Australia Original slides by David Wetherall, University.
Network Technologies essentials Week 9: Distributed file sharing & multimedia Compilation made by Tim Moors, UNSW Australia Original slides by David Wetherall,
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
CSE 461 University of Washington1 Topic How TCP implements AIMD, part 1 – “Slow start” is a component of the AI portion of AIMD Slow-start.
Link Scheduling & Queuing COS 461: Computer Networks
Network Technologies essentials Week 5: Routing Compilation made by Tim Moors, UNSW Australia Original slides by David Wetherall, University of Washington.
Network Technologies essentials Week 3: Retransmission, sharing links, switching Compilation made by Tim Moors, UNSW Australia Original slides by David.
Computer Science & Engineering Introduction to Computer Networks Congestion Overview (§6.3, §6.5.10)
CSE 461 University of Washington1 Where we are in the Course Finishing off the Link Layer! – Builds on the physical layer to transfer frames over connected.
Lecture 9 – More TCP & Congestion Control
What is TCP? Connection-oriented reliable transfer Stream paradigm
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks TCP.
David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Fairness of Bandwidth Allocation (§6.3.1)
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
Winter 2003CS244a Handout 71 CS492B Project #2 TCP Tutorial # Jin Hyun Ju.
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
Recap of Lecture 19 If symptoms persist, please consult Dr Jacobson.
Recap Slow start introduced cwnd Slow start introduced cwnd Can transmit up to Can transmit up to min( cwnd, offered window ) Flow control by the sender.
Congestion Control CS 168 Discussion Week 7. RECAP: How does TCP set rate? How much data can be outstanding? – min{RWND, CWND} RWND: do not overload the.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
Peer-to-Peer Networks 13 Internet – The Underlay Network
 Last Class  Resource Allocation  This Class  Chapter 6.3. ~ 6.4.  TCP congestion control.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
Distributed Systems 11. Transport Layer
Chapter 3 outline 3.1 transport-layer services
Introduction to Congestion Control
TCP.
Lecture 19 – TCP Performance
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
CS 268: Lecture 4 (TCP Congestion Control)
CS640: Introduction to Computer Networks
If both sources send full windows, we may get congestion collapse
TCP Overview.
EE 122: Lecture 10 (Congestion Control)
Transport Layer: Congestion Control
TCP flow and congestion control
TCP continued.
Presentation transcript:

Network Technologies essentials Week 8: TCP congestion control Compilation made by Tim Moors, UNSW Australia Original slides by David Wetherall, University of Washington ISBN-10: © 2014 For the book A. Tanenbaum and D. Wetherall: Computer Networks, 5 th ed, Prentice-Hall, 2011A. Tanenbaum and D. Wetherall: Computer Networks, 5 th ed, Prentice-Hall, 2011 Tim added green graffiti Note that videos are numbered 7-*

Fast Retransmit (2) Computer Networks2 Ack 10 Ack 11 Ack 12 Ack Ack 13 Data Ack 13 Ack Data 20 Third duplicate ACK, so send 14 Retransmission fills in the hole at 14 ACK jumps after loss is repaired... Data 14 was lost earlier, but got 15 to

Effects of Congestion (2) What happens to performance as we increase the load? Computer Networks

Computer Networks4 Efficiency vs. Fairness (3) If we care about efficiency: – Maximize total traffic in network – A  B: 1 unit, B  C: 1, and A  C, 0 – Total traffic rises to 2 units! A B C

Adapting over Time (2) Computer Networks5 Flow 1 slows when Flow 2 starts Flow 1 speeds up when Flow 2 stops Time Flow 3 limit is elsewhere

Computer Networks6 AIMD Game (3) AI and MD move the allocation Host 1 Host Fair, y=x Efficient, x+y=1 Optimal Allocation Congested Multiplicative Decrease Additive Increase 7-3.9

Computer Networks7 AIMD Game (5) Always converge to good allocation! Host 1 Host Fair Efficient Congested A starting point

Benefit of ACK Clocking (2) Segments are buffered and spread out on slow link Computer Networks8 Fast link Slow (bottleneck) link Segments “spread out” 7-5.5

Additive Increase Timeline Computer Networks9 Increment cwnd by 1 packet every cwnd ACKs (or 1 RTT) 7-6.9

Computer Networks10 Slow-Start Solution Start by doubling cwnd every RTT – Exponential growth (1, 2, 4, 8, 16, …) – Start slow, quickly reach large values AI Fixed Time Window (cwnd) Slow-start 7-6.5

Slow-Start (Doubling) Timeline Computer Networks11 Increment cwnd by 1 packet for each ACK 7-6.8

Fast Recovery (2) Computer Networks12 Ack 12 Ack 13 Data 14 Ack 13 Ack Data 20 Third duplicate ACK, so send 14 Data 14 was lost earlier, but got 15 to 20 Retransmission fills in the hole at 14 Set ssthresh, cwnd = cwnd/2 Data 21 Data 22 More ACKs advance window; may send segments before jump Ack 13 Exit Fast Recovery

TCP Reno Computer Networks13 MD of ½, no slow-start ACK clock running TCP sawtooth

ECN (Explicit Congestion Notification) Router detects the onset of congestion via its queue – When congested, it marks affected packets (IP header) Computer Networks

END © 2013 D. Wetherall Slide material from: TANENBAUM, ANDREW S.; WETHERALL, DAVID J., COMPUTER NETWORKS, 5th Edition, © Electronically reproduced by permission of Pearson Education, Inc., Upper Saddle River, New Jersey Computer Networks15