Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.

Slides:



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

Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Principles of Congestion Control Chapter 3.6 Computer Networking: A top-down approach.
TCP and Congestion Control
TCP Congestion Control
1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
CS640: Introduction to Computer Networks Mozafar Bag-Mohammadi Lecture 3 TCP Congestion Control.
Computer Networking Lecture 17 – TCP & Congestion Control Dejian Ye, Liu Xin.
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.
Computer Networking Lecture 17 – More TCP & Congestion Control Copyright ©, Carnegie Mellon University.
Introduction to Congestion Control
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.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Third Ed.,Peterson.
15-744: Computer Networking L-10 Congestion Control.
Week 9 TCP9-1 Week 9 TCP 3 outline r 3.5 Connection-oriented transport: TCP m segment structure m reliable data transfer m flow control m connection management.
1 Lecture 9: TCP and Congestion Control Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3.
1 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
Computer Networking Lecture 16 – TCP & Congestion Control Copyright ©, Carnegie Mellon University.
Computer Networks : TCP Congestion Control1 TCP Congestion Control.
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
Data Communication and Networks
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 Congestion Control
3: Transport Layer3b-1 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
Transport Layer 4 2: Transport Layer 4.
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.
Transport Layer1 Flow and Congestion Control Ram Dantu (compiled from various text books)
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
Lecture 9 – More TCP & Congestion Control
What is TCP? Connection-oriented reliable transfer Stream paradigm
Lecture 18 – More TCP & Congestion Control
1 Transport Layer Lecture 10 Imran Ahmed University of Management & Technology.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Computer Networking Lecture 18 – More TCP & Congestion Control.
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.
TCP Congestion Control Computer Networks TCP Congestion Control 1.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Principles of Congestion Control Some slides.
David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Fairness of Bandwidth Allocation (§6.3.1)
TCP Congestion Control
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.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – II - Connection Set-up and Congestion Control.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP Congestion Control.
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
@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.
1 Flow & Congestion Control Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina Katabi.
Computer Networking Lecture 8 – TCP & Congestion Control.
Lecture 17 – TCP & Congestion Control
Transport Layer CS 381 3/7/2017.
Chapter 3 outline 3.1 transport-layer services
Introduction to Congestion Control
Chapter 3 outline 3.1 Transport-layer services
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Flow and Congestion Control
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.
CS640: Introduction to Computer Networks
If both sources send full windows, we may get congestion collapse
TCP Congestion Control
TCP Overview.
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
Computer Networking TCP.
Presentation transcript:

Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project

Overview Congestion sources Congestion Collapse Congestion control basic

Congestion Different sources compete for resources inside the network Why is it a problem –Sources are unaware of current state of resource –Sources are unaware of each other Manifestations –Lost packets –Long delays –In many situations will result in < 1.5 Mbps of throughput for the above topology (congestion collapse)

Congestion Collapse Increase in network load results in decrease of useful work done Many possible causes –Spurious retransmissions of packets still in flight Classical congestion collapse How can this happen with packet conservation Better timer and TCP congestion control –Undelivered packets Packets consume resources and are dropped elsewhere Congestion control for all traffic

Congestion Collapse Fragments –Mismatch of transmission and retransmission units –Solutions Make network drop all fragments of a packet Do path MTU discovery Control traffic – large amount –Headers, routing messages, DNS, etc Stale or unwanted packets –Packets that are delayed on long queues –‘Push’ data that is never used

Costs of Congestion Large queuing delay as near link capacity Retransmits to replace dropped packets Spurious retransmits due to delayed packets Wasted work ‘upstream’ for packet that is eventually dropped

Congestion Control and Avoidance A mechanism which –Uses network resources efficiently –Preserves fair network resource allocation –Prevents or avoids collapse Congestion collapse is not just a theory –Has been frequently observed

Approaches End-to-End No explicit feedback from network Congestion inferred from end-system observed loss, delay Approach taken by TCP Network Assisted Routers provide feedback to end systems –Single bit indicating congestion –Explicit rate sender should send at Makes routers complicated

E.g. TCP Congestion Control Very simple mechanisms in network –FIFO scheduling with shared buffer pool –Feedback through packet drops TCP interprets packet drops as sign of congestion and slows down –Assumes packet loss is a sign of congestion Wireless network! Periodically probes the network to check whether more bandwidth has become available

Congestion Control Objectives Simple router behaviour Distributed Efficiency Fairness Convergence: control system must be stable

Basic Control Model Reduce speed when congestion is perceived –How is congestion signalled Either mark or drop packets –How much to reduce Increase speed otherwise –Probe for available bandwidth – how?

Linear Control Many different possibilities for reaction to congestion and probing –Examine simple linear controls Window(t+1) = a +b Window(t) Different a/b for increases and a d /b d for decrease Supports various reaction to signals –Increase/decrease additively –Increased/decrease multiplicatively –Which of the four combinations is optimal

TCP Congestion Control Changes to TCP motivated by ARPANET congestion collapse Basic principles –AIMD –Packet conservation –Reaching steady state quickly –ACK clocking

AIMD Distributed, fair and efficient Packet loss is seen as sign of congestion and results in a multiplicative rate decrease –Factor of 2 TCP periodically probes for available bandwidth by increasing its rate

Implementation Issues Operating system timers are very course –How to pace packets out smoothly Implemented using a congestion window that limits how much data can be in the network –TCP also keeps track of how much data is in transit Data can only be sent when the amount outstanding data is less than the congestion window –The amount of outstanding data increased on a “send” and decreased on “ack” –(last sent – last acked) < congestion window Window limited by both congestion and buffering –Sender’s maximum window = Min (advertised window, cwnd)

Congestion Avoidance If loss occurs when cwnd = W –Network can handle 0.5W ~ W segments –Set cwnd to 0.5W (multiplicative decrease) Upon receiving ACK –Increase cwnd by 1/cwnd Implements AIMD

TCP Flavours Tahoe, Reno, Vegas TCP Tahoe (distributed with 4.3BSD) –Original implementation of Van Jacobson’s mechanism –Includes: Slow start Congestion avoidance Fast retransmit

What are duplicate ACKs? –Repeated acks for same sequence When can duplicate ACKs occur? –Loss –Packet re-ordering –Window update – ads of new flow control window Assume re-ordering is infrequent and not of large magnitude –Use receipt of 3 or more duplicate ACKs as indication of loss –Don’t wait for timeout to retransmit packet

TCP Reno (1990) All mechanism of Tahoe Addition of fast-recovery –Opening up congestion window after fast retransmit Delayed ACKs Header predication –Implementation designed to improve performance –Has common case code inlined With multiple losses, Reno typically timeouts because it does not see dup ACKs

Fast Recovery Each duplicate ACK notifies sender that single packet has cleared network When < cwnd packet are outstanding –Allow new packet out with each new duplicate acknowledgement Behaviour –Sender is idle for some time – waiting for ½ cwnd worth of dupacks –Transmits at original rate after wait ACK clocking rate is same as before loss