Transport Layer (Congestion Control)

Similar documents
Computer Networks. Course Reference Model. Topic. Congestion What s the hold up? Nature of Congestion. Nature of Congestion 1/5/2015.

Operating Systems and Networks. Network Lecture 10: Congestion Control. Adrian Perrig Network Security Group ETH Zürich

Where we are in the Course. Topic. Nature of Congestion. Nature of Congestion (3) Nature of Congestion (2) Operating Systems and Networks

Opera&ng Systems and Networks. Network Lecture 10: Conges&on Control. Adrian Perrig Network Security Group ETH Zürich

Transport Layer (Congestion Control)

Transport Layer (TCP/UDP)

Transport Layer (TCP/UDP)

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness

Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren

Transport Layer (TCP/UDP)

Computer Networks (Honor Track)

Congestion Collapse in the 1980s

Bandwidth Allocation & TCP

Lecture 14: Congestion Control"

Good Ideas So Far Computer Networking. Outline. Sequence Numbers (reminder) TCP flow control. Congestion sources and collapse

Context. TCP is the dominant transport protocol in today s Internet. Embodies some of Internet design principles

CS 356: Computer Network Architectures Lecture 19: Congestion Avoidance Chap. 6.4 and related papers. Xiaowei Yang

Lecture 14: Congestion Control"

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University

6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long

Communication Networks

Congestion control in TCP

15-744: Computer Networking TCP

Where we are in the Course

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?

CSE 123A Computer Networks

Congestion Avoidance

Computer Networking. Queue Management and Quality of Service (QOS)

Congestion Control for High Bandwidth-Delay Product Networks

Principles of congestion control

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 11, 2018

One More Bit Is Enough

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control

Lecture 21. Reminders: Homework 6 due today, Programming Project 4 due on Thursday Questions? Current event: BGP router glitch on Nov.

Congestion Avoidance

Chapter 24 Congestion Control and Quality of Service 24.1

Chapter 6 Congestion Control and Resource Allocation

Congestion Control and Resource Allocation

Priority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies

Congestion Control for High Bandwidth-delay Product Networks. Dina Katabi, Mark Handley, Charlie Rohrs

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

CS4700/CS5700 Fundamentals of Computer Networks

Reliable Transport II: TCP and Congestion Control

CS557: Queue Management

ADVANCED TOPICS FOR CONGESTION CONTROL

Chapter 6: Congestion Control and Resource Allocation

Congestion. Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets limited resources

Internet Protocols Fall Lecture 16 TCP Flavors, RED, ECN Andreas Terzis

COMP/ELEC 429/556 Introduction to Computer Networks

Congestion Control 3/16/09

TCP Congestion Control

Lecture 22: Buffering & Scheduling. CSE 123: Computer Networks Alex C. Snoeren

Congestion Control. Queuing Discipline Reacting to Congestion Avoiding Congestion. Issues

CS244 Advanced Topics in Computer Networks Midterm Exam Monday, May 2, 2016 OPEN BOOK, OPEN NOTES, INTERNET OFF

Assignment 7: TCP and Congestion Control Due the week of October 29/30, 2015

TCP Congestion Control : Computer Networking. Introduction to TCP. Key Things You Should Know Already. Congestion Control RED

CS268: Beyond TCP Congestion Control

6.033 Computer System Engineering

Basics (cont.) Characteristics of data communication technologies OSI-Model

Network Management & Monitoring

Solutions for Assignment 5

Computer Network Fundamentals Spring Week 10 Congestion Control Andreas Terzis

CSCE 463/612 Networks and Distributed Processing Spring 2017

ECSE-6600: Internet Protocols Spring 2007, Exam 1 SOLUTIONS

Congestion Control for High Bandwidth-delay Product Networks

Reliable Transport II: TCP and Congestion Control

EECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance

TCP/IP over ATM using ABR, UBR, and GFR Services

Computer Networking

Congestion Control In the Network

TCP Incast problem Existing proposals

The Transport Layer Congestion control in TCP

Router s Queue Management

Congestion Control in TCP

Overview Computer Networking What is QoS? Queuing discipline and scheduling. Traffic Enforcement. Integrated services

Goals of Today s Lecture! Congestion Control! Course So Far.! Congestion Control Overview! It s Not Just The Sender & Receiver! Congestion is Natural!

CS Networks and Distributed Systems. Lecture 10: Congestion Control

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers

Network Performance: Queuing

Transport layer issues

Flow and Congestion Control

Resource Allocation and Queuing Theory

Queuing. Congestion Control and Resource Allocation. Resource Allocation Evaluation Criteria. Resource allocation Drop disciplines Queuing disciplines

Flow & Congestion Control

Lecture 11. Transport Layer (cont d) Transport Layer 1

The Present and Future of Congestion Control. Mark Handley

The Network Layer and Routers

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Core-Stateless Fair Queueing: Achieving Approximately Fair Bandwidth Allocations in High Speed Networks. Congestion Control in Today s Internet

CS551 Router Queue Management

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Lecture 15: Transport Layer Congestion Control

Transport Layer Chapter 6

Computer Networks. Sándor Laki ELTE-Ericsson Communication Networks Laboratory

15-744: Computer Networking. Overview. Queuing Disciplines. TCP & Routers. L-6 TCP & Routers

Link Layer. (continued)

Congestion Control. Principles of Congestion Control. Network assisted congestion. Asynchronous Transfer Mode. Computer Networks 10/23/2013

CSC 4900 Computer Networks: Network Layer

CS644 Advanced Networks

ADVANCED COMPUTER NETWORKS

Transcription:

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 up a connection (connection establishment) Tear down a connection (connection release) Keep the sending and receiving buffers from overflowing (flow control) What s missing?

Network Congestion A traffic jam in the network Later we will learn how to control it What s the hold up? Network CSE 461 University of Washington 4

Nature of Congestion Routers/switches have internal buffering Input............ Output Input Buffer Fabric Output Buffer CSE 461 University of Washington 5

Nature of Congestion (2) Simplified view of per port output queues Typically FIFO (First In First Out), discard when full Router Router = (FIFO) Queue Queued Packets CSE 461 University of Washington 6

Nature of Congestion (3) Queues help by absorbing bursts when input > output rate But if input > output rate persistently, queue will overflow This is congestion Congestion is a function of the traffic patterns can occur even if every link have the same capacity CSE 461 University of Washington 7

Effects of Congestion What happens to performance as we increase load?

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

Effects of Congestion (3) As offered load rises, congestion occurs as queues begin to fill: Delay and loss rise sharply with more load Throughput falls below load (due to loss) Goodput may fall below throughput (due to spurious retransmissions) None of the above is good! Want network performance just before congestion CSE 461 University of Washington 10

Bandwidth Allocation Important task for network is to allocate its capacity to senders Good allocation is both efficient and fair Efficient means most capacity is used but there is no congestion Fair means every sender gets a reasonable share the network CSE 461 University of Washington 11

Bandwidth Allocation (2) Key observation: In an effective solution, Transport and Network layers must work together Network layer witnesses congestion Only it can provide direct feedback Transport layer causes congestion Only it can reduce offered load CSE 461 University of Washington 12

Bandwidth Allocation (3) Why is it hard? (Just split equally!) Number of senders and their offered load changes Senders may lack capacity in different parts of network Network is distributed; no single party has an overall picture of its state CSE 461 University of Washington 13

Bandwidth Allocation (4) Solution context: Senders adapt concurrently based on their own view of the network Design this adaption so the network usage as a whole is efficient and fair Adaption is continuous since offered loads continue to change over time CSE 461 University of Washington 14

Fair Allocations

Fair Allocation What s a fair bandwidth allocation? The max-min fair allocation CSE 461 University of Washington 16

Recall We want a good bandwidth allocation to be both fair and efficient Now we learn what fair means Caveat: in practice, efficiency is more important than fairness CSE 461 University of Washington 17

Efficiency vs. Fairness Cannot always have both! Example network with traffic: A B, B C and A C How much traffic can we carry? A B C 1 1 CSE 461 University of Washington 18

Efficiency vs. Fairness (2) If we care about fairness: Give equal bandwidth to each flow A B: ½ unit, B C: ½, and A C, ½ Total traffic carried is 1 ½ units A B C 1 1 CSE 461 University of Washington 19

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 1 1 CSE 461 University of Washington 20

The Slippery Notion of Fairness Why is equal per flow fair anyway? A C uses more network resources than A B or B C Host A sends two flows, B sends one Not productive to seek exact fairness More important to avoid starvation A node that cannot use any bandwidth Equal per flow is good enough CSE 461 University of Washington 21

Generalizing Equal per Flow Bottleneck for a flow of traffic is the link that limits its bandwidth Where congestion occurs for the flow For A C, link A B is the bottleneck A B C 1 10 Bottleneck CSE 461 University of Washington 22

Generalizing Equal per Flow (2) Flows may have different bottlenecks For A C, link A B is the bottleneck For B C, link B C is the bottleneck Can no longer divide links equally A B C 1 10 CSE 461 University of Washington 23

Max-Min Fairness Intuitively, flows bottlenecked on a link get an equal share of that link Max-min fair allocation is one that: Increasing the rate of one flow will decrease the rate of a smaller flow This maximizes the minimum flow CSE 461 University of Washington 24

Max-Min Fairness (2) To find it given a network, imagine pouring water into the network 1. Start with all flows at rate 0 2. Increase the flows until there is a new bottleneck in the network 3. Hold fixed the rate of the flows that are bottlenecked 4. Go to step 2 for any remaining flows CSE 461 University of Washington 25

Max-Min Example Example: network with 4 flows, links equal bandwidth What is the max-min fair allocation? CSE 461 University of Washington 26

Max-Min Example (2) When rate=1/3, flows B, C, and D bottleneck R4 R5 Fix B, C, and D, continue to increase A Bottleneck Bottleneck CSE 461 University of Washington 27

Max-Min Example (3) When rate=2/3, flow A bottlenecks R2 R3. Done. Bottleneck Bottleneck CSE 461 University of Washington 28

Max-Min Example (4) End with A=2/3, B, C, D=1/3, and R2 R3, R4 R5 full Other links have extra capacity that can t be used, linksxample: network with 4 flows, links equal bandwidth What is the max-min fair allocation? CSE 461 University of Washington 29

Adapting over Time Allocation changes as flows start and stop Time CSE 461 University of Washington 30

Adapting over Time (2) Flow 1 slows when Flow 2 starts Flow 1 speeds up when Flow 2 stops Flow 3 limit is elsewhere Time CSE 461 University of Washington 31

Bandwidth Allocation

Recall Want to allocate capacity to senders Network layer provides feedback Transport layer adjusts offered load A good allocation is efficient and fair How should we perform the allocation? Several different possibilities CSE 461 University of Washington 33

Bandwidth Allocation Models Open loop versus closed loop Open: reserve bandwidth before use Closed: use feedback to adjust rates Host versus Network support Who is sets/enforces allocations? Window versus Rate based How is allocation expressed? TCP is a closed loop, host-driven, and window-based CSE 461 University of Washington 34

Bandwidth Allocation Models (2) We ll look at closed-loop, host-driven, and windowbased too Network layer returns feedback on current allocation to senders At least tells if there is congestion Transport layer adjusts sender s behavior via window in response How senders adapt is a control law CSE 461 University of Washington 35

Additive Increase Multiplicative Decrease AIMD is a control law hosts can use to reach a good allocation Hosts additively increase rate while network not congested Hosts multiplicatively decrease rate when congested Used by TCP Let s explore the AIMD game CSE 461 University of Washington 36

AIMD Game Hosts 1 and 2 share a bottleneck But do not talk to each other directly Router provides binary feedback Tells hosts if network is congested Host 1 Host 2 1 1 Router Bottleneck 1 Rest of Network CSE 461 University of Washington 37

AIMD Game (2) Each point is a possible allocation Host 1 1 Congested Fair Optimal Allocation Efficient 0 1 Host 2 CSE 461 University of Washington 38

AIMD Game (3) AI and MD move the allocation Host 1 1 Congested Additive Increase Multiplicative Decrease Fair, y=x Optimal Allocation Efficient, x+y=1 0 1 Host 2 CSE 461 University of Washington 39

AIMD Game (4) Play the game! Host 1 1 Congested A starting point Fair Efficient 0 1 Host 2 CSE 461 University of Washington 40

AIMD Game (5) Always converge to good allocation! Host 1 1 Congested A starting point Fair Efficient 0 1 Host 2 CSE 461 University of Washington 41

AIMD Sawtooth Produces a sawtooth pattern over time for rate of each host This is the TCP sawtooth (later) Host 1 or 2 s Rate Multiplicative Decrease Additive Increase Time CSE 461 University of Washington 42

AIMD Properties Converges to an allocation that is efficient and fair when hosts run it Holds for more general topologies Other increase/decrease control laws do not! (Try MIAD, MIMD, AIAD) Requires only binary feedback from the network CSE 461 University of Washington 43

Feedback Signals Several possible signals, with different pros/cons We ll look at classic TCP that uses packet loss as a signal Signal Example Protocol Pros / Cons Packet loss Packet delay Router indication TCP NewReno Cubic TCP (Linux) Compound TCP (Windows) TCPs with Explicit Congestion Notification Hard to get wrong Hear about congestion late Hear about congestion early Need to infer congestion Hear about congestion early Require router support CSE 461 University of Washington 44