CSE 4213: Computer Networks II

Slides:



Advertisements
Similar presentations
Different TCP Flavors CSCI 780, Fall TCP Congestion Control Slow-start Congestion Avoidance Congestion Recovery Tahoe, Reno, New-Reno SACK.
Advertisements

Congestion Control Reasons: - too many packets in the network and not enough buffer space S = rate at which packets are generated R = rate at which receivers.
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
1 End to End Bandwidth Estimation in TCP to improve Wireless Link Utilization S. Mascolo, A.Grieco, G.Pau, M.Gerla, C.Casetti Presented by Abhijit Pandey.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth Edition,Peterson.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Third Ed.,Peterson.
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.
TCP in Heterogeneous Network Md. Ehtesamul Haque # P.
TCP Congestion Control
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
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 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.
Network Technologies essentials Week 8: TCP congestion control Compilation made by Tim Moors, UNSW Australia Original slides by David Wetherall, University.
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.
EE 122: Congestion Control and Avoidance Kevin Lai October 23, 2002.
Lecture 9 – More TCP & Congestion Control
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:
1 Sonia FahmyPurdue University TCP Congestion Control Sonia Fahmy Department of Computer Sciences Purdue University
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.
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.
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
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.
Window Control Adjust transmission rate by changing Window Size
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
CS450 – Introduction to Networking Lecture 19 – Congestion Control (2)
Approaches towards congestion control
Chapter 3 outline 3.1 transport-layer services
Chapter 6 TCP Congestion Control
CS-1652 Jack Lange University of Pittsburgh
Introduction to Congestion Control
EECS 122: Introduction to Computer Networks Congestion Control
TCP Vegas: New Techniques for Congestion Detection and Avoidance
Congestion control principles
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.
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.
Congestion Control in TCP
Chapter 6 TCP Congestion Control
COMP/ELEC 429/556 Introduction to Computer Networks
CS640: Introduction to Computer Networks
If both sources send full windows, we may get congestion collapse
COMP/ELEC 429/556 Fall 2017 Homework #2
CS4470 Computer Networking Protocols
Congestion Control Reasons:
TCP Congestion Control
EE 122: Lecture 10 (Congestion Control)
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
TCP flow and congestion control
TCP continued.
Congestion Michael Freedman COS 461: Computer Networks
Presentation transcript:

CSE 4213: Computer Networks II Suprakash Datta datta@cs.yorku.ca Office: CSEB 3043 Phone: 416-736-2100 ext 77875 Course page: http://www.cs.yorku.ca/course/4213 4/22/2019 COSC 4213 - S.Datta

TCP congestion control – the problem Roadmap TCP congestion control – the problem TCP congestion control – solutions Performance of TCP congestion control The future of TCP 4/22/2019 COSC 4213 - S.Datta

TCP congestion control: the problem Arguably the most crucial part of TCP Lots of research effort (over 25+ years) Performance Objectives Link utilization Fairness Keep congestion down Q: What is the right notion of fairness? 4/22/2019 COSC 4213 - S.Datta

TCP congestion control: the problem Nodes do not know about other nodes total or available capacity on any link the number of packets in a router buffer So, how does a node sense congestion? delays, losses,…. absence of congestion? lower delays, fewer losses…. 4/22/2019 COSC 4213 - S.Datta

TCP congestion control – the problem Roadmap TCP congestion control – the problem TCP congestion control – solutions Performance of TCP congestion control The future of TCP 4/22/2019 COSC 4213 - S.Datta

TCP congestion control – solutions “Packet loss indicates congestion” Sensing congestion: timeouts, duplicate ACKs Reacting to congestion: drastic decrease of sending rates How/when does a sender recover from congestion? Continuous probing Conservative increases Q: Formula for increase and decrease ? 4/22/2019 COSC 4213 - S.Datta

TCP congestion control – v1 Let’s think in terms of rates: Additive (conservative) increase, multiplicative (drastic) decrease of sending rates (AIMD) Starting rate: High? Low? Transmission rate 24 Kb/s 16 Kb/s 8 Kb/s time 4/22/2019 COSC 4213 - S.Datta

TCP congestion control – v2 TCP Tahoe (1988) Two modes: Aggressive probing (Slow start) and careful probing (Congestion avoidance). Slow(!) start mode: Multiplicative (aggressive) increase, multiplicative decrease of sending rates. Congestion avoidance mode: Additive (conservative) increase, multiplicative (drastic) decrease of sending rates. 4/22/2019 COSC 4213 - S.Datta

TCP Tahoe illustration Assume that ssthresh = 8 14 12 10 ssthresh 8 ssthresh 6 Cwnd (in segments) 4 2 t=0 t=2 t=4 t=6 Rounds 4/22/2019 COSC 4213 - S.Datta

TCP Reno(1990) and Fast recovery A further improvement TCP Reno(1990) and Fast recovery Intuition: Distinguish between loss and 3-dup ACK 4/22/2019 COSC 4213 - S.Datta

TCP uses windows (number of packets sent without waiting for ACKs) Windows vs rates TCP uses windows (number of packets sent without waiting for ACKs) Transmission rate = W * Packet size/RTT RTT = round trip time Self-clocking 4/22/2019 COSC 4213 - S.Datta

TCP congestion control – the problem Roadmap TCP congestion control – the problem TCP congestion control – solutions Performance of TCP congestion control The future of TCP 4/22/2019 COSC 4213 - S.Datta

Performance of TCP congestion control Fairness Link utilization Algorithmic perspective? Note: Many other TCP versions have been proposed. No one version outperforms all others in all situations 4/22/2019 COSC 4213 - S.Datta

TCP Performance – Fairness [Chiu and Jain, 89] Two competing LONG sessions, no arrival or departures, assume rates are real numbers. R equal bandwidth share loss: decrease window by factor of 2 Session 2 throughput congestion avoidance: additive increase Session 1 throughput R 4/22/2019 COSC 4213 - S.Datta

Once the trajectory hits x=y line, it stays there Lessons Caveat: In reality, both sessions may not detect congestion at the same time Once the trajectory hits x=y line, it stays there For real-valued rates, reaches x=y only as t  Will leave optimal point after reaching it (continuous probing) Generalizes to n sessions MIMD, MIAD, AIAD all unfair Can be shown to hold in the presence of arrivals and departures if all sessions are long [Edmonds, Datta, Dymond, 03] 4/22/2019 COSC 4213 - S.Datta

TCP Performance – link utilization At least 25% capacity lost Transmission rate C 3C/4 C/2 time 4/22/2019 COSC 4213 - S.Datta

TCP Performance – algorithmic view How good an algorithm is it? i.e. Optimal? Near-optimal? …. Very difficult question - Does not correspond to clean theoretical models. [Edmonds, Datta, Dymond, 03] TCP “performs well” (is competitive against a limited adversary) when each session is of a minimum specified size… 4/22/2019 COSC 4213 - S.Datta

TCP Performance – problems When/where does TCP not work well? Multimedia networking Non-smooth (sawtooth) bit rate Best-effort: no QoS guarantees Wireless/hybrid networks “Packet loss indicates congestion” ? Congestion and loss are not always correlated Very high-speed networks Fairness issues: parallel sessions, multiple bottlenecks, small sessions… 4/22/2019 COSC 4213 - S.Datta

Co-operative algorithm Policing is hard to do TCP/IP Design issues Co-operative algorithm Policing is hard to do Tracing of malicious hosts/users difficult 4/22/2019 COSC 4213 - S.Datta

A 2-minute introduction to the TCP/IP architecture The role of TCP Roadmap A 2-minute introduction to the TCP/IP architecture The role of TCP TCP congestion control – the problem TCP congestion control – solutions Performance of TCP congestion control The future of TCP 4/22/2019 COSC 4213 - S.Datta

Active queue management schemes The Future of TCP Active queue management schemes Drop packets proactively to reduce congestion RED, REM, BLUE,… TCP for ultra-high speed networks FastTCP, HSTCP,…. Usually use delay for being more responsive to congestion Less draconian TCP for wireless, hybrid networks Treats wireless parts separately 4/22/2019 COSC 4213 - S.Datta